Bársony Kristóf számítástechnika IV. évfolyam A Rubik Gubanc játék állapottér reprezentációja és megoldáskereső stratégiák
A rubik gubanc játék bemutatása A játék 9 db különböző kártyából áll. Minden kártyán áthalad 4 különböző színű kötél. Minden kártyának két oldala van.
A probléma, vagyis a játék célja Úgy elhelyezni a 9 kártyát egy 3x3-as mátrixban, hogy minden kötél illeszkedjen a vele szomszédos kártyán lévő kötelekkel, más szóval folyamatos legyen.
Lehetséges variációk száma A lehetséges variációk száma: 9! * 8^9 = 48.704.929.136.640 ≈ ≈ 4,87 * 10^13 Ebből is látszik, hogy a problémát próbálgatással lehetetlen megoldani. Más módszert kell alkalmazni: Mesterséges intelligenciából tanult kereső algoritmusok használata. Pl.: backtrack
Megoldás Mezítlábas megközelítés: A 3x3 mátrix állapottér nem működik, mert túl sok az állapotok száma: ≈ 4,87 * 10^13 Megoldás: Probléma redukció Valamilyen módon szűkíteni kell a lehetséges megoldások halmazát
Kettesek keresése Ketteseket keresek és azokat teszem egymás mellé, oly módon, hogy mindkét kettes egyik kártyája fedje a másikat.
Kettesek variációi Az elkészített program segítségével kiszámoltam, hogy az összes kettes száma: 174 Ha ezekből rakok össze egy állapotteret, akkor már lényegesen kevesebb lesz a lehetőségek száma. Lehetőségek száma: 174*173*172*171*170*169 ≈ 2,5 * 10^13
Hármasok keresése Hármasokat keresek és azokat teszem egymás mellé vagy egymásra. Így már lényegesen kevesebb lehetőség van, de ez nem garantálja a megoldást Lehetőségek száma: h*(h-1)*(h-2)
Négyesek keresése Négyeseket keresek és azokat körberakom A lehetőségek száma: n * 4 * 5! * 5^8 = = n * 18.7500.000 ≈ n * 1,8 * 10^8 ahol n a négyesek száma.
Két négyes összeillesztése Talán a legkevesebb lehetőséghez jutunk, ha két négyest illesztünk össze, úgy, hogy 1-1 sarkuk illeszkedjen egymásra. A lehetőségek száma: n*(n-1)*2!*2^8 Ez már lényegesebben kevesebb.
Köszönöm a figyelmet