Othello Inleiding Computationele Intelligentie Chris Blom Martijn van den Heuvel
Implementatie Object-geörienteerd, (nog) geen optimalisaties, te langzaam bij zoekdieptes > 4 Verzamelingen parameters gerepresenteerd als Player-klasse Uitgebreide mogelijkheden om de prestaties bij verschillende parameters met elkaar te vergelijken Vergelijken van prestatie bij één potje: score = (aantal eigen stenen – aantal stenen tegenstander) Op deze manier zien we ook hoe 'hard' een set parameters wint en niet alleen hoe vaak
Implementatie Prestaties vergelijken we door Players meerdere potjes tegen elkaar te laten spelen in een toernooi, en de de gemiddelde scores te berekenen De gemiddelde score is ook de fitness in het evolutionaire algoritme. Evolutie door middel van recombinatie en mutatie van de stabiliteitswaarden. Evolutionaire algoritme kunnen we niet goed testen omdat de implementatie te inefficiënt is.
Resultaten Systeem: –AMD Phenom Quadcore 2,3 GHz –2 GB geheugen –Geen threads
Resultaten Wegingsfactor {0.1, 0.5, 1, 5, 10, 15, 20} 21 competities Zoekdiepte 1 – 5 Stabiliteitswaarden = 1 Totaal 105 potjes Exponentiele toename in tijd!
Resultaten ZoekdiepteGemiddelde tijd (ms)
Resultaten Wegingsfactor {0.1, 0.5, 1, 5, 10, 15, 20} Zoekdiepte 1 – 4 5 rondes Totaal 105 potjes Zeer diverse resultaten Zoekdiepte1234 Plaats Stabiliteitswaarden: {50} {-1,-10} { 5, 1, 1} { 2, 1, 1, 0}
Resultaten Wegingsfactor {0.1, 0.5, 1, 5, 10, 15, 20} Stabiliteitswaarden = 1 Zoekdiepte 1 – 4 5 rondes Totaal 105 potjes Zeer diverse resultaten Zoekdiepte1234 Plaats
Resultaten Alle wegingsfactoren tegen kloon Enige verschil: stabiliteitswaarden 5 ronden Aangepaste stabiliteitswaarden altijd beter
Uitbreiding Genetisch algoritme We evolueren alleen de stabiliteitswaarden Fitness bepaald door prestatie in het toernooi. Mutatie door elke stabiliteitswaarde met een bepaalde kans random te veranderen Recombinatie door willekeurig twee tabellen samen te voegen Nog geen uitgebreide experimenten kunnen doen om geschikte parameters en selectiemethode te vinden
Discussie Optimaliseren oa. Minimax –Sneller –Dieper Genetisch algoritme uitwerken