Learning Othello The quest for general strategy building.

Slides:



Advertisements
Similar presentations
Adversarial Search Chapter 6 Sections 1 – 4. Outline Optimal decisions α-β pruning Imperfect, real-time decisions.
Advertisements

Algorithm Design Techniques
Adversarial Search Chapter 6 Section 1 – 4. Types of Games.
Genetic Algorithms (Evolutionary Computing) Genetic Algorithms are used to try to “evolve” the solution to a problem Generate prototype solutions called.
Exact and heuristics algorithms
Tetris – Genetic Algorithm Presented by, Jeethan & Jun.
Case Study: Genetic Algorithms GAs are an area of AI research –used to solve search problems with potentially better performance than traditional search.
For Friday Finish chapter 5 Program 1, Milestone 1 due.
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2008.
Heidi Newton Peter Andreae Artificial Intelligence.
Adversarial Search Chapter 5.
Adversarial Search CSE 473 University of Washington.
A GENETIC ALGORITHM APPROACH TO SPACE LAYOUT PLANNING OPTIMIZATION Hoda Homayouni.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 580 Artificial Intelligence Ch.6: Adversarial Search Fall 2008 Marco Valtorta.
Genetic Algorithms GAs are one of the most powerful and applicable search methods available GA originally developed by John Holland (1975) Inspired by.
Genetic Algorithm for Variable Selection
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2006.
Evolutionary Computation Application Peter Andras peter.andras/lectures.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Game Playing State-of-the-Art  Checkers: Chinook ended 40-year-reign of human world champion Marion Tinsley in Used an endgame database defining.
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Game Trees: MiniMax strategy, Tree Evaluation, Pruning, Utility evaluation Adapted from slides of Yoonsuck Choe.
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 2 Adapted from slides of Yoonsuck.
More precisely called Branch of AI behind it.
Othello Artificial Intelligence With Machine Learning
Presenter: Chih-Yuan Chou GA-BASED ALGORITHMS FOR FINDING EQUILIBRIUM 1.
Adversarial Search Chapter 6 Section 1 – 4. Outline Optimal decisions α-β pruning Imperfect, real-time decisions.
Othello Playing AI Matt Smith. Othello 8x8 Board game 8x8 Board game Try to outflank opponents pieces Try to outflank opponents pieces Winner ends up.
More on Heuristics Genetic Algorithms (GA) Terminology Chromosome –candidate solution - {x 1, x 2,...., x n } Gene –variable - x j Allele –numerical.
Game Playing. Towards Intelligence? Many researchers attacked “intelligent behavior” by looking to strategy games involving deep thought. Many researchers.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
Fuzzy Genetic Algorithm
Chapter 4.1 Beyond “Classic” Search. What were the pieces necessary for “classic” search.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
Jack Chen TJHSST Computer Systems Lab Abstract The purpose of this project is to explore Artificial Intelligence techniques in the board game.
For Friday Finish chapter 6 Program 1, Milestone 1 due.
GAME PLAYING 1. There were two reasons that games appeared to be a good domain in which to explore machine intelligence: 1.They provide a structured task.
Neural Network Implementation of Poker AI
A Genetic Algorithm Approach To Interactive Narrative Generation TeongJoo Ong and John Leggett Texas A&M University.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
Chapter 12 FUSION OF FUZZY SYSTEM AND GENETIC ALGORITHMS Chi-Yuan Yeh.
Today’s Topics Playing Deterministic (no Dice, etc) Games –Mini-max –  -  pruning –ML and games? 1997: Computer Chess Player (IBM’s Deep Blue) Beat Human.
Othello Artificial Intelligence With Machine Learning Computer Systems TJHSST Nick Sidawy.
Neural Networks And Its Applications By Dr. Surya Chitra.
The Standard Genetic Algorithm Start with a “population” of “individuals” Rank these individuals according to their “fitness” Select pairs of individuals.
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.
An AI Game Project. Background Fivel is a unique hybrid of a NxM game and a sliding puzzle. The goals in making this project were: Create an original.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module 5 Adversarial Search (Thanks Meinolf Sellman!)
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Advanced AI – Session 6 Genetic Algorithm By: H.Nematzadeh.
Adversarial Search Chapter 5 Sections 1 – 4. AI & Expert Systems© Dr. Khalid Kaabneh, AAU Outline Optimal decisions α-β pruning Imperfect, real-time decisions.
ADVERSARIAL SEARCH Chapter 6 Section 1 – 4. OUTLINE Optimal decisions α-β pruning Imperfect, real-time decisions.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
Genetic Algorithm(GA)
GENETIC ALGORITHM By Siti Rohajawati. Definition Genetic algorithms are sets of computational procedures that conceptually follow steps inspired by the.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
Genetic Algorithm (Knapsack Problem)
Game Playing Why do AI researchers study game playing?
Using GA’s to Solve Problems
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
CS Fall 2016 (Shavlik©), Lecture 11, Week 6
Evolutionary Algorithms
Case Study: Genetic Algorithms
Genetic Algorithms Artificial Life
Applications of Genetic Algorithms TJHSST Computer Systems Lab
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning
Presentation transcript:

Learning Othello The quest for general strategy building.

Objectives and Goals Develop a program that is capable of learning to play Othello. More interested in how the program learns. Learn which techniques are more affective than others NOT building Deep Blue!

The Big Picture Just a small piece in a much bigger puzzle. Using games to explore building a general strategy ontology. Is it possible to find patterns in different games to form similar, working strategies?

What is Othello? Two player grid-based game. Black and white discs used. Must move if you can, skip turn if you can’t. Object is to “outflank” opponent’s discs and convert them to yours. Game over when no more moves possible. Winner is player with most discs.

The Board

System Design

System Developed Iteratively Iteration 1 –Knowledge base will contain moves and genetic algorithm information. Iteration 2 –Game logic contained in controller moved to knowledge base. Iteration 3 –All player logic stored in knowledge base.

Game Controller Initialize all components of the system. Setup the default board. Prepare the display. Use learning agent to prepare player strategies. Control game flow. Control training sessions.

System Design

Game Controller Cont. Iteration 1 –Present player agent with list of possible moves. –Take move from player agent and control board. In iteration 2, a lot of this logic will be contained in the KB.

Player Agent Consult strategy to return a move to the Game Controller. Iteration 1 –Game Controller will give agent all possible moves to chose from. Iteration 2 –Game controller will give agent copy of the board, and the agent will find and chose move.

System Design

Learning Agent Majority of the focus for the project and iteration 1. Uses genetic algorithm approach for building strategy. Moderate risk because not directly applicable to the problem domain.

Steps for GA Encode problem in terms of chromosomes. Define fitness function for chromosomes. Generate initial population. Measure fitness and select fittest to “mate.” –Cross over –Mutation Repeat

The Genetics of Othello Moves will be the genes. –Horizontal_skip, Horizontal_jump –Vertical_skip, Vertical_jump –Diagonal_skip, Diagonal_jump –Hybrid (?) In iteration 1, a chromosome will contain all possible moves. Iteration 2, a chromosome may not contain all moves.

Fitness Simplest measure is your fit if you win. More complicated, and possibly more accurate is a measure of the number of discs taken. –Scoring system from online game.

The Birds and Bees of Othello Crossover –Swapping the order of the moves in a chromosome. –Need to avoid duplicates. Mutation –Change the jump/skip value. –True mutation because of the coupling? –Defined differently in hybrid moves?

Knowledge Base Iteration 1 –Contain the definition of the genetic operators (crossover and mutation) –Contain the moves and their relation to the genetic operators Iteration 2 –More game logic stored so fitness functions can be defined and tied closer to the genetic algorithm information Iteration 3 –All game logic contained in KB.

Overall Application Flow Game controller started and components initialized. Learning agent populates initial chromosome base. Game controller directs games. Learning agent “mates” chromosomes based on game outcomes.

Issues Defining a strategy simply by moves may be too simplistic How exactly to mate the chromosomes –One chromosome that is operated on Might work if it contains all moves –Multiple chromosomes to mix and match How play multiple simultaneous games Encoding the game knowledge to make it “computational”

Summary Good first step towards a very complex problem. Allows the ability to explore different areas of AI with the same infrastructure. –Swappable learning agents