Zillions-suli (5. rész)

"vissza a kályhához"
Zillionsuli 0.rész

Az időközben felmerült kérdésekre válaszolva, kibővült a Zilli-játék-help

Ehhez, picit részletesebben, a Zilli korlátairól:
--- Meddig terjed a Zilli "okossága"? Mi történik, ha "végtelenre" állítjuk a gép gondolkodási idejét?
A gondolkodási időt maximum csak addig érdemes növelni, amíg még kb. 10-20 perc alatt le tud menni az előre tekintett lépések számában a következő szintre. A fokról-fokra történő lefelé haladás időszükséglete, kb. többnyire legalább duplázódik (az igazán bonyolult játékoknál akár több százzal is szorzódhat)..
A Zilli ugyanis egyáltalán nem "gondolkodik". Semmi mást nem tesz, mint lebontja a lehetséges összes lépés elágazás-fáját.


Az ábra egy -lépésenként három-három elágazást tartalmazó- fa három szintjét mutatja: a téglalapok felső sorában a lépés előtti, a téglalapok alsó sorában a lépés után állások állapot-jelzéseivel: piros, ha onnan lefelé már a gép nyer és sárga, ha nem.

A kész fát alulról felfelé színezi ki a Zilli: Bármelyik "gép lép"-téglalap alsó sorában akkor lesz piros egy állás állapota, ha legalább 1 db elágazása lefelé piros.
Bármelyik "ellenfél-lép" téglalap alsó sorában akkor lesz piros az állás állapota, ha mindegyik lefelé ágazó vonal piros.

Azokban a partikban, amikor a beállított válaszidő elegendő a teljes elágazás-fa lebontásához, (és persze, ha létezik biztosan nyerő stratégia) akkor a Zilli mindig nyerni fog. A lebontott fát ugyanis "ész nélkül" (alulról-felfelé) kiértékeli és válaszlépéseit mindig a piros állapotok alapján fogja megtenni.
Bonyolultabb a működése (és ez a jellemző) akkor, ha a beállított idő alatt nem jut el a fa teljes lebontásához. Ám, logikusan felthető, hogy ekkor is hasonlóan értékeli ki a fát, de nem a nyerőhelyzet alapján, hanem egy olyan szám alapján, amit a játékszabályok/játék célja szerint számít ki egy univerzális értékelőfüggvénynek az adott játékra aktualizált részeivel.
(Ha pl. van ütés a játékban, akkor biztosan értékelni fogja az adott állás pontértékében a relatív bábúszámot, sőt mi több: az egyes bábuk lépési mozgásszabadságának különbözőségeit is figyelembe véve. Itt, most, ezt, találgatásokkal felesleges részletezni. Annyi bizonyos, hogy ezt az értékelő függvényt profi játékosok hozták össze, mert megdöbbentően hatékonyan működik csaknem mindegyik játékban.)

Jó közelítésben feltételezhető, hogy fenti fa lebontása és az értékelő függvény behívása mindegyik állásban, szintről-szintre lefelé rendre háromszoros időráfordítással történik. Ha pl. azt tapasztaljuk, hogy egy ilyen három-elágazásos játékban az 5. szintről a 6. szintre 1 másodperc alatt jutott el a Zilli, akkor a 16. szintről a 17. szintre kb. 16 órára, illetve a 17. szintig történő lebontáshoz valamivel több, mint egy egész napra lenne szüksége. Mielőtt pontosabban utána számolna valaki, gondolkodjon el pl. az alábbi példán:
1. Adott játékban lépésről-lépésre 20 elágazás van.
2. Az átlagos partik lépéspárszáma 25.
Ha az első 10 szintig történő lebontáshoz 1 másodperc kell a Zillinek (mondjuk a jövő egyik szupergyorsaságú számítógépén), akkor a teljes fa kiértékelését, valamikor talán a dinoszauruszok korában kellett volna elkezdenie ahhoz, hogy napjainkra végezzen vele.

Fenti korlátok ellenére, az a tapasztalat, hogy a játékok többségében meglehetősen jól működik a Zilli állásértékelő függvénye. Sokszor 4-7 lépés előretekintése elegendő a Zillinek a győzelemhez. (Ennyire gyengék lennénk?) Az pedig már igencsak elgondolkoztató, hogy intellektuálisan igényesnek tartott logikai feladványaink igen nagy részét szinte azonnal képes megoldani a Zilli ezzel a fa-lebontásos automatizmussal. Többnyire, a legkeményebbnek minősülő feladványaink is lépésenként 2-4 elágazással 5-40 lépésben megoldhatók. A rejtvényfejtő emberi elme logikája ráérzésen és megfigyelésen alapul, szinte soha nem a lehetőségek fájának követésén.
Valahol azért bosszantó, hogy a kreatív ötlet nélküli Zilli, nem is olyan ritkán, eredményesebb lesz nálunk.
Kézenfekvő trükk a feladványok gépi megoldásának gyorsítására.
Nagyon-nagyon meg kívánunk oldatni egy 13 lépéses feladványt a Zillivel, de már 10 perce bontja a fát és még mindig csak a 9. szintnél tart. Javaslat: Töprengjünk el a feladaton, és tegyük meg magunk az első 3-4 lépést... (Még a bonyolultabb feladványoknál is jó lehet az a taktika, hogy a saját logikánk szerint elindulunk és a befejezést bízzuk rá a Zillire.)

(folyt.)