Vous êtes sur la page 1sur 6

Algoritmusok tervezse s elemzse MSc

A tantrgy gyakorlatnak kvetelmnyei


2014/2015-s tanv, tavaszi flv
(A lers folyamatos szerkeszts alatt ll.)
A tantrgy gyakorlata teljesthet egy tartalmas nll esszvel, vagy egy tmren dokumentlt
beadott programmal. Lehet prban is dolgozni, s ekkor megegyezhet az essz s a program
tmja.
Az itt kvetkez lers segti a kurzust felvev hallgatkat abban, hogy megfelel tmt
tudjanak vlasztani. A feladat pontosabb meghatrozsban szmtunk rdekldskre,
kreativitsukra s az idben trtn konzultcira. Szemlyes megbeszlsek sorn pontostjuk
a feladatokat. Szvesen vesszk nll feladatok tlett is.
A kirt tmkrl az rdekld hallgatknak kell eldntenik, hogy csak az essz, vagy csak
a program lehetsgt ltjk bennk, vagy mindkettt. Ehhez clszer konzultcit ignybe
venni a gyakorlat ideje alatt, cstrtkn 17:45-19:15 ra kztt a 2.609-es oktati szobban.
A konzultcikon val rszvtel fakultatv, a folyamatos munka azonban elnyt jelent.
A tmavlaszts hatrideje: 2015. mrcius 16. Az esszk s a programok beadsnak
hatrideje: mjus 25.
A teljestseket el lehet majd kldeni a fekete.istvan@inf.elte.hu cmre, de fel is lehet
tlteni azokat brmely elrhet helyre, illetve szemlyesen is leadhatk a 2.609-es szobban.
Tmrts, azonosts, ahogy adja magt, nincs klnsebb elrs. Brmilyen fejleszt
krnyezetben lehet dolgozni. Mindenkppen krjk majd a program bemutatst.
A nem teljesen szablyozott krdsekben a vita kerlend, inkbb a kollegialits s az
igazsgossg elvt prbljuk egyttmkdsben megvalstani. gy vesszk, hogy a hallgatk
tartzkodnak idegen teljestmnyek tvteltl s azoknak sajt alkotsknt trtn
benyjtstl.
Fekete Istvn s Tichler Krisztin
***
Az essz egy adott tmakrben (alaposabb tjkozds s vlogats utn) sszelltott 1015 oldal terjedelm, j minsg, knnyen rthet nll szakmai szveg. A tmakrket
cmszavak szintjn adjuk meg, mert szmtunk a szerzk nllsgra. A kisebb demonstrcis
programok nvelik az ismertets rtkt.
A programokat nem specifikljuk rszletekbe menen. Az a cl, hogy a tanulmnyozott s
bemutatott tmakrrl minl tbb rtkes elmleti ismeretet s gyakorlati tapasztalatot lehessen
szerezni. Helyezzk a hangslyt ezrt a bemen adatok sokoldal megadsi mdjra (pl. a
random input generlsnak lehetsgre), a vlasztkos paramterezsre s a hatkonysgi
adatok megjelentsre. A programokhoz hozz tartozik a tmr dokumentci, ami nlunk, a
trgy esetben alapveten a futsi eredmnyek rtkelsre, esetleges elmleti rdekessgek
lersra terjed ki.
***

Feladatok (esszk, programok):


(Az elz flvi feladatok krt az elzetes informcinak megfelelen nem szktjk.
Kt j feladattal bvl a sor, lsd: 18. s 19.)

1.

Permutcik ellltsi mdszerei. Lsd: R. Sedgewick eladsai, rkeresve a nvre +


a permutations (generation methods) kifejezsre. Tovbbi kombinatorikai
algoritmusok vlaszthatk feldolgozsra, lsd: D. E. Knuth: A szmtgpprogramozs mvszete, 4. ktet, 2-3-4. rsz, megjelent magyar fordtsban is, 2008ban. (Javasoljuk a knyvtrat.) Tovbbi hrom knyvet is tudunk ajnlani: lsd:
http://people.inf.elte.hu/fekete/algoritmusok_msc/kombinatorika_fak/.

2.

Fk klnbz osztlyainak vizsglata, ami kiterjed az ellltsuk algoritmusra,


adott n-re a szmuk kombinatorikus meghatrozsra, ennek a darabszmnak s
tovbbi paramtereknek az aszimptotikus becslsre. Utbbi feladatnak komoly
matematikja van; gyakran hivatkoznak egy alapvet cikkre (Otter, R.: The Number
of Trees, in Annals of Mathematics, 49 (1948), 583-599), knyveket tudunk adni
(digitlisan), de szmos eredmnyt kzlnek publikusan is (pl. Weisstein, E. Wolfram
MathWorld: Weakly binary tree, in: math-world.wolfram.com, 2014). Lsd:
http://people.inf.elte.hu/fekete/algoritmusok_msc/kombinatorika_fak/.
Szmunkra klnsen fontos lenne fk egy osztlynak vizsglata, egy gyakorlati
problma megoldsnak rszeknt: a generlt fa els cscsa a gykr, azutn a
kvetkez cscsok mindegyike a mr ltrehozott cscsok brmelyiknek a
(kvetkez) gyereke lehet. Klnbz kiterjedsek vrhat rtke a krds (a
darabszm itt egyszer: n!).

3.

A grep, fgrep, agrep Unix parancsok mkdse, az alkalmazott mintaillesztsi


algoritmus. (Essz.)

4.

Curse of dimensionality (sz szerint a dimenzionalits bosszja), ami arra utal, hogy
a magas dimenzij terekben mg a sok adat is kevsnek szmt, mintegy elvsz a
trben. Milyen lersait talljuk a jelensgnek, hol tallkozunk vele? Ha valaki ezt a
tmt vlasztja, krjk, hogy ptse be a fingerprinteken rtelmezett k-NN problma
megoldsa sorn mutatkoz dimenzionalitsi problmt, amit szban tudunk
elmondani, programmkdssel ksrve. Szakirodalmat nllan kell keresni. (Essz.)

5.

A dimenzicskkents mdszereinek ttekintse. Egy ers sszefoglal cikket


(pontosabban technikai jelentst) kellene feldolgozni, legalbb nagyobb rszben. A
cikket oda tudjuk adni. A legtbb fogalomnak valamennyire utna kell nzni. (Essz.)
-- Kiinduls lehet: I. K. Fodor: A survey of dimension reduction techniques. Center
for Applied Scientific Computing, Lawrence Livermore National Laboratory, P.O. Box
808, L-560, Livermore, CA 94551, June 2002.
Ez a technikai jelents s kt tovbbi cikk megtallhat a kvetkez helyen:
http://people.inf.elte.hu/fekete/algoritmusok_msc/dimenzio_csokkentes/.

6.

A dimenzicskkents egy kivlasztott mdszernek rszletesebb ismertetse. Pl.:


fkomponens analzis (PCA), faktoranalzis, vetts vletlen alskra, neurlis
hlzatok, genetikus algoritmusok. ha valaki ezt atmakrt vlasztja, pl. a PCA-t,
akkor kiindulsnak veheti a fenti cikkeket. Tovbbi irodalmat nllan kellene
keresnie. (Essz vagy programozsi feladat)

7.

Trinformatikai adatszerkezetek. Ksztsnk esszt, amely ttekintst ad errl a


tmakrrl. Forrsknt megadunk hrom knyvet, egy cikket s hrom
szakdolgozatot, de tovbbi forrsokat is lehet keresni. Cl: jl kivlasztott
adatszerkezeteket logikus felptsbe rendezni.
http://people.inf.elte.hu/fekete/algoritmusok_msc/terinfo_geom/

8.

Geometriai adatszerkezetek s algoritmusok. Lehet essz, de beadott program is. Ha


essz, akkor lehet inkbb ttekint, de fkuszlhat a legalapvetbb struktrkra s
eljrsokra, st lehet mg szkebb fkusszal egy feladat tbb algoritmus (pl. konvex
burok). A fenti knyvtrban tallhat knyvek itt is hasznlhatk.
http://people.inf.elte.hu/fekete/algoritmusok_msc/terinfo_geom/

9.

Kzelt s vletlentett algoritmusok. Feladatlers az albbi knyvtrban tallhat:


http://people.inf.elte.hu/fekete/algoritmusok_msc/kozelito_es_veletlen_alg/
Ide tltttk fel az elads alapjt kpez Hromkovic knyvet, valamint egy oktatsi
segdanyagot a SzTE-rl, illetve a feladatlerst.

10. Ksztsnk olyan programot, amely sszehasonltst vgez a maximumkivlaszt


rendezs, a beszr rendezs, valamint a gyorsrendezs mveletignye kztt! A
rendezsek inputja az 1, 2, , n szmok vletlen (azaz, egyenl valsznsg)
permutcii legyenek, ahol az n s a generlt mennyisg megadhat. A hatkonysg
mrhet idben, illetve a meghatroz mvelet(ek) szmban.
Krdsek: (1) Tudnnk-e ellenrizni azt a tapasztalati tnyt, hogy a beszr rendezs
kis n-re gyorsabb, mint a gyorsrendezs? Mennyi lehet ez az n korlt? (Az irodalom
30 krli rtkre teszi.) (2) A maximumkivlaszt rendezs gyorsabb-e, mint a
beszr rendezs, azltal, hogy tlagosan kevesebb elemmozgatst vgez?
11. Ksztsnk olyan programot, amely megvalstja az RBS-ft. Ez egy olyan binris
h(t n ) c log 2 n
keresfa, amelynek a magassgra elrunk egy
korltot, megadott c
konstans mellett. A magassg tllpse esetn jra ptjk a ft: a binris
(logaritmikus) keress algoritmusnak mdostott vltozatval egy minimlis
magassg majdnem teljes binris keresft alaktunk ki az eddigi tartalommal, s
innen folytatdik a fapts.
Krdsek: (1) Vgezznk mrseket klnbz c konstansok mellett arra nzve, hogy
milyen empirikus sszefggs ll fenn a helyrellts mveletignye s az adatok n
szma kztt! Mennyi az a c rtk, amely mellett random inputot generlva
gyakorlatilag nem kell jra pteni a ft? (2) Tovbbi programozsi munkval ssze
tudnnk-e hasonltani az RBS-fa s az AVL-fa hatkonysgt a fapts esetn?
Mekkora c konstans mellett lesz a kt adatszerkezet hatkonysga kzel azonos?
12. A feladat egy slyozott vges automatkon alapul szvegfjl-tmrt eljrs
kidolgozsa s implementlsa. Ismert, hogy ezen automatk hatkonyan
alkalmazhatk kpek vesztesges tmrtsre, mivel az automatt felpt algoritmus
kpes a kpekben tallhat redundancik megtallsra. A hallgat feladata, hogy a
kpekre alkalmazott algoritmus szvegfjlokra val kiterjesztsben rszt vegyen s a
kapott eredmnyeket implementlja. Vrhatan sok rdekes s nehz krds fog
felmerlni a feladat megoldsa kapcsn, hiszen szvegfjlok esetben a vesztesges
tmrts nem jhet szba. (Tmavezet: Gazdag Zsolt tanr r.)
3

13. Mintaillesztsek, elssorban a Knuth-Morris-Pratt s a Boyer-Moore algoritmusok


mveletignynek sszehasonltsa, de ms is szba jhet, pl. az utbbi helyett a
Boyer-Moore-Horspool fle egyszerbb vltozat, amelyet quick search nven
tanultunk a BSc-n. Az input lehet termszetes, illetve specilis szakirny (esetleg
random) szveg. Lehet-e valamit mondani arrl, hogy milyen termszet szvegek a
kedvezk az egyes mintaillesztsek szmra?
14. Szmkdos zr kinyitsa. Egy tskn szmkdos zr tallhat, mely csak a megfelel
hromjegy kd betsre nylik ki. A szmlapon 0-tl 9-ig tallhatk nyomgombok.
Tudjuk tovbb, hogy a zr a legutoljra bettt 3 szmjegyet tekinti beadott kdnak,
gy pldul az 123, azutn a 4, majd az 5 betsvel rendre kiprbljuk az 123, a 234
s a 345 kombincikat is. Hny betsre van szksgnk ahhoz, hogy a tska biztosan
kinyljon? Adunk erre als s fels becslst. Ksztsnk olyan programot, mely
megtall egy idelis esetet, azaz egy olyan legrvidebb szmjegysorozatot, amely
minden kdot tartalmaz. Formalizljuk a problmt grf llapottren, kt, illetve
hrom szmjegybl ll cscsok s a Hamilton-kr, vagy az Euler-kr segtsgvel.
Van-e elmleti eredmny erre a krdsre? -- A beadand esszben vagy programmal
ne lljunk meg ennl a feladatnl, az elvezet a De Bruijn grfokhoz. Munknk terjedjen
ki arra is, ismertets, illetve alkalmazs tmakrben.
15. Bob Marley mozaikkp elksztse. Ksztsnk olyan algoritmust, amelynek a
bemenete sok (akr klnbz felbonts) kp, s egy clkp (ez is vltoztathat
legyen egy krben, teht a feladat cme szimbolikus. Kerljk a vitathat tartalm
kpek alkalmazst! (Kompromisszum a raszta haj. ) A program ksztse el a
clkpet, mint a tbbi kpbl ll mozaikkpet. (tmutat: elszr tltsk fel a
kpeket egy mappba, amelyben troljuk az adott kp legjellemzbb sznt, majd a
clkpet osszuk rgikra, s hatrozzuk meg egy rgi legjellemzbb sznt (erre tbb
mdszer is j lehet). A rgi sznnek megfelel kpet illesszk be kicsinytve a
megfelel helyre.) Az egyszersg kedvrt tekintsk a feladatot szrkernyalatos
(grayscale) kpekre. Pluszpontrt ksztsk el a programot sznes kpekre is. A
programban legyen megadhat, hogy a clkp hny sorra/oszlopra legyen felosztva.
Pldul:
http://cache2.allpostersimages.com/p/LRG/14/1430/CM4R000Z/posters/bob-marleymosaic.jpg
A feladatnak egszen eltr sznvonal megoldsaival lehet tallkozni. Lnyeges a
forrskpek megvlasztsa s a mozaikok jellemzinek megvlasztsa is tartalmaz
lehetsgeket. Az rtkels rsze az elkszlt kp lvezhet minsge.
16. Klaszterez eljrsok s alkalmazsaik. Lehet essz is, de inkbb klaszterez
algoritmusok implementlsa s tesztelse vletlen mdon generlt (nem egyenletes
eloszls) skbeli pontokon. A feladat 3-5 klaszterez algoritmus bemutatsa mkds
kzben, vletlen mdon generlt skbeli pontok csoportostsra. A klaszterezk
kztt kell szerepelnie a k-kzp mdszernek, valamint legalbb egy felhalmoz s
egy lebont klaszterez eljrsnak. A tovbbi klaszterez algoritmusok szabadon
megvlaszthatk, de nem felttlenl szksgesek. A bemeneti pontok generlsakor
legyen lehetsg csomsod input ellltsra (mdjrl konzultljunk). A
dokumentciban rviden ki kell trni a klnbz mdszerek hatkonysgra,
futsidejre s eredmnyeik hasonlsgra, klnbsgre. Forrsmunkkat szintn
konzultci sorn ajnlunk az rdekldknek. Az egyik forrs az Informatikai
algoritmusok 2., letlthet pdf-ben, lsd pl.:
4

http://compalg.inf.elte.hu/~tony/Informatikai-Konyvtar/05Informatikai%20algoritmusok%201,%202/InformatikaiAlgoritmusok2.pdf.
rdemes az adatbnyszat tmakrbe helyezve keresni a klaszterezs forrsanyagait.
Egy j, adatbnyszatrl szl knyvet, amely magyarul is elrhet, feltltttem a
honlapomra: http://people.inf.elte.hu/fekete/algoritmusok_msc/klaszterezes/.
17. Workflow s Petri hlk (essz-tma.) A krnyezetnkben tbb tanszken is
jelentkezik ez a kutatsi tma. Azt krjk a tmt vlaszt hallgatktl, hogy jrjk
krl a workflow fogalmt: mi minden tartozik ide. Minl tbb gyakorlati pldt
szeretnnk ltni, minl mlyebben ismertetve. Elssorban azonban az zleti
folyamatok rdekelnek bennnket. Milyen workflow alap szemllettel,
megkzeltssel lehet mostanban tallkozni? Milyen szoftveres tmogatst kap a
workflow-alap tervezs, mkds-megvalsts, pl. a vllalati mkds grfjnak
szerkesztse. Elmleti oldalrl kzeltve: mi a Petri-hl s hogyan kapcsoldik a
workflow lershoz? Mellkelnk egy esszt, amely mintul vehet az elmleti oldal
ttekintshez. (Nem felttlenl ilyet vrunk.) Nem tudunk pontos irnyt mutatni a
krdseinkkel. Ebben a most idszer tmban az rdekldk nyugodtan
megvlaszthatjk az essz irnyultsgt is. Kt hasznlhat knyvet is feltltttnk a
kvetkez cmre:
http://people.inf.elte.hu/fekete/algoritmusok_msc/workflow/.
18. A wumpus jtk megvalstsa. A wumpus vilg egy korai szmtgpes jtk (Hunt
the Wumpus, G. Yob, 1972), amely azonban ma is tretlen npszersgnek rvend, a
legtbb Linux disztribciban is elrhet (wump). A jtk n x n-es, leggyakrabban
6 x 6-os tblja egy barlang helyisgeit brzolja, amelyek egyikben rejtzik egy
szrnyeteg, a wumpus, aki felfalja a szobjba tved szemlyt. A tbln egy jtkos
(gens) kzlekedik, akire a wumpus mellett kvl mg egy veszly leselkedik, nhny
mez szintn a jtk vgt jelent csapdt tartalmaz. A nyersre is kt lehetsge
van: a jtkos kpes nyilval megsemmisteni a wumpust, vagy rtall az aranyat rejt
szobra. A jtkos tjkozdsban az segti, hogy minden veszlyt kelt objektumok
kzelsgt rzkeli a szomszdos szobkbl. A wumpus szomszdsgban bzt rez,
a csapda mellett szellt rzkel. Az arany a legtbb jtkban nem jelzi kzelsgt
(valamilyen fnyeffektussal), teht mintegy vletlenl lehet rtallni. A jtk vilga
s szablyai az egyni konfigurcikat leszmtva csak kevss trnek el az egyes
implementcikban (pl. denevrek szobi). A jtk paramterezsvel (pl. tblamret,
csapdk s nylvesszk szma) klnbz nehzsgi szintek alakthatk ki. A jtk
npszersgnek kulcsa az, hogy a jtkosnak valdi agytornt jelent a szomszdos
szobkbl kiindul rzetek alapjn trtn kvetkeztets. Ebben a megtett tjnak
korbbi tapasztalatait is figyelembe kell vennie. -- A jtk szmtgpes megoldsa is
nevezetes, mivel a wumpus vilgot egyezmnyesen az intelligens gensek egyik els
prbakvnek tekintik (M. Genesereth javaslata, 1984). A megold algoritmus a
megltogatott mezkre felrt, viszonylag nagyszm diszjunktv alak llts alapjn
alaktja ki a stratgijt, ms tpus knyszerfelttelek figyelembe vtelvel is. -(1) A wumpus jtkkal kapcsolatban alapvet clknt tzhet ki a jtk egy sztenderd
vltozatnak pontos specifikcija, majd a szoksos parancssoros implementci
elksztse. (2) Nagyobb vllalst jelent egy grafikus fellet elksztse, amellyel
knnyebb jtszani. (3) Az igazi erprbt a megold algoritmus kidolgozsa jelenten,
nem-logikai vagy logikai mdszerrel, egyni tletek alapjn vagy a szakirodalom
felhasznlsval, lsd pl.:
5

P. Norvig S. J. Russell: Mestersges intelligencia modern megkzeltsben, Panem


Kiad, 2. tdolgozott kiads, 2005.
http://people.inf.elte.hu/fekete/algoritmusok_msc/wumpus/
19. Az osztlyozs (classification) mdszereinek irodalmi ttekintse. Az osztlyozs
fknt az adatbnyszatban kerl el tanulmnyaik sorn, bennnket azonban a
digitlis kpelemzs, illetve mg inkbb a tvrzkelt felvtelek osztlyozsnak
mdszerei rdekelnek. Ha valaki ezt a tmakrt vlasztja, akkor krjk, hogy trjen ki
az egzotikus mdszerekre is, tovbb tartsunk ktoldal konzultcit!
(Egy statisztikai alap osztlyozsban jrtas tvrzkelsi szakember adta a kvetkez
listt, amely ltala ismert, illetve szba jv fogalmak cmszavait tartalmazza
(mindenfle garancia nlkl): decision tree, object oriented classification, multivariate
statistical analysis, polarimetric decompositon of covariance matrix, multiple
regression, log-linear models, hierarchical clustering, hierarchical aggregation,
neural network, Bayesian network, rule-based induction, genetic algorithm, support
vector machine, k-means algorithm, expectation-maximization algorithm, k-nearest
neighbor classification (kNN), classification and regression trees (CART), random
forest.)

Vous aimerez peut-être aussi