# Administrativia. Assignment 1 due tuesday 9/24/2002 BEFORE midnight. Midterm exam 10/10/2002. CS 561, Sessions 8-9 1

Save this PDF as:

Size: px
Start display at page:

Download "Administrativia. Assignment 1 due tuesday 9/24/2002 BEFORE midnight. Midterm exam 10/10/2002. CS 561, Sessions 8-9 1"

## Transcription

1 Administrativia Assignment 1 due tuesday 9/24/2002 BEFORE midnight Midterm exam 10/10/2002 CS 561, Sessions 8-9 1

2 Last time: search strategies Uninformed: Use only information available in the problem formulation Breadth-first Uniform-cost Depth-first Depth-limited Iterative deepening Informed: Use heuristics to guide the search Best first: Greedy search queue first nodes that maximize heuristic desirability based on estimated path cost from current node to goal; A* search queue first nodes that maximize sum of path cost so far and estimated path cost to goal. Iterative improvement keep no memory of path; work on a single current state and iteratively improve its value. Hill climbing select as new current state the successor state which maximizes value. Simulated annealing refinement on hill climbing by which bad moves are permitted, but with decreasing size and frequency. Will find global extremum. CS 561, Sessions 8-9 2

3 Exercise: Search Algorithms The following figure shows a portion of a partially expanded search tree. Each arc between nodes is labeled with the cost of the corresponding operator, and the leaves are labeled with the value of the heuristic function, h. Which node (use the node s letter) will be expanded next by each of the following search algorithms? (a) Depth-first search (b) Breadth-first search (c) Uniform-cost search (d) Greedy search (e) A* search B h=14 C D 6 h= h=15 E F G H A h=10 h=12 h=8 h=10 h=20 CS 561, Sessions 8-9 3

4 Depth-first search Node queue: initialization # state depth path cost parent # 1 A CS 561, Sessions 8-9 4

5 Depth-first search Node queue: add successors to queue front; empty queue from top # state depth path cost parent # 2 B C D A CS 561, Sessions 8-9 5

6 Depth-first search Node queue: add successors to queue front; empty queue from top # state depth path cost parent # 5 E F G H B C D A CS 561, Sessions 8-9 6

7 Depth-first search Node queue: add successors to queue front; empty queue from top # state depth path cost parent # 5 E F G H B C D A CS 561, Sessions 8-9 7

8 Exercise: Search Algorithms The following figure shows a portion of a partially expanded search tree. Each arc between nodes is labeled with the cost of the corresponding operator, and the leaves are labeled with the value of the heuristic function, h. Which node (use the node s letter) will be expanded next by each of the following search algorithms? (a) Depth-first search (b) Breadth-first search (c) Uniform-cost search (d) Greedy search (e) A* search B h=14 C D 6 h= h=15 E F G H A h=10 h=12 h=8 h=10 h=20 CS 561, Sessions 8-9 8

9 Breadth-first search Node queue: initialization # state depth path cost parent # 1 A CS 561, Sessions 8-9 9

10 Breadth-first search Node queue: add successors to queue end; empty queue from top # state depth path cost parent # 1 A B C D CS 561, Sessions

11 Breadth-first search Node queue: add successors to queue end; empty queue from top # state depth path cost parent # 1 A B C D E F G H CS 561, Sessions

12 Breadth-first search Node queue: add successors to queue end; empty queue from top # state depth path cost parent # 1 A B C D E F G H CS 561, Sessions

13 Exercise: Search Algorithms The following figure shows a portion of a partially expanded search tree. Each arc between nodes is labeled with the cost of the corresponding operator, and the leaves are labeled with the value of the heuristic function, h. Which node (use the node s letter) will be expanded next by each of the following search algorithms? (a) Depth-first search (b) Breadth-first search (c) Uniform-cost search (d) Greedy search (e) A* search B h=14 C D 6 h= h=15 E F G H A h=10 h=12 h=8 h=10 h=20 CS 561, Sessions

14 Uniform-cost search Node queue: initialization # state depth path cost parent # 1 A CS 561, Sessions

15 Uniform-cost search Node queue: add successors to queue so that entire queue is sorted by path cost so far; empty queue from top # state depth path cost parent # 1 A B D C CS 561, Sessions

16 Uniform-cost search Node queue: add successors to queue so that entire queue is sorted by path cost so far; empty queue from top # state depth path cost parent # 1 A B D E F G H C CS 561, Sessions

17 Uniform-cost search Node queue: add successors to queue so that entire queue is sorted by path cost so far; empty queue from top # state depth path cost parent # 1 A B D E F G H C CS 561, Sessions

18 Exercise: Search Algorithms The following figure shows a portion of a partially expanded search tree. Each arc between nodes is labeled with the cost of the corresponding operator, and the leaves are labeled with the value of the heuristic function, h. Which node (use the node s letter) will be expanded next by each of the following search algorithms? (a) Depth-first search (b) Breadth-first search (c) Uniform-cost search (d) Greedy search (e) A* search B h=14 C D 6 h= h=15 E F G H A h=10 h=12 h=8 h=10 h=20 CS 561, Sessions

19 Greedy search Node queue: initialization # state depth path cost total parent # cost to goal cost 1 A CS 561, Sessions

20 Greedy search Node queue: Add successors to queue, sorted by cost to goal. # state depth path cost total parent # cost to goal cost 1 A B D C Sort key CS 561, Sessions

21 Greedy search Node queue: Add successors to queue, sorted by cost to goal. # state depth path cost total parent # cost to goal cost 1 A B G E H F D C CS 561, Sessions

22 Greedy search Node queue: Add successors to queue, sorted by cost to goal. # state depth path cost total parent # cost to goal cost 1 A B G E H F D C CS 561, Sessions

23 Exercise: Search Algorithms The following figure shows a portion of a partially expanded search tree. Each arc between nodes is labeled with the cost of the corresponding operator, and the leaves are labeled with the value of the heuristic function, h. Which node (use the node s letter) will be expanded next by each of the following search algorithms? (a) Depth-first search (b) Breadth-first search (c) Uniform-cost search (d) Greedy search (e) A* search B h=14 C D 6 h= h=15 E F G H A h=10 h=12 h=8 h=10 h=20 CS 561, Sessions

24 A* search Node queue: initialization # state depth path cost total parent # cost to goal cost 1 A CS 561, Sessions

25 A* search Node queue: Add successors to queue, sorted by total cost. # state depth path cost total parent # cost to goal cost 1 A B D C Sort key CS 561, Sessions

26 A* search Node queue: Add successors to queue front, sorted by total cost. # state depth path cost total parent # cost to goal cost 1 A B G E H D F C CS 561, Sessions

27 A* search Node queue: Add successors to queue front, sorted by total cost. # state depth path cost total parent # cost to goal cost 1 A B G E H D F C CS 561, Sessions

28 Exercise: Search Algorithms The following figure shows a portion of a partially expanded search tree. Each arc between nodes is labeled with the cost of the corresponding operator, and the leaves are labeled with the value of the heuristic function, h. Which node (use the node s letter) will be expanded next by each of the following search algorithms? (a) Depth-first search (b) Breadth-first search (c) Uniform-cost search (d) Greedy search (e) A* search B h=14 C D 6 h= h=15 E F G H A h=10 h=12 h=8 h=10 h=20 CS 561, Sessions

29 Last time: Simulated annealing algorithm Idea: Escape local extrema by allowing bad moves, but gradually decrease their size and frequency. - Note: goal here is to maximize E. CS 561, Sessions

30 Last time: Simulated annealing algorithm Idea: Escape local extrema by allowing bad moves, but gradually decrease their size and frequency. < - - Algorithm when goal is to minimize E. CS 561, Sessions

31 This time: Outline Game playing The minimax algorithm Resource limitations alpha-beta pruning Elements of chance CS 561, Sessions

32 What kind of games? Abstraction: To describe a game we must capture every relevant aspect of the game. Such as: Chess Tic-tac-toe Accessible environments: Such games are characterized by perfect information Search: game-playing then consists of a search through possible game positions Unpredictable opponent: introduces uncertainty thus gameplaying must deal with contingency problems CS 561, Sessions

33 Searching for the next move Complexity: many games have a huge search space Chess: b = 35, m=100 nodes = if each node takes about 1 ns to explore then each move will take about millennia to calculate. Resource (e.g., time, memory) limit: optimal solution not feasible/possible, thus must approximate 1. Pruning: makes the search more efficient by discarding portions of the search tree that cannot improve quality result. 2. Evaluation functions: heuristics to evaluate utility of a state without exhaustive search. CS 561, Sessions

34 Two-player games A game formulated as a search problem: Initial state:? Operators:? Terminal state:? Utility function:? CS 561, Sessions

35 Two-player games A game formulated as a search problem: Initial state: board position and turn Operators: definition of legal moves Terminal state: conditions for when game is over Utility function: a numeric value that describes the outcome of the game. E.g., -1, 0, 1 for loss, draw, win. (AKA payoff function) CS 561, Sessions

36 Game vs. search problem CS 561, Sessions

37 Example: Tic-Tac-Toe CS 561, Sessions

38 Type of games CS 561, Sessions

39 The minimax algorithm Perfect play for deterministic environments with perfect information Basic idea: choose move with highest minimax value = best achievable payoff against best play Algorithm: 1. Generate game tree completely 2. Determine utility of each terminal state 3. Propagate the utility values upward in the three by applying MIN and MAX operators on the nodes in the current level 4. At the root node use minimax decision to select the move with the max (of the min) utility value Steps 2 and 3 in the algorithm assume that the opponent will play perfectly. CS 561, Sessions

40 minimax = maximum of the minimum 1 st ply 2 nd ply CS 561, Sessions

41 Minimax: Recursive implementation Complete:? Optimal:? Time complexity:? Space complexity:? CS 561, Sessions

42 Minimax: Recursive implementation Complete: Yes, for finite state-space Optimal: Yes Time complexity: O(b m ) Space complexity: O(bm) (= DFS Does not keep all nodes in memory.) CS 561, Sessions

43 1. Move evaluation without complete search Complete search is too complex and impractical Evaluation function: evaluates value of state using heuristics and cuts off search New MINIMAX: CUTOFF-TEST: cutoff test to replace the termination condition (e.g., deadline, depth-limit, etc.) EVAL: evaluation function to replace utility function (e.g., number of chess pieces taken) CS 561, Sessions

44 Evaluation functions Weighted linear evaluation function: to combine n heuristics f = w 1 f 1 + w 2 f w n f n E.g, w s could be the values of pieces (1 for prawn, 3 for bishop etc.) f s could be the number of type of pieces on the board CS 561, Sessions

45 Note: exact values do not matter CS 561, Sessions

46 Minimax with cutoff: viable algorithm? Assume we have 100 seconds, evaluate 10 4 nodes/s; can evaluate 10 6 nodes/move CS 561, Sessions

47 2. α-β pruning: search cutoff Pruning: eliminating a branch of the search tree from consideration without exhaustive examination of each node α-β pruning: the basic idea is to prune portions of the search tree that cannot improve the utility value of the max or min node, by just considering the values of nodes seen so far. Does it work? Yes, in roughly cuts the branching factor from b to b resulting in double as far look-ahead than pure minimax CS 561, Sessions

48 α-β pruning: example MAX 6 MIN CS 561, Sessions

49 α-β pruning: example MAX 6 MIN CS 561, Sessions

50 α-β pruning: example MAX 6 MIN CS 561, Sessions

51 α-β pruning: example MAX 6 Selected move MIN CS 561, Sessions

52 α-β pruning: general principle Player Opponent m α If α > v then MAX will chose m so prune tree under n Player Similar for β for MIN Opponent n v CS 561, Sessions

53 Properties of α-β CS 561, Sessions

54 The α-β algorithm CS 561, Sessions

55 More on the α-β algorithm Same basic idea as minimax, but prune (cut away) branches of the tree that we know will not contain the solution. CS 561, Sessions

56 More on the α-β algorithm: start from Minimax CS 561, Sessions

57 Remember: Minimax: Recursive implementation Complete: Yes, for finite state-space Optimal: Yes Time complexity: O(b m ) Space complexity: O(bm) (= DFS Does not keep all nodes in memory.) CS 561, Sessions

58 More on the α-β algorithm Same basic idea as minimax, but prune (cut away) branches of the tree that we know will not contain the solution. Because minimax is depth-first, let s consider nodes along a given path in the tree. Then, as we go along this path, we keep track of: α : Best choice so far for MAX β : Best choice so far for MIN CS 561, Sessions

59 More on the α-β algorithm: start from Minimax Note: These are both Local variables. At the Start of the algorithm, We initialize them to α = - and β = + CS 561, Sessions

60 More on the α-β algorithm In Min-Value: MAX α = - β = + MIN Max-Value loops over these MAX Min-Value loops over these α = - β = 5 α = - β = 5 α = - β = 5 CS 561, Sessions

61 More on the α-β algorithm In Max-Value: MAX α = - β = + MIN Max-Value loops over these α = 5 β = + MAX α = - β = 5 α = - β = 5 α = - β = 5 CS 561, Sessions

62 More on the α-β algorithm In Min-Value: MAX MIN α = 5 β = + α = - β = + MAX Min-Value loops over these α = - β = 5 α = - β = 5 α = - β = 5 α = 5 β = 2 End loop and return 5 CS 561, Sessions

63 More on the α-β algorithm In Max-Value: MAX α = - β = + MIN Max-Value loops over these α = 5 β = + α = 5 β = + MAX α = - β = 5 α = - β = 5 α = - β = 5 α = 5 β = 2 End loop and return 5 CS 561, Sessions

64 Another way to understand the algorithm From: For a given node N, α is the value of N to MAX β is the value of N to MIN CS 561, Sessions

65 Example CS 561, Sessions

66 α-β algorithm: CS 561, Sessions

67 Solution NODE TYPE ALPHA BETA SCORE A Max -I +I B Min -I +I C Max -I +I D Min -I +I E Max D Min -I 10 F Max D Min -I C Max 10 +I G Min 10 +I H Max G Min C Max 10 +I 10 B Min -I 10 J Max -I 10 K Min -I 10 L Max K Min -I NODE TYPE ALPHA BETA SCORE J Max B Min -I A Max 10 +I Q Min 10 +I R Max 10 +I S Min 10 +I T Max S Min R Max 10 +I V Min 10 +I W Max V Min R Max 10 +I 10 Q Min A Max CS 561, Sessions

68 State-of-the-art for deterministic games CS 561, Sessions

69 Nondeterministic games CS 561, Sessions

70 Algorithm for nondeterministic games CS 561, Sessions

71 Remember: Minimax algorithm CS 561, Sessions

72 Nondeterministic games: the element of chance expectimax and expectimin, expected values over all possible outcomes CHANCE? ?? CS 561, Sessions

73 Nondeterministic games: the element of chance Expectimax CHANCE 4 = 0.5* * Expectimin CS 561, Sessions

74 Evaluation functions: Exact values DO matter Order-preserving transformation do not necessarily behave the same! CS 561, Sessions

75 State-of-the-art for nondeterministic games CS 561, Sessions

76 Summary CS 561, Sessions

77 Exercise: Game Playing Consider the following game tree in which the evaluation function values are shown below each leaf node. Assume that the root node corresponds to the maximizing player. Assume the search always visits children left-to-right. (a) Compute the backed-up values computed by the minimax algorithm. Show your answer by writing values at the appropriate nodes in the above tree. (b) Compute the backed-up values computed by the alpha-beta algorithm. What nodes will not be examined by the alpha-beta pruning algorithm? (c) What move should Max choose once the values have been backed-up all the way? B E F G H I J K C L M N O P Q R S T U V W X Y A D Max Min Max Min CS 561, Sessions

### COMP-424: Artificial intelligence. Lecture 7: Game Playing

COMP 424 - Artificial Intelligence Lecture 7: Game Playing Instructor: Joelle Pineau (jpineau@cs.mcgill.ca) Class web page: www.cs.mcgill.ca/~jpineau/comp424 Unless otherwise noted, all material posted

### Game-Playing & Adversarial Search MiniMax, Search Cut-off, Heuristic Evaluation

Game-Playing & Adversarial Search MiniMax, Search Cut-off, Heuristic Evaluation This lecture topic: Game-Playing & Adversarial Search (MiniMax, Search Cut-off, Heuristic Evaluation) Read Chapter 5.1-5.2,

### AI and computer game playing. Artificial Intelligence. Partial game tree for Tic-Tac-Toe. Game tree search. Minimax Algorithm

AI and computer game playing Artificial Intelligence Introduction to game-playing search imax algorithm, evaluation functions, alpha-beta pruning, advanced techniques Game playing (especially chess and

### Game playing. Chapter 6. Chapter 6 1

Game playing Chapter 6 Chapter 6 1 Outline Games Perfect play minimax decisions α β pruning Resource limits and approximate evaluation Games of chance Games of imperfect information Chapter 6 2 Games vs.

### CS91.543 MidTerm Exam 4/1/2004 Name: KEY. Page Max Score 1 18 2 11 3 30 4 15 5 45 6 20 Total 139

CS91.543 MidTerm Exam 4/1/2004 Name: KEY Page Max Score 1 18 2 11 3 30 4 15 5 45 6 20 Total 139 % INTRODUCTION, AI HISTORY AND AGENTS 1. [4 pts. ea.] Briefly describe the following important AI programs.

### Chess Algorithms Theory and Practice. Rune Djurhuus Chess Grandmaster runed@ifi.uio.no / runedj@microsoft.com October 3, 2012

Chess Algorithms Theory and Practice Rune Djurhuus Chess Grandmaster runed@ifi.uio.no / runedj@microsoft.com October 3, 2012 1 Content Complexity of a chess game History of computer chess Search trees

### AI: A Modern Approach, Chpts. 3-4 Russell and Norvig

AI: A Modern Approach, Chpts. 3-4 Russell and Norvig Sequential Decision Making in Robotics CS 599 Geoffrey Hollinger and Gaurav Sukhatme (Some slide content from Stuart Russell and HweeTou Ng) Spring,

### Adversarial Search and Game- Playing. C H A P T E R 5 C M P T 3 1 0 : S u m m e r 2 0 1 1 O l i v e r S c h u l t e

Adversarial Search and Game- Playing C H A P T E R 5 C M P T 3 1 0 : S u m m e r 2 0 1 1 O l i v e r S c h u l t e Environment Type Discussed In this Lecture 2 Fully Observable yes Turn-taking: Semi-dynamic

### Measuring the Performance of an Agent

25 Measuring the Performance of an Agent The rational agent that we are aiming at should be successful in the task it is performing To assess the success we need to have a performance measure What is rational

### Chess Algorithms Theory and Practice. Rune Djurhuus Chess Grandmaster runed@ifi.uio.no / runedj@microsoft.com September 23, 2014

Chess Algorithms Theory and Practice Rune Djurhuus Chess Grandmaster runed@ifi.uio.no / runedj@microsoft.com September 23, 2014 1 Content Complexity of a chess game Solving chess, is it a myth? History

### Implementation of a Chess Playing Artificial. Intelligence. Sean Stanek.

Implementation of a Chess Playing Artificial Intelligence Sean Stanek vulture@cs.iastate.edu Overview Chess has always been a hobby of mine, and so have computers. In general, I like creating computer

### Search methods motivation 1

Suppose you are an independent software developer, and your software package Windows Defeater R, widely available on sourceforge under a GNU GPL license, is getting an international attention and acclaim.

### Monte-Carlo Methods. Timo Nolle

Monte-Carlo Methods Timo Nolle Outline Minimax Expected Outcome Monte-Carlo Monte-Carlo Simulation Monte-Carlo Tree Search UCT AMAF RAVE MC-RAVE UCT-RAVE Playing Games Go, Bridge, Scrabble Problems with

### Techniques to Parallelize Chess Matthew Guidry, Charles McClendon

Techniques to Parallelize Chess Matthew Guidry, Charles McClendon Abstract Computer chess has, over the years, served as a metric for showing the progress of computer science. It was a momentous occasion

### Problem solving and search

Problem solving and search hapter 3 hapter 3 1 eminders ssignment 0 due 5pm today ssignment 1 posted, due 2/9 ection 105 will move to 9-10am starting next week hapter 3 2 Outline Problem-solving agents

### Acknowledgements I would like to thank both Dr. Carsten Furhmann, and Dr. Daniel Richardson for providing me with wonderful supervision throughout my

Abstract Game orientated application programming interfaces (API), built using Java, are intended to ease the development of Java games, on multiple platforms. Existing Java game APIs, tend to focus on

### Laboratory work in AI: First steps in Poker Playing Agents and Opponent Modeling

Laboratory work in AI: First steps in Poker Playing Agents and Opponent Modeling Avram Golbert 01574669 agolbert@gmail.com Abstract: While Artificial Intelligence research has shown great success in deterministic

### Sequential lmove Games. Using Backward Induction (Rollback) to Find Equilibrium

Sequential lmove Games Using Backward Induction (Rollback) to Find Equilibrium Sequential Move Class Game: Century Mark Played by fixed pairs of players taking turns. At each turn, each player chooses

### 10/13/11 Solution: Minimax with Alpha-Beta Pruning and Progressive Deepening

10/1/11 Solution: Minimax with Alpha-Beta Pruning and Progressive Deepening When answering the question in Parts C.1 and C. below, assume you have already applied minimax with alpha-beta pruning and progressive

### Mastering Quoridor. Lisa Glendenning THESIS. Submitted in Partial Fulfillment of the Requirements for the Degree of

Mastering Quoridor by Lisa Glendenning THESIS Submitted in Partial Fulfillment of the Requirements for the Degree of Bachelor of Science Computer Science The University of New Mexico Albuquerque, New Mexico

### Roulette Wheel Selection Game Player

Macalester College DigitalCommons@Macalester College Honors Projects Mathematics, Statistics, and Computer Science 5-1-2013 Roulette Wheel Selection Game Player Scott Tong Macalester College, stong101@gmail.com

### G52APT AI Programming Techniques

G52APT AI Programming Techniques Lecture 8: Depth first search in Prolog Brian Logan School of Computer Science bsl@cs.nott.ac.uk Outline of this lecture recap: definition of a search problem state spaces

### Smart Graphics: Methoden 3 Suche, Constraints

Smart Graphics: Methoden 3 Suche, Constraints Vorlesung Smart Graphics LMU München Medieninformatik Butz/Boring Smart Graphics SS2007 Methoden: Suche 2 Folie 1 Themen heute Suchverfahren Hillclimbing Simulated

### Course Outline Department of Computing Science Faculty of Science. COMP 3710-3 Applied Artificial Intelligence (3,1,0) Fall 2015

Course Outline Department of Computing Science Faculty of Science COMP 710 - Applied Artificial Intelligence (,1,0) Fall 2015 Instructor: Office: Phone/Voice Mail: E-Mail: Course Description : Students

### Binary Heaps * * * * * * * / / \ / \ / \ / \ / \ * * * * * * * * * * * / / \ / \ / / \ / \ * * * * * * * * * *

Binary Heaps A binary heap is another data structure. It implements a priority queue. Priority Queue has the following operations: isempty add (with priority) remove (highest priority) peek (at highest

### Teaching Introductory Artificial Intelligence with Pac-Man

Teaching Introductory Artificial Intelligence with Pac-Man John DeNero and Dan Klein Computer Science Division University of California, Berkeley {denero, klein}@cs.berkeley.edu Abstract The projects that

### Analysis of Algorithms I: Binary Search Trees

Analysis of Algorithms I: Binary Search Trees Xi Chen Columbia University Hash table: A data structure that maintains a subset of keys from a universe set U = {0, 1,..., p 1} and supports all three dictionary

### Minimax Strategies. Minimax Strategies. Zero Sum Games. Why Zero Sum Games? An Example. An Example

Everyone who has studied a game like poker knows the importance of mixing strategies With a bad hand, you often fold But you must bluff sometimes Lectures in Microeconomics-Charles W Upton Zero Sum Games

### 6.231 Dynamic Programming and Stochastic Control Fall 2008

MIT OpenCourseWare http://ocw.mit.edu 6.231 Dynamic Programming and Stochastic Control Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 6.231

### Decision Trees from large Databases: SLIQ

Decision Trees from large Databases: SLIQ C4.5 often iterates over the training set How often? If the training set does not fit into main memory, swapping makes C4.5 unpractical! SLIQ: Sort the values

### The Taxman Game. Robert K. Moniot September 5, 2003

The Taxman Game Robert K. Moniot September 5, 2003 1 Introduction Want to know how to beat the taxman? Legally, that is? Read on, and we will explore this cute little mathematical game. The taxman game

Load Balancing Backtracking, branch & bound and alpha-beta pruning: how to assign work to idle processes without much communication? Additionally for alpha-beta pruning: implementing the young-brothers-wait

### Midterm Advanced Economic Theory, ECO326F1H Marcin Pęski February, 2015

Midterm Advanced Economic Theory, ECO326F1H Marcin Pęski February, 2015 There are three questions with total worth of 100 points. Read the questions carefully. You must give a supporting argument and an

### Parallelizing a Simple Chess Program

Parallelizing a Simple Chess Program Brian Greskamp ECE412, Fall 2003 E-mail: greskamp@crhc.uiuc.edu Abstract In a closely watched match in 1997, the parallel chess supercomputer Deep Blue defeated then

### Monte Carlo Tree Search and Opponent Modeling through Player Clustering in no-limit Texas Hold em Poker

Monte Carlo Tree Search and Opponent Modeling through Player Clustering in no-limit Texas Hold em Poker A.A.J. van der Kleij August 2010 Master thesis Artificial Intelligence University of Groningen, The

### Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, 2010. Connect Four

March 9, 2010 is a tic-tac-toe like game in which two players drop discs into a 7x6 board. The first player to get four in a row (either vertically, horizontally, or diagonally) wins. The game was first

### Learning Example. Machine learning and our focus. Another Example. An example: data (loan application) The data and the goal

Learning Example Chapter 18: Learning from Examples 22c:145 An emergency room in a hospital measures 17 variables (e.g., blood pressure, age, etc) of newly admitted patients. A decision is needed: whether

### Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

### Analysis of Algorithms I: Optimal Binary Search Trees

Analysis of Algorithms I: Optimal Binary Search Trees Xi Chen Columbia University Given a set of n keys K = {k 1,..., k n } in sorted order: k 1 < k 2 < < k n we wish to build an optimal binary search

### A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

Abstract A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Fang He and Rong Qu The Automated Scheduling, Optimisation and Planning (ASAP) Group School of Computer Science,

### Heap. Binary Search Tree. Heaps VS BSTs. < el el. Difference between a heap and a BST:

Heaps VS BSTs Difference between a heap and a BST: Heap el Binary Search Tree el el el < el el Perfectly balanced at all times Immediate access to maximal element Easy to code Does not provide efficient

### 6.254 : Game Theory with Engineering Applications Lecture 2: Strategic Form Games

6.254 : Game Theory with Engineering Applications Lecture 2: Strategic Form Games Asu Ozdaglar MIT February 4, 2009 1 Introduction Outline Decisions, utility maximization Strategic form games Best responses

### Gerry Hobbs, Department of Statistics, West Virginia University

Decision Trees as a Predictive Modeling Method Gerry Hobbs, Department of Statistics, West Virginia University Abstract Predictive modeling has become an important area of interest in tasks such as credit

### Game Theory 1. Introduction

Game Theory 1. Introduction Dmitry Potapov CERN What is Game Theory? Game theory is about interactions among agents that are self-interested I ll use agent and player synonymously Self-interested: Each

### Generalized Widening

Generalized Widening Tristan Cazenave Abstract. We present a new threat based search algorithm that outperforms other threat based search algorithms and selective knowledge-based for open life and death

### Artificial Intelligence: Search Methods. D. Kopec and T.A. Marsland

Artificial Intelligence: Search Methods D. Kopec and T.A. Marsland Introduction Search is inherent to the problems and methods of artificial intelligence (AI). That is because AI problems are intrinsically

### Informed search algorithms. Chapter 4, Sections 1 2 1

Informed search algorithms Chapter 4, Sections 1 2 Chapter 4, Sections 1 2 1 Outline Best-first search A search Heuristics Chapter 4, Sections 1 2 2 Review: Tree search function Tree-Search( problem, fringe)

### CS 2302 Data Structures Spring 2015

1. General Information Instructor: CS 2302 Data Structures Spring 2015 Olac Fuentes Email: ofuentes@utep.edu Web: www.cs.utep.edu/ofuentes Office hours: Tuesdays and Thursdays 2:00-3:30, or by appointment,

### 20-30 minutes, can be used within a longer activity

Locked-in 1 Age group successfully used with: Abilities assumed: Time: Size of group: 11 adult None 20-30 minutes, can be used within a longer activity anything from 2 to hundreds Focus What is an algorithm?

### State space representation. General scheme of searching the state space. Blind and informed strategies. Short review

Suppose you are an independent software developer, and your software package Windows Defeater R, widely available on sourceforge under a GNU GPL license, is getting an international attention and acclaim.

### Home Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit

Data Structures Page 1 of 24 A.1. Arrays (Vectors) n-element vector start address + ielementsize 0 +1 +2 +3 +4... +n-1 start address continuous memory block static, if size is known at compile time dynamic,

### Finding Liveness Errors with ACO

Hong Kong, June 1-6, 2008 1 / 24 Finding Liveness Errors with ACO Francisco Chicano and Enrique Alba Motivation Motivation Nowadays software is very complex An error in a software system can imply the

### Local Search. 22c:145 Artificial Intelligence. Local Search: General Principle. Hill-climbing search. Local Search. Intro example: N-queens

So far: methods that systematically explore the search space, possibly using principled pruning (e.g., A*) c:145 Artificial Intelligence Local Search Readings Textbook: Chapter 4:1 and 6:4 Current best

### Decision Trees and Networks

Lecture 21: Uncertainty 6 Today s Lecture Victor R. Lesser CMPSCI 683 Fall 2010 Decision Trees and Networks Decision Trees A decision tree is an explicit representation of all the possible scenarios from

### 1 2-3 Trees: The Basics

CS10: Data Structures and Object-Oriented Design (Fall 2013) November 1, 2013: 2-3 Trees: Inserting and Deleting Scribes: CS 10 Teaching Team Lecture Summary In this class, we investigated 2-3 Trees in

### FIRST EXPERIMENTAL RESULTS OF PROBCUT APPLIED TO CHESS

FIRST EXPERIMENTAL RESULTS OF PROBCUT APPLIED TO CHESS A.X. Jiang Department of Computer Science, University of British Columbia, Vancouver, Canada albertjiang@yahoo.com M. Buro Department of Computing

### ECE 250 Data Structures and Algorithms MIDTERM EXAMINATION 2008-10-23/5:15-6:45 REC-200, EVI-350, RCH-106, HH-139

ECE 250 Data Structures and Algorithms MIDTERM EXAMINATION 2008-10-23/5:15-6:45 REC-200, EVI-350, RCH-106, HH-139 Instructions: No aides. Turn off all electronic media and store them under your desk. If

### Creating a NL Texas Hold em Bot

Creating a NL Texas Hold em Bot Introduction Poker is an easy game to learn by very tough to master. One of the things that is hard to do is controlling emotions. Due to frustration, many have made the

### Perspective (Draft 8/5/2015)

Perspective (Draft 8/5/2015) Copyright 2015 (c) Minion Games, LLC Design by: Andrew Voigt www.facebook.com/andrewrvoigt Tweet questions to: @gamestothetable 2 4 Players, Solitaire 5 15 Minutes Content:

### Chapter 11 Monte Carlo Simulation

Chapter 11 Monte Carlo Simulation 11.1 Introduction The basic idea of simulation is to build an experimental device, or simulator, that will act like (simulate) the system of interest in certain important

### Dynamic programming formulation

1.24 Lecture 14 Dynamic programming: Job scheduling Dynamic programming formulation To formulate a problem as a dynamic program: Sort by a criterion that will allow infeasible combinations to be eli minated

### CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team

CS104: Data Structures and Object-Oriented Design (Fall 2013) October 24, 2013: Priority Queues Scribes: CS 104 Teaching Team Lecture Summary In this lecture, we learned about the ADT Priority Queue. A

### Learning to Play Board Games using Temporal Difference Methods

Learning to Play Board Games using Temporal Difference Methods Marco A. Wiering Jan Peter Patist Henk Mannen institute of information and computing sciences, utrecht university technical report UU-CS-2005-048

### Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

### Artificial Intelligence Methods (G52AIM)

Artificial Intelligence Methods (G52AIM) Dr Rong Qu rxq@cs.nott.ac.uk Constructive Heuristic Methods Constructive Heuristics method Start from an empty solution Repeatedly, extend the current solution

### Optimization in ICT and Physical Systems

27. OKTOBER 2010 in ICT and Physical Systems @ Aarhus University, Course outline, formal stuff Prerequisite Lectures Homework Textbook, Homepage and CampusNet, http://kurser.iha.dk/ee-ict-master/tiopti/

### Fast nondeterministic recognition of context-free languages using two queues

Fast nondeterministic recognition of context-free languages using two queues Burton Rosenberg University of Miami Abstract We show how to accept a context-free language nondeterministically in O( n log

### Text Analytics Illustrated with a Simple Data Set

CSC 594 Text Mining More on SAS Enterprise Miner Text Analytics Illustrated with a Simple Data Set This demonstration illustrates some text analytic results using a simple data set that is designed to

### Optimizing Description Logic Subsumption

Topics in Knowledge Representation and Reasoning Optimizing Description Logic Subsumption Maryam Fazel-Zarandi Company Department of Computer Science University of Toronto Outline Introduction Optimization

### CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92.

Name: Email ID: CSE 326, Data Structures Section: Sample Final Exam Instructions: The exam is closed book, closed notes. Unless otherwise stated, N denotes the number of elements in the data structure

### CSE 326: Data Structures B-Trees and B+ Trees

Announcements (4//08) CSE 26: Data Structures B-Trees and B+ Trees Brian Curless Spring 2008 Midterm on Friday Special office hour: 4:-5: Thursday in Jaech Gallery (6 th floor of CSE building) This is

### Classification/Decision Trees (II)

Classification/Decision Trees (II) Department of Statistics The Pennsylvania State University Email: jiali@stat.psu.edu Right Sized Trees Let the expected misclassification rate of a tree T be R (T ).

### Near Optimal Solutions

Near Optimal Solutions Many important optimization problems are lacking efficient solutions. NP-Complete problems unlikely to have polynomial time solutions. Good heuristics important for such problems.

### Lecture 10: Regression Trees

Lecture 10: Regression Trees 36-350: Data Mining October 11, 2006 Reading: Textbook, sections 5.2 and 10.5. The next three lectures are going to be about a particular kind of nonlinear predictive model,

### Intro. to the Divide-and-Conquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4

Intro. to the Divide-and-Conquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4 I. Algorithm Design and Divide-and-Conquer There are various strategies we

### Intelligent Agents. Based on An Introduction to MultiAgent Systems and slides by Michael Wooldridge

Intelligent Agents Based on An Introduction to MultiAgent Systems and slides by Michael Wooldridge Denition of an Agent An agent is a computer system capable of autonomous action in some environment, in

### Equilibrium computation: Part 1

Equilibrium computation: Part 1 Nicola Gatti 1 Troels Bjerre Sorensen 2 1 Politecnico di Milano, Italy 2 Duke University, USA Nicola Gatti and Troels Bjerre Sørensen ( Politecnico di Milano, Italy, Equilibrium

### Balanced Binary Search Tree

AVL Trees / Slide 1 Balanced Binary Search Tree Worst case height of binary search tree: N-1 Insertion, deletion can be O(N) in the worst case We want a tree with small height Height of a binary tree with

### Backward Induction and Subgame Perfection

Backward Induction and Subgame Perfection In extensive-form games, we can have a Nash equilibrium profile of strategies where player 2 s strategy is a best response to player 1 s strategy, but where she

### Midterm exam PS 30 November 2005

Midterm exam PS 30 November 2005 Name: TA: Section number: This is a closed book exam. The only thing you can take into this exam is yourself and writing instruments. Everything you write should be your

### Games Manipulators Play

Games Manipulators Play Umberto Grandi Department of Mathematics University of Padova 23 January 2014 [Joint work with Edith Elkind, Francesca Rossi and Arkadii Slinko] Gibbard-Satterthwaite Theorem All

### Solutions for Practice problems on proofs

Solutions for Practice problems on proofs Definition: (even) An integer n Z is even if and only if n = 2m for some number m Z. Definition: (odd) An integer n Z is odd if and only if n = 2m + 1 for some

### A Fast Algorithm For Finding Hamilton Cycles

A Fast Algorithm For Finding Hamilton Cycles by Andrew Chalaturnyk A thesis presented to the University of Manitoba in partial fulfillment of the requirements for the degree of Masters of Science in Computer

### Why Machine Learning and Games? Machine Learning in Video Games. Machine Learning in Online Games. The Path of Go Conclusions

Why Machine Learning and Games? Machine Learning in Video Games Drivatars Reinforcement Learning Machine Learning in Online Games TrueSkill Halo 3 The Path of Go Conclusions Test Beds for Machine Learning

### Data Mining Techniques Chapter 6: Decision Trees

Data Mining Techniques Chapter 6: Decision Trees What is a classification decision tree?.......................................... 2 Visualizing decision trees...................................................

### Game theory and AI: a unified approach to poker games

Game theory and AI: a unified approach to poker games Thesis for graduation as Master of Artificial Intelligence University of Amsterdam Frans Oliehoek 2 September 2005 ii Abstract This thesis focuses

### Decision Making under Uncertainty

6.825 Techniques in Artificial Intelligence Decision Making under Uncertainty How to make one decision in the face of uncertainty Lecture 19 1 In the next two lectures, we ll look at the question of how

### We employed reinforcement learning, with a goal of maximizing the expected value. Our bot learns to play better by repeated training against itself.

Date: 12/14/07 Project Members: Elizabeth Lingg Alec Go Bharadwaj Srinivasan Title: Machine Learning Applied to Texas Hold 'Em Poker Introduction Part I For the first part of our project, we created a

### Regular Expressions and Automata using Haskell

Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions

### Alpha-Beta with Sibling Prediction Pruning in Chess

Alpha-Beta with Sibling Prediction Pruning in Chess Jeroen W.T. Carolus Masters thesis Computer Science Supervisor: Prof. dr. Paul Klint Faculteit der Natuurwetenschappen, Wiskunde en Informatica University

### Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R

Binary Search Trees A Generic Tree Nodes in a binary search tree ( B-S-T) are of the form P parent Key A Satellite data L R B C D E F G H I J The B-S-T has a root node which is the only node whose parent

### Computer Chess Programs (Panel)

Computer Chess Programs (Panel) Chairman: Benjamin Mittman, Northwestern University, Evanston, III. Panelists: Gary J. Boos, University of Minnesota, Minneapolis, Minn. Dennis W. Cooper, Bell Telephone

### Chapter 13: Query Processing. Basic Steps in Query Processing

Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing

### 6.3 Conditional Probability and Independence

222 CHAPTER 6. PROBABILITY 6.3 Conditional Probability and Independence Conditional Probability Two cubical dice each have a triangle painted on one side, a circle painted on two sides and a square painted

### Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

Tutorial#1 Q 1:- Explain the terms data, elementary item, entity, primary key, domain, attribute and information? Also give examples in support of your answer? Q 2:- What is a Data Type? Differentiate

### Algorithms and Data S tructures Structures Stack, Queues, and Applications Applications Ulf Leser

Algorithms and Data Structures Stack, Queues, and Applications Ulf Leser Content of this Lecture Stacks and Queues Tree Traversal Towers of Hanoi Ulf Leser: Alg&DS, Summer semester 2011 2 Stacks and Queues

### Treemaps for Search-Tree Visualization

Treemaps for Search-Tree Visualization Rémi Coulom July, 2002 Abstract Large Alpha-Beta search trees generated by game-playing programs are hard to represent graphically. This paper describes how treemaps

### Previous Lectures. B-Trees. External storage. Two types of memory. B-trees. Main principles

B-Trees Algorithms and data structures for external memory as opposed to the main memory B-Trees Previous Lectures Height balanced binary search trees: AVL trees, red-black trees. Multiway search trees: