1 / 24

Keresőalgoritmusok az ACM versenyeken

Kósa Márk Debreceni Egyetem Informatikai Kar Információ Technológia Tanszék. Keresőalgoritmusok az ACM versenyeken. 7. Gyires Béla Informatikai Nap Debrecen , 200 6. december 15. Múlt és jelen. az 1. verseny Texas, Baylor University, 1970 a 31. verseny 5 földrész 42 régió 82 ország

yuki
Download Presentation

Keresőalgoritmusok az ACM versenyeken

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kósa Márk Debreceni Egyetem Informatikai Kar Információ Technológia Tanszék Keresőalgoritmusokaz ACM versenyeken 7. Gyires Béla Informatikai Nap Debrecen, 2006. december 15.

  2. Múlt és jelen • az 1. versenyTexas, Baylor University, 1970 • a 31. verseny • 5 földrész • 42 régió • 82 ország • 1818 egyetem és főiskola • 6077 háromfős csapat • regionális selejtezők2006. szeptember-december • világdöntőHilton Tokyo Bay Hotel2007. március 12-16. Keresőalgoritmusok az ACM versenyeken

  3. Szabályok • angol nyelvű • maximum 3 fős csapatok • 1 számítógép • papír alapú segédeszközök • 7-12 feladat • 5 óra versenyidő • hossz-, idő- és memóriakorlátok • értékelés büntetőpontokkal • on-line zsűri Keresőalgoritmusok az ACM versenyeken

  4. Témakörök • sztringek, mintaillesztés • rendezések • aritmetika és algebra • kombinatorika • számelmélet • visszalépéses keresés • gráfalgoritmusok • dinamikus programozás • geometria Keresőalgoritmusok az ACM versenyeken

  5. A leggyakrabban előforduló keresőalgoritmusok • Visszalépéses keresők • alap változat – fa gráf, összes megoldás • úthosszkorláttal működő változat • körök előfordulását ellenőrző változat • ág és korlát algoritmus – optimális megoldás • Gráfkereső algoritmusok • mélységi kereső • 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 • heurisztikus keresők Keresőalgoritmusok az ACM versenyeken

  6. Fél meg fél egy egész • 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 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! Keresőalgoritmusok az ACM versenyeken

  7. 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 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 Keresőalgoritmusok az ACM versenyeken

  8. A raktár • karika: -7 ügynök, E betű: kijárat, 2-3-4: álló dobozok, üres mező: föld, piros szín: ledöntött doboz • maximum 8×8-as tábla 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! Keresőalgoritmusok az ACM versenyeken

  9. Ah Ce Emm - kínai hazárdjáték 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 x1 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. • Sas: Kérhetünk 7 új kavicsot x2 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. Kavicsaink száma sohasem haladhatja meg a kiinduló darabszámot. Mekkora az a legkisebb összeg, amennyiért el tudjuk tüntetni az összes kavicsunkat? Keresőalgoritmusok az ACM versenyeken

  10. Huszárcsere • 33-as sakktábla • két világos, két sötét huszár • 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! Keresőalgoritmusok az ACM versenyeken

  11. Első állapottér-reprezentáció • 1 kezdőállapot • 4 célállapot • 32 Ugrás(ló, sor, oszlop) alakú operátor, melyből egy adott állapotra legfeljebb 8 alkalmazható Keresőalgoritmusok az ACM versenyeken

  12. Második állapottér-reprezentáció • 1 kezdőállapot • 1 célállapot • 16 Ugrás(x, y, u, v) alakú operátor, melyből egy adott állapotra legfeljebb 8 alkalmazható Keresőalgoritmusok az ACM versenyeken

  13. Harmadik állapottér-reprezentáció • 1 kezdőállapot • 1 célállapot • 8 Ugrás(sorszám) alakú operátor, melyből egy adott állapotra legfeljebb 8 alkalmazható Keresőalgoritmusok az ACM versenyeken

  14. Megoldások keresése, eredmények Keresőalgoritmusok az ACM versenyeken

  15. Számgyűrű • 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 • 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! Keresőalgoritmusok az ACM versenyeken

  16. Első állapottér-reprezentáció • 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 • 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 Keresőalgoritmusok az ACM versenyeken

  17. Második állapottér-reprezentáció • 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 Keresőalgoritmusok az ACM versenyeken

  18. Harmadik állapottér-reprezentáció • 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 Keresőalgoritmusok az ACM versenyeken

  19. Negyedik állapottér-reprezentáció • 9 pozíció a 9 szám részére • 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 • megjegyezzük az első üres (0 értékű) pozíciót • 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 Keresőalgoritmusok az ACM versenyeken

  20. Megoldások keresése, eredmények Keresőalgoritmusok az ACM versenyeken

  21. Következtetések,megfontolandó gondolatok • fontos a megoldandó probléma alapos ismerete • fontos az alkalmazható problémamegoldási technikák 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 • a hallgatók részéről van igény ezekre az ismeretekre és ezekre a versenyekre Keresőalgoritmusok az ACM versenyeken

  22. Hivatkozott URL-ek • ACM: Association for Computing Machinery, http://www.acm.org • The ACM-ICPC International Collegiate Programming Contest Web Site, http://icpc.baylor.edu • Central European Programming Contest, http://icpc.cs.bme.hu • 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/ Keresőalgoritmusok az ACM versenyeken

  23. Irodalomjegyzék • 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 • Steven S. Skiena, Miguel A. Revilla: Programming Challenges, Springer, 2003 • 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. Keresőalgoritmusok az ACM versenyeken

  24. Köszönöm a figyelmet! Keresőalgoritmusok az ACM versenyeken

More Related