Miért népszerű a logikai játékok közt az Aknakereső

ahr0chm6ly9sadquz2dwahquy29tl09qovpzuzbsulj0ndhwc09cdm9knudpzwuyndzjyllsrmdhc0tzmnm0sznyzgn5d0xrbjfeduz4belirgtlzmzydtg9ady0ma.jpg
Az aknakereső egy népszerű egyszemélyes játék, melyet jól ismernek a logikai játékok között, amely szinte minden mai személyi számítógépen megtalálható. A játék első változatai a 80-as évek elején jelentek meg, ma ismert formájában 1990-ben, a Microsoft Windows Entertainment Pack nevű játékgyűjteményének részeként látott napvilágot. A játék (a paszinásszal egyetemben) a Windows 3.1 kiadása óta része az operációs rendszernek, így felhasználók milliói játsszák rendszeresen. A legtöbb számítógépes játékkal ellentétben az aknakereső során a játékosnak sokkal inkább az eszére, semmint ügyességére kell hagyatkoznia. A játék elé egyszerű ahhoz, hogy könnyedén meg lehessen érteni a szabályokat, ugyanakkor elég komplex ahhoz, hogy ne váljon gyorsan unalmassá. A játék még egy számítógép számára is kellően bonyolult, jelenleg nem ismert hatékony algoritmus, amely képes lenne hibátlanul megoldani minden aknakereső-táblát.

A játék szabályai
A játékot (alapvetően) egy személy játssza egy téglalap alakú, cellákra osztott pályán. A játék elején a számítógép előre megadott számú aknát helyez el véletlenszerűen kiválasztott cellákban, a játékos elől elrejtve. A játékos ezután bármelyik cellára rákattinthat. Ha a kiválasztott cellán akna van, a játékos vesztett, ellenkező esetben a gép ráírja a cellára, hogy a vele közvetlenül szomszédos 8 cella közül pontosan hányon van akna. A játékos a kapott információk alapján ismét kattint, és ez így megy addig, amíg egyszer vagy aknára nem kattint, vagy fel nem fedi az összes aknamentes mezőt.

A játéknak van egy kétszemélyes változata is, amely leginkább az MSN Messenger szoftverbe épített kliens által ismert. Ebben a változatban ellentétes a cél: a játékosoknak az aknamentes mezők helyett az aknákra kell kattintaniuk. Ha valaki eltalál egyet, újra ő jön; ha nem aknára kattint, a másik játékos használhatja fel a kattintás során szerzett új információkat az aknák keresésére. A két játékmód között alapvető különbségek vannak - míg egyjátékos módban csak arra kell ügyelnünk, hogy nem biztos kattintás esetén minél nagyobb valószínűséggel kattintsunk aknamentes mezőre, két játékos esetén azt is figyelembe kell vennünk, hogy minél kevesebb információt szolgáltassunk a másikjátékosnak.

A felmerülő kérdések
Ha matematikai szempontból vizsgáljuk a játékot, az alábbi kérdések merülhetnek fel egy adott játékállapottal kapcsolatban:
Konzisztens-e ez az állapot, azaz van-e olyan aknaelrendezés, ami nem mond ellent a már ismert adatoknak?
Mely mezők azok, amelyeken biztosan van akna?
Mely mezők azok, amelyeken biztosan nincs akna?
Az előző két kategória egyikébe sem tartozó mezők mekkora valószínűséggel tartalmaznak aknát, ha minden lehetséges aknaelrendezést azonos valószínűségűnek tekintünk?

Szóhasználat
Biztonságos mező: olyan mező, amiről biztosan tudjuk, hogy nincs rajta akna megjelölt mező: olyan mező, amelyről biztosan tudjuk, hogy van rajta akna
Mező aknaszáma: egy mező aknaszáma azt fejezik ki, hogy hány vele szomszédos mezőn van
akna
Felfedett mező: olyan (biztonságos) mező, amelynek ismerjük az aknaszámát
Üres mező: nem biztonságos és nem megjelölt mező
Telített mező: olyan mező, aminek aknaszámával megegyező számú megjelölt szomszédja van

Kézi megoldás mintaillesztéssel
A játék által felvetett problémák még egy számítógép számára is meglehetősen bonyolultak. Van azonban pár stratégia, amelyek alkalmazásával emberi játékosok is meg tudnak oldani különböző állásokat. Az egyik legegyszerűbb ilyen a "fennmaradó helyek" stratégiája: ha egy mezőnek pontosan annyi üres szomszédja van, mint amekkora az aknaszámának és a vele szomszédos megjelölt mezők számának különbsége, akkor az összes fel nem fedett szomszédján akna van, így azok megjelölt mezőkké válnak.

Hasonlóan egyszerű stratégia az, hogy egy telített mező összes üres szomszédja biztonságossá tehető (és felfedhető), mert a telített mezőnek már az összes szomszédos aknáját felderítettük. A harmadik, legegyszerűbb stratégia az, hogy egy 0 aknaszámú mező minden szomszédja biztonságos, így felfedhetjük őket. (Ezt a stratégiát a játék tipikus implementációi automatikusan megvalósítják, ezért lehetséges az, hogy egyetlen kattintással több mezőt is felfedjünk egyszerre.)


Az aknakereső, mint kényszerkielégítési probléma
Az aknakereső játék megoldása (azaz annak eldöntése, melyik mezőkön van biztosan akna, és melyikeken nincs biztosan) modellezhető kényszerkielégítési problémaként (CSP, constraint satisfaction problem). Az ilyen problémák leírása során megadunk néhány változót, azok értékkészletét (lehetséges értékeit), valamint a változókra vonatkozó kényszereket.

Jól bevált logikai játékok

Ma már nagy a piaca logikai játékok különböző típusainak, melyek közül bárki nyugodtan válogathat gyermeke korától és ízlésétől függően. Azonban a régebbi logikai játékok némelyike még ma is igen népszerű. Ilyen a fent említett Aknakereső. Igaz, gyermekkorunkban nem úgy gondoltunk rá, mint a logikai játékok közül egyre, hanem mint egy megoldhatatlannak tűnő pörgős ötperces, de népszerűsége még ma is megkérdőjelezhetetlen. Érdemes azonban megismerkednünk a legújabb logikai játékok felhozatalával is.

Forrás: Peregi Tamás: Aknakereső játék logikai modellezése