CSE : Python Programming
|
|
- Dorothy Shepherd
- 6 years ago
- Views:
Transcription
1 CSE : Python Programming Lecture 3.5: Alpha-beta Pruning January 22,
2 Slides mostly as shown in lecture
3 Scoring an Othello board and AIs A simple way to "score" an Othello board: number of white pieces number of black pieces The white player wants to maximize this number The black player wants to minimize this number An AI for each side is either trying to maximize or minimize that number for the final board position 3
4 Minimax But there's no way to predict what the final board position will be So white could choose moves such that the minimum score at any potential final board is as great as possible This gives rise to so-called minimax algorithms 4
5 Drawing games as trees We can draw two-player games as trees Each node in the tree represents a "position", for example the board in an Othello game At each position, it is one of the players turns An arrow points from position X to position Y if the player's move at position X results in Y 5
6 current position (your move)
7 bad move! you'll end at 41 current position (your move)
8 bad move! you'll end at 37 current position (your move)
9 best move! you'll end at 45 current position (your move)
10 best move! you'll end at 45 current position (your move) we've maximized the minimum score we can get
11 Computation is expensive Looking ahead to the end of the game is usually not feasable: too much computation involved Cheap solution Compute the score for the board after each possible move you can make Choose the move that gives you the highest score Problem: What looks good here might look really bad after a few more moves 10
12 Alpha-beta pruning We can't scan the entire tree The cheap solution is too cheap Intermediate solution: Alpha-beta pruning Looks out some number of moves (called the "depth") Attempts to avoid examining moves which are obviously incredibly bad. The trick: stop examining a move if it's worse than one you've already found. 11
13 A note about the following code The code is very similar to that found on Wikipedia: 12
14 Alpha-beta pruning: pseudocode function abp(node, depth, alpha, beta): if depth is zero: return the score of node if node has no children: return the score of the node for each child of node: alpha = max(alpha, -abp(child, depth-1, -beta, -alpha)) if alpha >= beta: return alpha return alpha alpha is the maximum minimum-score you've found so far 13
15 Alpha-beta pruning: pseudocode function abp(node, depth, alpha, beta): if depth is zero: return the score of node if node has no children: return the score of the node for each child of node: alpha = max(alpha, -abp(child, depth-1, -beta, -alpha)) if alpha >= beta: return alpha return alpha beta is the minimum maximum-score your opponent has found so far 14
16 Alpha-beta pruning: pseudocode function abp(node, depth, alpha, beta): if depth is zero: return the score of node if node has no children: return the score of the node for each child of node: alpha = max(alpha, -abp(child, depth-1, -beta, -alpha)) if alpha beta: return alpha return alpha thus, when alpha beta, give up because someone did something non-optimal 15
17 Alpha-beta pruning: pseudocode function abp(node, depth, alpha, beta): if depth is zero: return the score of node if node has no children: return the score of the node for each child of node: alpha = max(alpha, -abp(child, depth-1, -beta, -alpha)) if alpha beta: return alpha return alpha initially, call abp() with alpha = -infinity and beta = +infinity 16
18 Alpha-beta pruning: pseudocode function abp(node, depth, alpha, beta): if depth is zero: return the score of node if node has no children: return the score of the node for each child of node: alpha = max(alpha, -abp(child, depth-1, -beta, -alpha)) if alpha beta: return alpha return alpha reverse the roles of alpha and beta because this next call is from the view point of your opponent 17
19 Alpha-beta pruning: pseudocode function abp(node, depth, alpha, beta): if depth is zero: return the score of node if node has no children: return the score of the node for each child of node: alpha = max(alpha, -abp(child, depth-1, -beta, -alpha)) if alpha beta: return alpha return alpha for the same reason, negate the result of this call 18
20 Problems with the pseudocode It returns a score, which is great, but you really need to return what move gets you that score! ±infinity are for a generic version Can replace -infinity with the least score possible Can replace +infinity with the greatest score possible 19
21 Completely new slides (mainly for Homework 4)
22 Pseudocode function abp(node, depth, alpha, beta): if depth is zero: return the score of node if node has no children: return the score of node for each child of node: alpha = max(alpha, -abp(child, depth-1, -beta, -alpha)) if alpha beta: return alpha return alpha See that highlighted minus sign? Big bug I accidentally made in class. 21
23 Pseudocode function abp(node, depth, alpha, beta): if depth is zero: return the score of node if node has no children: return the score of node for each child of node: alpha = max(alpha, -abp(child, depth-1, -beta, -alpha)) if alpha beta: return alpha return alpha This version of the alpha-beta pruning algorithm attempts to maximize alpha It is the corrected version of what I showed in class 22
24 Pseudocode: Problems! function abp(node, depth, alpha, beta): if depth is zero: return the score of node if node has no children: return the score of node for each child of node: alpha = max(alpha, -abp(child, depth-1, -beta, -alpha)) if alpha beta: return alpha return alpha It doesn't return an actual move It doesn't worry about the case where one player goes twice in a row (this can happen in Othello!) 23
25 circles: our move squares: opponents move we want to maximize the minimum score we can get
26 tree here has depth 2 node A our move, so we call: abp(a, 2, -, + )
27 alpha = - node A we'll keep track of the current value of alpha and beta in the call to abp() on a given node
28 alpha = - node A node B alpha = A has children, so make a recursive call to abp: abp(b, 1, -, + )
29 alpha = - node B node C alpha = alpha = - B has children, so make a recursive call to abp: abp(c, 0, -, + )
30 alpha = - node B node C alpha = alpha = - At C, depth is zero, so just return 10. At B, -10 is greater than -, so update alpha. (Remember that minus sign in the algorithm?)
31 alpha = - node B alpha = let's grey out nodes that we've already considered
32 alpha = - node B alpha = We now call abp() on the other child of B, which returns 20. At B, -20 is not better than -10. No update.
33 alpha = 10 node A alpha = That call to abp(b, 1, -, + ) from before returns -10 now. At A, we update alpha to 10. (Again, remember that minus sign?)
34 alpha = 10 node D alpha = - beta = Move on to the next child of A: abp(d, 1, -, -10) # note the values here!
35 alpha = 10 node D alpha = -5 beta = We're at D. Call abp() on the first child of D. That returns 5. Update alpha at D.
36 alpha = 10 node D alpha = -5 beta = We're at D. Fiddlesticks. alpha beta. Simply return alpha, skip the rest of D's children.
37 alpha = 10 node D I've erased the nodes we skipped. We're done with D. 5 is not greater than 10, so no update at A.
38 alpha = 10 node E alpha = - beta = A has one more child. Call abp(e, 1, -, -10).
39 alpha = 10 node E alpha = -30 beta = After the first child of E.
40 alpha = 10 node E alpha = -15 beta = After the second child of E.
41 alpha = 15 node E alpha = -15 beta = The call to abp() on E returns -15. At A, 15 10, so update alpha. Our original call to abp(a, 2, -, + ) returns 15!
42 Looking back at the entire, original tree, this looks right.
43 Additional resources Probably overkill, as usual In fact, maybe only read this if you like really dry text But it is where I got the psuedo-code from alphabeta.htm I don't like the code example here so much The introductory text is pretty good So read the intro stuff, skip the code 42
mywbut.com Two agent games : alpha beta pruning
Two agent games : alpha beta pruning 1 3.5 Alpha-Beta Pruning ALPHA-BETA pruning is a method that reduces the number of nodes explored in Minimax strategy. It reduces the time required for the search and
More informationgame tree complete all possible moves
Game Trees Game Tree A game tree is a tree the nodes of which are positions in a game and edges are moves. The complete game tree for a game is the game tree starting at the initial position and containing
More informationComputer Science and Software Engineering University of Wisconsin - Platteville. 4. Game Play. CS 3030 Lecture Notes Yan Shi UW-Platteville
Computer Science and Software Engineering University of Wisconsin - Platteville 4. Game Play CS 3030 Lecture Notes Yan Shi UW-Platteville Read: Textbook Chapter 6 What kind of games? 2-player games Zero-sum
More informationCMPUT 396 Tic-Tac-Toe Game
CMPUT 396 Tic-Tac-Toe Game Recall minimax: - For a game tree, we find the root minimax from leaf values - With minimax we can always determine the score and can use a bottom-up approach Why use minimax?
More informationGame-playing AIs: Games and Adversarial Search FINAL SET (w/ pruning study examples) AIMA
Game-playing AIs: Games and Adversarial Search FINAL SET (w/ pruning study examples) AIMA 5.1-5.2 Games: Outline of Unit Part I: Games as Search Motivation Game-playing AI successes Game Trees Evaluation
More informationPlaying Games. Henry Z. Lo. June 23, We consider writing AI to play games with the following properties:
Playing Games Henry Z. Lo June 23, 2014 1 Games We consider writing AI to play games with the following properties: Two players. Determinism: no chance is involved; game state based purely on decisions
More informationModule 3. Problem Solving using Search- (Two agent) Version 2 CSE IIT, Kharagpur
Module 3 Problem Solving using Search- (Two agent) 3.1 Instructional Objective The students should understand the formulation of multi-agent search and in detail two-agent search. Students should b familiar
More informationCS188 Spring 2010 Section 3: Game Trees
CS188 Spring 2010 Section 3: Game Trees 1 Warm-Up: Column-Row You have a 3x3 matrix of values like the one below. In a somewhat boring game, player A first selects a row, and then player B selects a column.
More informationAnnouncements. Homework 1 solutions posted. Test in 2 weeks (27 th ) -Covers up to and including HW2 (informed search)
Minimax (Ch. 5-5.3) Announcements Homework 1 solutions posted Test in 2 weeks (27 th ) -Covers up to and including HW2 (informed search) Single-agent So far we have look at how a single agent can search
More informationMITOCW watch?v=6fyk-3vt4fe
MITOCW watch?v=6fyk-3vt4fe Good morning, everyone. So we come to the end-- one last lecture and puzzle. Today, we're going to look at a little coin row game and talk about, obviously, an algorithm to solve
More informationCS61B Lecture #22. Today: Backtracking searches, game trees (DSIJ, Section 6.5) Last modified: Mon Oct 17 20:55: CS61B: Lecture #22 1
CS61B Lecture #22 Today: Backtracking searches, game trees (DSIJ, Section 6.5) Last modified: Mon Oct 17 20:55:07 2016 CS61B: Lecture #22 1 Searching by Generate and Test We vebeenconsideringtheproblemofsearchingasetofdatastored
More informationMITOCW R22. Dynamic Programming: Dance Dance Revolution
MITOCW R22. Dynamic Programming: Dance Dance Revolution The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational
More informationCS188 Spring 2010 Section 3: Game Trees
CS188 Spring 2010 Section 3: Game Trees 1 Warm-Up: Column-Row You have a 3x3 matrix of values like the one below. In a somewhat boring game, player A first selects a row, and then player B selects a column.
More informationCS 1571 Introduction to AI Lecture 12. Adversarial search. CS 1571 Intro to AI. Announcements
CS 171 Introduction to AI Lecture 1 Adversarial search Milos Hauskrecht milos@cs.pitt.edu 39 Sennott Square Announcements Homework assignment is out Programming and experiments Simulated annealing + Genetic
More informationApplications of Artificial Intelligence and Machine Learning in Othello TJHSST Computer Systems Lab
Applications of Artificial Intelligence and Machine Learning in Othello TJHSST Computer Systems Lab 2009-2010 Jack Chen January 22, 2010 Abstract The purpose of this project is to explore Artificial Intelligence
More informationCSC 380 Final Presentation. Connect 4 David Alligood, Scott Swiger, Jo Van Voorhis
CSC 380 Final Presentation Connect 4 David Alligood, Scott Swiger, Jo Van Voorhis Intro Connect 4 is a zero-sum game, which means one party wins everything or both parties win nothing; there is no mutual
More informationCS 2710 Foundations of AI. Lecture 9. Adversarial search. CS 2710 Foundations of AI. Game search
CS 2710 Foundations of AI Lecture 9 Adversarial search Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square CS 2710 Foundations of AI Game search Game-playing programs developed by AI researchers since
More informationAdversary Search. Ref: Chapter 5
Adversary Search Ref: Chapter 5 1 Games & A.I. Easy to measure success Easy to represent states Small number of operators Comparison against humans is possible. Many games can be modeled very easily, although
More informationProgramming Project 1: Pacman (Due )
Programming Project 1: Pacman (Due 8.2.18) Registration to the exams 521495A: Artificial Intelligence Adversarial Search (Min-Max) Lectured by Abdenour Hadid Adjunct Professor, CMVS, University of Oulu
More informationAlgorithms for Data Structures: Search for Games. Phillip Smith 27/11/13
Algorithms for Data Structures: Search for Games Phillip Smith 27/11/13 Search for Games Following this lecture you should be able to: Understand the search process in games How an AI decides on the best
More informationMITOCW Project: Backgammon tutor MIT Multicore Programming Primer, IAP 2007
MITOCW Project: Backgammon tutor MIT 6.189 Multicore Programming Primer, IAP 2007 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue
More informationCS188 Spring 2014 Section 3: Games
CS188 Spring 2014 Section 3: Games 1 Nearly Zero Sum Games The standard Minimax algorithm calculates worst-case values in a zero-sum two player game, i.e. a game in which for all terminal states s, the
More informationGame Playing Part 1 Minimax Search
Game Playing Part 1 Minimax Search Yingyu Liang yliang@cs.wisc.edu Computer Sciences Department University of Wisconsin, Madison [based on slides from A. Moore http://www.cs.cmu.edu/~awm/tutorials, C.
More informationAdversarial Search 1
Adversarial Search 1 Adversarial Search The ghosts trying to make pacman loose Can not come up with a giant program that plans to the end, because of the ghosts and their actions Goal: Eat lots of dots
More informationMinimax Trees: Utility Evaluation, Tree Evaluation, Pruning
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning CSCE 315 Programming Studio Fall 2017 Project 2, Lecture 2 Adapted from slides of Yoonsuck Choe, John Keyser Two-Person Perfect Information Deterministic
More informationArtificial Intelligence. Minimax and alpha-beta pruning
Artificial Intelligence Minimax and alpha-beta pruning In which we examine the problems that arise when we try to plan ahead to get the best result in a world that includes a hostile agent (other agent
More informationFor slightly more detailed instructions on how to play, visit:
Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! The purpose of this assignment is to program some of the search algorithms and game playing strategies that we have learned
More informationARTIFICIAL INTELLIGENCE (CS 370D)
Princess Nora University Faculty of Computer & Information Systems ARTIFICIAL INTELLIGENCE (CS 370D) (CHAPTER-5) ADVERSARIAL SEARCH ADVERSARIAL SEARCH Optimal decisions Min algorithm α-β pruning Imperfect,
More informationBoard Game AIs. With a Focus on Othello. Julian Panetta March 3, 2010
Board Game AIs With a Focus on Othello Julian Panetta March 3, 2010 1 Practical Issues Bug fix for TimeoutException at player init Not an issue for everyone Download updated project files from CS2 course
More informationArtificial Intelligence Lecture 3
Artificial Intelligence Lecture 3 The problem Depth first Not optimal Uses O(n) space Optimal Uses O(B n ) space Can we combine the advantages of both approaches? 2 Iterative deepening (IDA) Let M be a
More informationAdversarial Search and Game Playing. Russell and Norvig: Chapter 5
Adversarial Search and Game Playing Russell and Norvig: Chapter 5 Typical case 2-person game Players alternate moves Zero-sum: one player s loss is the other s gain Perfect information: both players have
More informationCSE 332: Data Structures and Parallelism Games, Minimax, and Alpha-Beta Pruning. Playing Games. X s Turn. O s Turn. X s Turn.
CSE 332: ata Structures and Parallelism Games, Minimax, and Alpha-Beta Pruning This handout describes the most essential algorithms for game-playing computers. NOTE: These are only partial algorithms:
More informationGame Playing State-of-the-Art
Adversarial Search [These slides were created by Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley. All CS188 materials are available at http://ai.berkeley.edu.] Game Playing State-of-the-Art
More informationGames (adversarial search problems)
Mustafa Jarrar: Lecture Notes on Games, Birzeit University, Palestine Fall Semester, 204 Artificial Intelligence Chapter 6 Games (adversarial search problems) Dr. Mustafa Jarrar Sina Institute, University
More informationMITOCW watch?v=fp7usgx_cvm
MITOCW watch?v=fp7usgx_cvm Let's get started. So today, we're going to look at one of my favorite puzzles. I'll say right at the beginning, that the coding associated with the puzzle is fairly straightforward.
More informationAdversarial Search (Game Playing)
Artificial Intelligence Adversarial Search (Game Playing) Chapter 5 Adapted from materials by Tim Finin, Marie desjardins, and Charles R. Dyer Outline Game playing State of the art and resources Framework
More informationFoundations of Artificial Intelligence
Foundations of Artificial Intelligence 42. Board Games: Alpha-Beta Search Malte Helmert University of Basel May 16, 2018 Board Games: Overview chapter overview: 40. Introduction and State of the Art 41.
More informationCS 440 / ECE 448 Introduction to Artificial Intelligence Spring 2010 Lecture #5
CS 440 / ECE 448 Introduction to Artificial Intelligence Spring 2010 Lecture #5 Instructor: Eyal Amir Grad TAs: Wen Pu, Yonatan Bisk Undergrad TAs: Sam Johnson, Nikhil Johri Topics Game playing Game trees
More informationBlock Sanding Primer Dos and Don ts Transcript
Block Sanding Primer Dos and Don ts Transcript Hey, this is Donnie Smith. And welcome to this lesson on block sanding primer. In this lesson, we're going to give you some of the do's and some of the don
More informationGame-playing AIs: Games and Adversarial Search I AIMA
Game-playing AIs: Games and Adversarial Search I AIMA 5.1-5.2 Games: Outline of Unit Part I: Games as Search Motivation Game-playing AI successes Game Trees Evaluation Functions Part II: Adversarial Search
More informationAdversarial Search and Game- Playing C H A P T E R 6 C M P T : S P R I N G H A S S A N K H O S R A V I
Adversarial Search and Game- Playing C H A P T E R 6 C M P T 3 1 0 : S P R I N G 2 0 1 1 H A S S A N K H O S R A V I Adversarial Search Examine the problems that arise when we try to plan ahead in a world
More informationCS 5522: Artificial Intelligence II
CS 5522: Artificial Intelligence II Adversarial Search Instructor: Alan Ritter Ohio State University [These slides were adapted from CS188 Intro to AI at UC Berkeley. All materials available at http://ai.berkeley.edu.]
More informationCPS 570: Artificial Intelligence Two-player, zero-sum, perfect-information Games
CPS 57: Artificial Intelligence Two-player, zero-sum, perfect-information Games Instructor: Vincent Conitzer Game playing Rich tradition of creating game-playing programs in AI Many similarities to search
More informationAdversarial Search. Human-aware Robotics. 2018/01/25 Chapter 5 in R&N 3rd Ø Announcement: Slides for this lecture are here:
Adversarial Search 2018/01/25 Chapter 5 in R&N 3rd Ø Announcement: q Slides for this lecture are here: http://www.public.asu.edu/~yzhan442/teaching/cse471/lectures/adversarial.pdf Slides are largely based
More informationCSE 473: Artificial Intelligence Fall Outline. Types of Games. Deterministic Games. Previously: Single-Agent Trees. Previously: Value of a State
CSE 473: Artificial Intelligence Fall 2014 Adversarial Search Dan Weld Outline Adversarial Search Minimax search α-β search Evaluation functions Expectimax Reminder: Project 1 due Today Based on slides
More informationHomework Assignment #2
CS 540-2: Introduction to Artificial Intelligence Homework Assignment #2 Assigned: Thursday, February 15 Due: Sunday, February 25 Hand-in Instructions This homework assignment includes two written problems
More information4. Games and search. Lecture Artificial Intelligence (4ov / 8op)
4. Games and search 4.1 Search problems State space search find a (shortest) path from the initial state to the goal state. Constraint satisfaction find a value assignment to a set of variables so that
More informationWhereupon Seymour Pavitt wrote a rebuttal to Dreyfus' famous paper, which had a subject heading, "Dreyfus
MITOCW Lec-06 SPEAKER 1: It was about 1963 when a noted philosopher here at MIT, named Hubert Dreyfus-- Hubert Dreyfus wrote a paper in about 1963 in which he had a heading titled, "Computers Can't Play
More informationCS 771 Artificial Intelligence. Adversarial Search
CS 771 Artificial Intelligence Adversarial Search Typical assumptions Two agents whose actions alternate Utility values for each agent are the opposite of the other This creates the adversarial situation
More informationCS 188: Artificial Intelligence Spring Announcements
CS 188: Artificial Intelligence Spring 2011 Lecture 7: Minimax and Alpha-Beta Search 2/9/2011 Pieter Abbeel UC Berkeley Many slides adapted from Dan Klein 1 Announcements W1 out and due Monday 4:59pm P2
More informationCS885 Reinforcement Learning Lecture 13c: June 13, Adversarial Search [RusNor] Sec
CS885 Reinforcement Learning Lecture 13c: June 13, 2018 Adversarial Search [RusNor] Sec. 5.1-5.4 CS885 Spring 2018 Pascal Poupart 1 Outline Minimax search Evaluation functions Alpha-beta pruning CS885
More informationCSC 396 : Introduction to Artificial Intelligence
CSC 396 : Introduction to Artificial Intelligence Exam 1 March 11th - 13th, 2008 Name Signature - Honor Code This is a take-home exam. You may use your book and lecture notes from class. You many not use
More informationChess Algorithms Theory and Practice. Rune Djurhuus Chess Grandmaster / September 23, 2013
Chess Algorithms Theory and Practice Rune Djurhuus Chess Grandmaster runed@ifi.uio.no / runedj@microsoft.com September 23, 2013 1 Content Complexity of a chess game History of computer chess Search trees
More information1 Modified Othello. Assignment 2. Total marks: 100. Out: February 10 Due: March 5 at 14:30
CSE 3402 3.0 Intro. to Concepts of AI Winter 2012 Dept. of Computer Science & Engineering York University Assignment 2 Total marks: 100. Out: February 10 Due: March 5 at 14:30 Note 1: To hand in your report
More informationGame Playing State-of-the-Art CSE 473: Artificial Intelligence Fall Deterministic Games. Zero-Sum Games 10/13/17. Adversarial Search
CSE 473: Artificial Intelligence Fall 2017 Adversarial Search Mini, pruning, Expecti Dieter Fox Based on slides adapted Luke Zettlemoyer, Dan Klein, Pieter Abbeel, Dan Weld, Stuart Russell or Andrew Moore
More informationV. Adamchik Data Structures. Game Trees. Lecture 1. Apr. 05, Plan: 1. Introduction. 2. Game of NIM. 3. Minimax
Game Trees Lecture 1 Apr. 05, 2005 Plan: 1. Introduction 2. Game of NIM 3. Minimax V. Adamchik 2 ü Introduction The search problems we have studied so far assume that the situation is not going to change.
More informationAdversarial Search. Read AIMA Chapter CIS 421/521 - Intro to AI 1
Adversarial Search Read AIMA Chapter 5.2-5.5 CIS 421/521 - Intro to AI 1 Adversarial Search Instructors: Dan Klein and Pieter Abbeel University of California, Berkeley [These slides were created by Dan
More informationGeneralized Game Trees
Generalized Game Trees Richard E. Korf Computer Science Department University of California, Los Angeles Los Angeles, Ca. 90024 Abstract We consider two generalizations of the standard two-player game
More informationAdversarial Search. Robert Platt Northeastern University. Some images and slides are used from: 1. CS188 UC Berkeley 2. RN, AIMA
Adversarial Search Robert Platt Northeastern University Some images and slides are used from: 1. CS188 UC Berkeley 2. RN, AIMA What is adversarial search? Adversarial search: planning used to play a game
More informationMITOCW R9. Rolling Hashes, Amortized Analysis
MITOCW R9. Rolling Hashes, Amortized Analysis The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources
More informationCS 188: Artificial Intelligence
CS 188: Artificial Intelligence Adversarial Search Prof. Scott Niekum The University of Texas at Austin [These slides are based on those of Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley.
More informationArtificial Intelligence
Artificial Intelligence Adversarial Search Instructors: David Suter and Qince Li Course Delivered @ Harbin Institute of Technology [Many slides adapted from those created by Dan Klein and Pieter Abbeel
More informationProgramming an Othello AI Michael An (man4), Evan Liang (liange)
Programming an Othello AI Michael An (man4), Evan Liang (liange) 1 Introduction Othello is a two player board game played on an 8 8 grid. Players take turns placing stones with their assigned color (black
More informationGame-Playing & Adversarial Search
Game-Playing & Adversarial Search This lecture topic: Game-Playing & Adversarial Search (two lectures) Chapter 5.1-5.5 Next lecture topic: Constraint Satisfaction Problems (two lectures) Chapter 6.1-6.4,
More information2 person perfect information
Why Study Games? Games offer: Intellectual Engagement Abstraction Representability Performance Measure Not all games are suitable for AI research. We will restrict ourselves to 2 person perfect information
More informationIntroduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! Due (in dropbox) Tuesday, September 23, 9:34am
Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! Due (in dropbox) Tuesday, September 23, 9:34am The purpose of this assignment is to program some of the search algorithms
More informationLearning to Play like an Othello Master CS 229 Project Report. Shir Aharon, Amanda Chang, Kent Koyanagi
Learning to Play like an Othello Master CS 229 Project Report December 13, 213 1 Abstract This project aims to train a machine to strategically play the game of Othello using machine learning. Prior to
More informationADVERSARIAL SEARCH. Today. Reading. Goals. AIMA Chapter , 5.7,5.8
ADVERSARIAL SEARCH Today Reading AIMA Chapter 5.1-5.5, 5.7,5.8 Goals Introduce adversarial games Minimax as an optimal strategy Alpha-beta pruning (Real-time decisions) 1 Questions to ask Were there any
More informationCS61B Lecture #33. Today: Backtracking searches, game trees (DSIJ, Section 6.5)
CS61B Lecture #33 Today: Backtracking searches, game trees (DSIJ, Section 6.5) Coming Up: Concurrency and synchronization(data Structures, Chapter 10, and Assorted Materials On Java, Chapter 6; Graph Structures:
More informationRandom. Bart Massey Portland State University Open Source Bridge Conf. June 2014
Random Bart Massey Portland State University Open Source Bridge Conf. June 2014 No Clockwork Universe Stuff doesn't always happen the same even when conditions seem pretty identical.
More informationINF September 25, The deadline is postponed to Tuesday, October 3
INF 4130 September 25, 2017 New deadline for mandatory assignment 1: The deadline is postponed to Tuesday, October 3 Today: In the hope that as many as possibble will turn up to the important lecture on
More informationAnnouncements. Homework 1. Project 1. Due tonight at 11:59pm. Due Friday 2/8 at 4:00pm. Electronic HW1 Written HW1
Announcements Homework 1 Due tonight at 11:59pm Project 1 Electronic HW1 Written HW1 Due Friday 2/8 at 4:00pm CS 188: Artificial Intelligence Adversarial Search and Game Trees Instructors: Sergey Levine
More informationGame-Playing & Adversarial Search Alpha-Beta Pruning, etc.
Game-Playing & Adversarial Search Alpha-Beta Pruning, etc. First Lecture Today (Tue 12 Jul) Read Chapter 5.1, 5.2, 5.4 Second Lecture Today (Tue 12 Jul) Read Chapter 5.3 (optional: 5.5+) Next Lecture (Thu
More informationGame Playing AI Class 8 Ch , 5.4.1, 5.5
Game Playing AI Class Ch. 5.-5., 5.4., 5.5 Bookkeeping HW Due 0/, :59pm Remaining CSP questions? Cynthia Matuszek CMSC 6 Based on slides by Marie desjardin, Francisco Iacobelli Today s Class Clear criteria
More informationCOMP219: COMP219: Artificial Intelligence Artificial Intelligence Dr. Annabel Latham Lecture 12: Game Playing Overview Games and Search
COMP19: Artificial Intelligence COMP19: Artificial Intelligence Dr. Annabel Latham Room.05 Ashton Building Department of Computer Science University of Liverpool Lecture 1: Game Playing 1 Overview Last
More informationGame playing. Chapter 5. Chapter 5 1
Game playing Chapter 5 Chapter 5 1 Outline Games Perfect play minimax decisions α β pruning Resource limits and approximate evaluation Games of chance Games of imperfect information Chapter 5 2 Types of
More informationInstability of Scoring Heuristic In games with value exchange, the heuristics are very bumpy Make smoothing assumptions search for "quiesence"
More on games Gaming Complications Instability of Scoring Heuristic In games with value exchange, the heuristics are very bumpy Make smoothing assumptions search for "quiesence" The Horizon Effect No matter
More informationAdversarial Search Aka Games
Adversarial Search Aka Games Chapter 5 Some material adopted from notes by Charles R. Dyer, U of Wisconsin-Madison Overview Game playing State of the art and resources Framework Game trees Minimax Alpha-beta
More informationGame Engineering CS F-24 Board / Strategy Games
Game Engineering CS420-2014F-24 Board / Strategy Games David Galles Department of Computer Science University of San Francisco 24-0: Overview Example games (board splitting, chess, Othello) /Max trees
More informationGame Playing Beyond Minimax. Game Playing Summary So Far. Game Playing Improving Efficiency. Game Playing Minimax using DFS.
Game Playing Summary So Far Game tree describes the possible sequences of play is a graph if we merge together identical states Minimax: utility values assigned to the leaves Values backed up the tree
More informationCPS331 Lecture: Search in Games last revised 2/16/10
CPS331 Lecture: Search in Games last revised 2/16/10 Objectives: 1. To introduce mini-max search 2. To introduce the use of static evaluation functions 3. To introduce alpha-beta pruning Materials: 1.
More informationAdversarial Search. Rob Platt Northeastern University. Some images and slides are used from: AIMA CS188 UC Berkeley
Adversarial Search Rob Platt Northeastern University Some images and slides are used from: AIMA CS188 UC Berkeley What is adversarial search? Adversarial search: planning used to play a game such as chess
More informationMITOCW R11. Principles of Algorithm Design
MITOCW R11. Principles of Algorithm Design The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources
More informationMore Adversarial Search
More Adversarial Search CS151 David Kauchak Fall 2010 http://xkcd.com/761/ Some material borrowed from : Sara Owsley Sood and others Admin Written 2 posted Machine requirements for mancala Most of the
More informationCSE 40171: Artificial Intelligence. Adversarial Search: Game Trees, Alpha-Beta Pruning; Imperfect Decisions
CSE 40171: Artificial Intelligence Adversarial Search: Game Trees, Alpha-Beta Pruning; Imperfect Decisions 30 4-2 4 max min -1-2 4 9??? Image credit: Dan Klein and Pieter Abbeel, UC Berkeley CS 188 31
More informationCSC384: Introduction to Artificial Intelligence. Game Tree Search
CSC384: Introduction to Artificial Intelligence Game Tree Search Chapter 5.1, 5.2, 5.3, 5.6 cover some of the material we cover here. Section 5.6 has an interesting overview of State-of-the-Art game playing
More informationGames and Adversarial Search II
Games and Adversarial Search II Alpha-Beta Pruning (AIMA 5.3) Some slides adapted from Richard Lathrop, USC/ISI, CS 271 Review: The Minimax Rule Idea: Make the best move for MAX assuming that MIN always
More informationMITOCW MITCMS_608S14_ses03_2
MITOCW MITCMS_608S14_ses03_2 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free.
More informationMonte Carlo Tree Search. Simon M. Lucas
Monte Carlo Tree Search Simon M. Lucas Outline MCTS: The Excitement! A tutorial: how it works Important heuristics: RAVE / AMAF Applications to video games and real-time control The Excitement Game playing
More informationMore on games (Ch )
More on games (Ch. 5.4-5.6) Alpha-beta pruning Previously on CSci 4511... We talked about how to modify the minimax algorithm to prune only bad searches (i.e. alpha-beta pruning) This rule of checking
More informationMITOCW Mega-R4. Neural Nets
MITOCW Mega-R4. Neural Nets The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free.
More informationData Structures and Algorithms
Data Structures and Algorithms CS245-2015S-P4 Two Player Games David Galles Department of Computer Science University of San Francisco P4-0: Overview Example games (board splitting, chess, Network) /Max
More informationStitching Panoramas using the GIMP
Stitching Panoramas using the GIMP Reference: http://mailman.linuxchix.org/pipermail/courses/2005-april/001854.html Put your camera in scene mode and place it on a tripod. Shoot a series of photographs,
More informationToday. Types of Game. Games and Search 1/18/2010. COMP210: Artificial Intelligence. Lecture 10. Game playing
COMP10: Artificial Intelligence Lecture 10. Game playing Trevor Bench-Capon Room 15, Ashton Building Today We will look at how search can be applied to playing games Types of Games Perfect play minimax
More informationMidterm Examination. CSCI 561: Artificial Intelligence
Midterm Examination CSCI 561: Artificial Intelligence October 10, 2002 Instructions: 1. Date: 10/10/2002 from 11:00am 12:20 pm 2. Maximum credits/points for this midterm: 100 points (corresponding to 35%
More informationCS 229 Final Project: Using Reinforcement Learning to Play Othello
CS 229 Final Project: Using Reinforcement Learning to Play Othello Kevin Fry Frank Zheng Xianming Li ID: kfry ID: fzheng ID: xmli 16 December 2016 Abstract We built an AI that learned to play Othello.
More informationA Complex Systems Introduction to Go
A Complex Systems Introduction to Go Eric Jankowski CSAAW 10-22-2007 Background image by Juha Nieminen Wei Chi, Go, Baduk... Oldest board game in the world (maybe) Developed by Chinese monks Spread to
More information2048: An Autonomous Solver
2048: An Autonomous Solver Final Project in Introduction to Artificial Intelligence ABSTRACT. Our goal in this project was to create an automatic solver for the wellknown game 2048 and to analyze how different
More informationMore on games (Ch )
More on games (Ch. 5.4-5.6) Announcements Midterm next Tuesday: covers weeks 1-4 (Chapters 1-4) Take the full class period Open book/notes (can use ebook) ^^ No programing/code, internet searches or friends
More informationMITOCW 23. Computational Complexity
MITOCW 23. Computational Complexity The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for
More information