StarCraft Learning Algorithms By Logan Yarnell, Steven Raines, and Dean Antel.

Slides:



Advertisements
Similar presentations
Chapter 09 AI techniques in different game genres (Puzzle/Card/Shooting)
Advertisements

Soar and StarCraft By Alex Turner. What is StarCraft: Brood War? A Real-Time Strategy (RTS) computer game released in A sci-fi war simulation Continually.
A New World Or People Keep Telling Me This is Ambitious By Jeremiah Lewis.
Artificial Intelligence Presentation
Tetris – Genetic Algorithm Presented by, Jeethan & Jun.
A Survey of Real-Time Strategy Game AI Research and Competition in StarCraft Santiago Ontanon, Gabriel Synnaeve, Alberto Uriarte, Florian Richoux, David.
Artificial Intelligence in Real Time Strategy Games Dan Li.
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
CSE 380 – Computer Game Programming Pathfinding AI
Class Project Due at end of finals week Essentially anything you want, so long as it’s AI related and I approve Any programming language you want In pairs.
Minimax and Alpha-Beta Reduction Borrows from Spring 2006 CS 440 Lecture Slides.
GENETIC PROGRAMMING FOR CHECKERS PLAY Dustin Shutes Abstract: This project uses genetic programming to develop a program that plays the game of checkers.
Artificial Intelligence in Game Design Introduction to Learning.
Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
Evolutionary Algorithms Simon M. Lucas. The basic idea Initialise a random population of individuals repeat { evaluate select vary (e.g. mutate or crossover)
Genetic Algorithms Learning Machines for knowledge discovery.
Adversarial Search: Game Playing Reading: Chess paper.
Nicholas Mifsud.  Behaviour Trees (BT) proposed as an improvement over Finite State Machines (FSM)  BTs are simple to design, implement, easily scalable,
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Classifiers, Part 3 Week 1, Video 5 Classification  There is something you want to predict (“the label”)  The thing you want to predict is categorical.
Evolving Multi-modal Behavior in NPCs Jacob Schrum – Risto Miikkulainen –
CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.
Artificial Intelligence in Game Design Problems and Goals.
An Approach of Artificial Intelligence Application for Laboratory Tests Evaluation Ş.l.univ.dr.ing. Corina SĂVULESCU University of Piteşti.
Senior Project – Computer Science – 2015 Modelling Opponents in Board Games Julian Jocque Advisor – Prof. Rieffel Abstract Modelling opponents in a game.
More precisely called Branch of AI behind it.
Evolutionary Computing Systems Lab (ECSL), University of Nevada, Reno 1 Authors : Christopher Ballinger, Sushil Louis
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
An Introduction to Artificial Intelligence and Knowledge Engineering N. Kasabov, Foundations of Neural Networks, Fuzzy Systems, and Knowledge Engineering,
Artificial Intelligence in Gaming Riley Turben. Game AI  Differ from a “traditional” AI  Scope of knowledge  Varying complexity  A substitute for.
Knowledge acquisition for adative game AI Marc Ponsen et al. Science of Computer programming vol. 67, pp , 2007 장수형.
Graph Coloring with Ants
Othello Artificial Intelligence With Machine Learning
Introduction to AI Engine & Common Used AI Techniques Created by: Abdelrahman Al-Ogail Under Supervision of: Dr. Ibrahim Fathy.
Starcraft Opponent Modeling CSE 391: Intro to AI Luciano Cheng.
Design of a real time strategy game with a genetic AI By Bharat Ponnaluri.
CodeVita Season III (2014 – 2015 Season).
Game Playing. Towards Intelligence? Many researchers attacked “intelligent behavior” by looking to strategy games involving deep thought. Many researchers.
Machine Learning in Computer Games Marc Ponsen 11/29/04.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Machine Learning for an Artificial Intelligence Playing Tic-Tac-Toe Computer Systems Lab 2005 By Rachel Miller.
Chap. 1 GENERAL WISDOM AI Game Programming Wisdom.
Neural Network Implementation of Poker AI
DEEP RED An Intelligent Approach to Chinese Checkers.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 Evolving Reactive NPCs for the Real-Time Simulation Game.
Othello Artificial Intelligence With Machine Learning Computer Systems TJHSST Nick Sidawy.
A field of study that encompasses computational techniques for performing tasks that require intelligence when performed by humans. Simulation of human.
Design of a real time strategy game with a genetic AI By Bharat Ponnaluri.
Econ 805 Advanced Micro Theory 1 Dan Quint Fall 2009 Lecture 1 A Quick Review of Game Theory and, in particular, Bayesian Games.
CSCE 552 Fall 2012 AI By Jijun Tang. Homework 3 List of AI techniques in games you have played; Select one game and discuss how AI enhances its game play.
1 Chapter 7 Advanced Pathfinding Techniques improving performance & quality Reference: Game Development Essentials Game Artificial Intelligence.
Honors Track: Competitive Programming & Problem Solving Seminar Topics Kevin Verbeek.
Teaching Computers to Think:
AN OPTIMIZATION DESIGN OF ARTIFICIAL HIP STEM BY GENETIC ALGORITHM AND PATTERN CLASSIFICATION.
An application of the genetic programming technique to strategy development Presented By PREMKUMAR.B M.Tech(CSE) PONDICHERRY UNIVERSITY.
Evolutionary Computing Systems Lab (ECSL), University of Nevada, Reno 1 Authors : Siming Liu, Christopher Ballinger, Sushil Louis
The Game Development Process: Artificial Intelligence.
George Yauneridge.  Machine learning basics  Types of learning algorithms  Genetic algorithm basics  Applications and the future of genetic algorithms.
March 1, 2016Introduction to Artificial Intelligence Lecture 11: Machine Evolution 1 Let’s look at… Machine Evolution.
Selected Topics in CI I Genetic Programming Dr. Widodo Budiharto 2014.
Othello Artificial Intelligence With Machine Learning
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
Ho-Chul Cho, Kyung-Joong Kim, Sung-Bae Cho
MultiRefactor: Automated Refactoring To Improve Software Quality
Othello Artificial Intelligence With Machine Learning
Bin Packing Optimization
Christopher Hodgson and Gregory Tyler Loftis
Search.
Search.
Coevolutionary Automated Software Correction
Presentation transcript:

StarCraft Learning Algorithms By Logan Yarnell, Steven Raines, and Dean Antel

Abstract  The opening or initial build order during a StarCraft match is an integral part of a player’s strategy. If an opening is naively chosen it makes a player vulnerable to tactics that can end the game very quickly. We examine three algorithms for choosing a “good” opener: Bayesian network, a genetic algorithm, and a pathfinding algorithm.

About StarCraft  Real-time strategy game  Similar to a complex digital version of chess but in real-time  Expert level gameplay is very complex, often requiring over 300 actions per minute.  Considered a national sport in South Korea

About StarCraft  Playing Starcraft requires simultaneously managing several distinct competencies:  Strategy  Production  Economy  Recon  Tactics

Basic Actions  Build buildings  Build units  Attack the enemy  Gather resources/manage economy

Genetic Algorithm  Modifies some set of “solutions” to a problem in a way similar to natural selection  Has mutation, crossover, and elitism functions  Solution = a build order  Each build order is given a fitness value determined by how successful it is  The number of mutations the build has gone through is also recorded  If a build order has gone through 10 mutations and it’s fitness < 5, elitism removes that build order

Genetic Algorithm  Most important part of genetic algorithm = mutate function  Sometimes the only part implemented if computational resources are limited  Fitness value determination is also important  Considered factors in determining a build’s fitness: time taken, amount of resources used, whether the match was won or lost, number of units/structures that survived…  In the end only win/loss rate was chosen to affect fitness

Genetic Algorithm  Mutate function randomly chooses to add a new unit, reorder the build, or remove a unit  isBuildValid method checks to make sure the mutate function doesn’t produce a useless build order by placing a unit before it’s prerequisite(s)  The newly mutated build is then written to a.txt file with NumOfMutations incremented  A match is run with that build, if it wins the fitness value is incremented, if it looses the fitness is not altered  There is an element of randomness, but complexity is more or less constant

Genetic Algorithm

Bayesian Network  Use knowledge from earlier games to predict what type of units the opponent is likely to have.  Requires mining a large amount of data from replays  Scouting is essential to make this work effectively  Difficult due to incomplete information available during matches

Pathfinding  From what is seen, create a shortest possible build. Relies on scouting.  Dijkstra’s algorithm O(n) complexity.  O(|V|^2)  O(|E|+|V|log|V|)  Intersection O(n^2)

Pathfinding (Continued)

Conclusions  Understanding the complexity of the environment is a key element to creating a learning algorithm for it.  Complementary not competitive.

Why 380?  There are many ways to implement a StarCraft bot that include various algorithms for the different aspects of gameplay:  Finite state machines  Scripting  Dynamic scripting  Probabilistic inference  Influence maps  Neural networks  Swarm intelligence  Potential fields  Genetic programming

Future Work  Enhance unit combat  Increase the amount of units considered in build orders  Optimize building efficiency to allow multiple buildings to be constructed at the same time.  Add dynamic scouting

Questions  What is the computational complexity (O(n)) of Dijkstra’s algorithm without optimization?  Is this a constraint satisfaction problem, or an optimization problem?  What probabilistic relationship is there between nodes in a Bayesian network that represents a StarCraft tech tree?

Answers  N^2  Optimization  Conditional dependence

Sources   model.pdf model.pdf   content/uploads/2014/12/making_and_acting_on_predictions_on_scbw_2014. pdf content/uploads/2014/12/making_and_acting_on_predictions_on_scbw_2014. pdf