A FPGA Accelerated AI for Connect-5 ECE532 Digital Systems Design David Biancolin Mohamed Kayed Ritchie Zhao.

Slides:



Advertisements
Similar presentations
Martin Boyd Christopher Hirunthanakorn
Advertisements

Intro to Computer Org. Pipelining, Part 2 – Data hazards + Stalls.
Adversarial Search Reference: “Artificial Intelligence: A Modern Approach, 3 rd ed” (Russell and Norvig)
CHAPTER 10 FUN AND GAMES Group 1: Xiangling Liu.
Tic Tac Toe Architecture CSE 5290 – Artificial Intelligence 06/13/2011 Christopher Hepler.
Application of Artificial intelligence to Chess Playing Capstone Design Project 2004 Jason Cook Bitboards  Bitboards are 64 bit unsigned integers, with.
Lecture 12 Last time: CSPs, backtracking, forward checking Today: Game Playing.
Search Strategies.  Tries – for word searchers, spell checking, spelling corrections  Digital Search Trees – for searching for frequent keys (in text,
Algorithms & Computer Chess A presentation by Zachary Fiskin Christopher Cruzen.
Mastering Chess An overview of common chess AI Adam Veres.
The Implementation of Machine Learning in the Game of Checkers Billy Melicher Computer Systems lab
This time: Outline Game playing The minimax algorithm
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
1 Performed By: Khaskin Luba Einhorn Raziel Einhorn Raziel Instructor: Rivkin Ina Spring 2004 Spring 2004 Virtex II-Pro Dynamical Test Application Part.
Game Playing CSC361 AI CSC361: Game Playing.
A TIE IS NOT A LOSS Paul Adamiak T02 Aruna Meiyeppen T01.
MAE 552 – Heuristic Optimization Lecture 28 April 5, 2002 Topic:Chess Programs Utilizing Tree Searches.
1 Project supervised by: Dr Michael Gandelsman Project performed by: Roman Paleria, Avi Yona 26/4/2004 Multi-channel Data Acquisition System Final_A Presentation.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
Energy and Delay Improvement via Decimal Floating Point Hossam A.H.Fahmy, Electronics and Communications Department, CairoUniversity Egypt and.
THE RENJU GAME BY ABHISHEK JAIN, PRANSHU GUPTA & RHYTHM DAS PCLUB SUMMER PROJECT PRESENTATION JUNE, L7 IIT KANPUR MENTOR – SANIL JAIN.
2 Outline Digital music The power of FPGA The “DigitalSynth” project –Hardware –Software Conclusion Demo.
Viterbi Decoder Project Alon weinberg, Dan Elran Supervisors: Emilia Burlak, Elisha Ulmer.
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.
Digital signature using MD5 algorithm Hardware Acceleration
CISC 235: Topic 6 Game Trees.
Matrix Multiplication on FPGA Final presentation One semester – winter 2014/15 By : Dana Abergel and Alex Fonariov Supervisor : Mony Orbach High Speed.
VM Algorithm Improvement Student’s Name: Kamlesh Patel Date: Oct 13, 2008 Advisor’s Name: Dr. Chung-E-Wang Prof. Dick Smith Department of Computer Science.
Othello Artificial Intelligence With Machine Learning
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
Implementation of MAC Assisted CORDIC engine on FPGA EE382N-4 Abhik Bhattacharya Mrinal Deo Raghunandan K R Samir Dutt.
ECE532 Final Project Demo Disparity Map Generation on a FPGA Using Stereoscopic Cameras ECE532 Final Project Demo Team 3 – Alim, Muhammad, Yu Ting.
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.
Application of Artificial Intelligence to Chess Playing Jason Cook Capstone Project.
Games 1 Alpha-Beta Example [-∞, +∞] Range of possible values Do DF-search until first leaf.
Cilk Pousse James Process CS534. Overview Introduction to Pousse Searching Evaluation Function Move Ordering Conclusion.
CIS 662 – Computer Architecture – Fall Class 16 – 11/09/04 1 Compiler Techniques for ILP  So far we have explored dynamic hardware techniques for.
Chapter 17 Looking “Under the Hood”. 2Practical PC 5 th Edition Chapter 17 Getting Started In this Chapter, you will learn: − How does a computer work.
Jack Chen TJHSST Computer Systems Lab Abstract The purpose of this project is to explore Artificial Intelligence techniques in the board game.
Rinoy Pazhekattu. Introduction  Most IPs today are designed using component-based design  Each component is its own IP that can be switched out for.
Blondie24 Presented by Adam Duffy and Josh Hill. Overview Introduction to new concepts Design of Blondie24 Testing and results Other approaches to checkers.
Lopamudra Kundu Reg. No. : of Roll No.:- 91/RPE/ Koushik Basak
Game tree search Chapter 6 (6.1 to 6.3 and 6.6) cover games. 6.6 covers state of the art game players in particular. 6.5 covers games that involve uncertainty.
Artificial Intelligence
CompSci Backtracking, Search, Heuristics l Many problems require an approach similar to solving a maze ä Certain mazes can be solved using the.
Teaching Digital Logic courses with Altera Technology
Othello Artificial Intelligence With Machine Learning Computer Systems TJHSST Nick Sidawy.
Adversarial Search 2 (Game Playing)
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module 5 Adversarial Search (Thanks Meinolf Sellman!)
REGISTER TRANSFER & MICROOPERATIONS By Sohaib. Digital System Overview  Each module is built from digital components  Registers  Decoders  Arithmetic.
Chapter 10 Trees © 2006 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
When the king is being attacked directly by an opponent’s piece we say the king is in check.
Luca Weibel Honors Track: Competitive Programming & Problem Solving Partisan game theory.
CPS 100, Spring Search, Backtracking,Heuristics l How do you find a needle in a haystack?  How does a computer play chess?  Why would you write.
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.
CMPT 463. What will be covered A* search Local search Game tree Constraint satisfaction problems (CSP)
1 Chapter 6 Game Playing. 2 Chapter 6 Contents l Game Trees l Assumptions l Static evaluation functions l Searching game trees l Minimax l Bounded lookahead.
Chapter 17 Looking “Under the Hood”
Maj Jeffrey Falkinburg Room 2E46E
Othello Artificial Intelligence With Machine Learning
Lesson Objectives Aims Key Words
Othello Artificial Intelligence With Machine Learning
Lesson Objectives Aims
Data Structures and Algorithms
Kevin Mason Michael Suggs
And the few things I did Jacobus Harding
Search and Game Playing
Othello Artificial Intelligence With Machine Learning
Presentation transcript:

A FPGA Accelerated AI for Connect-5 ECE532 Digital Systems Design David Biancolin Mohamed Kayed Ritchie Zhao

Goal Build an AI for connect-5 (Gomoku) in FPGA hardware and leverage Vivado’s High Level Synthesis functions The AI should run faster than its software counterpart running on a top of the line general purpose PC The AI should be competitive with software AIs on Gomocup

Literature Review Began by looking at papers from ICFPT design competition –2013: Blokus –2012: Connect-6 Variant Most papers use a board evaluation function and brute force every possible Sometimes search forward n-ply using a minimax tree, but cannot examine every move

Board Evaluation Board Evaluation Function sweeps a 5-square mask across board. Adds a number based on the pattern inside the window to board score.

Board Evaluation (Cont.) If the board is represented with a bit- board, the BEF is just bit-manipulation, and can be done in hardware in parallel Other mask functions can be used to determine relevant squares (squares which extend or block a pattern) and trim away irrelevant positions

Search Tree Minimax Search Tree + Alpha-Beta Pruning

Search Tree (Cont.) To avoid dynamic memory allocation, we will specify how many moves per level and the maximum height of the tree The traversal algorithm will also be sequential and not recursive Possible to parallelize the traversal in hardware

Hardware Acceleration Instead of checking the squares in a mask sequentially, a hardware module can do all the checks in one cycle CPU writes data to predefined locations, the block reads the data, performs the calculations, and write back result FSM used to track program state and alert CPU when hardware modules are done

Block Diagram

Plan of Action Phase 1: –Write the AI in C –Build the game GUI using the touchscreen IP Phase 2: –Run the AI purely on Microblaze, get the system to a point where one can play a game Phase 3: –Accelerate the AI by choosing certain functions to convert to hardware