A barlangrajzoktól a display-kig

avagy a táblások ma is köztünk vannak...

Játékmező - bábuk - cél - lépésszabály - nyitóállás. Röviden táblajáték. Az ember talán legjellemzőbb találmánya, magasabb intelligenciájának egyik kétségbevonhatatlan "bizonyítéka". A művészi teljesítmény, az építés, a dalolás, a színjátszás, a munkamegosztás, az otthonteremtés, az örömszerző szeretés, a sport, stb. (sőt, pl. a beszédről is) azt hisszük, csak az emberre jellemző tevékenység, pedig találhatunk rájuk példákat az állatvilágban is. Ám, az absztrakciót feltételező táblajátékra csak a gondolkodó ember képes. Ha létezik a világon emberen kívüli intelligencia, nagyon valószínű, hogy ő is ismer néhány (talán éppen a mi sakkunkhoz hasonlítható) elmejátékot.

Egy-egy táblajáték lényegét a cél és a lépésszabály kombinációja hordozza, változatossá "fűszerezik" a különböző szerkesztésű játékmezők, az esélyek kiegyenlítését igyekeznek biztosítani a többnyire szimmetrikusan kialakított nyitóállások. Túlzás lenne számtalan különböző táblajáték létéről beszélnünk, de azt bizton állíthatjuk: legyen bármilyen gondos és alapos ezek teljességre törekvő összegyűjtése, elkerülhetetlenek a hiányok... Már csak azért is, mert még napjainkban is születnek újak.

Minél több táblás játékot ismerünk, annál inkább találunk bennük a közös jellemzőket és vesszük észre az apró, de mégis egészen új felé nyitó ötleteket, az egymástól elkülönítő sajátosságokat. Ha kérdéseket fogalmazunk meg, az azokra adott feleletek során kialakul egy rendszerképünk, melybe beilleszthetők lesznek a későbbiek során megismertek is. Felfedezhetjük, hogy a táblás játékok modellvilágában ott tükröződnek évezredes eszméink, napi gondolataink. Küzdelemben megmérettetni, győzelmet és vesztést elviselni, szabályokat alkotni, stb., de legfőképp mindezt, egy soha meg nem valósult örök álom beteljesülésével, az esélyegyenlőség biztosításával...

A táblajátékokat kitaláló emberiség történelmét végigkísérik a háborúk. Bár a küzdelem célja sok féle (politikai-, gazdasági-, stb. konkurencia-harc), a legtöbb táblás játék szakszótára katonai fogalmakat idéz: hadállás, leütés, megölés, bekerítés, áldozat, csel, vezír, tiszt, fogoly, stb. Maga a játék jelzője: a "stratégiai" is hadászati eredetű. A két játékos (mint két "hadvezér") bábukat (mint "katonákat") mozgat egy táblán (mint egy "harcmezőn"). Lásd például legismertebb táblásunkat a sakkot, melyben a bábuk elnevezése is és az egész játék a háború fogalomkörében mozog. (A japán shogi-ban még a tisztek előléptetése is előfordul a partik során.)

A kezdetek egyidősek az emberi értelem ébredésével. Feltehetően a babonás hiedelmekkel, a találós kérdésekkel, az első porba rajzolt "vadászati stratégiával" kezdődött. Tán már ott és akkor, ahol és amikor először karcolta fel egyik ősünk a barlang falára a vadászzsákmánynak kiszemelt állatot és tervezte meg elejtését... "Ha erre kerítjük, akkor arra fog menekülni, tehát ott kell megásnunk a csapdát..." Az ismeretlen káoszban rendszert kutató elme az óta is folytonosan keresi a "ha, akkor" kapcsolatokat. Elemzi az összefüggéseket, kísérletezik, utánoz, működési modellt tervez és szabályokat alkot...

A táblások világában rendszert kereső elemzők szinte mindegyik játékot logikailag "újra kifejleszthetik" a malomból, ha az alapjátékot további szabályokkal próbálják színesíteni. A legegyszerűbb táblákon véget ér a parti az első malomnál, a nagyobbakon pedig, több bábuval, egy-egy partiban többször is lehet malmot alkotni. Ha csupán abban versenyeznének a játékosok, hogy a parti végén, pl. 10-10 db bábu lerakása után kinek lett több malma, többnyire döntetlenül végződne a küzdelem. A döntetlenek száma akkor csökken le, ha a nagyobb táblákon módosítjuk a játék célját: az ellenfél bábuinak leütésével: azaz minden malomalkotásnál levehetünk egyet ellenfelünk bábuiból, egészen addig, hogy már ne tudjon malmot elérni.

A középkorban három együttműködő lovag már ütőképes csapatnak számított: "jobbszárny"-"balszárny"-"derékhad". Ha a malom-táblán mozgatott bábukat magányos harcosoknak tekintjük, akkor egy ilyen létrehozott hármas olyan erős stratégiai egység, mely ellenfeléből "levághat egyet". A hasonlattal értelmezhető még az a szabály is, hogy malomból nem szabad levenni (képes megvédeni magát) és az is, hogy a lépésképtelen "beszorítottak" veszítenek, azaz kénytelenek feladni a küzdelmet. A három bábunál megengedett "ugrálós" játékszakasz meg: mintha a napjainkban "gerilla-harc"-ként ismeretesebb, de a középkorban sem szokatlan harcmodort idézné.

A legtöbb ütéses játék arra épül, hogy ha valamelyik játékosnak elfogynak a bábui, akkor veszít. A kezdeti bábuszámon (a két játékos katonáinak arányán) változtatni a parti során nem túl sokféleképpen lehet: levenni, hozzáadni, minőséget (mozgás-szabadságot) változtatni, vagy a magunkéra cserélni. Ez utóbbi már a legújabb korunk ötlete: "ha a tábornok nem tudja megvédeni katonáját, akkor az egyszerűen átáll az ellenséghez". A kétoldalt kétszínű korongokkal űzött ilyen játékokban (legismertebb a japán othello, bár illik tudni: nem más, mint az európai reversi újrafelfedezése) már nem az ellenfél totális megsemmisítésében versenyeznek, hanem egy "ki nevet a végén" típusú játék szerint, pulzáló helyzetek sorából a parti végére jobban időzítő fogja nyerni a játékot. Ez a taktika persze nem új, megjelenik pl. a sakkjátékosok eszköztárában is (lásd áldozat: azaz átmeneti veszteség felvállalása a későbbi nyereség, vagy a győzelem reményében). Ám a fordítgatósok csak így érdekesek. Aki többségi előnyben van parti közben, az lépésről-lépésre többet is veszíthet. Tehát hol az egyik, hol a másik játékos kerülhet előnybe. Ha nem lenne benne a játékban ez a "pulzálási" lehetőség, akkor a "magunkéra is cserélni" ötlet, a kumulatív hatása eredményeként nagyon gyors partikhoz vezetne. Ha az ütés visszafordíthatatlan előnyt jelent, akkor azt a legkisebb "kvantumban", azaz 1 db bábuban célszerű csak adagolni. Ez a pulzáló-kiegyenlítő hatás napjaink egyik sikerjátékában a pylos-ban is megfigyelhető: Minél kevesebb bábum van a táblán, annál közelebb kerülök a győzelemhez. Ugyanakkor viszont, ha a parti közben több bábum van a táblán, mint ellenfelemnek, akkor könnyebb rákényszeríteni a győzelemhez vezető stratégiámat. (A malomjáték ugrálós szakaszának kiegyenlítő-funkciója itt, külön szabály nélkül, automatikusan a játék lényegéből teljesül.)

Térjünk vissza a malomhoz! Kezdődik a parti. Melyik pontokat célszerű birtokolni? Melyik ponthoz vezet több út, hol lesz a legnagyobb bábunk mozgási lehetősége? Megvizsgálva a különböző malomtáblákat, kézenfekvő megállapításhoz jutunk: páros játék nem lehet érdekes olyan táblákon, melyeken a stratégiailag erős pontok száma páratlan. Elegendő ezekből a "hasznosabb" pontokból többet elfoglalni és máris bebiztosított a győzelem. Ha felváltva rakosgatunk, akkor a játék nélkül is tudjuk, az első lépésre jogosult, így biztos nyerő. (Ha egy harcmezőn található magaslatok, hidak, stb. az un. stratégiailag erős pontok száma páratlan, akkor a különben egyenlő feltételekkel küzdők közül, az előbbiekből többet birtokló fog győztesen kikerülni.) Ez így a kezdőknek is csak addig lesz érdekes, amíg el nem jutnak fentiek átgondolásához.

Jobban "elbújik" a nyerőstratégia azokban a játékokban, melyekben a játékmező valamennyi pontja stratégiailag azonos erősségűnek minősül. Próbálkozzunk meg ilyen malomtáblát tervezni. Egyáltalán, a malmoktól függetlenül, hogyan nézne ki egy ilyen tábla? A próbálkozások során újra és újra a "szélek" problémájába ütközve, hamar észrevesszük: gömbben, vagy szabályos testekben (pl. ikoszaeder - miért is nincs még ilyen táblájú játék?-) kellene gondolkodnunk.

Maradva a síkban, olyan táblát keresve, melyeken minden mezőpont azonos tulajdonságú, végtelen nagy táblához jutunk, mely elvezet a ceruzával jászható amőba felfedezéséhez. A végtelen nagy négyzetes tábla minden pontjának nyolc szomszédja van. Könnyen belátható, ilyen táblán a hármas malmot mindig (három lépésből) nyeri a kezdő játékos. Kézenfekvő ötlet, hogy az ilyen táblákon próbálkozzunk a hármasnál bizonyosan nehezebben elérhető négyes malom kialakításában versenyezni! Ha pedig a malmokat érvényesnek tekintjük az oszlop- és sor- irányon túlmenően átlósan is, akkor már legalább 5 bábuból kell állnia a malomnak ahhoz, hogy ne legyen egészen triviális a nyerőstratégia. Akkor térhetünk vissza a(z átlós irányban is érvényes) négyes malomhoz, ha csökkentjük a mezőpontokhoz tartozó szabadságfokokat. Legkézenfekvőbb megszabadulni a tábla végtelen kiterjedésétől. A körbehatárolt tábla szélső pontjai stratégiai értékelésben gyengébbek lesznek. Ha (pl. a tábla célszerű kialakításával) a játékosok számára megtiltjuk, hogy a játék első lépéseiben a stratégiailag legerősebb pontokon osztozkodjanak, eljutunk pl. a "négy a nyerő" játékhoz, ill. az ötletet tovább fejlesztve: a tőtikékhez...

A lerakosgatós játékoknál maradva. Miben lehetne még versenyezni? Terület körbekerítése, adott pozíció elfoglalása, az ellenfél bábujának bekerítése és...? Ez sem túl nagy a repertoár. Ám a zenében is "csak" hét alaphangra születnek új és újabb dallamok! A lerakosgatás pedig, ha tovább erőszakoljuk a hasonlatot, akkor nem több, mint egyetlen alaphang a táblajátékok eszköztárában. Az adott célért folyó verseny kezdőállásának közös kialakításával (amikor felváltva, egy-egy bábut tesznek táblára a játékosok) szinte mindegyik táblás színesebb lesz. A sakk sem kivétel! A sakk reformútjait keresők között B. Fischer exvilágbajnoknak is van ilyen javaslata. Nem véletlen azonban, hogy az igényesebbnek tűnő táblás játékok szinte mindegyike egy előre felrakott nyitó hadállásból kezdődik. (A kifejezetten "lerakosgatós" GO sem kivétel: abban is ajánlhatók kezdőállások.) Valahol ez is az esélyegyenlőséget célozza. Ha a játék érdekességét, maguk a lépéskombinációk hordozzák, akkor célszerű: a tapasztaltak (vagy a kitaláló, de mindenképp: esélyegyenlőség kritériumára elemző) ajánlását elfogadni a nyitó állásra vonatkozóan. Ha ugyanis két kezdő játékos saját maga próbálkozna az egyenkénti felrakás módszerével, már a lerakások során el is dőlhetne a parti, még az előtt, hogy a játék lényegét, a lépés- és cél-kombinációt működtetnék. Néhány játékban pedig (lásd pl. a halmákat: melyekben adott felrakásból egy másikba kell átcsoportosítani a bábuinkat, vagy pl. a soliterek egyszemélyes feladványait, amikor az adott elrendezésben felrakott bábuk leütési sorrendjét keressük) magát a feladatot hordozza a kezdőállás.

Minden "gondolkodós" táblás játék lényege, hogy a versenyzők azonos nyerési eséllyel kezdhessenek a partinak. A káoszban jobban, vagy gyorsabban eligazodó, a rendszert hamarabb felfedező legyen a győztes. A táblás játékokban a siker élményét pont az adja, hogy ellenfelünknek ugyanakkora esélye lett volna a nyerésre. Ha "csak" azért nyertem, mert pl. eleve több volt a katonám, vagy azért mert már induláskor én birtokoltam a legerősebb stratégiai pontokat, akkor (hacsak nincsen egyéb tétje is a játéknak) nem igazán okoz örömöt a győzelem. Fontos az esélyegyenlőség (legalább vélelmezett) tudata a valódi sikerélményhez. Alapvetőn ez a magyarázata annak is, hogy (leszámítva persze a játék lényegét még nem igazán értő kicsiket) ezekben a játékokban kizárt a csalás, nincs értelme a szabályok megsértésének. Ugyanakkor azonban a szabályok megengedte lehetőségek, netán a nem kellően átgondolt szabályrendszerben bentfelejtett "kiskapuk" megtalálása és kihasználása többnyire nem nélkülözött eszköz a győzelem elérésében. (A jó táblajátékos pl. betartja az adózási szabályokat is, -elfogadja a társadalmi együttélés szabályozásának szükségszerűségét-, ugyanakkor ritkán áll ellent a felfedezett "kiskapuk" kihasználása csábításának.)

Minél inkább megfelel egy táblás játék az esélyegyenlőség igényének, annál inkább lesz belőle sikeres kétszemélyes játék. Ennek persze nem kizárólagos feltétele, hogy a két játékos pl. az azonos számú bábuval rendelkezzen. Sok táblás játékban éppen az a logikai élmény, ha különböző számú és más mozgási szabadsággal rendelkező bábukra sikerül alkotni kvázi esélyegyenlőséget biztosító szabályokat. Ilyen, életszerű helyzetek ismétlődnek több játékunkban is. Gondoljunk pl. a várat ostromlók és az azt védők, vagy a sok "gyenge" az egyetlen "erős" elleni helyzeteket modellezőkre. Egyik legismertebb ilyen játékban, "a róka és libák"-ban az erő: a gyengébbekénél nagyobb mozgásszabadságot jelent. Egy másféle kiegyenlítődési törekvést mutat pl. a pókháló játék, melyben a gyenge legyek és az erős pók mozgási lehetősége azonos, ám az egyetlen pók a stratégiailag legerősebb pontról indul. A modellező szabályalkotó egyensúly biztosítására törekvése egyetlen ilyen ismert játékban sem teljes sikerű. Az előnyöket és hátrányokat változtató fokozatok ugyanis kvantáltak, nem tesznek lehetővé finomszabályozást a modellek korlátai. Ha a matematikai elemzés pl. azt mutatja, hogy egy adott helyzetre 10,23 db bábu lesz egyenértékű 2 db nagyobb mozgásszabadságú bábuval, ez csak százszoros léptékben valósítható meg: (csak egész számokat modellezhetünk bábukkal) 1023 és 200 db bábuval. Ekkor pedig már (attól akár el is tekintve, hogy a modell bonyolultabb lesz, mint a modellezett) változik a táblaméret, megváltozik a sarokpontok, szélsőpontok, középpontok egymáshoz viszonyított aránya, következésképpen megváltoznak az előzőleg pontosan kiszámított esélyek is.

Az egyszerűbb, könnyebben átlátható nyerőstratégiával jellemezhető játékokat a "profik" többnyire feladványként, egy matematikai-logikai megoldandó problémának tekintik. A szabályok megengedte előnyszerzés módját keresik, a lehetséges lépéseket és válaszokat elemezve felállítják azt az algoritmust, melyet követve mindig és biztosan nyer vagy a kezdő, vagy a másodiknak lépő. Ha ezt a "nyerőstratégiát" megtalálták, azt követően a játék érdektelen lesz számukra. Ám sokan vagyunk, akik a megoldás megtalálásáig nem nyughatunk. (Emlékezzünk E. Hillary válaszára, "miért is mászott fel Himalájára", "mert ott van". Így vagyunk néhányan ezekkel a játékokkal is...)

Az olyan táblás játék, melyben nincs szerepe a szerencsének és a fizikai erőnlétnek, valójában nem más, mint egymást követő logikai feladványok sorozata, hiszen lépésől-lépésre minden hadállásból a győzelemhez közelebb vivő lépést keressük. Mindegyik lépésünk előtt adottak a peremfeltételek és az elérendő cél ismeretében kell kitalálni a megoldást. Mintha csak egy sokváltozós matematikai-logikai egyenletrendszer egyik ismeretlenjét kellene kiszámolni. Ha megtaláltuk a megoldást, akkor már azt is tudjuk, mi lesz ellenfelünk következő lépése (mármint akkor, ha nem hibázik). Ha azonban ellenfelünk nem a számára legkedvezőbbet lépi, akkor többnyire kevesebb lépésszámban is nyerhetünk, vagy hosszabbra nyújthatjuk védekezésünket, tehát: egy újabb feladványt kell megoldanunk. Feltételezve, hogy a legkedvezőbb lépés kiválasztására kidolgozott algoritmusunk különböző peremfeltételekre alkalmazható, igencsak kézenfekvő, ha (az adott játék bonyolultságától függően hosszadalmas) számítási munkát már egy gépre bízzuk. Annak pedig - a nyerőalgoritmus ismeretében- igazán nincsen különösebb akadálya, hogy a gép első számítási feladata a nyitóállásban meghúzandó legkedvezőbb lépés kiválasztása legyen, majd ellenfelünk inputként megadott lépéseire újra és újra válaszoljon.

Csábító a kihívás! Mintha értelmet adnánk a gépnek, ha csupán az adott játékra korlátozottan is. Akár értelmesen beszéltethetjük is: "most rosszat léptél", "jobb lett volna a ..." , vagy "gratulálok ez jó húzás volt", vagy "már csak két lépésed van", stb. Mindehhez "csak" annak a fenti gondolatjeles feltételnek kell teljesülnie, hogy általánosságban sikerült megoldanunk a játék hordozta feladványt és kidolgoztuk a hibátlan nyerőalgoritmust. Ez azonban ritkán és csak a keveseknek sikerül. Programozói szaktudással, gyakorlattal csodás grafikában megjeleníthetjük a táblát a képernyőn, megtaníthatjuk a játékszabályokat, bekérhetjük a lépéskódokat, animálva mozgathatjuk a bábukat, stb.- Mindez megtanulható, kész minta-progikból elleshető. De a progi "lelkét", a nyerő-algoritmust "nulláról" kell felépítenünk: az ötlettől a kivitelezésig.

Elméletileg egy-egy stratégiai játék nyerőlépéseinek sorrendje kiolvasható egy minden lehetséges partit (felülről-lefelé lépésenként szélesedő, un.) fa-sémába rendező ábrából. Ebben: lentről felfelé haladva, minden második "emeleten" (saját lépéseinknél) kihúzzuk azokat az ágakat, melyek alsó elágazásaiban vesztő végződést is találunk... Gyakorlatban, ha csupán három lépéspáros partikat vizsgálunk és lépésről lépésre csupán három választási alternatíva között kell dönteni, már akkor is 729 végkifejletet kellene a fenti módon megvizsgálni. Ez még nem tűnik túl nagy gondnak egy mai számítógép számára, (ámbár, a progit elkészíteni hozzá, igényel némi koncentrációt), de ha növekszik a lépésszám és az alternatívák számossága, akkor hardverben is/szoftverben is kezelhetetlen csillagászati számokhoz jutunk. Más, az adott játék működéselemzésén alapuló megoldást kell találnunk a feladványra! Kvázi a fenti 729 végkifejletet jelentő bonyolultsági fokot hordozza pl.: több, un. NIM típusú játék. Emlékeztetőül: a német "elvenni" igéből kapták nevüket, mert első változataikban néhány halmazból, meghatározott szabályt betartva, váltakozva vettek el elemeket a játékosok, abban versenyezve, kié lesz az utolsó elvételi lehetőség. Ezen játékok mindegyikében felismerhető valamilyen egyszerű "komplementer"-szabály (az ellenfél által elvett elemek számát vagy adott összegre, vagy valamilyen szimmetriára, vagy stb-re kiegészítő lépés-meghatározás), amelyet követve, biztosan nyer (többnyire) a másodiknak lépő játékos. Nem elegánsabb-e, mint az összes lehetséges elágazás kibogózása?

A legkedvezőbb lépések kiválasztására talált ötlet, melyre az algoritmus felépíthető játékonként más és más. Vannak persze részmegoldások, általános "mankók": stratégiailag előnyösebb pontok elfoglalása, ütés-lehetőségek optimalizálása, a saját bábuk relatív mozgásterének maximalizálása stb., de egy jól játszó algoritmust többnyire csak az adott játékot jól is játszóknak sikerül alkotniuk. A táblás-progi, noha játék, nem "iparos" munka. Több kell hozzá. Ez lehet annak a magyarázata, hogy a Hálón tán ha tucatnyi féle stratégiai táblás játékot találunk, melyek ellenlépésre is képesek. Ám ezekből igencsak sokat, több változatban is, hiszen a feladat csábító. Pl.: Egyfajta általános "erőpróbálgatás" eredményeként több ezrével léteznek amőbaprogik. Szinte mindegyik játékos kedvű kezdő programozó készít egyet. De, ha pl. egy jól játszó malom-progit akarunk begyűjteni, akkor már igencsak használni kell a keresőket. Nem tűnik alaptalannak az a várakozás, hogy az On-line játszószobák elterjedése új fellendülést hozhat a táblásokban is. A tétre folyó küzdelmekben már most is programok versenye folyik. (Legalábbis nem lehet megtiltani. Hiszen nincs akadálya annak, hogy "két ablakot nyitva": egyikben a progink fusson, a másikban távoli partnerünkkel játsszunk.) A téma, a kihívás adott. Lesznek akik megoldják! ("Mert ott van.")

Közel félszáz év kellett ahhoz, hogy kialakuljon a stratégiai táblás progiknak egy általános igényű szolgáltatásmenüje. Kétszemélyes opcióban a "gép" versenybíró, a szabályok betartásának ellenőre, a parti lépéseinek leírója, a parti archiválója, az archívum kezelője. A "gép elleni" opcióban pedig részben tanítómester (azaz felkínálja a lépéslehetőségeket, visszaléptetve megmutatja a legelőnyösebb lépést), részben játékerő-fokozatban szabályozható tudású "játszótárs" (ámbár csokit, vagy konyakot soha sem fizet egy vesztett parti után és felbosszantani sem igen hagyja magát). Az utóbbi évek táblás programjaiból már nem hiányoznak ezek a szolgáltatások, ám játékerőben még van mit fejlődniük...

Most, hogy a "számítógép elérte" első győzelmeit a világbajnokkal szemben, felsejlik: közel az idő világos biztosan nyerő stratégiájának megtalálásához még a sakkban is. Ez a "feladvány" mintegy 1500 éve vár már a megoldására. Nem elképzelhetetlen, hogy a jövőben két "szupersakkozó" számítógép küzdelmét 100 % biztonsággal, rendre a nyitólépő, a világossal játszó fogja nyerni. Tán az sem elképzelhetetlen, hogy egy optimális elemzés eredményeként megszületik majd egy lépés-sorrend, mely világos és sötét számára a legjobbakat tartalmazva, két szuper sakkjátékos között partiról-partira megismétlődik? Ha hardverben-szoftverben elértük ezt a szintet, akkor lehet ugyan még némileg nehezíteni a feltételeket: pl. korlátozott "gondolkodási" időre játszott partikkal, de a verseny, a kihívás ekkor már kevésbé lesz érdekes. Mármint a számítógépeknek! Az emberi elme ugyanis tud valami olyant, melyre az általa alkotott gép soha nem lesz képes: megérzésre, intuitív döntésekre. Vannak, akik képesek, megmagyarázhatatlan módon, -szerteágazóan komplex ismeretekre alapozott, ámde a részletek végiggondolása nélkül- csupán "ráérzéssel" is, jó döntésekre. Egy-egy nem döntetlenre végződő táblajátékos küzdelem pedig (legyen a győzelem eszköze akár a nyerőstratégia ismerete, akár a megérzés) mindig korrekt megmérettetés, hiszen eredménye egyes-egyedül csak a játékos teljesítményétől függ. A győzelem és a teljesítmény tudata pedig valódi sikerélményt ad. Emlékezzünk Madách optimizmusára: "az élet célja a küzdés maga", nagyon igaz ezekre a játékokra is.

(ÚJ ALAPLAP, 2000. Nagylaci)