Cilk Pousse James Process CS534. Overview Introduction to Pousse Searching Evaluation Function Move Ordering Conclusion.

Slides:



Advertisements
Similar presentations
Martin Boyd Christopher Hirunthanakorn
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.
Computers playing games. One-player games Puzzle: Place 8 queens on a chess board so that no two queens attack each other (i.e. on the same row, same.
For Friday Finish chapter 5 Program 1, Milestone 1 due.
Artificial Intelligence Adversarial search Fall 2008 professor: Luigi Ceccaroni.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2008.
CS 484 – Artificial Intelligence
CHAPTER 10 FUN AND GAMES Group 1: Xiangling Liu.
Search in AI.
Lecture 12 Last time: CSPs, backtracking, forward checking Today: Game Playing.
Adversarial Search CSE 473 University of Washington.
Adversarial Search Board games. Games 2 player zero-sum games Utility values at end of game – equal and opposite Games that are easy to represent Chess.
CS 61B Data Structures and Programming Methodology July 31, 2008 David Sun.
Minimax and Alpha-Beta Reduction Borrows from Spring 2006 CS 440 Lecture Slides.
Mahgul Gulzai Moomal Umer Rabail Hafeez
Game Playing CSC361 AI CSC361: Game Playing.
Shallow Blue Project 2 Due date: April 5 th. Introduction Second in series of three projects This project focuses on getting AI opponent Subsequent project.
Applying Genetic Programming to Stratego Ryan Albarelli.
How computers play games with you CS161, Spring ‘03 Nathan Sturtevant.
Online Chess Project 3 Due date: April 17 th. Introduction Third in series of three projects This project focuses on adding online support –2 players.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2006.
Game Tree Search based on Russ Greiner and Jean-Claude Latombe’s notes.
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.
PSU CS 370 – Introduction to Artificial Intelligence Game MinMax Alpha-Beta.
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.
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.
Adversarial Search CS30 David Kauchak Spring 2015 Some material borrowed from : Sara Owsley Sood and others.
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.
Lecture 5: Backtracking Depth-First Search N-Queens Problem Hamiltonian Circuits.
Mark Dunlop, Computer and Information Sciences, Strathclyde University 1 Algorithms & Complexity 5 Games Mark D Dunlop.
Othello Playing AI Matt Smith. Othello 8x8 Board game 8x8 Board game Try to outflank opponents pieces Try to outflank opponents pieces Winner ends up.
Game Playing. Towards Intelligence? Many researchers attacked “intelligent behavior” by looking to strategy games involving deep thought. Many researchers.
Connect Four AI Robert Burns and Brett Crawford. Connect Four  A board with at least six rows and seven columns  Two players: one with red discs and.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
For Wednesday Read chapter 7, sections 1-4 Homework: –Chapter 6, exercise 1.
HPC Checkers By Andy Block Ryan Egan. Table of Contents Overview of Checkers ▫Overview of Checkers ▫Rules of the Game AI Theory The Program ▫Board ▫Sample.
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.
For Friday Finish chapter 6 Program 1, Milestone 1 due.
Tetris Agent Optimization Using Harmony Search Algorithm
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.
ARTIFICIAL INTELLIGENCE (CS 461D) Princess Nora University Faculty of Computer & Information Systems.
Adversarial Search. Game playing u Multi-agent competitive environment u The most common games are deterministic, turn- taking, two-player, zero-sum game.
CompSci Backtracking, Search, Heuristics l Many problems require an approach similar to solving a maze ä Certain mazes can be solved using the.
CPS Backtracking, Search, Heuristics l Many problems require an approach similar to solving a maze ä Certain mazes can be solved using the “right-hand”
More on Logic Today we look at the for loop and then put all of this together to look at some more complex forms of logic that a program will need The.
Adversarial Search and Game Playing Russell and Norvig: Chapter 6 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2004/home.htm Prof: Dekang.
February 25, 2016Introduction to Artificial Intelligence Lecture 10: Two-Player Games II 1 The Alpha-Beta Procedure Can we estimate the efficiency benefit.
An AI Game Project. Background Fivel is a unique hybrid of a NxM game and a sliding puzzle. The goals in making this project were: Create an original.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module 5 Adversarial Search (Thanks Meinolf Sellman!)
Artificial Intelligence in Game Design Board Games and the MinMax Algorithm.
Luca Weibel Honors Track: Competitive Programming & Problem Solving Partisan game theory.
Understanding AI of 2 Player Games. Motivation Not much experience in AI (first AI project) and no specific interests/passion that I wanted to explore.
Adversarial Search and Game-Playing
Game Playing in AI by: Gaurav Phapale 05 IT 6010
C nnect 4 Group 9-18 See Zhuo Rui Jorelle 3S3 (Leader)
Chapter 6 : Game Search 게임 탐색 (Adversarial Search)
Kevin Mason Michael Suggs
NIM - a two person game n objects are in one pile
The Alpha-Beta Procedure
CSE (c) S. Tanimoto, 2001 Search-Introduction
Minimax strategies, alpha beta pruning
Minimax strategies, alpha beta pruning
CS51A David Kauchak Spring 2019
Unit II Game Playing.
Presentation transcript:

Cilk Pousse James Process CS534

Overview Introduction to Pousse Searching Evaluation Function Move Ordering Conclusion

Introduction 1998 ICFP Functional Programming Contest Write and AI system to play "Pousse" May be written in any language Teams had 72 hours to complete the programming Almost 50 programs were entered into the content Cilk Pousse written by Supercomputing Technologies Research Group of the MIT LCS won first place

Introduction - Pousse What is Pousse? 2 player game tic-tac-toe variant played on n-by-n board, typically 4- by-4 players place either X or O, X places first A marker is placed on the board by sliding it in from the side(left, right, top, or bottom) o Results in 4*n possible moves on a given turn If a marker is inserted where a maker is already placed, all markers on that row/column are pushed down one space. If the row/column is full, the last marker is pushed off the game board and removed

Introduction - Winning Similar to tic-tac-toe you are trying to create "straights" to win o A "straight" is a full row or column of your marker o Making a move that causes the configuration to contain more straights of your type than your opponents results in a win If you make a move that creates a configuration that is a repeat of a previous configuration you lose o No looping There are no ties/draws

Searching Alpha-Beta minimax Searching o We can prune of parts of the tree and save search time if we know there is already a better move Iterative deepening o For each iteration we start from the best possible move of the previous iteration. i.e. the depth-9 search places the best move into a hash table which provides a starting point for the depth-10 search

Cilk and Parallel Searching Cilk is a C-based language for multithreaded programming, did a lot of the work of multithreading/scheduling Took the approach that either a single child would be searched or all children would be (optimal game tree) Search first child o Either return, or spawn off all other children to be searched in parallel

Evaluation Function Piece count o Each piece is valued at 4 Centrality o - Each piece gets a bonus equal to the Manhattan distance from the piece to the nearest corner Frank-squared o Derived from file/rank o Valued at k^2 for each frank having k of your pieces Connectivity o Originally was defined as 2 points per piece for adjacency and 1 point for each diagonal o Was not used in final version

Evaluation Function Cont. Sum this for our pieces and subtract opponents sum at each state Optimized by incrementally updating score for each position rather than computing from scratch

Move Ordering Two heuristics used to improve move ordering First keep a hash table with the best move information from the previous search Second keep a table of countermoves. o previously when the opponent made move x, we decided move y was a good choice o In the case of Cilk Pousse they saved the last 2 good countermoves for each move If the best move hash table has a move start there, else go to the countermoves table

Conclusion Even relatively simple problems require a large amount of thought and optimization to solve. All of the following were considered o Effective search algorithm o Good use of pruning o Iterative Depth o Keeping track of best states o Tweaking evaluation function o Parallelism o … No single piece is the key to a perfect Agent

References Definition of the game Pousse MIT Cilk Pousse