Kunstmatige intelligentie
Programmeeropgave 1 van 2013 — Schaken

Schaak De eerste programmeeropgave (in het voorjaar van 2013) behorende bij het vak Kunstmatige intelligentie gaat over het spel schaken. Het is de bedoeling een eenvoudig programma te schrijven dat een klein gedeelte van dit spel zo goed mogelijk speelt. We bekijken alleen de situatie waarbij een witte dame (WQ) en witte koning (WK) proberen een eenzame zwarte koning (BK) mat te zetten.

Gebruik het C++-voorbeeldprogramma van de website.

Maak nu een drietal AI-spelers voor wit:

Probeer dit zo simpel mogelijk te programmeren. Er zijn eenvoudige systemen om de zwarte koning mat te zetten, maar de bedoeling van deze opgave is om zelf heuristieken te verzinnen en daarover een verslag te schrijven. Noem in het verslag ook andere aanpakken, bijvoorbeeld de eindspel-database, met referenties.
Laat dus de drie spelers spelen, en rapporteer de bevindingen (gemiddeldes, standaard-deviaties, grafieken). De zwarte speler speelt altijd random. Kortom: maak diverse simulaties; varieer onder meer de grootte van het bord. Er mag vrijelijk —met bronvermelding— gebruik gemaakt worden van de voorbeeld-code.
Er wordt niet gevraagd om een programma dat aan alle software engineering standaards voldoet. Houd het programma dus eenvoudig — maar wel netjes!

Tip voor gnuplot: maak een plot-file plot.gpi met daarin bijvoorbeeld
     # plot-file voor gnuplot
     set xrange [0:10]
     set yrange [17:42]
     set xlabel "iets"
     set ylabel "iets anders"
     set terminal postscript eps enhanced color
     set output "file.eps"
     plot "mijnfile.txt" using 1:2 with lines notitle
en roep deze binnen gnuplot aan met load "plot.gpi".
Op internet staat alles en meer over gnuplot, bijvoorbeeld hier of [wie heeft deze geweldige site weggehaald?] daar (Wayback machine).

Deadline: dinsdag 26 februari 2013; Den Haag: woensdag 20 maart 2013.
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.

7 januari 2013 — http://www.liacs.nl/home/kosters/AI/schaak2013.html