Az S. 163. feladat (2022. szeptember) |
S. 163. Manapság több olyan sakkmotor (sakkozó robot) létezik, mely képes a legjobb sakknagymestereket is legyőzni. A probléma nehézségét szeretnénk illusztrálni ezzel a feladattal, melyben jelentősen könnyítünk a feltételeken.
Adott egy hagyományos sakktábla, melyen egy világos gyalog és a két király található. Az esetek nagyjából 2/3-ában világos mattot tud adni a sötét királynak, a figurák elhelyezkedésétől függően azonban a kimenetel döntetlen is lehet (sötét nem nyerhet). Készítsünk számítógépes programot, amely megadja, hogy mi lesz a játék kimenetele egy ilyen állás esetén.
Bemenet: a bemenet első és egyetlen sora egy sakkállást tartalmaz a Forsyth–Edwards jelölés (FEN) szerint. Ez egy standard sakkállások jelölésére. Figyelem! A standard azt is megadja, hogy melyik játékosnak kell lépni. Ez befolyásolhatja a kimenetet. Feltételezhetjük, hogy az 50 lépés számlálója nulláról indul, így a lépésszám miatt nem lesz döntetlen az eredmény, ha világos nyerni tud.
Kimenet: a kimenet első és egyetlen sorába a W karaktert kell írni, ha világos nyerhet, és a B karaktert, ha sötét kikényszerítheti a döntetlent (mindkét fél optimálisan játszik).
Példa:
Bemenet | Kimenet |
---|---|
7k/4PK2/8/8/8/8/8/8 b - - 0 0 | W |
Magyarázat: ebben az állásban sötét lép, majd fehér három lépésben mattot ad.
Időkorlát: 1 mp.
Értékelés: A pontok 50%-a kapható, ha a program helyes eredményt ad olyan bemenetre, amikor a gyalog a 7. sorban van.
Segítség: játékállásokat kipróbálhatunk és tesztelhetünk például a https://www.chess.com/analysis és a https://syzygy-tables.info/ oldalakon.
Beküldendő egy s163.zip tömörített állományban a megfelelően dokumentált és kommentezett forrásprogram, amely tartalmazza a megoldás lépéseit, valamint megadja, hogy a program melyik fejlesztői környezetben futtatható. A dokumentáció tartalmazza a megoldás elméleti hátterét, az esetleg felhasznált forrásokat. Ne tartalmazzon kódrészleteket, azok magyarázata kódkommentek formájában a forrásprogramban szerepeljen.
(10 pont)
A beküldési határidő 2022. október 17-én LEJÁRT.
Statisztika:
1 dolgozat érkezett. 5 pontot kapott: 1 versenyző.
A KöMaL 2022. szeptemberi informatika feladatai