Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 1 The Alpha-Beta Procedure 4 5 31 8 6 7 2 5 4 4 6 7 7 Example: max.

Slides:



Advertisements
Similar presentations
Heuristic Search techniques
Advertisements

Adversarial Search We have experience in search where we assume that we are the only intelligent being and we have explicit control over the “world”. Lets.
Artificial Intelligence Adversarial search Fall 2008 professor: Luigi Ceccaroni.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2008.
Game Playing (Tic-Tac-Toe), ANDOR graph By Chinmaya, Hanoosh,Rajkumar.
Adversarial Search Chapter 6 Section 1 – 4.
Lecture 12 Last time: CSPs, backtracking, forward checking Today: Game Playing.
Games CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Two-player games overview Computer programs which play 2-player games – –game-playing as search – –with the complication of an opponent General principles.
Minimax and Alpha-Beta Reduction Borrows from Spring 2006 CS 440 Lecture Slides.
Artificial Intelligence in Game Design
Mahgul Gulzai Moomal Umer Rabail Hafeez
All rights reservedL. Manevitz Lecture 31 Artificial Intelligence A/O* and Minimax L. Manevitz.
This time: Outline Game playing The minimax algorithm
Game Playing CSC361 AI CSC361: Game Playing.
November 10, 2009Introduction to Cognitive Science Lecture 17: Game-Playing Algorithms 1 Decision Trees Many classes of problems can be formalized as search.
1 search CS 331/531 Dr M M Awais A* Examples:. 2 search CS 331/531 Dr M M Awais 8-Puzzle f(N) = g(N) + h(N)
MAE 552 – Heuristic Optimization Lecture 28 April 5, 2002 Topic:Chess Programs Utilizing Tree Searches.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2006.
Adversarial Search: Game Playing Reading: Chess paper.
Game Playing: Adversarial Search Chapter 6. Why study games Fun Clear criteria for success Interesting, hard problems which require minimal “initial structure”
1 Adversary Search Ref: Chapter 5. 2 Games & A.I. Easy to measure success Easy to represent states Small number of operators Comparison against humans.
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.
CISC 235: Topic 6 Game Trees.
Lecture 5 Note: Some slides and/or pictures are adapted from Lecture slides / Books of Dr Zafar Alvi. Text Book - Aritificial Intelligence Illuminated.
Artificial Intelligence Lecture 9. Outline Search in State Space State Space Graphs Decision Trees Backtracking in Decision Trees.
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
Game Playing.
1 Learning Agents Laboratory Computer Science Department George Mason University Prof. Gheorghe Tecuci 3. Rote Learning.
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
Othello Artificial Intelligence With Machine Learning
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
October 3, 2012Introduction to Artificial Intelligence Lecture 9: Two-Player Games 1 Iterative Deepening A* Algorithm A* has memory demands that increase.
Heuristic Search In addition to depth-first search, breadth-first search, bound depth-first search, and iterative deepening, we can also use informed or.
Chapter 12 Adversarial Search. (c) 2000, 2001 SNU CSE Biointelligence Lab2 Two-Agent Games (1) Idealized Setting  The actions of the agents are interleaved.
Introduction to Artificial Intelligence CS 438 Spring 2008 Today –AIMA, Ch. 6 –Adversarial Search Thursday –AIMA, Ch. 6 –More Adversarial Search The “Luke.
Minimax with Alpha Beta Pruning The minimax algorithm is a way of finding an optimal move in a two player game. Alpha-beta pruning is a way of finding.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
Game Playing. Introduction One of the earliest areas in artificial intelligence is game playing. Two-person zero-sum game. Games for which the state space.
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.
Adversarial Search Chapter Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent reply Time limits.
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.
Game tree search Chapter 6 (6.1 to 6.3 and 6.6) cover games. 6.6 covers state of the art game players in particular. 6.5 covers games that involve uncertainty.
ARTIFICIAL INTELLIGENCE (CS 461D) Princess Nora University Faculty of Computer & Information Systems.
Graph Search II GAM 376 Robin Burke. Outline Homework #3 Graph search review DFS, BFS A* search Iterative beam search IA* search Search in turn-based.
Othello Artificial Intelligence With Machine Learning Computer Systems TJHSST Nick Sidawy.
The Standard Genetic Algorithm Start with a “population” of “individuals” Rank these individuals according to their “fitness” Select pairs of individuals.
Adversarial Search 2 (Game Playing)
February 25, 2016Introduction to Artificial Intelligence Lecture 10: Two-Player Games II 1 The Alpha-Beta Procedure Can we estimate the efficiency benefit.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module 5 Adversarial Search (Thanks Meinolf Sellman!)
Artificial Intelligence in Game Design Board Games and the MinMax Algorithm.
March 1, 2016Introduction to Artificial Intelligence Lecture 11: Machine Evolution 1 Let’s look at… Machine Evolution.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
Search: Games & Adversarial Search Artificial Intelligence CMSC January 28, 2003.
Adversarial Search Chapter Two-Agent Games (1) Idealized Setting – The actions of the agents are interleaved. Example – Grid-Space World – Two.
Adversarial Search and Game-Playing
Iterative Deepening A*
Adversarial Search and Game Playing (Where making good decisions requires respecting your opponent) R&N: Chap. 6.
Othello Artificial Intelligence With Machine Learning
Game Playing in AI by: Gaurav Phapale 05 IT 6010
Artificial Intelligence Chapter 12 Adversarial Search
Chapter 6 : Game Search 게임 탐색 (Adversarial Search)
NIM - a two person game n objects are in one pile
Introduction to Artificial Intelligence Lecture 11: Machine Evolution
The Alpha-Beta Procedure
Introduction to Artificial Intelligence Lecture 9: Two-Player Games I
Haskell Tips You can turn any function that takes two inputs into an infix operator: mod 7 3 is the same as 7 `mod` 3 takeWhile returns all initial.
Games & Adversarial Search
Unit II Game Playing.
Presentation transcript:

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 1 The Alpha-Beta Procedure Example: max min max min  = 3  = 3  = 1  = 3  = 6  = 6  = 4  = 2  = 4  = 4  = 6  = 6 Done!

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 2 The Alpha-Beta Procedure Can we estimate the efficiency benefit of the alpha- beta method? Suppose that there is a game that always allows a player to choose among b different moves, and we want to look d moves ahead. Then our search tree has b d leaves. Therefore, if we do not use alpha-beta pruning, we would have to apply the static evaluation function N d = b d times.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 3 The Alpha-Beta Procedure Of course, the efficiency gain by the alpha-beta method always depends on the rules and the current configuration of the game. However, if we assume that somehow new children of a node are explored in a particular order - those nodes p are explored first that will yield maximum values e(p) at depth d for MAX and minimum values for MIN - the number of nodes to be evaluated is:

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 4 The Alpha-Beta Procedure Therefore, the actual number N d can range from about 2b d/2 (best case) to b d (worst case). This means that in the best case the alpha-beta technique enables us to look ahead almost twice as far as without it in the same amount of time. In order to get close to the best case, we can compute e(p) immediately for every new node that we expand and use this value as an estimate for the Minimax value that the node will receive after expanding its successors until depth d. We can then use these estimates to expand the most likely candidates first (greatest e(p) for MAX, smallest for MIN).

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 5 The Alpha-Beta Procedure Of course, this pre-sorting of nodes requires us to compute the static evaluation function e(p) not only for the leaves of our search tree, but also for all of its inner nodes that we create. However, in most cases, pre-sorting will substantially increase the algorithm’s efficiency. The better our function e(p) captures the actual standing of the game in configuration p, the greater will be the efficiency gain achieved by the pre-sorting method.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 6 The Alpha-Beta Procedure Even if you do not want to apply e(p) to inner nodes, you should at least do a simple check whether in configuration p one of the players has already won or no more moves are possible. If one of the players has won, this simplified version of e(p) returns the value  or -  if in configuration p the player MAX or MIN, respectively, has won. It returns 0 (draw) if no more moves are possible. This way, no unnecessary - and likely misleading - analysis of impossible future configurations can occur.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 7 Timing Issues It is very difficult to predict for a given game situation how many operations a depth d look-ahead will require. Since we want the computer to respond within a certain amount of time, it is a good idea to apply the idea of iterative deepening. First, the computer finds the best move according to a one-move look-ahead search. Then, the computer determines the best move for a two-move look-ahead, and remembers it as the new best move. This is continued until the time runs out. Then the currently remembered best move is executed.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 8 How to Find Static Evaluation Functions Often, a static evaluation function e(p) first computes an appropriate feature vector f(p) that contains information about features of the current game configuration that are important for its evaluation. There is also a weight vector w(p) that indicates the weight (= importance) of each feature for the assessment of the current situation. Then e(p) is simply computed as the dot product of f(p) and w(p). Both the identification of the most relevant features and the correct estimation of their relative importance are crucial for the strength of a game-playing program.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 9 How to Find Static Evaluation Functions Once we have found suitable features, the weights can be adapted algorithmically. This can be achieved, for example, with an artificial neural network. So the biggest problem consists in extracting the most informative features from a game configuration. Let us look at an example: Chinese Checkers.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 10 Chinese Checkers Move all your pieces into your opponent’s home area.Move all your pieces into your opponent’s home area. In each move, a piece can either move to a neighboring position or jump over any number of pieces.In each move, a piece can either move to a neighboring position or jump over any number of pieces.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 11 Chinese Checkers Sample moves for RED (bottom) player:

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 12 Chinese Checkers Idea for important feature: assign positional valuesassign positional values sum values for all pieces of each playersum values for all pieces of each player feature “progress” is difference of sum between playersfeature “progress” is difference of sum between players

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 13 Chinese Checkers Another important feature: For successful play, no piece should be “left behind”For successful play, no piece should be “left behind” Therefore add another feature “coherence”: Difference between the players in terms of the smallest positional value for any of their pieces.Therefore add another feature “coherence”: Difference between the players in terms of the smallest positional value for any of their pieces. Weights used in sample program: 1 for progress1 for progress 2 for coherence2 for coherence

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 14Isola Your biggest programming assignment in this course will be the development of a program playing the game Isola. In order to win the tournament and receive an incredibly valuable prize, you will have to write a static evaluation function that assesses a game configuration accurately and assesses a game configuration accurately and can be computed efficiently. can be computed efficiently.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 15Isola Rules of Isola: Each of the two players has one piece.Each of the two players has one piece. The board has 7  7 positions which initially contain squares, except for the initial positions of the pieces.The board has 7  7 positions which initially contain squares, except for the initial positions of the pieces. A move consists of two subsequent actions:A move consists of two subsequent actions: –moving one’s piece to a neighboring (horizontally, vertically, or diagonally) field that contains a square but not the opponent’s piece, –removing any square with no piece on it. If a player cannot move any more, he/she loses the game.If a player cannot move any more, he/she loses the game.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 16Isola Initial Configuration: O X

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 17Isola If in this situation O is to move, then X is the winner: XO If X is to move, he/she can just move left and remove the square between X and O, and also wins the game.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 18Isola You can start thinking about an appropriate evaluation function for this game. You may even consider revising the Minimax and alpha-beta search algorithm to reduce the enormous branching factor in the search tree for Isola. We will further discuss the game and the Java interface for the tournament next week.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 19 Let’s look at… Machine Evolution

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 20 Machine Evolution As you will see later in this course, neural networks can “learn”, that is, adapt to given constraints. For example, NNs can approximate a given function. In biology, such learning corresponds to the learning by an individual organism. However, in nature there is a different type of adaptation, which is achieved by evolution. Can we use evolutionary mechanisms to create learning programs?

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 21 Machine Evolution Fortunately, on our computer we can simulate evolutionary processes faster than in real-time. We simulate the two main aspects of evolution: Generation of descendants that are similar but slightly different from their parents, Generation of descendants that are similar but slightly different from their parents, Selective survival of the “fittest” descendants, i.e., those that perform best at a given task. Selective survival of the “fittest” descendants, i.e., those that perform best at a given task. Iterating this procedure will lead to individuals that are better and better at the given task.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 22 Machine Evolution Let us say that we wrote a computer vision algorithm that has two free parameters x and y. We want the program to “learn” the optimal values for these parameters, that is, those values that allow the program to recognize objects with maximum probability p. To visualize this, we can imagine a 3D “landscape” defined by p as a function of x and y. Our goal is to find the highest peak in this landscape, which is the maximum of p.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 23 Machine Evolution We can solve this problem with an evolutionary approach. Any variant of the program is completely defined by its values of x and y and can thus be found somewhere in the landscape. We start with a random population of programs. Now those individuals at higher elevations, who perform better, get a higher chance of reproduction than those in the valleys.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 24 Machine Evolution Reproduction can proceed in two different ways: Production of descendants near the most successful individuals (“single parents”) Production of descendants near the most successful individuals (“single parents”) Production of new individuals by pairs of successful parents. Here, the descendants are placed somewhere between the parents. Production of new individuals by pairs of successful parents. Here, the descendants are placed somewhere between the parents.

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 25 Machine Evolution The fitness (or performance) of a program is then a function of its parameters x and y:

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 26 Machine Evolution The initial random population of programs could look like this:

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 27 Machine Evolution Only the most successful programs survive…

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 28 Machine Evolution … and generate children that are similar to themselves, i.e., close to them in parameter space:

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 29 Machine Evolution Again, only the best ones survive and generate offspring:

Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 30 Machine Evolution … and so on… … until the population approaches maximum fitness.