11
Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

Embed Size (px)

Citation preview

Page 1: Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

OthelloInleiding Computationele Intelligentie

Chris Blom - 3020312

Martijn van den Heuvel - 3020355

Page 2: Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

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

Page 3: Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

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.

Page 4: Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

Resultaten

• Systeem:

– AMD Phenom Quadcore 2,3 GHz– 2 GB geheugen– Geen threads

Page 5: Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

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!

Page 6: Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

Resultaten

Zoekdiepte Gemiddelde tijd (ms)

1 150

2 548

3 5.953

4 14.179

5 87.627

Page 7: Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

Resultaten

Wegingsfactor {0.1, 0.5, 1, 5, 10, 15, 20}

• Zoekdiepte 1 – 4• 5 rondes• Totaal 105 potjes• Zeer diverse resultaten

Zoekdiepte 1 2 3 4

Plaats

1 1 1 20 0.5

2 10 0.1 5 1

3 20 0.5 10 0.1

Stabiliteitswaarden: {50} {-1 ,-10} { 5 , 1 , 1} { 2 , 1 , 1 , 0}

Page 8: Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

Resultaten

• Wegingsfactor {0.1, 0.5, 1, 5, 10, 15, 20}• Stabiliteitswaarden = 1• Zoekdiepte 1 – 4• 5 rondes• Totaal 105 potjes• Zeer diverse resultaten

Zoekdiepte 1 2 3 4

Plaats

1 0.5 1 1 20

2 0.1 0.1 5 15

3 5 10 0.5 0.5

Page 9: Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

Resultaten

• Alle wegingsfactoren tegen kloon• Enige verschil: stabiliteitswaarden• 5 ronden• Aangepaste stabiliteitswaarden altijd beter

Page 10: Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

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

Page 11: Othello Inleiding Computationele Intelligentie Chris Blom - 3020312 Martijn van den Heuvel - 3020355

Discussie

• Optimaliseren oa. Minimax

– Sneller– Dieper

• Genetisch algoritme uitwerken