ELE 408 Final Project

Size: px
Start display at page:

Download "ELE 408 Final Project"

Transcription

1 ELE 408 Final Project Chess AI game played over the Network Domenic Ferri Brandon Lian

2 Project Goal: The project goal is to create a single player versus AI chess game using socket programming to establish connectivity between the chess GUI and the AI engine. Detailed Design: The project is divided into three parts. First is the Chess GUI which is responsible for displaying the chess board and pieces as well as allowing the user to input moves and play the game. The Chess GUI was completely programmed from scratch using a Python package called Pygame. The GUI is them loaded onto the FPGA board and executed using the ARM processor. Next is the chess engine which is responsible for playing against the player by choosing optimal chess moves using basic AI theory. The chess engine was found online as an open source program that we modified slightly in order to use in this project. The engine is completely written in C programming language and is run from a desktop computer. Finally, the socket programming is used to establish connectivity between the GUI and engine. The GUI sends the current state of the game to the engine over the network, and the engine sends its chosen move back to the GUI. In order to create the chess GUI, we used the basic concept of giving each square number 0 to 63. This allows us to track the position of pieces by assigning a number to a piece. The piece positions are stored in a list which is updated when pieces are moved and captured. We also use the numbers to track mouse clicks so we know which piece was clicked on. A 2 dimensional list called current keeps track of the state of the game. The list has an element for each piece remaining on the board. Each of these elements has 3 of its own elements that state the name of the piece, position, and an array of legal moves. In order to find a list of legal moves, the rules of the game and the movement of each piece are hardcorded, and the conditions for each possible move are checked. For example, a Pawn can only move one square forward unless it has not moved before, in which it can move two squares forward. It can move diagonally only if capturing. Using the numbered squares, we know the one square forward is always the current position plus 8 for black and current position minus 8 for black. We then check if that destination square already has a piece on it. If it does, then it cannot move to it. The overall concept is that the rules of the game for each piece are used to generate a list of legal moves for each piece remaining. When a user makes a move, the GUI cheks if the move is in the list of legal moves. In order to send the user move to the chess AI, we need to translate the move into Universal Chess Interface convention. UCI used columns labeled A to H and rows labeled 1 to 8 to identify each square instead of using just numbers. Therefore, we translate the square's number to UCI convention before sending it. The move is sent over socket programming which establishes communication between the GUI and Engine. The socket program allows the chess AI to run on any computer on the same network as long as the ip is known. It also stops any unneeded information from the communication, such as extra white space, so that the GUI has

3 an easier time processing the machines moves. The GUI code sends different commands to the chess engine in order to begin a new game, restart the game, and more. The chess AI uses a classical approach to determining the best move by using a combination of the Minimax algorithm and alpha beta pruning. The engine sends the move back over the socket program to the GUI, which updates the game state with the new move and waits for the players next move. Procedure for running project: A short video run down/explanation is given here: However these instructions below are more in depth and should be followed. * = may vary/from here on (like the use in linux terminal) Follow instructions in this exact order: 1. Open Terminal on a linux desktop computer Cntrl+alt+t 2. Make a desired directory for files to go to: Mkdir AI_Chess_Over_Network cd AI_Chess_Over_Network 3. Copy and unzip ELE408_FinalProj.zip Unzip ELE408_FinalProj.zip 4. Like in the lab, insert your microsd card and start up the DE1-SoC board running LXDE linux 5. In a separate terminal run connect to the DE1-SoC and copy the ChessBoard/ directory to the DE1-SoC board screen /dev/ttyusb mkdir AI_Chess_Over_Network cd AI_Chess_Over_Network scp -r hostname@hostip:~/ai_chess_over_network/chessboard/. 6. Install pygame packages on DE1-SoC board As root: apt-get install python-pygame (make sure glibc6 is version < 2.16, I believe this the lib version on the boards before hand is 2.15, but in our development process we had updated to 2.17 and then had to reinstall 2.15 in order to get the GUI running, if you have this issue you can download

4 libc6_2.15-0ubuntu20_armhf.deb to you desktop from and copy the file from there to the DE1-SoC board: On DE1-SoC: scp -r libc6_2.15-0ubuntu20_armhf.deb. and can run As root on DE1: dpkg --install libc6_2.15-0ubuntu20_armhf.deb From whatever directory you copied this package to on the DE1-Soc) 7. In the terminal for your desktop go to: cd MisterQueen-master/bin/release 8. In this same terminal run: ifconfig 9. From enp0* copy the inet addr: IP address for use in the programs 10. In this terminal run the python script uci.py and paste in the IP address when asked, this is the server side python uci.py Input IP Address:(ip address goes here) 11. From the terminal that is running screen, the terminal for the DE1-SoC board, move into the ChessBoard directory and run the chess.py script and paste in the same IP address when asked, this is the client side cd ChessBoard/ python chess.py Input IP Address:(ip address goes here) 12. On the server side terminal you should see that you have connected to the client IP, and the initializations taking place for the game. On the DE1-SoC you should see the GUI appear on the touchscreen with all the chess pieces in their starting positions 13. You can use the touch screen as mouse inputs to move the pieces, however we recommend connecting a mouse to the DE1-SoC because of the inaccuracy of the touch screen 14. If you are not familiar with the rules and moves involved with chess here is a link to learn: You can move a piece by clicking the piece, and then clicking the square you would like to go to. If you move a piece on the DE1-SoC GUI you should see the move received by

5 the the server side, the script sends that move to the engine and prints out what the best move will be 16. The best move will be sent to the DE1-SoC GUI and update the board with this new information 17. If the game is over, either one side has no pieces left, or the king from either side has been taken, press the New Game button on the DE1-SoC GUI to reset the board and will also restart the game on the engine side. Was our Best Outcome met? Originally we planned to have the chess engine operate on the FPGA board and that would act as the server. We now realize the better option is to use the FPGA as the platform for the GUI, and the desktop which has more computational power and resources as the server side, you can see this decision was made in our final product. We also wanted to work with machine algorithms so that the engine would get better and better, but due to time constraints and lack of familiarity with chess engines we made the executive decision to use Michael Fogleman s chess engine MisterQueen that was written in C to expedite development. We do have a chess game that communicates between a GUI on the DE1-SoC as a client and an open source chess engine on the desktop as our server using socket programming. Our Best outcome was not met because we did not implement and integrate deep learning algorithms. Features for Future Development: Adding functionality for determining check and checkmate states, currently the AI just takes our king and we restart the game, or we take his king and we restart the game Ideally we would like to modify the engine further to use machine learning algorithms to constantly get better at the game Adding levels of difficulty so that we can invite beginners to play the game and challenge the most hardened of veterans Animations would be really nice, the refresh is a little hard to follow so implementing smoother transitions from square to square would be visually pleasing Adding some music would be fun as well, having a good combination of audio and visual is necessary for a good game

6 Conclusion: In conclusion we learned a lot throughout the process developing this project and bringing it to life. We learned a lot about writing scripts in python developing the GUI, using python for socket programming and how to interact with a C program executable inside of the python script, and learned about deterministic chess engines and the methods they use in order to complete computations and determine what the best move to make is. We would like to thank Michael Fogleman for producing his open source chess engine, MisterQueen, and allowing the community of developers to use and learn from his research and development.

ChesServe Test Plan. ChesServe CS 451 Allan Caffee Charles Conroy Kyle Golrick Christopher Gore David Kerkeslager

ChesServe Test Plan. ChesServe CS 451 Allan Caffee Charles Conroy Kyle Golrick Christopher Gore David Kerkeslager ChesServe Test Plan ChesServe CS 451 Allan Caffee Charles Conroy Kyle Golrick Christopher Gore David Kerkeslager Date Reason For Change Version Thursday August 21 th Initial Version 1.0 Thursday August

More information

2 person perfect information

2 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 information

Game-playing AIs: Games and Adversarial Search I AIMA

Game-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 information

Obstacle Dodger. Nick Raptakis James Luther ELE 408/409 Final Project Professor Bin Li. Project Description:

Obstacle Dodger. Nick Raptakis James Luther ELE 408/409 Final Project Professor Bin Li. Project Description: Nick Raptakis James Luther ELE 408/409 Final Project Professor Bin Li Obstacle Dodger Project Description: Our team created an arcade style game to dodge falling objects using the DE1 SoC board. The player

More information

Chess and Python revisited

Chess and Python revisited Chess and Python revisited slide 1 there exists a PyGame project http://www.pygame.org/ project-chessboard-282-.html which draws a chess board and allows users to make FIDE legal moves (by clicking on

More information

game tree complete all possible moves

game 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 information

CS 1571 Introduction to AI Lecture 12. Adversarial search. CS 1571 Intro to AI. Announcements

CS 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 information

More Adversarial Search

More 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 information

Final Project: Reversi

Final Project: Reversi Final Project: Reversi Reversi is a classic 2-player game played on an 8 by 8 grid of squares. Players take turns placing pieces of their color on the board so that they sandwich and change the color of

More information

Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning

Minimax 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 information

Foundations of AI. 5. Board Games. Search Strategies for Games, Games with Chance, State of the Art. Wolfram Burgard and Luc De Raedt SA-1

Foundations of AI. 5. Board Games. Search Strategies for Games, Games with Chance, State of the Art. Wolfram Burgard and Luc De Raedt SA-1 Foundations of AI 5. Board Games Search Strategies for Games, Games with Chance, State of the Art Wolfram Burgard and Luc De Raedt SA-1 Contents Board Games Minimax Search Alpha-Beta Search Games with

More information

Introduction 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 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 information

Software Requirements Specification

Software Requirements Specification War Room Systems Vito Salerno Jeff Segall Ian Yoder Josh Zenker March 19, 2009 Revision 1.1 Approval Sheet Chris DiJoseph Date Chris Dulsky Date Greta Evans Date Isaac Gerhart-Hines Date Oleg Pistolet

More information

1 Modified Othello. Assignment 2. Total marks: 100. Out: February 10 Due: March 5 at 14:30

1 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 information

OWEN Walking Robot Install Guide

OWEN Walking Robot Install Guide OWEN Walking Robot Install Guide The 3D printed parts are as follows: - Left Foot - Right Foot - Ankles (both are identical) - Pelvis Servo, arm, and screws: FIRST STEPS Connect the battery to the ODROID-C0.

More information

CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class

CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class http://www.clubpenguinsaraapril.com/2009/07/mancala-game-in-club-penguin.html The purpose of this assignment is to program some

More information

IRU151_IRU152. OPC UA User Manual

IRU151_IRU152. OPC UA User Manual IRU151_IRU152 OPC UA User Manual Revision History Version Revision Date Author Description 1.0 2018/07/18 Ryan 1 st release ii Table of Contents Revision History... i CHAPTER 1 Introduction...1 CHAPTER

More information

Welcome to the Brain Games Chess Help File.

Welcome to the Brain Games Chess Help File. HELP FILE Welcome to the Brain Games Chess Help File. Chess a competitive strategy game dating back to the 15 th century helps to developer strategic thinking skills, memorization, and visualization of

More information

Adversary Search. Ref: Chapter 5

Adversary 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 information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence CS482, CS682, MW 1 2:15, SEM 201, MS 227 Prerequisites: 302, 365 Instructor: Sushil Louis, sushil@cse.unr.edu, http://www.cse.unr.edu/~sushil Games and game trees Multi-agent systems

More information

Game Playing. Why do AI researchers study game playing? 1. It s a good reasoning problem, formal and nontrivial.

Game Playing. Why do AI researchers study game playing? 1. It s a good reasoning problem, formal and nontrivial. Game Playing Why do AI researchers study game playing? 1. It s a good reasoning problem, formal and nontrivial. 2. Direct comparison with humans and other computer programs is easy. 1 What Kinds of Games?

More information

Play Chess Lessons Against Computer 3d Easy For Beginners

Play Chess Lessons Against Computer 3d Easy For Beginners Play Chess Lessons Against Computer 3d Easy For Beginners Play regular / classic chess online against the computer (at beginner or your difficulty level to decide the strength of your computer opponent:

More information

YourTurnMyTurn.com: chess rules. Jan Willem Schoonhoven Copyright 2018 YourTurnMyTurn.com

YourTurnMyTurn.com: chess rules. Jan Willem Schoonhoven Copyright 2018 YourTurnMyTurn.com YourTurnMyTurn.com: chess rules Jan Willem Schoonhoven Copyright 2018 YourTurnMyTurn.com Inhoud Chess rules...1 The object of chess...1 The board...1 Moves...1 Captures...1 Movement of the different pieces...2

More information

mywbut.com Two agent games : alpha beta pruning

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 information

Games (adversarial search problems)

Games (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 information

Infoblox and Ansible Integration

Infoblox and Ansible Integration DEPLOYMENT GUIDE Infoblox and Ansible Integration Ansible 2.5 April 2018 2018 Infoblox Inc. All rights reserved. Ansible Deployment Guide April 2018 Page 1 of 12 Contents Overview... 3 Introduction...

More information

Applications 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 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 information

ANSYS v14.5. Manager Installation Guide CAE Associates

ANSYS v14.5. Manager Installation Guide CAE Associates ANSYS v14.5 Remote Solve Manager Installation Guide 2013 CAE Associates What is the Remote Solve Manager? The Remote Solve Manager (RSM) is a job queuing system designed specifically for use with the ANSYS

More information

The game of Paco Ŝako

The game of Paco Ŝako The game of Paco Ŝako Created to be an expression of peace, friendship and collaboration, Paco Ŝako is a new and dynamic chess game, with a mindful touch, and a mind-blowing gameplay. Two players sitting

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence CS482, CS682, MW 1 2:15, SEM 201, MS 227 Prerequisites: 302, 365 Instructor: Sushil Louis, sushil@cse.unr.edu, http://www.cse.unr.edu/~sushil Non-classical search - Path does not

More information

Universally Accessible Games: The case of motor-impaired users

Universally Accessible Games: The case of motor-impaired users : The case of motor-impaired users www.ics.forth.gr/hci/ua-games gramenos@ics.forth.gr jgeorgal@ics.forth.gr Human-Computer Interaction Laboratory Institute of Computer Science (ICS) Foundation for Research

More information

GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game

GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game I. BACKGROUND 1.Introduction: GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game We have talked about the programming languages and discussed popular programming paradigms. We discussed

More information

Pay attention to how flipping of pieces is determined with each move.

Pay attention to how flipping of pieces is determined with each move. CSCE 625 Programing Assignment #5 due: Friday, Mar 13 (by start of class) Minimax Search for Othello The goal of this assignment is to implement a program for playing Othello using Minimax search. Othello,

More information

Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl. Kinect2Scratch Workbook

Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl. Kinect2Scratch Workbook Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl Workbook Scratch is a drag and drop programming environment created by MIT. It contains colour coordinated code blocks that allow a user to build up instructions

More information

Project 1: Game of Bricks

Project 1: Game of Bricks Project 1: Game of Bricks Game Description This is a game you play with a ball and a flat paddle. A number of bricks are lined up at the top of the screen. As the ball bounces up and down you use the paddle

More information

COMP219: Artificial Intelligence. Lecture 13: Game Playing

COMP219: Artificial Intelligence. Lecture 13: Game Playing CMP219: Artificial Intelligence Lecture 13: Game Playing 1 verview Last time Search with partial/no observations Belief states Incremental belief state search Determinism vs non-determinism Today We will

More information

Tac Due: Sep. 26, 2012

Tac Due: Sep. 26, 2012 CS 195N 2D Game Engines Andy van Dam Tac Due: Sep. 26, 2012 Introduction This assignment involves a much more complex game than Tic-Tac-Toe, and in order to create it you ll need to add several features

More information

Solving tasks and move score... 18

Solving tasks and move score... 18 Solving tasks and move score... 18 Contents Contents... 1 Introduction... 3 Welcome to Peshk@!... 3 System requirements... 3 Software installation... 4 Technical support service... 4 User interface...

More information

Taffy Tangle. cpsc 231 assignment #5. Due Dates

Taffy Tangle. cpsc 231 assignment #5. Due Dates cpsc 231 assignment #5 Taffy Tangle If you ve ever played casual games on your mobile device, or even on the internet through your browser, chances are that you ve spent some time with a match three game.

More information

A Simple Pawn End Game

A Simple Pawn End Game A Simple Pawn End Game This shows how to promote a knight-pawn when the defending king is in the corner near the queening square The introduction is for beginners; the rest may be useful to intermediate

More information

Chess For Beginners Game Full Version 3d Animated

Chess For Beginners Game Full Version 3d Animated Chess For Beginners Game Full Version 3d Animated Download 3D Chess Game and enjoy it on your iphone, ipad, and ipod touch. Powerful Chess engine that can also simulate absolute beginner opponents Realistic

More information

Programming an Othello AI Michael An (man4), Evan Liang (liange)

Programming 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 information

For slightly more detailed instructions on how to play, visit:

For 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 information

Artificial Intelligence Search III

Artificial Intelligence Search III Artificial Intelligence Search III Lecture 5 Content: Search III Quick Review on Lecture 4 Why Study Games? Game Playing as Search Special Characteristics of Game Playing Search Ingredients of 2-Person

More information

STEP BY STEP GUIDE (RASPBERRY PI)

STEP BY STEP GUIDE (RASPBERRY PI) STEP BY STEP GUIDE (RASPBERRY PI) Raspberry Pi The Raspberry Pi is a credit-card-sized single-board computer developed in the UK by the Raspberry Pi Foundation with the intention of promoting the teaching

More information

CS 229 Final Project: Using Reinforcement Learning to Play Othello

CS 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 information

Activity 6: Playing Elevens

Activity 6: Playing Elevens Activity 6: Playing Elevens Introduction: In this activity, the game Elevens will be explained, and you will play an interactive version of the game. Exploration: The solitaire game of Elevens uses a deck

More information

Game Playing AI Class 8 Ch , 5.4.1, 5.5

Game 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 information

CS 2710 Foundations of AI. Lecture 9. Adversarial search. CS 2710 Foundations of AI. Game search

CS 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 information

CISC 1600, Lab 2.2: More games in Scratch

CISC 1600, Lab 2.2: More games in Scratch CISC 1600, Lab 2.2: More games in Scratch Prof Michael Mandel Introduction Today we will be starting to make a game in Scratch, which ultimately will become your submission for Project 3. This lab contains

More information

3. Bishops b. The main objective of this lesson is to teach the rules of movement for the bishops.

3. Bishops b. The main objective of this lesson is to teach the rules of movement for the bishops. page 3-1 3. Bishops b Objectives: 1. State and apply rules of movement for bishops 2. Use movement rules to count moves and captures 3. Solve problems using bishops The main objective of this lesson is

More information

CPS331 Lecture: Search in Games last revised 2/16/10

CPS331 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 information

After learning the Rules, What should beginners learn next?

After learning the Rules, What should beginners learn next? After learning the Rules, What should beginners learn next? Chess Puzzling Presentation Nancy Randolph Capital Conference June 21, 2016 Name Introduction to Chess Test 1. How many squares does a chess

More information

In this project you ll learn how to create a times table quiz, in which you have to get as many answers correct as you can in 30 seconds.

In this project you ll learn how to create a times table quiz, in which you have to get as many answers correct as you can in 30 seconds. Brain Game Introduction In this project you ll learn how to create a times table quiz, in which you have to get as many answers correct as you can in 30 seconds. Step 1: Creating questions Let s start

More information

Foundations of AI. 6. Adversarial Search. Search Strategies for Games, Games with Chance, State of the Art. Wolfram Burgard & Bernhard Nebel

Foundations of AI. 6. Adversarial Search. Search Strategies for Games, Games with Chance, State of the Art. Wolfram Burgard & Bernhard Nebel Foundations of AI 6. Adversarial Search Search Strategies for Games, Games with Chance, State of the Art Wolfram Burgard & Bernhard Nebel Contents Game Theory Board Games Minimax Search Alpha-Beta Search

More information

Interactive 1 Player Checkers. Harrison Okun December 9, 2015

Interactive 1 Player Checkers. Harrison Okun December 9, 2015 Interactive 1 Player Checkers Harrison Okun December 9, 2015 1 Introduction The goal of our project was to allow a human player to move physical checkers pieces on a board, and play against a computer's

More information

Board 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 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 information

How to Make Games in MakeCode Arcade Created by Isaac Wellish. Last updated on :10:15 PM UTC

How to Make Games in MakeCode Arcade Created by Isaac Wellish. Last updated on :10:15 PM UTC How to Make Games in MakeCode Arcade Created by Isaac Wellish Last updated on 2019-04-04 07:10:15 PM UTC Overview Get your joysticks ready, we're throwing an arcade party with games designed by you & me!

More information

Game-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 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 information

COMP219: COMP219: Artificial Intelligence Artificial Intelligence Dr. Annabel Latham Lecture 12: Game Playing Overview Games and Search

COMP219: 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 information

Google DeepMind s AlphaGo vs. world Go champion Lee Sedol

Google DeepMind s AlphaGo vs. world Go champion Lee Sedol Google DeepMind s AlphaGo vs. world Go champion Lee Sedol Review of Nature paper: Mastering the game of Go with Deep Neural Networks & Tree Search Tapani Raiko Thanks to Antti Tarvainen for some slides

More information

2/5/17 ADVERSARIAL SEARCH. Today. Introduce adversarial games Minimax as an optimal strategy Alpha-beta pruning Real-time decision making

2/5/17 ADVERSARIAL SEARCH. Today. Introduce adversarial games Minimax as an optimal strategy Alpha-beta pruning Real-time decision making ADVERSARIAL SEARCH Today Introduce adversarial games Minimax as an optimal strategy Alpha-beta pruning Real-time decision making 1 Adversarial Games People like games! Games are fun, engaging, and hard-to-solve

More information

Section Marks Agents / 8. Search / 10. Games / 13. Logic / 15. Total / 46

Section Marks Agents / 8. Search / 10. Games / 13. Logic / 15. Total / 46 Name: CS 331 Midterm Spring 2017 You have 50 minutes to complete this midterm. You are only allowed to use your textbook, your notes, your assignments and solutions to those assignments during this midterm.

More information

Scratch Coding And Geometry

Scratch Coding And Geometry Scratch Coding And Geometry by Alex Reyes Digitalmaestro.org Digital Maestro Magazine Table of Contents Table of Contents... 2 Basic Geometric Shapes... 3 Moving Sprites... 3 Drawing A Square... 7 Drawing

More information

CPSC 217 Assignment 3

CPSC 217 Assignment 3 CPSC 217 Assignment 3 Due: Friday November 24, 2017 at 11:55pm Weight: 7% Sample Solution Length: Less than 100 lines, including blank lines and some comments (not including the provided code) Individual

More information

Adversarial Search (Game Playing)

Adversarial 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 information

Artificial Intelligence. 4. Game Playing. Prof. Bojana Dalbelo Bašić Assoc. Prof. Jan Šnajder

Artificial Intelligence. 4. Game Playing. Prof. Bojana Dalbelo Bašić Assoc. Prof. Jan Šnajder Artificial Intelligence 4. Game Playing Prof. Bojana Dalbelo Bašić Assoc. Prof. Jan Šnajder University of Zagreb Faculty of Electrical Engineering and Computing Academic Year 2017/2018 Creative Commons

More information

CS 440 / ECE 448 Introduction to Artificial Intelligence Spring 2010 Lecture #5

CS 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 information

Programming I (mblock)

Programming I (mblock) http://www.plk83.edu.hk/cy/mblock Contents 1. Introduction (Page 1) 2. What is Scratch? (Page 1) 3. What is mblock? (Page 2) 4. Learn Scratch (Page 3) 5. Elementary Lessons (Page 3) 6. Supplementary Lessons

More information

Today. Types of Game. Games and Search 1/18/2010. COMP210: Artificial Intelligence. Lecture 10. Game playing

Today. 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 information

Artificial Intelligence. Topic 5. Game playing

Artificial Intelligence. Topic 5. Game playing Artificial Intelligence Topic 5 Game playing broadening our world view dealing with incompleteness why play games? perfect decisions the Minimax algorithm dealing with resource limits evaluation functions

More information

Editing the standing Lazarus object to detect for being freed

Editing the standing Lazarus object to detect for being freed Lazarus: Stages 5, 6, & 7 Of the game builds you have done so far, Lazarus has had the most programming properties. In the big picture, the programming, animation, gameplay of Lazarus is relatively simple.

More information

SudokuSplashZone. Overview 3

SudokuSplashZone. Overview 3 Overview 3 Introduction 4 Sudoku Game 4 Game grid 4 Cell 5 Row 5 Column 5 Block 5 Rules of Sudoku 5 Entering Values in Cell 5 Solver mode 6 Drag and Drop values in Solver mode 6 Button Inputs 7 Check the

More information

ARTIFICIAL INTELLIGENCE (CS 370D)

ARTIFICIAL 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 information

Table of Contents. Creating Your First Project 4. Enhancing Your Slides 8. Adding Interactivity 12. Recording a Software Simulation 19

Table of Contents. Creating Your First Project 4. Enhancing Your Slides 8. Adding Interactivity 12. Recording a Software Simulation 19 Table of Contents Creating Your First Project 4 Enhancing Your Slides 8 Adding Interactivity 12 Recording a Software Simulation 19 Inserting a Quiz 24 Publishing Your Course 32 More Great Features to Learn

More information

Deep Green. System for real-time tracking and playing the board game Reversi. Final Project Submitted by: Nadav Erell

Deep Green. System for real-time tracking and playing the board game Reversi. Final Project Submitted by: Nadav Erell Deep Green System for real-time tracking and playing the board game Reversi Final Project Submitted by: Nadav Erell Introduction to Computational and Biological Vision Department of Computer Science, Ben-Gurion

More information

Adversarial 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 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 information

League of Legends: Dynamic Team Builder

League of Legends: Dynamic Team Builder League of Legends: Dynamic Team Builder Blake Reed Overview The project that I will be working on is a League of Legends companion application which provides a user data about different aspects of the

More information

STEP-BY-STEP THINGS TO TRY FINISHED? START HERE NEW TO SCRATCH? CREATE YOUR FIRST SCRATCH PROJECT!

STEP-BY-STEP THINGS TO TRY FINISHED? START HERE NEW TO SCRATCH? CREATE YOUR FIRST SCRATCH PROJECT! STEP-BY-STEP NEW TO SCRATCH? CREATE YOUR FIRST SCRATCH PROJECT! In this activity, you will follow the Step-by- Step Intro in the Tips Window to create a dancing cat in Scratch. Once you have completed

More information

Adversarial Search. CMPSCI 383 September 29, 2011

Adversarial Search. CMPSCI 383 September 29, 2011 Adversarial Search CMPSCI 383 September 29, 2011 1 Why are games interesting to AI? Simple to represent and reason about Must consider the moves of an adversary Time constraints Russell & Norvig say: Games,

More information

Playing Games. Henry Z. Lo. June 23, We consider writing AI to play games with the following properties:

Playing 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 information

Games and Adversarial Search II

Games 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 information

To Explore the Properties of Parallelogram

To Explore the Properties of Parallelogram Exemplar To Explore the Properties of Parallelogram Objective To explore the properties of parallelogram Dimension Measures, Shape and Space Learning Unit Quadrilaterals Key Stage 3 Materials Required

More information

Game Playing State-of-the-Art

Game 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 information

MASA. (Movement and Action Sequence Analysis) User Guide

MASA. (Movement and Action Sequence Analysis) User Guide MASA (Movement and Action Sequence Analysis) User Guide PREFACE The MASA software is a game analysis software that can be used for scientific analyses or in sports practice in different types of sports.

More information

Using the Desktop Recorder

Using the Desktop Recorder Mediasite Using the Desktop Recorder Instructional Media publication: 09-Students 9/8/06 Introduction The new Desktop Recorder from Mediasite allows HCC users to record content on their computer desktop

More information

Microchess 2.0 gives you a unique and exciting way to use your Apple II to enjoy the intellectually stimulating game of chess. The complete program lo

Microchess 2.0 gives you a unique and exciting way to use your Apple II to enjoy the intellectually stimulating game of chess. The complete program lo I Microchess 2.0 gives you a unique and exciting way to use your Apple II to enjoy the intellectually stimulating game of chess. The complete program logic to play a very skillful game of chess, as well

More information

Adversarial Search. CS 486/686: Introduction to Artificial Intelligence

Adversarial Search. CS 486/686: Introduction to Artificial Intelligence Adversarial Search CS 486/686: Introduction to Artificial Intelligence 1 Introduction So far we have only been concerned with a single agent Today, we introduce an adversary! 2 Outline Games Minimax search

More information

Module 3. Problem Solving using Search- (Two agent) Version 2 CSE IIT, Kharagpur

Module 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 information

Virtual Universe Pro. Player Player 2018 for Virtual Universe Pro

Virtual Universe Pro. Player Player 2018 for Virtual Universe Pro Virtual Universe Pro Player 2018 1 Main concept The 2018 player for Virtual Universe Pro allows you to generate and use interactive views for screens or virtual reality headsets. The 2018 player is "hybrid",

More information

Play Chess Lessons Against Computer 3d Easy

Play Chess Lessons Against Computer 3d Easy Play Chess Lessons Against Computer 3d Easy The premier free single & multiplayer chess game with HD 3D graphics. Play against the computer or challenge your friends online! engine, larger opening database

More information

Lesson 8 Tic-Tac-Toe (Noughts and Crosses)

Lesson 8 Tic-Tac-Toe (Noughts and Crosses) Lesson Game requirements: There will need to be nine sprites each with three costumes (blank, cross, circle). There needs to be a sprite to show who has won. There will need to be a variable used for switching

More information

Assignment 2 (Part 1 of 2), University of Toronto, CSC384 - Intro to AI, Winter

Assignment 2 (Part 1 of 2), University of Toronto, CSC384 - Intro to AI, Winter Assignment 2 (Part 1 of 2), University of Toronto, CSC384 - Intro to AI, Winter 2011 1 Computer Science 384 February 20, 2011 St. George Campus University of Toronto Homework Assignment #2 (Part 1 of 2)

More information

Artificial Intelligence Adversarial Search

Artificial Intelligence Adversarial Search Artificial Intelligence Adversarial Search Adversarial Search Adversarial search problems games They occur in multiagent competitive environments There is an opponent we can t control planning again us!

More information

3 USRP2 Hardware Implementation

3 USRP2 Hardware Implementation 3 USRP2 Hardware Implementation This section of the laboratory will familiarize you with some of the useful GNURadio tools for digital communication system design via SDR using the USRP2 platforms. Specifically,

More information

WPE 48N USER MANUAL Version1.1

WPE 48N USER MANUAL Version1.1 Version1.1 Security instructions 1. Read this manual carefully. 2. Follow all instructions and warnings. 3. Only use accessories specified by WORK PRO. 4. Follow the safety instructions of your country.

More information

ModaDJ. Development and evaluation of a multimodal user interface. Institute of Computer Science University of Bern

ModaDJ. Development and evaluation of a multimodal user interface. Institute of Computer Science University of Bern ModaDJ Development and evaluation of a multimodal user interface Course Master of Computer Science Professor: Denis Lalanne Renato Corti1 Alina Petrescu2 1 Institute of Computer Science University of Bern

More information

CS 5522: Artificial Intelligence II

CS 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 information

Assessment: Reverse Engineering

Assessment: Reverse Engineering 1 Overview This guide outlines how to assess students understanding and sequencing of the programming blocks in the ScratchJr ipad app. This assessment was originally designed to evaluate student learning

More information

Game-playing: DeepBlue and AlphaGo

Game-playing: DeepBlue and AlphaGo Game-playing: DeepBlue and AlphaGo Brief history of gameplaying frontiers 1990s: Othello world champions refuse to play computers 1994: Chinook defeats Checkers world champion 1997: DeepBlue defeats world

More information