Artificial Intelligence. Cameron Jett, William Kentris, Arthur Mo, Juan Roman

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

Biologically-inspired Autonomic Wireless Sensor Networks. Haoliang Wang 12/07/2015

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

Learning to Play like an Othello Master CS 229 Project Report. Shir Aharon, Amanda Chang, Kent Koyanagi

1) Complexity, Emergence & CA (sb) 2) Fractals and L-systems (sb) 3) Multi-agent systems (vg) 4) Swarm intelligence (vg) 5) Artificial evolution (vg)

Using Artificial intelligent to solve the game of 2048

Discussion of Emergent Strategy

IMGD 1001: Programming Practices; Artificial Intelligence

Monte Carlo based battleship agent

IMGD 1001: Programming Practices; Artificial Intelligence

Playing Othello Using Monte Carlo

COMP3211 Project. Artificial Intelligence for Tron game. Group 7. Chiu Ka Wa ( ) Chun Wai Wong ( ) Ku Chun Kit ( )

Monte Carlo Tree Search

Learning Artificial Intelligence in Large-Scale Video Games

CSC321 Lecture 23: Go

IMPROVING TOWER DEFENSE GAME AI (DIFFERENTIAL EVOLUTION VS EVOLUTIONARY PROGRAMMING) CHEAH KEEI YUAN

AI in Tabletop Games. Team 13 Josh Charnetsky Zachary Koch CSE Professor Anita Wasilewska

CS 380: ARTIFICIAL INTELLIGENCE MONTE CARLO SEARCH. Santiago Ontañón

SWARM INTELLIGENCE. Mario Pavone Department of Mathematics & Computer Science University of Catania

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

Hierarchical Controller for Robotic Soccer

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

biologically-inspired computing lecture 20 Informatics luis rocha 2015 biologically Inspired computing INDIANA UNIVERSITY

By David Anderson SZTAKI (Budapest, Hungary) WPI D2009

Swarm AI: A Solution to Soccer

Andrei Behel AC-43И 1

CS221 Final Project Report Learn to Play Texas hold em

Artificial Intelligence ( CS 365 ) IMPLEMENTATION OF AI SCRIPT GENERATOR USING DYNAMIC SCRIPTING FOR AOE2 GAME

Lecture 5: Game Playing (Adversarial Search)

HUJI AI Course 2012/2013. Bomberman. Eli Karasik, Arthur Hemed

Game-playing: DeepBlue and AlphaGo

CS 480: GAME AI INTRODUCTION TO GAME AI. 4/3/2012 Santiago Ontañón

Shuffled Complex Evolution

USING A FUZZY LOGIC CONTROL SYSTEM FOR AN XPILOT COMBAT AGENT ANDREW HUBLEY AND GARY PARKER

Game Artificial Intelligence ( CS 4731/7632 )

Game playing. Chapter 6. Chapter 6 1

CS 380: ARTIFICIAL INTELLIGENCE ADVERSARIAL SEARCH. Santiago Ontañón

1.4. Artificial Stupidity: The Art of Intentional Mistakes. Lars Lidén.

Ar#ficial)Intelligence!!

Drafting Territories in the Board Game Risk

CS 188: Artificial Intelligence

The first topic I would like to explore is probabilistic reasoning with Bayesian

46.1 Introduction. Foundations of Artificial Intelligence Introduction MCTS in AlphaGo Neural Networks. 46.

Hacking Reinforcement Learning

Foundations of Artificial Intelligence

Chapter 5: Game Analytics

Game playing. Outline

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

Set 4: Game-Playing. ICS 271 Fall 2017 Kalev Kask

Games vs. search problems. Game playing Chapter 6. Outline. Game tree (2-player, deterministic, turns) Types of games. Minimax

Game Playing. Philipp Koehn. 29 September 2015

Game playing. Chapter 6. Chapter 6 1

the gamedesigninitiative at cornell university Lecture 8 Prototyping

Five-In-Row with Local Evaluation and Beam Search

MASON. A Java Multi-agent Simulation Library. Sean Luke Gabriel Catalin Balan Liviu Panait Claudio Cioffi-Revilla Sean Paus

CS 387/680: GAME AI BOARD GAMES

CS 380: ARTIFICIAL INTELLIGENCE

CS 480: GAME AI DECISION MAKING AND SCRIPTING

Efficiency and Effectiveness of Game AI

CS440/ECE448 Lecture 11: Stochastic Games, Stochastic Search, and Learned Evaluation Functions

6. Games. COMP9414/ 9814/ 3411: Artificial Intelligence. Outline. Mechanical Turk. Origins. origins. motivation. minimax search

CS 680: GAME AI WEEK 4: DECISION MAKING IN RTS GAMES

Comparison of Monte Carlo Tree Search Methods in the Imperfect Information Card Game Cribbage

Artificial Intelligence. Minimax and alpha-beta pruning

AI in Computer Games. AI in Computer Games. Goals. Game A(I?) History Game categories

Game Playing State-of-the-Art CSE 473: Artificial Intelligence Fall Deterministic Games. Zero-Sum Games 10/13/17. Adversarial Search

NASA Swarmathon Team ABC (Artificial Bee Colony)

Rapidly Adapting Game AI

Basic Introduction to Breakthrough

Game Playing: Adversarial Search. Chapter 5

Evolutionary Computation for Creativity and Intelligence. By Darwin Johnson, Alice Quintanilla, and Isabel Tweraser

AI for Autonomous Ships Challenges in Design and Validation

Twelve Types of Game Balance

Monte Carlo Tree Search and AlphaGo. Suraj Nair, Peter Kundzicz, Kevin An, Vansh Kumar

Towards Strategic Kriegspiel Play with Opponent Modeling

Dealing with parameterized actions in behavior testing of commercial computer games

CS 387: GAME AI BOARD GAMES

Artificial Intelligence Adversarial Search

Who am I? AI in Computer Games. Goals. AI in Computer Games. History Game A(I?)

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

Monte-Carlo Simulation of Chess Tournament Classification Systems

Foundations of AI. 6. Board Games. Search Strategies for Games, Games with Chance, State of the Art

Balanced Map Generation using Genetic Algorithms in the Siphon Board-game

MONTE-CARLO TWIXT. Janik Steinhauer. Master Thesis 10-08

Designing AI for Competitive Games. Bruce Hayles & Derek Neal

IMGD 1001: Fun and Games

Reinforcement Learning in Games Autonomous Learning Systems Seminar

Adjustable Group Behavior of Agents in Action-based Games

2048: An Autonomous Solver

Population Initialization Techniques for RHEA in GVGP

Game Theory: The Basics. Theory of Games and Economics Behavior John Von Neumann and Oskar Morgenstern (1943)

FreeCiv Learner: A Machine Learning Project Utilizing Genetic Algorithms

CS 4700: Foundations of Artificial Intelligence

Opponent Modelling In World Of Warcraft

COMP219: Artificial Intelligence. Lecture 13: Game Playing

A.I in Automotive? Why and When.

Multi-Robot Coordination. Chapter 11

Creating a Dominion AI Using Genetic Algorithms

Playful AI Education. Todd W. Neller Gettysburg College

Last update: March 9, Game playing. CMSC 421, Chapter 6. CMSC 421, Chapter 6 1

Transcription:

Artificial Intelligence Cameron Jett, William Kentris, Arthur Mo, Juan Roman

AI Outline Handicap for AI Machine Learning Monte Carlo Methods Group Intelligence

Incorporating stupidity into game AI overview Why make our intelligence less intelligent? Examples of unbeatable AI in games. How do we make our AI less intelligent? Problems in weakening AI. Conclusion.

Why do we need to make our game AI less intelligent? Perfect AI can be impossible to defeat. Make the game balanced for many different kinds of people. Make the game fun. Games can be frustrating when they're too difficult. We want the player to win a game without feeling like the victory was handed to them.

Unbeatable AI: Chess A chess game that never makes mistakes.

Unbeatable AI: Pool A game of pool where the AI never misses a shot.

Unbeatable AI: First-Person Shooter Enemies in a first-person shooter with perfect aim from any distance.

How do we make our AI less intelligent? Limit the number of computations an AI is allowed to perform. If a chess program performs a billion calculations before deciding on a move make it choose a move in half that many. Problems This approach decreases the realism of the AI player, making incredibly stupid mistakes that no human player would make.

How do we make our AI less intelligent? Changing an AI's attributes. Lowering accuracy, movement speed, cone of vision, or amount of damage it can deal. Problems This approach is better but not necessarily the best way to limit the games intelligence. This can lead to random occurrences that have unintentional consequences, if the computer gets lucky it can seem like it's unfair or cheating.

How do we make our AI less intelligent? Have the AI make intentional mistakes The AI must make mistakes that look natural, but result in it losing the game. Deliberately make mistakes that the player can take advantage of, and then continue trying to win. Problems This approach is more complicated than the last two attempts, but leads to a more realistic gameplay.

Conclusion A perfect opponent isn't fun, however an easy to defeat opponent is boring. We need a game AI that allows the player to win without feeling like the victory was given to them. We need an AI that makes the "right" kind of mistakes, those that an actual player might make. It's more difficult to write a "bad" game AI than it is to write a good one.

Machine Learning Overview Define "Machine Learning" Why should machines learn? How do machines learn? Methods What does this mean for game development?

What is Machine Learning? Machine Learning refers usually to AI An agent that improves performance with experience Ability to discover relationships between input and output Learning configuration of mazes

Why should machines learn? Allow machine to operate with less human interaction Weather Prediction Language Recognition Spam Filtering

How can machines learn? A machine learns whenever it changes its structure, program, or data Changing input based on previous results Classify input data Updates to a database Writing new code to run

Supervised Learning

Supervised Learning

Reinforcement Learning http://www.ise.pw.edu.pl/~cichosz/rl-java/ http://brain.cc.kogakuin.ac. jp/~kanamaru/nn/cprl/

In Games Changing behavior of game based on player interaction Changing difficulty based on player progress Assist less experienced players Challenge more hardcore players

Monte Carlo Overview What are Monte Carlo Methods? Monte Carlo approach to a game Advantages Disadvantages Improvements

Monte Carlo Methods Repeated random sampling Coined by John Neumann, Stanislaw Ulam, and Nicholas Metropolis Used in physical and mathematical system simulations. http://en.wikipedia. org/wiki/file:pi_30k.gif

Monte Carlo approach to a game 4 in a Row(Connect 4) example Each turn run N random games. Track only initial move. Play rest of the game randomly. Track how often each move produces a victory. Go with the best move. http://beej.us/blog/data/monte-carlomethod-game-ai/

Advantages Easy to program. No high quality of domain knowledge needed. No cold starts. Space complexity is constant.

Disadvantages Equal probability among choices. Selection is strictly Exploitative.

Improvements MCTS(Monte Carlo Tree Search) UCT(Upper Confidence bounds applied to Trees)

Bio-Inspired Algorithms Nature has become inspiration for new metaheuristic approaches Bio-Inspired Algorithms mimic the efficiency of biological systems Bio-Inspired Algorithms generally consist of: Evolutionary Algorithms Swarm Intelligence Bacterial Foraging Algorithms

Swarm Intelligence Collective behavior of decentralized, selforganized systems. Comprised of simple agents, boids, interacting with one another in an environment

Why Swarm Intelligence? Provides us with method to have boids collaborate as a team Improve quality of playing with/against AI

Modeling Behaviors Recent algorithms for Group AI are typically modeled off of behaviors seen in nature. Offer intuitive solutions to difficult problems. Some popular ones include: Ant Colony Optimization, Firefly Algorithm, Krill Herd Algorithm, and others.

Modeling Behaviors Obviously, different algorithms are used to accomplish different goals. For example, in an RTS, must balance utility of sending units to scout, forage for resources, and stay close enough to the group to stand decent chance of survival. Additionally, must organize offensive units to collaborate attacks on enemies.

Ant Colony Optimization Mimics the pheromone trail used by ants; used to determine the most used path. Boids model behavior of ants to follow the most potent trail left by fellow boids.

Firefly Algorithm Mimics flashing behavior of fireflies; used to subdivide into small groups. Uses features of individual boids to attract boids of a similar nature; results in ability to cluster into subgroups.

Krill Herd Algorithm Mimics the krill s dependency on herd density while attempting to forage for food. Boids attempt to maximize friendly boid density (increase odds of survival), while collecting resources (or some other form of utility)

Krill in Action

Swarm Intelligence - Summary Swarm Intelligence Nature inspired algorithms for group behaviors Group Behaviors of boids > Individual Behaviors Different Algorithms for Different Folks Grouping/Clustering Search Optimization (Foraging) Self-preservation Next Time! In-depth look at the 3 Algorithms Applications of the 3 Algorithms (games and IRL)

Questions? "What is 'No', Alex?"