Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaMarcell Király Megváltozta több, mint 10 éve
1
Keresőalgoritmusok az ACM versenyeken 7. Gyires Béla Informatikai Nap Debrecen, 2006. december 15. Kósa Márk Debreceni Egyetem Informatikai Kar Információ Technológia Tanszék
2
2006. december 15.Keresőalgoritmusok az ACM versenyeken2/24 az 1. verseny Texas, Baylor University, 1970 az 1. verseny Texas, Baylor University, 1970 a 31. verseny a 31. verseny 5 földrész 5 földrész 42 régió 42 régió 82 ország 82 ország 1818 egyetem és főiskola 1818 egyetem és főiskola 6077 háromfős csapat 6077 háromfős csapat regionális selejtezők 2006. szeptember-december regionális selejtezők 2006. szeptember-december világdöntő Hilton Tokyo Bay Hotel 2007. március 12-16. világdöntő Hilton Tokyo Bay Hotel 2007. március 12-16. Múlt és jelen
3
2006. december 15.Keresőalgoritmusok az ACM versenyeken3/24 angol nyelvű angol nyelvű maximum 3 fős csapatok maximum 3 fős csapatok 1 számítógép 1 számítógép papír alapú segédeszközök papír alapú segédeszközök 7-12 feladat 7-12 feladat 5 óra versenyidő 5 óra versenyidő hossz-, idő- és memóriakorlátok hossz-, idő- és memóriakorlátok értékelés büntetőpontokkal értékelés büntetőpontokkal on-line zsűri on-line zsűri Szabályok
4
2006. december 15.Keresőalgoritmusok az ACM versenyeken4/24 Témakörök sztringek, mintaillesztés sztringek, mintaillesztés rendezések rendezések aritmetika és algebra aritmetika és algebra kombinatorika kombinatorika számelmélet számelmélet visszalépéses keresés visszalépéses keresés gráfalgoritmusok gráfalgoritmusok dinamikus programozás dinamikus programozás geometria geometria
5
2006. december 15.Keresőalgoritmusok az ACM versenyeken5/24 A leggyakrabban előforduló keresőalgoritmusok Visszalépéses keresők Visszalépéses keresők alap változat – fa gráf, összes megoldás alap változat – fa gráf, összes megoldás úthosszkorláttal működő változat úthosszkorláttal működő változat körök előfordulását ellenőrző változat körök előfordulását ellenőrző változat ág és korlát algoritmus – optimális megoldás ág és korlát algoritmus – optimális megoldás Gráfkereső algoritmusok Gráfkereső algoritmusok mélységi kereső mélységi kereső szélességi kereső – azonos költségű operátorok esetén szélességi kereső – azonos költségű operátorok esetén optimális kereső (Dijkstra algoritmusa) – különböző költségű operátorok esetén optimális kereső (Dijkstra algoritmusa) – különböző költségű operátorok esetén heurisztikus keresők heurisztikus keresők
6
2006. december 15.Keresőalgoritmusok az ACM versenyeken6/24 adott a 2 törtszám számjegyeit jelző 10 darab téglalap adott a 2 törtszám számjegyeit jelző 10 darab téglalap a téglalapokba különböző számjegyeket kell írni 0- tól 9-ig a téglalapokba különböző számjegyeket kell írni 0- tól 9-ig Feladat: Töltsük ki a téglalapokat úgy, hogy az egyenlőség teljesüljön! Adjuk meg az összes lehetséges megoldást! Fél meg fél egy egész
7
2006. december 15.Keresőalgoritmusok az ACM versenyeken7/24 13 / 26 = 485 / 970 15 / 30 = 486 / 972 16 / 32 = 485 / 970 27 / 54 = 309 / 618 29 / 58 = 307 / 614 31 / 62 = 485 / 970 35 / 70 = 148 / 296 35 / 70 = 481 / 962 Fél meg fél egy egész 38 / 76 = 145 / 290 38 / 76 = 451 / 902 45 / 90 = 138 / 276 45 / 90 = 186 / 372 45 / 90 = 381 / 762 46 / 92 = 185 / 370 48 / 96 = 135 / 270 48 / 96 = 351 / 702
8
2006. december 15.Keresőalgoritmusok az ACM versenyeken8/24 karika: -7 ügynök, E betű: kijárat, 2-3-4: álló dobozok, üres mező: föld, piros szín: ledöntött doboz karika: -7 ügynök, E betű: kijárat, 2-3-4: álló dobozok, üres mező: föld, piros szín: ledöntött doboz Feladat: Adjuk meg, hogy legkevesebb hány lépésben juthat el -7 ügynök a kijárathoz anélkül, hogy a földre lépne! A raktár maximum 8×8-as tábla maximum 8×8-as tábla
9
2006. december 15.Keresőalgoritmusok az ACM versenyeken9/24 Feladat: Adott egy csomó kavics, amelyet a következő négy szabály tetszőleges sorrendű ismételt alkalmazásaival el kell tüntetni: Tűz: Ha legalább 11 kavicsunk van, akkor eldobhatunk pontosan 11 kavicsot x 1 jüan befizetése után. Tűz: Ha legalább 11 kavicsunk van, akkor eldobhatunk pontosan 11 kavicsot x 1 jüan befizetése után. Sárkány: Ha a kavicsok száma osztható 3-mal, akkor eldobhatjuk a kavicsoknak pontosan az egyharmadát, minden eldobott kavicsért 1 jüant fizetve. Sárkány: Ha a kavicsok száma osztható 3-mal, akkor eldobhatjuk a kavicsoknak pontosan az egyharmadát, minden eldobott kavicsért 1 jüant fizetve. Sas: Kérhetünk 7 új kavicsot x 2 jüanért. Sas: Kérhetünk 7 új kavicsot x 2 jüanért. Bátorság: Megduplázhatjuk a kavicsaink számát, és kaphatunk még egyet ráadásként, minden új kavicsért 1 jüant fizetve. Bátorság: Megduplázhatjuk a kavicsaink számát, és kaphatunk még egyet ráadásként, minden új kavicsért 1 jüant fizetve. Ah Ce Emm - kínai hazárdjáték Kavicsaink száma sohasem haladhatja meg a kiinduló darabszámot. Mekkora az a legkisebb összeg, amennyiért el tudjuk tüntetni az összes kavicsunkat?
10
2006. december 15.Keresőalgoritmusok az ACM versenyeken10/24 Huszárcsere 3 3-as sakktábla 3 3-as sakktábla két világos, két sötét huszár két világos, két sötét huszár szabályos lólépések szabályos lólépések Feladat: Cseréljük meg szabályos lépésekkel a világos huszárokat a sötétekkel, és adjunk meg egy, a helycserét megvalósító lépéssorozatot!
11
2006. december 15.Keresőalgoritmusok az ACM versenyeken11/24 1 kezdőállapot 1 kezdőállapot 4 célállapot 4 célállapot 32 Ugrás(ló, sor, oszlop) alakú operátor, melyből egy adott állapotra legfeljebb 8 alkalmazható 32 Ugrás(ló, sor, oszlop) alakú operátor, melyből egy adott állapotra legfeljebb 8 alkalmazható Első állapottér-reprezentáció
12
2006. december 15.Keresőalgoritmusok az ACM versenyeken12/24 1 kezdőállapot 1 kezdőállapot 1 célállapot 1 célállapot 16 Ugrás(x, y, u, v) alakú operátor, melyből egy adott állapotra legfeljebb 8 alkalmazható 16 Ugrás(x, y, u, v) alakú operátor, melyből egy adott állapotra legfeljebb 8 alkalmazható Második állapottér-reprezentáció
13
2006. december 15.Keresőalgoritmusok az ACM versenyeken13/24 1 kezdőállapot 1 kezdőállapot 1 célállapot 1 célállapot 8 Ugrás(sorszám) alakú operátor, melyből egy adott állapotra legfeljebb 8 alkalmazható 8 Ugrás(sorszám) alakú operátor, melyből egy adott állapotra legfeljebb 8 alkalmazható Harmadik állapottér-reprezentáció
14
2006. december 15.Keresőalgoritmusok az ACM versenyeken14/24 Állapotok száma Operátorok száma Visszalépéses kereső Szélességi kereső Megoldás lépésszáma Keresési idő Megoldás lépésszáma Keresési idő 1.28032108 21 ms 16 51 ms 2.28016 n. a. 16 45 ms 3.117816 1 ms 16 14 ms Megoldások keresése, eredmények
15
2006. december 15.Keresőalgoritmusok az ACM versenyeken15/24 9 karika gyűrűszerű elrendezésben 9 karika gyűrűszerű elrendezésben a karikákba különböző egész számokat kell írni 1-től 9-ig a karikákba különböző egész számokat kell írni 1-től 9-ig két szomszédos karika értékének összege nem lehet sem 3-mal, sem 5-tel, sem 7-tel osztható két szomszédos karika értékének összege nem lehet sem 3-mal, sem 5-tel, sem 7-tel osztható Feladat: Töltsük ki a számgyűrű karikáit! Számgyűrű
16
2006. december 15.Keresőalgoritmusok az ACM versenyeken16/24 egy apró trükk: 10 pozíció a 9 számhoz, ahol az utolsó pozícióban lévő szám értéke megegyezik az első pozícióban lévőével egy apró trükk: 10 pozíció a 9 számhoz, ahol az utolsó pozícióban lévő szám értéke megegyezik az első pozícióban lévőével 1 kezdőállapot 1 kezdőállapot a célállapotok halmazát célfeltétellel definiáljuk a célállapotok halmazát célfeltétellel definiáljuk 36 Cserél(poz1, poz2) alakú operátor, alkalmazási előfeltétel nélkül 36 Cserél(poz1, poz2) alakú operátor, alkalmazási előfeltétel nélkül Első állapottér-reprezentáció
17
2006. december 15.Keresőalgoritmusok az ACM versenyeken17/24 ugyanaz, mint az 1. állapottér-reprezentáció, azzal a különbséggel, hogy ugyanaz, mint az 1. állapottér-reprezentáció, azzal a különbséggel, hogy a Cserél(poz1, poz2) alakú operátornak van alkalmazási előfeltétele: nem cserélhetjük a sorozat elején lévő olyan számokat, amelyek már kielégítik a célfeltételt a Cserél(poz1, poz2) alakú operátornak van alkalmazási előfeltétele: nem cserélhetjük a sorozat elején lévő olyan számokat, amelyek már kielégítik a célfeltételt Második állapottér-reprezentáció
18
2006. december 15.Keresőalgoritmusok az ACM versenyeken18/24 ugyanaz, mint az 1. állapottér-reprezentáció, azzal a különbséggel, hogy ugyanaz, mint az 1. állapottér-reprezentáció, azzal a különbséggel, hogy a Cserél(poz1, poz2) alakú operátornak van alkalmazási előfeltétele: a csere csak olyan pozíciók esetén megengedett, ahol a számok még nem teljesítik a célfeltételt a Cserél(poz1, poz2) alakú operátornak van alkalmazási előfeltétele: a csere csak olyan pozíciók esetén megengedett, ahol a számok még nem teljesítik a célfeltételt Harmadik állapottér-reprezentáció
19
2006. december 15.Keresőalgoritmusok az ACM versenyeken19/24 9 pozíció a 9 szám részére 9 pozíció a 9 szám részére 1 kezdőállapot 1 kezdőállapot minden állapotban az első pozíción lévő szám értéke rögzített (1), a többi ettől különböző, kezdetben 0 minden állapotban az első pozíción lévő szám értéke rögzített (1), a többi ettől különböző, kezdetben 0 megjegyezzük az első üres (0 értékű) pozíciót megjegyezzük az első üres (0 értékű) pozíciót a célállapotok halmazát célfeltétellel definiáljuk a célállapotok halmazát célfeltétellel definiáljuk 8 Kiír(szám) alakú operátor egy meglehetősen erős alkalmazási előfeltétellel 8 Kiír(szám) alakú operátor egy meglehetősen erős alkalmazási előfeltétellel Negyedik állapottér-reprezentáció
20
2006. december 15.Keresőalgoritmusok az ACM versenyeken20/24 Állapotok száma Operá- torok száma Visszalépéses kereső Szélességi kereső Megoldás lépésszáma Keresési idő Megoldás lépésszáma Keresési idő 1.36288036 n. a. 4n/a 2.403203628908 39292 ms 4 6032162 ms 3.940836 n. a. 4 71914 ms 4.11788 1 ms 8 2 ms Megoldások keresése, eredmények
21
2006. december 15.Keresőalgoritmusok az ACM versenyeken21/24 Következtetések, megfontolandó gondolatok fontos a megoldandó probléma alapos ismerete fontos a megoldandó probléma alapos ismerete fontos az alkalmazható problémamegoldási technikák ismerete fontos az alkalmazható problémamegoldási technikák ismerete fontos valamilyen programozási nyelv és/vagy eszköz ismerete fontos valamilyen programozási nyelv és/vagy eszköz ismerete mindezek beilleszthetők a tantervi órák tematikáiba, gyakoroltathatók és taníthatók mindezek beilleszthetők a tantervi órák tematikáiba, gyakoroltathatók és taníthatók a hallgatók részéről van igény ezekre az ismeretekre és ezekre a versenyekre a hallgatók részéről van igény ezekre az ismeretekre és ezekre a versenyekre
22
2006. december 15.Keresőalgoritmusok az ACM versenyeken22/24 Hivatkozott URL-ek ACM: Association for Computing Machinery, http://www.acm.org ACM: Association for Computing Machinery, http://www.acm.org The ACM-ICPC International Collegiate Programming Contest Web Site, http://icpc.baylor.edu The ACM-ICPC International Collegiate Programming Contest Web Site, http://icpc.baylor.edu Central European Programming Contest, http://icpc.cs.bme.hu Central European Programming Contest, http://icpc.cs.bme.hu Problem Set Archive, http://online-judge.uva.es Problem Set Archive, http://online-judge.uva.es The 2000's ACM-ICPC Live Archive Around the World, http://acmicpc-live-archive.uva.es/nuevoportal/ The 2000's ACM-ICPC Live Archive Around the World, http://acmicpc-live-archive.uva.es/nuevoportal/
23
2006. december 15.Keresőalgoritmusok az ACM versenyeken23/24 Irodalomjegyzék Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: Új algoritmusok, Scolar, 2003 Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: Új algoritmusok, Scolar, 2003 Juhász István, Kósa Márk, Pánovics János: C példatár, Panem, 2005 Juhász István, Kósa Márk, Pánovics János: C példatár, Panem, 2005 Steven S. Skiena, Miguel A. Revilla: Programming Challenges, Springer, 2003 Steven S. Skiena, Miguel A. Revilla: Programming Challenges, Springer, 2003 Steven S. Skiena: The Algorithms Design Manual, Springer, 1998 Steven S. Skiena: The Algorithms Design Manual, Springer, 1998 Kósa Márk, Nagy Benedek, Pánovics János: Megoldáskereső algoritmusok hatékonyságának vizsgálata az állapottér-reprezentációk függvényében, SzámOkt 2006 Konferencia, Szováta, 2006. május 25-28. Kósa Márk, Nagy Benedek, Pánovics János: Megoldáskereső algoritmusok hatékonyságának vizsgálata az állapottér-reprezentációk függvényében, SzámOkt 2006 Konferencia, Szováta, 2006. május 25-28.
24
2006. december 15.Keresőalgoritmusok az ACM versenyeken24/24 Köszönöm a figyelmet!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.