Top Banner
Optimizing the State Eval Optimizing the State Eval Heuristic of Abalone using Heuristic of Abalone using Evolutionary Algorithms Evolutionary Algorithms Benjamin Rhew November 28, 2005
14

Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Jan 30, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Optimizing the State Eval Heuristic of Optimizing the State Eval Heuristic of Abalone using Evolutionary AlgorithmsAbalone using Evolutionary Algorithms

Benjamin RhewNovember 28, 2005

Page 2: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

The Roadmap

Why Should We Optimize?Why Use an Evolutionary Algorithm?Previous WorkAbalone ExplainedExperimental SetupWhat is a Two-Pool EA?Evolutionary Algorithm DetailsFuture Work

Page 3: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Why Should We Optimize?

Heuristics are everywhere

Spam filters

Speech recognition software

Have limitations

Slow, but good solution

Fast, but poor solution

So optimize!

Page 4: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Why Use an Evolutionary Algorithm?

Heuristic development takes time

Improbable for a person to design the optimal heuristic

Need to test many different heuristics

Therefore, an EA is called for

Page 5: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Previous Work

There is a lot of previous work, mainly involving chess heuristics

Chess-specific algorithms

Works mainly on chess playing programs

Do not play among themselves

Population dynamics

This approach should be more general

Page 6: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Abalone Explained

Board Game developed in the 1990s

Sumo Wrestling with Marbles...

Program Demo

Page 7: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Experimental Setup

Main Idea – the fitness of an individual depends on how well that individual plays games

Randomly chosen

Play 2 games, one as each color

Takes a long time

Therefore, a steady-state two-pool EA with high selective pressure is used

Page 8: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

What is a Two-Pool EA?

An EA where individuals are in two groups

Can use many separations

Male/Female

Predator/Prey

Child/Adult

In this case, child/adult is used

Page 9: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Evolutionary Algorithm Details

Parent Selection – stochastic, based on fitnessSurvival Selection – stochastic/elitist, with worst individual having highest chance of dyingInitial Population – small, 20 individualsRecombination – N-point crossoverMutation – Gaussian Random VariableFitness – number of wins divided by the number of games playedInitialization – small random floats near 1

Page 10: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Evolutionary Algorithm Details

Evolutionary Process – individual will not be killable in the first 10 generations of its life

Three possible Gene Representations:

Take each part of the previous heuristic and multiply it by a constant

Subdivide parts of the previous heuristic and multiply each part by a constant

Completely subdivide previous heuristic and multiply each part by a constant

Page 11: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Evolutionary Algorithm Details

Gene 1:

board1, board2, mymarbles, oppmarbles, age

Gene 2:

board1_1...board1_5, board2_1...board2_5, mymarbles, oppmarbles, age

Gene 3:

board1_1_1...board1_9_9, board2_1_1...board2_9_9, mymarbles, oppmarbles, age

Page 12: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Evolutionary Algorithm Details

Gene 1:

Gene 2:

Gene 3:

Page 13: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Future Work

Results

Compare different fitness function strategies

Compare different gene representations

Use Genetic Programming to evolve new heuristics from scratch

Page 14: Optimizing the State Eval Heuristic of Abalone using Evolutionary Algorithms Benjamin Rhew November 28, 2005.

Questions?