© Harry Broeders.
Kies
één van de onderstaande opdrachten
of bedenk zelf een opdracht in overleg met de docent. Deze eindopdracht
is je afsluitende toets voor de cursus ALDAT. Deze opdracht wordt ook beoordeeld
op originaliteit.
Je moet het volgende opleveren:
Je moet dit uiterlijk op de vrijdag van de eerste toetsweek inleveren. Je krijgt dan voor de herkansingsweek het resultaat te horen. Als je niet tevreden bent met het resultaat kun je op de vrijdag van de herkansingsweek een verbeterde versie inleveren. Natuurlijk is het, net zo als bij schriftelijke toetsen, mogelijk om alleen met de herkansing mee te doen. In dat geval lever je het werk op de vrijdag van de herkansingsweek in.
Alle opdrachten gaan over het uitbreiden of aanpassen van het in les 5 besproken Tic-Tac-Toe programma uit hoofdstuk 8.7 en 11.2 van het boek van Weiss. Je kunt de door mij aangepaste versies als uitgangspunt gebruiken:
Matrix
:
Matrix.h
Opdracht 5a. Verbeteren van het TTT algoritme.Bij deze opgave kun je jezelf verder verdiepen in het toegepaste algoritme en de gebruikte datastructuren. Het toegepaste minimax algoritme met alpha-beta pruning en transposition table kan nog verder worden verbeterd:
Pas het algoritme zo aan dat de computer de kortste weg naar de winst neemt, met meer variatie speelt en verdraaiingen en spiegelingen herkent. |
Opdracht 5b. 5x5 TTT.Bij het Tic-Tac-Toe spel is het mogelijk om een stelling helemaal door te rekenen. Bij veel andere spellen is dat niet mogelijk. Lees paragraaf 11.2.3 over schaakprogramma's. Schrijf een uitgebreide versie van Tic-Tac-Toe dat op een bord van 5x5 wordt gespeeld en waarbij de eerste speler met 4 aansluitende kruisjes of rondjes wint. Beantwoord voor je gaat beginnen de volgende vragen:
|
|
Opdracht 5d. Mega TTT.Ontwerp een mega versie van het spel boter, kaas en eieren. In deze mega versie bestaat het speelbord uit 9 spelletjes die tegelijkertijd gespeeld worden. Elk spelletje bestaat uit 9 vakjes waarin boter, kaas en eieren gespeeld kan worden. Als in een spelletje de kruisjes winnen wordt dit hele spelletje een kruis. Als in een spelletje de rondjes winnen wordt dit hele spelletje een rondje. Als een spelletje helemaal gevuld is zonder dat er drie kruisjes of rondjes op een rij staan wint degene die de meeste symbolen in dit spelletje heeft staan. Het speelveld bestaande uit de 9 spelletjes wordt op deze manier zelf ook weer een boter kaas en eieren spelletje. Zodra één van de twee spelers drie spelletjes op een rij wint, wint hij of zij het totale spel. Ontwerp het spel zodanig dat het door één persoon tegen de computer gespeeld kan worden. |
Opdracht 5e. TTT for kids.Het is voor kinderen helemaal niet leuk/motiverend om met het bovenstaande TTT programma te spelen omdat ze nooit kunnen winnen. Pas het programma zo aan dat de stand over meerdere spelletjes ook wordt bijgehouden en dat zodra de computer een voorsprong heeft (of misschien zelfs ook bij een gelijke stand of een kleine achterstand) de gebruiker ook een kans krijgt om te winnen. Het zou mooi zijn als de gebruiker meer kansen krijgt om te winnen (in één spel) als zijn achterstand (over meerdere spelen) groter is. |