Kunstmatige intelligentie
Programmeeropgave 1 van 2011 — Schaken
De eerste programmeeropgave (in het voorjaar van 2011) 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.
Let op: nieuwe versie op 15 februari 2011;
er zat namelijk een fout in de functie check.
Maak nu een drietal AI-spelers:
- EEN: speelt volledig random, zie code.
- TWEE: bedenk zelf een (eenvoudige) strategie.
Vul daartoe code aan met
een geschikte functie.
Een idee is bijvoorbeeld het volgende.
Loop alle mogelijkheden af, speel per mogelijkheid in een kopie
van het bord de betreffende zet (via Board kopie = *this;),
beoordeel de zet,
en selecteer de "beste" zet.
Denk niet verder vooruit.
Wat is de grootte van de rechthoek waarin de zwarte koning kan bewegen?
Staat de zwarte koning aan de rand?
Hoe dicht staan de witte stukken bij elkaar?
Hoe dicht staan de witte en zwarte stukken bij elkaar?
- DRIE: idem, maar met een andere strategie.
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 eenvoudige heuristieken
te verzinnen en daarover een verslag te schrijven.
Laat dus de drie spelers spelen, en rapporteer de bevindingen
(gemiddeldes, standaard-deviaties, grafieken).
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!
Deadline: dinsdag 1 maart 2011.
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.
31 januari 2011 — http://www.liacs.nl/home/kosters/AI/schaak.html