Kunstmatige intelligentie
Programmeeropgave 1 van 2010 — Tetris

Tetris De eerste programmeeropgave (in het voorjaar van 2010) behorende bij het vak Kunstmatige intelligentie gaat over het eenpersoons spel Tetris. Het is de bedoeling een eenvoudig programma te schrijven dat dit spel speelt, waarbij een Monte Carlo methode wordt gebruikt. Voor meer informatie over Tetris: hier, daar (in PDF) en Tetris (wiki).

Gebruik het C++-voorbeeldprogramma van de website. Dit genereert random Tetris-stukken, die naar beneden vallen. Geheel gevulde regels verdwijnen. Je algoritme moet het zolang mogelijk hier tegen volhouden — als er (gedeeltes van) stukken boven de rand van de "put" uitsteken stopt het proces. Het enige wat het programma moet doen is het kiezen van 1. de oriëntatie van het huidige stuk en 2. de kolommen waarin het stuk valt (positie). Er mag — in tegenstelling tot bij het "echte" spel — daarna niet meer geroteerd of geschoven worden. Eventueel mag je informatie over het volgende stuk gebruiken — pas hiertoe het programma zelf aan.

Gebruik nu een drietal AI-componenten:

Laat deze spelers spelen, en rapporteer de bevindingen. 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 23 februari 2010.
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.

29 januari 2010 — http://www.liacs.nl/home/kosters/AI/teet2010.html