Ez amolyan kedvcsináló-ismeret(t)erjesztő bejegyzés lesz. Van ez a go nevű, kínai eredetű táblás játék (egyéb ismert nevei: 碁, 圍棋, esetleg 바둑), amire iszonyat módon rákattantam pár hónapja, és azóta is majdnem minden este játszom két-három partit a számítógép ellen, igaz, egyelőre csak 13x13-as táblán (mert ott hamarabb vége van egy menetnek). Gondoltam, írok róla egy kicsit, hátha másnak is megjön a kedve hozzá.
Maga a játék olyan tökegyszerű, hogy eleinte nem is értettem, miért tartják olyannyira összetettnek - sokkal összetettebbnek, mint a sakk. A játék bonyolultságáról azonban sokat elárul, hogy míg a Deep Fritz nevű sakkprogram vígan verte 4-2-re Vlagyimir Kramnyikot, addig ma a világ legjobb go-programjai is csak egy erős közepes amatőr szintet képesek elérni - és mindezt a bonyolultságot néhány igen egyszerű szabály segítségével produkálja, ellentétben a sakk komplikált szabályrendszerével.
A játék egy 19x19-es táblán játszódik (de kezdők gyakran játszanak 13x13-as vagy 9x9-es táblán, ezt eleinte könnyebb átlátni). Két játékos van, az egyik fekete köveket pakol a táblára, a másik fehéreket, értelemszerűen felváltva. (Különlegesség, hogy a köveket a rácsvonalak metszéspontjaiba rakják, nem pedig magukba a négyzetekbe). Az egymás mellé pakolt kövek kőcsoportokat alkotnak, itt a szomszédság négy irányba értelmezett, tehát az átlós érintkezés
nem számít érintkezésnek, csak a vízszintes és a függőleges irányok. Minden kőcsoportnak annyi élete
van, ahány üres rácsponttal szomszédos. Ha az egyik játékosnak sikerül a saját köveivel körbekeríteni a másik játékos egy kövét vagy kőcsoportját úgy, hogy annak nem marad élete, akkor a körbekerített köveket le kell venni a tábláról (és a végelszámolásban az elfogó játékos számára kövenként 1 pontot érnek). Ennyi az egész, leszámítva még néhány mellékes
szabályt (pl hogy nem lehet öngyilkos lépést tenni, tehát olyat, amelynél a lehelyezett kő egy saját kőcsoport életeinek számát nullára csökkenti - kivéve, ha egy ellenséges csoportot is megöl, ekkor ugyanis az ellenfél alakzatát kell levenni a tábláról). A játékosok lépés helyett passzolhatnak is, a játék pedig akkor ér véget, ha mindkét játékos passzol. A játékosok pontszáma az elfogott kövek számának és a körbekerített rácspontok számának összegéből adódik, ehhez a fehér játékos még általában kap 5,5 pontot, egyrészt azért, hogy a döntetlent kizárják, másrészt azért, mert ez ellensúlyozza azt az előnyt, amit a fekete játékos kap azáltal, hogy kezdhet. A körbekerített
területeket illetően a játékosoknak általában meg kell egyezniük, hogy mit tekintenek annak és mit nem. A szabályok szerint az tekinthető lekerített területnek, amelynek a belsejében az ellenfél nem tud úgy játszani, hogy a köveit ne tudják leszedni, de a gyakorlott játékosok egy táblaállásról többnyire ránézésre
megmondják, hogy mi tekinthető lekerített területnek és melyek azok a helyek, ahol az ellenfél meg tudna élni. Ha mégis vita lenne, a konfliktust roppant egyszerű feloldani: egyszerűen tovább kell játszani a játékot, amíg a vitatott terület állapota egyértelműen el nem dől.
Egyébként elég magától értetődő oka van annak, hogy a sakkprogramokkal ellentétben a go-programok miért nem tudják legyőzni az emberi mestereket. A legtöbb sakkprogram (beleértve a Kaszparovot legyőző Deep Blue-t és a Kramnyikot legyőző Deep Fritz-et is) igazából nem gondolkodik
, hanem kis túlzással egy egyszerű nyers erő
(brute force) keresést hajt végre az aktuális táblaállástól előrefelé, kipróbálva az összes lehetséges értelmes lépést és ügyesen kizárva azokat az ágakat, ahol nagy valószínűséggel nem terem számukra babér. Ezt a sakknál azért lehet megcsinálni, mert egy átlagos sakkállásban körülbelül 20-féle szabályos lépés van, tehát egy lépés mélységig 20 állást kell kiértékelni, két lépés mélységig 20 * 20 = 400-at, három lépés mélységig 8 000-t, négy lépésig 160 000-t, és így tovább... A mai számítási kapacitások mellett nem kunszt megfelelő vágási stratégiákkal 13-15 szint mélységig előre keresni és a legoptimálisabbnak tűnő lépést kiválasztani. A go-ban ugyanakkor a tábla 19x19 = 361 mezőből áll, és (főleg a játék elején) ezeknek a lépéseknek kb a háromnegyede akár értelmes is lehet (de mindenképpen szabályos, tehát meg kell vizsgálni, hogy szükség esetén kizárhassuk!). Ez azt jelenti, hogy két lépéssel előre gondolkozáshoz már 72 900 táblaállást meg kell nézni, három lépéshez 19 683 000-t, és így tovább... a dolog hamar kezelhetetlenné válik, hacsak a nyers erő módszere mellett más módszereket be nem vetünk (amikről most nem fogok írni, mert ez nem Mesterséges intelligencia előadás).
Ha valaki ez alapján a rövid ismertető alapján kedvet kapott a játékhoz, a következő weboldalakon mélyedhet bele a játékba kicsit jobban:
- Az interaktív út a go-hoz - egy angol nyelvű go-tanító weboldal magyar fordítása, kezdőknek szerintem kötelező darab, nagyon jól elmagyarázza a játék alapvető elemeit, és mivel maga a weboldal Java appletekkel tarkított, szinte minden technikát, lépést azonnal ki lehet próbálni.
- Igowin - egy egyszerű windowsos program, amellyel 9x9-es táblán lehet go-t játszani. Mindemellett figyeli, hogy milyen szinten játszol, és igyekszik a játékot kiegyenlítetté tenni úgy, hogy kezdetben néhány előnykövet ad, amellyel könnyebben tudsz területet lekeríteni magadnak. (Ez egyébként általánosságban is bevett módja a játék kiegyenlítetté tételének, tehát ha egy netes go-szerveren emberi ellenfél ellen játszol, akkor is lehet előnykövekben egyezkedni, hogy a gyengébb játékosnak is legyen esélye nyerni az erősebb ellen).
- Gowiki - magyar nyelvű go wiki oldal
- Sensei's Library - angol nyelvű wiki a Gowiki stílusában, csak sokkal több anyaggal, amelyek nem csak a kezdők számára lehetnek hasznosak
- Go Problems - itt a rejtvényújságok sakkfeladványaihoz hasonló stílusú feladványokat lehet találni minden szinthez. A legtöbb ilyen feladvány gyakran előforduló játékhelyzeteket, élet-halál problémákat tárgyal, de még akkor is érdekesek lehetnek, ha az ember nem játszik versenyszerűen.
- És végül az Igazi: Kiseido Go Server - az egyik legnagyobb go szerver, ahol emberi játékosokkal mérhetjük össze az erőnket. A szerver saját ranking system-et is megvalósít, amely a go-játékosok között szokásos konvenciókat követi (a kezdő játékos 30 kyu-ról indul, és innen fejlődik fel fokozatosan 1 kyu-ig, utána átfordul 1 dan-ba és innen fejlődhet tovább a maximális 10 dan-ig). A szerver rögzíti az összes játékot, amelyet regisztrált játékos ellen játszol a szabványos 19x19-es táblán, és ezekből számolja ki a saját
rangodat
. A rangok publikusak és minden szobában láthatóak a szobában bent lévő játékosok nevei mellett, így mindenki megtalálhatja a neki megfelelő szintű ellenfelet. Van magyar szoba is
...és ha valaki ez alapján kedvet kapott a játékhoz és szívesen játszana ellenem, szóljon és összeszervezünk valamit a KGS-en (Kezdő vagyok én is, szóval nem kell félni).