Rekurzív logikai játékok



Hasonló dokumentumok
2013. szeptember 27. Vígh Viktor SZTE Bolyai Intézet

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Logikai szita (tartalmazás és kizárás elve)

2. forduló. MEGOLDÁSOK Pontszerző Matematikaverseny 2014/2015 tanév. 1. Számkeresztrejtvény:

Rekurzív algoritmusok

REKURZIÓ. Rekurzív: önmagát ismétlő valami (tevékenység, adatszerkezet stb.) Rekurzív függvény: függvény, amely meghívja saját magát.

Érdekességek az elemi matematika köréből

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

Számelmélet. 4. Igazolja, hogy ha hat egész szám összege páratlan, akkor e számok szorzata páros!

Sarokba a bástyát! = nim

HHF0CX. k darab halmaz sorbarendezésének a lehetősége k! Így adódik az alábbi képlet:

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

Információs Technológia

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

A programozás alapjai 1 Rekurzió

7. Számelmélet. 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel?

Gráfok és ördöglakatok

Általános algoritmustervezési módszerek

1. beadandó feladat: egyszerű grafikus felületű alkalmazás. Közös követelmények:


Hajnal Péter. Bolyai Intézet, TTIK, SZTE, Szeged április 8.

Abszolútértékes egyenlôtlenségek

VII.A. Oszthatóság, maradékos osztás Megoldások

44. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY. Megyei forduló április mal, így a számjegyeinek összege is osztható 3-mal.

K O M B I N A T O R I K A P e r m u t á c i ó k, k o m b i n á c i ó k, v a r i á c i ó k

A félév során előkerülő témakörök

Megoldások 4. osztály

Rekurzív sorozatok oszthatósága

Assembly programozás: 2. gyakorlat

Negatív alapú számrendszerek

2. Visszalépéses keresés

1. AZ MI FOGALMA. I. Bevezetés. Tulajdonságok. Kezdet ELIZA. Első szakasz (60-as évek)

Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória

TANMENETJAVASLAT. Matematika. 1. osztály

Megoldások III. osztály

Bevezetés az informatikába

DIGITÁLIS TECHNIKA I BINÁRIS SZÁMRENDSZER BEVEZETŐ ÁTTEKINTÉS BINÁRIS SZÁMRENDSZER HELYÉRTÉK. Dr. Lovassy Rita Dr.

Óravázlat. Tananyag: Műveletvégzés a 20-as számkörben tízes átlépéssel. A természetes szám fogalmának mélyítése a számtulajdonságok megfigyelésével.

Diszkrét matematika 2.C szakirány

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Harmadik gyakorlat. Számrendszerek

Oszthatóság. Oszthatóság definíciója (az egészek illetve a természetes számok halmazán):

Matematikai logika és halmazelmélet

ÁTVÁLTÁSOK SZÁMRENDSZEREK KÖZÖTT, SZÁMÁBRÁZOLÁS, BOOLE-ALGEBRA

10. Szimultán kiválasztások

Diszkrét matematika I.

Opcionális feladat 5p. A négyoszlopos hanoi tornyok feladata

Rendezések. Összehasonlító rendezések

Algoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj. Nagy

A változatlan. Invariánsok a matematikában. Szakács Nóra. Egyetemi Tavasz Bolyai Intézet

A logika, és a matematikai logika alapjait is neves görög tudós filozófus Arisztotelész rakta le "Analitika" című művében, Kr.e. IV. században.

Visszalépéses keresés

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA

GEOMATECH TANULMÁNYI VERSENYEK ÁPRILIS

8. GYAKORLÓ FELADATSOR MEGOLDÁSA. (b) amelyiknek mindegyik számjegye különböző, valamint a második számjegy a 2-es?

Megoldások IV. osztály

Hét, páronként érintkező végtelen henger

3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F}

Algebra es sz amelm elet 3 el oad as Permut aci ok Waldhauser Tam as 2014 oszi f el ev

Modellezés Gregorics Tibor Mesterséges intelligencia

A 2013/2014. tanévi Országos Középiskolai Tanulmányi Verseny MATEMATIKA II. KATEGÓRIA (GIMNÁZIUM)

Adatszerkezetek II. 10. előadás

Invariánsok (a matematikai problémamegoldásban)

Klasszikus algebra előadás. Waldhauser Tamás április 28.

Rekurzió. 1. Feladat: Sorbaállítások száma. 2. Feladat: Zsebpénz. Horváth Gyula Megoldás. Megoldás

Rekurziók, algoritmusok 5-8. osztályban már bőven el lehet kezdeni. Erdős Gábor

Nagy Gábor compalg.inf.elte.hu/ nagy

FFT. Második nekifutás. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék október 2.

1. melléklet: A tanárokkal készített interjúk főbb kérdései

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI

Kongruenciák. Waldhauser Tamás

Rekurzió. Programozás alapjai C nyelv 9. gyakorlat. Rekurzív algoritmus. Rekurzív algoritmus fajtái. Példa: n! (2) Példa: n!

Felvételi tematika INFORMATIKA

Programozás alapjai C nyelv 9. gyakorlat. Rekurzió. Rekurzív algoritmus

A Cast Duettől a Rubik-kockáig

sorszámok, számszomszédok

Diszkrét matematika II. feladatok

Elemi matematika szakkör

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA

Haladó rendezések. PPT 2007/2008 tavasz.

A Fermat-Torricelli pont

Oszthatósági problémák

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

A matematika nyelvéről bevezetés

8. OSZTÁLY ; ; ; 1; 3; ; ;.

Diszkrét matematika II. gyakorlat


2016, Diszkrét matematika

AZ INFORMATIKA LOGIKAI ALAPJAI

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Az állítást nem bizonyítjuk, de a létezést a Paley-féle konstrukció mutatja: legyen H a

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

Kijelentéslogika, ítéletkalkulus

MATEMATIKA VERSENY

Bevezetés az algebrába az egész számok

TANMENETJAVASLAT. Matematika. 2. osztály

Átírás:

Rekurzív logikai játékok Vígh Viktor SZTE Bolyai Intézet 2014. december 11. Szent László Gimnázium, Budapest

Hanoi tornyai Forrás: http://ordoglakat.blog.hu/2011/03/20/hanoi_tornyai

Hanoi tornyai Szabály: minden lépésben levehetünk egy olyan korongot, amin nincs másik, és rátehetjük egy olyan rúdra, ami üres, vagy a legfelső korongja nagyobb, mint ami a kezünkben van.

Hanoi tornyai Szabály: minden lépésben levehetünk egy olyan korongot, amin nincs másik, és rátehetjük egy olyan rúdra, ami üres, vagy a legfelső korongja nagyobb, mint ami a kezünkben van. Cél: mozgassuk át az összes korongot egy másik rúdra.

Hanoi tornyai Forrás: http://ordoglakat.blog.hu/2011/03/20/hanoi_tornyai

Hanoi tornyai Forrás: http://ordoglakat.blog.hu/2011/03/20/hanoi_tornyai

Hanoi tornyai Forrás: http://ordoglakat.blog.hu/2011/03/20/hanoi_tornyai

Hanoi tornyai Forrás: http://ordoglakat.blog.hu/2011/03/20/hanoi_tornyai

A megoldás A legnagyobb karika a maradék karikák mozgatását nem befolyásolja, hiszen a szabályok szerint mindig valamelyik rúd legalján van. Így az előző megfigyelésünk a következő módszert adja.

A megoldás A legnagyobb karika a maradék karikák mozgatását nem befolyásolja, hiszen a szabályok szerint mindig valamelyik rúd legalján van. Így az előző megfigyelésünk a következő módszert adja. 1) Tegyük át a felső öt karikából álló tornyot az első oszlopról a harmadik oszlopra. 2) Helyezzük át a legnagyobb karikát az első oszlopról a másodikra. 3) Tegyük át a felső öt karikából álló tornyot a harmadik oszlopról a második oszlopra.

A megoldás A legnagyobb karika a maradék karikák mozgatását nem befolyásolja, hiszen a szabályok szerint mindig valamelyik rúd legalján van. Így az előző megfigyelésünk a következő módszert adja. 1) Tegyük át a felső öt karikából álló tornyot az első oszlopról a harmadik oszlopra. 2) Helyezzük át a legnagyobb karikát az első oszlopról a másodikra. 3) Tegyük át a felső öt karikából álló tornyot a harmadik oszlopról a második oszlopra. Probléma: ez mind szép és jó, de hogy tegyük át az öt magas tornyot?

Formalizáljunk! Hanoi_megold[karikakszama; honnan, hova]

Formalizáljunk! Hanoi_megold[karikakszama; honnan, hova] Hanoi_megold[N; i, j] 1) ha N = 1, akkor atrak[i, j]; 2) egyébként 1 Hanoi_megold[N 1; i, 6 i j]; 2 atrak[i, j]; 3 Hanoi_megold[N 1; 6 i j, j]; vége Hanoi_megold

Példa Hanoi_megold[3; 1, 2];

Példa Hanoi_megold[2; 1, 3]; atrak[1, 2]; Hanoi_megold[2; 3, 2];

Példa Hanoi_megold[1; 1, 2]; atrak[1, 3]; Hanoi_megold[1; 2, 3]; atrak[1, 2]; Hanoi_megold[1; 3, 1]; atrak[3, 2]; Hanoi_megold[1; 1, 2];

Példa atrak[1, 2]; atrak[1, 3]; atrak[2, 3]; atrak[1, 2]; atrak[3, 1]; atrak[3, 2]; atrak[1, 2];

Lépésszám Ha N = 1, akkor egy lépés kell. Ha N = 2, akkor 3, ha N = 3, akkor 7. Azt sejtjük, hogy 2 N 1 lépésre van szükség általában.

Lépésszám Ha N = 1, akkor egy lépés kell. Ha N = 2, akkor 3, ha N = 3, akkor 7. Azt sejtjük, hogy 2 N 1 lépésre van szükség általában. Valóban 1 Hanoi_megold[N 1; i, 6 i j]; 2 N 1 1, 2 atrak[i, j]; 1, 3 Hanoi_megold[N 1; 6 i j, j]; 2 N 1 1, ez tényleg 2 N 1 1 + 1 + 2 N 1 1 = 2 N 1 lépés.

A meleda (Kínai karikák, Cardano karikái) Forrás: http://forum.johnrausch.com/cgi-bin/ultimatebb.cgi?ubb=get_topic&f=5&t=000177

Hasonló az ötlet, mint az előbb, de némileg nehezebb formalizálni: jelölje Levesz[k] az első k gyűrűt levevő eljárást, Feltesz[k], pedig a megfordítását.

Hasonló az ötlet, mint az előbb, de némileg nehezebb formalizálni: jelölje Levesz[k] az első k gyűrűt levevő eljárást, Feltesz[k], pedig a megfordítását. Ahhoz, hogy az utolsó gyűrűt leejtsük, az első n 2-t le kell vennnünk. Ha a leejtés után visszatesszük az első n 2 karikát, akkor a játék eggyel kisebb, n 1 karikás változatához jutunk.

Az algoritmus Levesz[n] 1) Ha n = 1, akkor Leejt[1]; 2) Ha n = 2, akkor Leejt[2]; Leejt[1]; 3) Egyébként 1 Levesz[n 2]; 2 Leejt[n]; 3 Feltesz[n 2]; 4 Levesz[n 1]; Vége Levesz[n]

Az algoritmus Levesz[n] 1) Ha n = 1, akkor Leejt[1]; 2) Ha n = 2, akkor Leejt[2]; Leejt[1]; 3) Egyébként 1 Levesz[n 2]; 2 Leejt[n]; 3 Feltesz[n 2]; 4 Levesz[n 1]; Vége Levesz[n] A Feltesz[n] hasonlóan, csak a két szerep felcserélődik (és Leejt[k] helyett Felfuz[k] lesz.).

Lépésszám A Hanoi tornyai játékhoz hasonlóan igazolható, hogy páros sok karika esetén a lépésszám (2 n+1 2)/3, páratlan soknál (2 n+1 1)/3.

Lépésszám A Hanoi tornyai játékhoz hasonlóan igazolható, hogy páros sok karika esetén a lépésszám (2 n+1 2)/3, páratlan soknál (2 n+1 1)/3. A Hanoi tornyai esetén világos, hogy amit csinálunk, az optimális, kevesebb lépésben nem megoldható a játék. Itt feltétlenül megfontolásra szorul, hogy az utolsó karika leejtése után szükséges-e visszatérni az n 1 karikás alapállapotba.

A Gros-kód Rendeljünk hozzá minden állapothoz egy kettes számrendszerbeli számot a következő módon: tegyük a bal kezünk felé a leghátsó gyűrűt. A pánton fenn levő gyűrűket számozzuk felváltva 1-gyel és 0-val. A leejtett gyűrűk esetén keressük meg a hozzájuk legközelebbi, tőlük balra eső a pánton levő gyűrűt, és rendejük hozzájuk ennek a számát, ha ilyen gyűrű nincs, akkor pedig 0-t.

A Gros-kód Rendeljünk hozzá minden állapothoz egy kettes számrendszerbeli számot a következő módon: tegyük a bal kezünk felé a leghátsó gyűrűt. A pánton fenn levő gyűrűket számozzuk felváltva 1-gyel és 0-val. A leejtett gyűrűk esetén keressük meg a hozzájuk legközelebbi, tőlük balra eső a pánton levő gyűrűt, és rendejük hozzájuk ennek a számát, ha ilyen gyűrű nincs, akkor pedig 0-t. Ezzel lekódoltuk az állást egy bináris számsorba. Vegyük észre a következőket: 1 Bármilyen bináris számsor visszafejthető.

A Gros-kód Rendeljünk hozzá minden állapothoz egy kettes számrendszerbeli számot a következő módon: tegyük a bal kezünk felé a leghátsó gyűrűt. A pánton fenn levő gyűrűket számozzuk felváltva 1-gyel és 0-val. A leejtett gyűrűk esetén keressük meg a hozzájuk legközelebbi, tőlük balra eső a pánton levő gyűrűt, és rendejük hozzájuk ennek a számát, ha ilyen gyűrű nincs, akkor pedig 0-t. Ezzel lekódoltuk az állást egy bináris számsorba. Vegyük észre a következőket: 1 Bármilyen bináris számsor visszafejthető. 2 Különböző számsorokhoz különböző állapotok tartoznak.

A kódolásból adódó megoldás Állítás A 1 kettes számrendszerbeli művelethez tartozó operáció a játékon egy lépést jelent.

A kódolásból adódó megoldás Állítás A 1 kettes számrendszerbeli művelethez tartozó operáció a játékon egy lépést jelent. Bizonyítás. 1 Ha az utolsó számjegy 1.

A kódolásból adódó megoldás Állítás A 1 kettes számrendszerbeli művelethez tartozó operáció a játékon egy lépést jelent. Bizonyítás. 1 Ha az utolsó számjegy 1. 2 Ha az utolsó számjegy 0.

A kódolásból adódó megoldás Állítás A 1 kettes számrendszerbeli művelethez tartozó operáció a játékon egy lépést jelent. Bizonyítás. 1 Ha az utolsó számjegy 1. 2 Ha az utolsó számjegy 0.

A kódolásból adódó megoldás Az adódó eljárás: vonogassunk ki egyet.

A kódolásból adódó megoldás Az adódó eljárás: vonogassunk ki egyet. Lépésszám: ha n páros 2 n 1 + 2 n 3 +... + 2 = 2 4n/2 1 4 1 hasonlóan, ha n páratlan. = 2n+1 2, 3

A drótszív Forrás: http://ordoglakat.blog.hu/2012/05/06/drotsziv

Kétszintes drótszív Forrás: http://ordoglakat.blog.hu/2012/05/06/drotsziv

Az akrobaták Forrás: http://ordoglakat.blog.hu/2012/09/02/akrobatak_317

Jákob lajtorjája Forrás: http://ordoglakat.blog.hu/2009/03/29/meleda

Néhány cikk játékokról Przytycki, Józef H.; Sikora, Adam S.: Topological insights from the Chinese rings. Proc. Amer. Math. Soc. 130 (2002), no. 3, pp. 893 902 (electronic). Bertuccioni, Inta: A topological puzzle. Amer. Math. Monthly 110 (2003), no. 10, pp. 937 939. Bozóki, S., Lee, T.L., Rónyai, L.: Seven mutually touching infinite cylinders. Computational Geometry: Theory and Applications 48(2) (2015), pp. 87 93.

Köszönöm a figyelmet!