Kunstmatige intelligentie
Programmeeropgave 3 van 2014 — Tablut

Extra vragensessie: donderdag 10 april 2014, 13:00-15:00 uur, in computerzalen.

De derde programmeeropgave behorende bij het vak Kunstmatige intelligentie gaat over het spel Tablut. Hierin strijden twee legers tegen elkaar op een rechthoekig 9×9 bord. Het witte leger probeert zijn koning te laten ontsnappen door hem naar de rand van het bord te bewegen. Het zwarte leger probeert de witte koning te slaan. Alle stukken bewegen zoals de toren in schaken. Het slaan van stukken gaat volgens het zogenaamde custodial capture principe. Kijk ook hier (versie 10 februari 2014) voor een uitgebreide beschrijving van de spelregels. En voor de presentatie van 1 april 2014: zie hier.

tablut

Het is de bedoeling een zoekalgoritme te schrijven dat, gegeven een spelconfiguratie, een zo goed mogelijke zet vindt. We gebruiken hiervoor twee varianten van het minimax algoritme: negamax en alpha-beta pruning binnen iterative deepening.
Gebruik het Tablut framework (versie 12feb2014) van de website. Binnen het framework moeten tenminste drie functies worden geschreven:

De eerder genoemde functies mogen eventueel ook worden aangevuld met meer geavanceerde technieken of heuristieken zoals: quiescence search, null-move pruning, transposition tables, etc. Ook stellen we interessante evaluatiefuncties op prijs (let op de executiesnelheid).

Met het referee programma kunnen twee programma's tegen elkaar spelen. Om tussentijds een idee te krijgen hoe goed je programma is, kan je (vanaf een NUWD computer) in de map /vol/share/groups/liacs/scratch/ki2014/ executables plaatsen en dus jouw programma tegen een programma van een collega te laten spelen.
Na de deadline zal er een competitie worden gehouden tussen alle ingeleverde programma's.

Het is ook mogelijk je eigen programma tegen Sigtyr (van de website) te laten spelen (vanaf een NUWD computer). Bijvoorbeeld: ./referee -w '/vol/share/groups/liacs/scratch/ki2014/sigtyr -d 11 -t 5000' -b './tablut -d 7 -t 5000'

Deadline: dinsdag 22 april 2014
In te leveren: een geprint exemplaar van het verslag tijdens het college, en de C++-code van het programma naar onderstaand adres. Het verslag moet aan verschillende eisen voldoen.


Vragen en/of opmerkingen kunnen worden gestuurd naar: kosters@liacs.nl.

12 februari 2014 — http://www.liacs.nl/home/kosters/AI/tablut2014.html