SlideShare a Scribd company logo
Programs that Play better than Us
Melvin Zhang
melvin@melvinzhang.net
@melvinzhangzy
https://en.wikipedia.org/wiki/File:ST Battle Chess.png
https://en.wikipedia.org/wiki/Deep Blue (chess computer)
Deep Blue (IBM, 1996)
http://afflictor.com/2012/09/11/chess-programs-regularly-play-at-good-amateur-level/
Game tree
Optimal play
Terminal
min player
max player
Optimal play
1 01 1 1Terminal
min player
max player
Optimal play
1 01 1 1
0
Terminal
min player
max player
Optimal play
1 01 1 1
0 1
Terminal
min player
max player
Optimal play
1 01 1 1
0 1
1
Terminal
min player
max player
Chess has about 1046
states!
Minimax algorithm
Cut-off
min player
max player
Minimax algorithm
.7 .1 .6 .9Cut-off
min player
max player
Minimax algorithm
.7 .1 .6 .9
.1
Cut-off
min player
max player
Minimax algorithm
.7 .1 .6 .9
.1 .6
Cut-off
min player
max player
Minimax algorithm
.7 .1 .6 .9
.1 .6
.6
Cut-off
min player
max player
https://stockfishchess.org/
Stockfish
https://tests.stockfishchess.org/
Testing AI changes is crucial
Value functions are hard!
http://mathworld.wolfram.com/Go.html
http://www.remi-coulom.fr/CrazyStone/
R´emi Coulom
http://www.wired.com/2014/05/the-world-of-computer-go/
Monte Carlo evaluations
Cut-off
min player
max player
Monte Carlo evaluations
Cut-off
min player
max player
Monte Carlo evaluations
Cut-off
min player
max player
Monte Carlo evaluations
Cut-off
min player
max player
Monte Carlo evaluations
Cut-off
min player
max player
.7
Monte Carlo Tree Search (MCTS)
by Google Deepmind
https://deepmind.com/research/alphago/
https://gogameguru.com/alphago-races-ahead-2-0-lee-sedol/
MCTS + Policy and value networks
http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html
MCTS + Policy and value networks
Some games have hidden information!
http://magic.wizards.com/en/events/coverage/gpsin15/father-son-2015-06-27
https://magarena.github.io
Determinization: choose a random instance of the
hidden information during simulation
Comparison of Minimax and MCTS
At 1s thinking time:
Minimax MCTS
1 0.88
Comparison of Minimax and MCTS
At 1s thinking time:
Minimax MCTS
1 0.88
At 4s thinking time:
Minimax MCTS
1 1.71
Open problems
MCTS is bad at tight tactical play.
MCTS plays badly when it is behind in the game.
Further readings
Further readings

More Related Content

Similar to Programs that Play better than Us

Getting started with open source game playing AIs
Getting started with open source game playing AIsGetting started with open source game playing AIs
Getting started with open source game playing AIsMelvin Zhang
 
Ibm's deep blue chess grandmaster chips
Ibm's deep blue chess grandmaster chipsIbm's deep blue chess grandmaster chips
Ibm's deep blue chess grandmaster chipsNadeeshaan Gunasinghe
 
MSI Z170 GAMING Series Motherboards
MSI Z170 GAMING Series MotherboardsMSI Z170 GAMING Series Motherboards
MSI Z170 GAMING Series MotherboardsMSI Gaming
 
Game Tree ( Oyun Ağaçları )
Game Tree ( Oyun Ağaçları )Game Tree ( Oyun Ağaçları )
Game Tree ( Oyun Ağaçları )Alp Çoker
 
NetRacer for the Commodore 64
NetRacer for the Commodore 64NetRacer for the Commodore 64
NetRacer for the Commodore 64Leif Bloomquist
 
9SearchAdversarial (1).pptx
9SearchAdversarial (1).pptx9SearchAdversarial (1).pptx
9SearchAdversarial (1).pptxumairshams6
 
MSI X99 GAMING Motherboards
MSI X99 GAMING MotherboardsMSI X99 GAMING Motherboards
MSI X99 GAMING MotherboardsMSI Gaming
 
14 scaleabilty wics
14 scaleabilty wics14 scaleabilty wics
14 scaleabilty wicsashish61_scs
 
Topic - 6 (Game Playing).ppt
Topic - 6 (Game Playing).pptTopic - 6 (Game Playing).ppt
Topic - 6 (Game Playing).pptSabrinaShanta2
 
Do Hoa VS Hien Thuc Ao
Do Hoa VS Hien Thuc AoDo Hoa VS Hien Thuc Ao
Do Hoa VS Hien Thuc AoTien Phan
 

Similar to Programs that Play better than Us (16)

Getting started with open source game playing AIs
Getting started with open source game playing AIsGetting started with open source game playing AIs
Getting started with open source game playing AIs
 
Minimax
MinimaxMinimax
Minimax
 
Ibm's deep blue chess grandmaster chips
Ibm's deep blue chess grandmaster chipsIbm's deep blue chess grandmaster chips
Ibm's deep blue chess grandmaster chips
 
MSI Z170 GAMING Series Motherboards
MSI Z170 GAMING Series MotherboardsMSI Z170 GAMING Series Motherboards
MSI Z170 GAMING Series Motherboards
 
Game Tree ( Oyun Ağaçları )
Game Tree ( Oyun Ağaçları )Game Tree ( Oyun Ağaçları )
Game Tree ( Oyun Ağaçları )
 
The sims 3
The sims 3 The sims 3
The sims 3
 
NetRacer for the Commodore 64
NetRacer for the Commodore 64NetRacer for the Commodore 64
NetRacer for the Commodore 64
 
9SearchAdversarial (1).pptx
9SearchAdversarial (1).pptx9SearchAdversarial (1).pptx
9SearchAdversarial (1).pptx
 
AI Lecture 5 (game playing)
AI Lecture 5 (game playing)AI Lecture 5 (game playing)
AI Lecture 5 (game playing)
 
Readme
ReadmeReadme
Readme
 
cai
caicai
cai
 
MSI X99 GAMING Motherboards
MSI X99 GAMING MotherboardsMSI X99 GAMING Motherboards
MSI X99 GAMING Motherboards
 
14 scaleabilty wics
14 scaleabilty wics14 scaleabilty wics
14 scaleabilty wics
 
Computer Chess 2004
Computer Chess 2004Computer Chess 2004
Computer Chess 2004
 
Topic - 6 (Game Playing).ppt
Topic - 6 (Game Playing).pptTopic - 6 (Game Playing).ppt
Topic - 6 (Game Playing).ppt
 
Do Hoa VS Hien Thuc Ao
Do Hoa VS Hien Thuc AoDo Hoa VS Hien Thuc Ao
Do Hoa VS Hien Thuc Ao
 

More from Melvin Zhang

How Alan Turing accidentally invented Software
How Alan Turing accidentally invented SoftwareHow Alan Turing accidentally invented Software
How Alan Turing accidentally invented SoftwareMelvin Zhang
 
Solving the TSP for warehouses
Solving the TSP for warehousesSolving the TSP for warehouses
Solving the TSP for warehousesMelvin Zhang
 
Optimize all the things with MiniZinc
Optimize all the things with MiniZincOptimize all the things with MiniZinc
Optimize all the things with MiniZincMelvin Zhang
 
AMKSS Career Conference 2018: Software Engineering
AMKSS Career Conference 2018: Software EngineeringAMKSS Career Conference 2018: Software Engineering
AMKSS Career Conference 2018: Software EngineeringMelvin Zhang
 
Beating us at our own Games
Beating us at our own GamesBeating us at our own Games
Beating us at our own GamesMelvin Zhang
 
Building a Turing Machine emulator to explore Turing's great ideas
Building a Turing Machine emulator to explore Turing's great ideasBuilding a Turing Machine emulator to explore Turing's great ideas
Building a Turing Machine emulator to explore Turing's great ideasMelvin Zhang
 
Lessons from Developing an AI to Play Magic: The Gathering
Lessons from Developing an AI to Play Magic: The GatheringLessons from Developing an AI to Play Magic: The Gathering
Lessons from Developing an AI to Play Magic: The GatheringMelvin Zhang
 
Functional programming from first principles
Functional programming from first principlesFunctional programming from first principles
Functional programming from first principlesMelvin Zhang
 
Binary Lambda Calculus and Combinatory Logic
Binary Lambda Calculus and Combinatory LogicBinary Lambda Calculus and Combinatory Logic
Binary Lambda Calculus and Combinatory LogicMelvin Zhang
 
AMKSS Career Conference 2015: Programming
AMKSS Career Conference 2015: ProgrammingAMKSS Career Conference 2015: Programming
AMKSS Career Conference 2015: ProgrammingMelvin Zhang
 
Building a state of the art AI to play Magic: The Gathering
Building a state of the art AI to play Magic: The GatheringBuilding a state of the art AI to play Magic: The Gathering
Building a state of the art AI to play Magic: The GatheringMelvin Zhang
 
Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search
Efficient Selectivity and Backup Operators in Monte-Carlo Tree SearchEfficient Selectivity and Backup Operators in Monte-Carlo Tree Search
Efficient Selectivity and Backup Operators in Monte-Carlo Tree SearchMelvin Zhang
 
Quest for the optimal algorithm
Quest for the optimal algorithmQuest for the optimal algorithm
Quest for the optimal algorithmMelvin Zhang
 
Playing Games by Throwing Dice
Playing Games by Throwing DicePlaying Games by Throwing Dice
Playing Games by Throwing DiceMelvin Zhang
 
Becoming a better problem solver: a CS perspective
Becoming a better problem solver: a CS perspectiveBecoming a better problem solver: a CS perspective
Becoming a better problem solver: a CS perspectiveMelvin Zhang
 
Ortholog assignment
Ortholog assignmentOrtholog assignment
Ortholog assignmentMelvin Zhang
 
Building pipelines with Make
Building pipelines with MakeBuilding pipelines with Make
Building pipelines with MakeMelvin Zhang
 
Opportunities in STEM
Opportunities in STEMOpportunities in STEM
Opportunities in STEMMelvin Zhang
 

More from Melvin Zhang (18)

How Alan Turing accidentally invented Software
How Alan Turing accidentally invented SoftwareHow Alan Turing accidentally invented Software
How Alan Turing accidentally invented Software
 
Solving the TSP for warehouses
Solving the TSP for warehousesSolving the TSP for warehouses
Solving the TSP for warehouses
 
Optimize all the things with MiniZinc
Optimize all the things with MiniZincOptimize all the things with MiniZinc
Optimize all the things with MiniZinc
 
AMKSS Career Conference 2018: Software Engineering
AMKSS Career Conference 2018: Software EngineeringAMKSS Career Conference 2018: Software Engineering
AMKSS Career Conference 2018: Software Engineering
 
Beating us at our own Games
Beating us at our own GamesBeating us at our own Games
Beating us at our own Games
 
Building a Turing Machine emulator to explore Turing's great ideas
Building a Turing Machine emulator to explore Turing's great ideasBuilding a Turing Machine emulator to explore Turing's great ideas
Building a Turing Machine emulator to explore Turing's great ideas
 
Lessons from Developing an AI to Play Magic: The Gathering
Lessons from Developing an AI to Play Magic: The GatheringLessons from Developing an AI to Play Magic: The Gathering
Lessons from Developing an AI to Play Magic: The Gathering
 
Functional programming from first principles
Functional programming from first principlesFunctional programming from first principles
Functional programming from first principles
 
Binary Lambda Calculus and Combinatory Logic
Binary Lambda Calculus and Combinatory LogicBinary Lambda Calculus and Combinatory Logic
Binary Lambda Calculus and Combinatory Logic
 
AMKSS Career Conference 2015: Programming
AMKSS Career Conference 2015: ProgrammingAMKSS Career Conference 2015: Programming
AMKSS Career Conference 2015: Programming
 
Building a state of the art AI to play Magic: The Gathering
Building a state of the art AI to play Magic: The GatheringBuilding a state of the art AI to play Magic: The Gathering
Building a state of the art AI to play Magic: The Gathering
 
Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search
Efficient Selectivity and Backup Operators in Monte-Carlo Tree SearchEfficient Selectivity and Backup Operators in Monte-Carlo Tree Search
Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search
 
Quest for the optimal algorithm
Quest for the optimal algorithmQuest for the optimal algorithm
Quest for the optimal algorithm
 
Playing Games by Throwing Dice
Playing Games by Throwing DicePlaying Games by Throwing Dice
Playing Games by Throwing Dice
 
Becoming a better problem solver: a CS perspective
Becoming a better problem solver: a CS perspectiveBecoming a better problem solver: a CS perspective
Becoming a better problem solver: a CS perspective
 
Ortholog assignment
Ortholog assignmentOrtholog assignment
Ortholog assignment
 
Building pipelines with Make
Building pipelines with MakeBuilding pipelines with Make
Building pipelines with Make
 
Opportunities in STEM
Opportunities in STEMOpportunities in STEM
Opportunities in STEM
 

Recently uploaded

Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsGlobus
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILNatan Silnitsky
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisNeo4j
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAlluxio, Inc.
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfkalichargn70th171
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEJelle | Nordend
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...rajkumar669520
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessWSO2
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfAMB-Review
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
 

Recently uploaded (20)

Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 

Programs that Play better than Us