Othello Artificial Intelligence With Machine Learning Computer Systems TJHSST Nick Sidawy.

Slides:



Advertisements
Similar presentations
Tetris – Genetic Algorithm Presented by, Jeethan & Jun.
Advertisements

Tetris and Genetic Algorithms Math Club 5/30/2011.
For Friday Finish chapter 5 Program 1, Milestone 1 due.
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
Application of Artificial intelligence to Chess Playing Capstone Design Project 2004 Jason Cook Bitboards  Bitboards are 64 bit unsigned integers, with.
Games CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Computers Playing Games Arif Zaman CS 101. Acknowledgements Portions of this are taken from MIT’s open-courseware
1 Evolving Board Game Players Without Using Expert Knowledge A presentation of research by Amit Benbassat Advisor: Moshe Sipper. A. Benbassat and M. Sipper.
Minimax and Alpha-Beta Reduction Borrows from Spring 2006 CS 440 Lecture Slides.
Lecture 13 Last time: Games, minimax, alpha-beta Today: Finish off games, summary.
Artificial Intelligence in Game Design
The Implementation of Machine Learning in the Game of Checkers Billy Melicher Computer Systems lab
GENETIC PROGRAMMING FOR CHECKERS PLAY Dustin Shutes Abstract: This project uses genetic programming to develop a program that plays the game of checkers.
Learning C++ the Fun Way Taesoo Kim Dr. Ramon Lawrence Computer Science.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
Introduction to Genetic Algorithms Yonatan Shichel.
Computers Playing Games Arif Zaman CS 101. Acknowledgements Portions of this are taken from MIT’s open-courseware
MAE 552 – Heuristic Optimization Lecture 28 April 5, 2002 Topic:Chess Programs Utilizing Tree Searches.
Applying Genetic Programming to Stratego Ryan Albarelli.
Research Trends in AI Maze Solving using GA Muhammad Younas Hassan Javaid Danish Hussain
Adversarial Search: Game Playing Reading: Chess paper.
D Nagesh Kumar, IIScOptimization Methods: M1L4 1 Introduction and Basic Concepts Classical and Advanced Techniques for Optimization.
Ocober 10, 2012Introduction to Artificial Intelligence Lecture 9: Machine Evolution 1 The Alpha-Beta Procedure Example: max.
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.
1 Reasons for parallelization Can we make GA faster? One of the most promising choices is to use parallel implementations. The reasons for parallelization.
Genetic Algorithm.
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.
Game Playing.
An Approach of Artificial Intelligence Application for Laboratory Tests Evaluation Ş.l.univ.dr.ing. Corina SĂVULESCU University of Piteşti.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Othello Artificial Intelligence With Machine Learning
Probability (Grade 12) Daljit Dhaliwal. Sticks and Stones game.
Design of a real time strategy game with a genetic AI By Bharat Ponnaluri.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Introduction to Artificial Intelligence CS 438 Spring 2008 Today –AIMA, Ch. 6 –Adversarial Search Thursday –AIMA, Ch. 6 –More Adversarial Search The “Luke.
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.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
Machine Learning for an Artificial Intelligence Playing Tic-Tac-Toe Computer Systems Lab 2005 By Rachel Miller.
Senior Project Poster Day 2007, CIS Dept. University of Pennsylvania Reversi Meng Tran Faculty Advisor: Dr. Barry Silverman Strategies: l Corners t Corners.
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.
Jack Chen TJHSST Computer Systems Lab Abstract The purpose of this project is to explore Artificial Intelligence techniques in the board game.
For Friday Finish chapter 6 Program 1, Milestone 1 due.
GAME PLAYING 1. There were two reasons that games appeared to be a good domain in which to explore machine intelligence: 1.They provide a structured task.
Adversarial Search Chapter Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent reply Time limits.
Genetic Algorithms What is a GA Terms and definitions Basic 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.
Robot Intelligence Technology Lab. Generalized game of life YongDuk Kim.
Coevolutionary Automated Software Correction Josh Wilkerson PhD Candidate in Computer Science Missouri S&T.
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.
The Standard Genetic Algorithm Start with a “population” of “individuals” Rank these individuals according to their “fitness” Select pairs of individuals.
Adversarial Search. Regular Tic Tac Toe Play a few games. –What is the expected outcome –What kinds of moves “guarantee” that?
NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.
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.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Artificial Intelligence in Game Design Board Games and the MinMax Algorithm.
Teaching Computers to Think:
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.
An application of the genetic programming technique to strategy development Presented By PREMKUMAR.B M.Tech(CSE) PONDICHERRY UNIVERSITY.
March 1, 2016Introduction to Artificial Intelligence Lecture 11: Machine Evolution 1 Let’s look at… Machine Evolution.
By: Casey Savage, Hayley Stueber, and James Olson
Othello Artificial Intelligence With Machine Learning
Othello Artificial Intelligence With Machine Learning
Battletech Goal Why To recreate the table top game environment in Java
Introduction to Artificial Intelligence Lecture 11: Machine Evolution
The Alpha-Beta Procedure
Othello Artificial Intelligence With Machine Learning
Coevolutionary Automated Software Correction
Presentation transcript:

Othello Artificial Intelligence With Machine Learning Computer Systems TJHSST Nick Sidawy

Introduction Machine learning is an extensive filed of study. Most of what is done with machine learning is tied to artificial intelligence which is why Othello seemed to be a good vessel for my research. It is a simple enough game for me to work on, yet difficult enough to keep me working throughout the quarters.

Purpose The purpose of this research project is to implement machine learning with artificial intelligence. The reason for this is two-fold: First, to create a very effective Othello AI. Second, and more academically oriented, is to gain a deeper understanding of machine learning.

Goal Breakdown The first goal I would like to achieve with this project is to program an effective forward-checker for the AI. The second goal is to use a genetic algorithm to formulate the best evaluation function for the AI to use. My last goal is to have the AI learn from each move it makes so that the more it plays, the faster and better it will perform.

Development The project will be coded in java. I have separated it into 7 different programs. The driver The panel (which controls the game) The AI The game functions (such as capturing pieces) A class called MyButton A program to run the Genetic Algorithm A program for the game functions that will be used in the Genetic Algorithm.

Construction (First Quarter) There are two algorithms that the first quarter was focused on: The forward-checking algorithm (Minimax) The evaluation function A MyButton class was also created

MyButton Class The MyButton class extends Jbutton and has the following variations: It has a paint component It can store values which indicate if the spot on the board is occupied by a piece and will draw images accordingly

Forward-Checker The goal of a forward Checker is to traverse a tree of possible moves and picking the move that will lead to the best scenario down the line. The ply determines how many levels of the tree it goes through. The trick is that at each level of the three it picks the move that is best for the player it is simulating for. Therefore, the computer assumes the opponent will play perfectly. It is nicknamed the Minimax algorithm for this reason. (See Diagram A)

Evaluation Function This function returns a number rating how good a particular board is for a player. It does this based on the positions of the pieces and amount of available moves for each player. For example, pieces in the corners are very valuable and will add many more points to the rating than a piece near the center.

Construction (Second Quarter) Recreating the GUI that the AI would run in so different AI’s and simulations could be used when running the program just once, instead of having to restart it. Creating a program to run the Genetic Algorithm. Creating a program that would contain the moves necessary for the Genetic Algorithm to run.

The New GUI

Genetic Algorithm The values used to evaluate a given Othello board are very important for picking the best move and I hope to use the Genetic Algorithm to find the best values for evaluation. The main components:  The population (A set of different evaluation values)  The fitness evaluation (The way of testing how well a set of evaluation values performs)  Splicing and Offspring (The production of a new, improved set of evaluation values)

Genetic Algorithm (Cont’d) First, 8 sets of evaluation values are created that will make up the population. Second, each set is given a score based on how it does with the fitness function, which in this case is a game played against a different, constant set of values. Third, 8 new sets of values are produced by splicing the 8 sets of values in the original generation.

Splicing The reproduction takes a Darwinian approach. Depending on how well a particular set does against the fitness function determines the likelihood it will be chosen for reproduction. Two sets (Set A and B) are chosen based on the probabilities and a crossover point is chosen at random for the sets. Next, the two sets will splice by taking all the values before the crossover point of Set A and combining them with the values after the crossover point of Set B. Then, the opposite is performed.

Splicing (Cont’d) This process is done 4 times so the offspring (next generation) is created and can be tested against the fitness function. There is also a predetermined chance that a mutation may occur. A mutation is when a value on a specific set is put to a random number and helps prevent the evaluation sets from all reaching the same values (plateau). In the event a plateau is reached and all the sets in a generation are the same, then the fitness function will become the one of the sets of the generation and 8 new sets will be created by random. In theory this will create better and better evaluation sets over time.

Conclusions Thus far into the project I have learned the importance of the evaluation function. A strong evaluation function has much more weight than a forward-checker with a high-ply. When the project is complete I plan on having a very skilled Othello AI that uses machine learning extensively and will be challenging for the best players.