Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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ó.

Hasonló előadás


Az előadások a következő témára: "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ó."— Előadás másolata:

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!


Letölteni ppt "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ó."

Hasonló előadás


Google Hirdetések