SlideShare a Scribd company logo
1 of 37
Download to read offline
Getting started with
Open Source Game AIs
Melvin Zhang
melvin@melvinzhang.net
@melvinzhangzy
Stockfish Pachi
https://en.wikipedia.org/wiki/File:ST Battle Chess.png
http://afflictor.com/2012/09/11/chess-programs-regularly-play-at-good-amateur-level/
https://en.wikipedia.org/wiki/Deep Blue (chess computer)
Deep Blue
https://stockfishchess.org/ Lang:C++ License:GPLv3
Stockfish
Game tree
https://en.wikipedia.org/wiki/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
(2153
) states!
Minimax algorithm with heuristic score
Cut-off
min player
max player
Minimax algorithm with heuristic score
.7 .1 .6 .9Cut-off
min player
max player
Minimax algorithm with heuristic score
.7 .1 .6 .9
.1
Cut-off
min player
max player
Minimax algorithm with heuristic score
.7 .1 .6 .9
.1 .6
Cut-off
min player
max player
Minimax algorithm with heuristic score
.7 .1 .6 .9
.1 .6
.6
Cut-off
min player
max player
https://tests.stockfishchess.org/
Testing AI changes is crucial
Heuristic scores are hard!
http://mathworld.wolfram.com/Go.html
by Google Deepmind
https://deepmind.com/research/alphago/
https://gogameguru.com/alphago-races-ahead-2-0-lee-sedol/
http://pachi.or.cz/ Lang:C License:GPLv2
Pachi
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)
Some games have hidden information!
http://magic.wizards.com/en/events/coverage/gpsin15/father-son-2015-06-27
https://magarena.github.io Lang:Java License:GPLv3
Choose a random instantiation of the hidden
information during simulation
Theory Practice
Theory Practice
• Optimal play
• Minimax
• Monte Carlo
tree search
• Sampling hidden
information
Theory Practice
• Optimal play
• Minimax
• Monte Carlo
tree search
• Sampling hidden
information
Stockfish Pachi

More Related Content

What's hot

Openstack kilo installation using rdo
Openstack kilo installation using rdoOpenstack kilo installation using rdo
Openstack kilo installation using rdo
Narasimha sreeram
 
Remastering of ubuntu
Remastering of ubuntuRemastering of ubuntu
Remastering of ubuntu
Amit Karpe
 
Ict - Motherboard
Ict - MotherboardIct - Motherboard
Ict - Motherboard
aleeya91
 
La2 Motherboard
La2 MotherboardLa2 Motherboard
La2 Motherboard
Cma Mohd
 
Motherboard
MotherboardMotherboard
Motherboard
Cma Mohd
 

What's hot (20)

Openstack installation using rdo
Openstack installation using rdoOpenstack installation using rdo
Openstack installation using rdo
 
O meu computador
O meu computadorO meu computador
O meu computador
 
Openstack kilo installation using rdo
Openstack kilo installation using rdoOpenstack kilo installation using rdo
Openstack kilo installation using rdo
 
Resultados
ResultadosResultados
Resultados
 
你不知道的前端
你不知道的前端你不知道的前端
你不知道的前端
 
NodeMCU setup LUA
NodeMCU setup LUANodeMCU setup LUA
NodeMCU setup LUA
 
Cluster setup multinode_aws
Cluster setup multinode_awsCluster setup multinode_aws
Cluster setup multinode_aws
 
Jvm的最小使用内存测试
Jvm的最小使用内存测试Jvm的最小使用内存测试
Jvm的最小使用内存测试
 
Raspberry Pi Bake-Off
Raspberry Pi Bake-OffRaspberry Pi Bake-Off
Raspberry Pi Bake-Off
 
Remastering of ubuntu
Remastering of ubuntuRemastering of ubuntu
Remastering of ubuntu
 
Spesifikasi server
Spesifikasi serverSpesifikasi server
Spesifikasi server
 
Building a secure bastion, or, 50 ways to kill your server
Building a secure bastion, or, 50 ways to kill your serverBuilding a secure bastion, or, 50 ways to kill your server
Building a secure bastion, or, 50 ways to kill your server
 
3 manual installation of open vpn
3 manual installation of open vpn3 manual installation of open vpn
3 manual installation of open vpn
 
Installing OpenStack Juno using RDO on RHEL
Installing OpenStack Juno using RDO on RHELInstalling OpenStack Juno using RDO on RHEL
Installing OpenStack Juno using RDO on RHEL
 
INSTALLION OF BI
INSTALLION OF BIINSTALLION OF BI
INSTALLION OF BI
 
Ict - Motherboard
Ict - MotherboardIct - Motherboard
Ict - Motherboard
 
La2 Motherboard
La2 MotherboardLa2 Motherboard
La2 Motherboard
 
Motherboard
MotherboardMotherboard
Motherboard
 
System administration
System administrationSystem administration
System administration
 
One key sheard site to site open vpn
One key sheard site to site open vpnOne key sheard site to site open vpn
One key sheard site to site open vpn
 

Similar to Getting started with open source game playing AIs

Facebook flash api and social game development
Facebook flash api and social game developmentFacebook flash api and social game development
Facebook flash api and social game development
Yenwen Feng
 

Similar to Getting started with open source game playing AIs (20)

Programs that Play better than Us
Programs that Play better than UsPrograms that Play better than Us
Programs that Play better than Us
 
Playing CTFs for Fun & Profit
Playing CTFs for Fun & ProfitPlaying CTFs for Fun & Profit
Playing CTFs for Fun & Profit
 
Console development
Console developmentConsole development
Console development
 
PNETLab.pdf
PNETLab.pdfPNETLab.pdf
PNETLab.pdf
 
Basic presentation of cryptography mechanisms
Basic presentation of cryptography mechanismsBasic presentation of cryptography mechanisms
Basic presentation of cryptography mechanisms
 
Unix executable buffer overflow
Unix executable buffer overflowUnix executable buffer overflow
Unix executable buffer overflow
 
Do Hoa VS Hien Thuc Ao
Do Hoa VS Hien Thuc AoDo Hoa VS Hien Thuc Ao
Do Hoa VS Hien Thuc Ao
 
Let Me Pick Your Brain - Remote Forensics in Hardened Environments
Let Me Pick Your Brain - Remote Forensics in Hardened EnvironmentsLet Me Pick Your Brain - Remote Forensics in Hardened Environments
Let Me Pick Your Brain - Remote Forensics in Hardened Environments
 
Secure Software: Action, Comedy or Drama? (2017 edition)
Secure Software: Action, Comedy or Drama? (2017 edition)Secure Software: Action, Comedy or Drama? (2017 edition)
Secure Software: Action, Comedy or Drama? (2017 edition)
 
The post release technologies of Crysis 3 (Slides Only) - Stewart Needham
The post release technologies of Crysis 3 (Slides Only) - Stewart NeedhamThe post release technologies of Crysis 3 (Slides Only) - Stewart Needham
The post release technologies of Crysis 3 (Slides Only) - Stewart Needham
 
5 Best Motherboards for Intel Core i7 6700k in 2023 Review
5 Best Motherboards for Intel Core i7 6700k in 2023 Review5 Best Motherboards for Intel Core i7 6700k in 2023 Review
5 Best Motherboards for Intel Core i7 6700k in 2023 Review
 
Facebook flash api and social game development
Facebook flash api and social game developmentFacebook flash api and social game development
Facebook flash api and social game development
 
Building an ActionScript Game Server with over 15,000 Concurrent Connections
Building an ActionScript Game Server with over 15,000 Concurrent ConnectionsBuilding an ActionScript Game Server with over 15,000 Concurrent Connections
Building an ActionScript Game Server with over 15,000 Concurrent Connections
 
Building fast,scalable game server in node.js
Building fast,scalable game server in node.jsBuilding fast,scalable game server in node.js
Building fast,scalable game server in node.js
 
Intelligent Heuristics for the Game Isolation
Intelligent Heuristics  for the Game IsolationIntelligent Heuristics  for the Game Isolation
Intelligent Heuristics for the Game Isolation
 
XNA And Silverlight
XNA And SilverlightXNA And Silverlight
XNA And Silverlight
 
Cryptography - You're doing it wrong! (Attila Balazs)
Cryptography - You're doing it wrong! (Attila Balazs)Cryptography - You're doing it wrong! (Attila Balazs)
Cryptography - You're doing it wrong! (Attila Balazs)
 
High performance PHP8 at Scale - PhpersSummit 2023
High performance PHP8 at Scale - PhpersSummit 2023 High performance PHP8 at Scale - PhpersSummit 2023
High performance PHP8 at Scale - PhpersSummit 2023
 
White Lightning Sept 2014
White Lightning Sept 2014White Lightning Sept 2014
White Lightning Sept 2014
 
WiFi practical hacking "Show me the passwords!"
WiFi practical hacking "Show me the passwords!"WiFi practical hacking "Show me the passwords!"
WiFi practical hacking "Show me the passwords!"
 

More from Melvin Zhang

Quest for the optimal algorithm
Quest for the optimal algorithmQuest for the optimal algorithm
Quest for the optimal algorithm
Melvin Zhang
 
Playing Games by Throwing Dice
Playing Games by Throwing DicePlaying Games by Throwing Dice
Playing Games by Throwing Dice
Melvin Zhang
 
Ortholog assignment
Ortholog assignmentOrtholog assignment
Ortholog assignment
Melvin Zhang
 
Building pipelines with Make
Building pipelines with MakeBuilding pipelines with Make
Building pipelines with Make
Melvin 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

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 

Recently uploaded (20)

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
 
Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...
 
Signal Processing and Linear System Analysis
Signal Processing and Linear System AnalysisSignal Processing and Linear System Analysis
Signal Processing and Linear System Analysis
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Ghuma $ Russian Call Girls Ahmedabad ₹7.5k Pick Up & Drop With Cash Payment 8...
Ghuma $ Russian Call Girls Ahmedabad ₹7.5k Pick Up & Drop With Cash Payment 8...Ghuma $ Russian Call Girls Ahmedabad ₹7.5k Pick Up & Drop With Cash Payment 8...
Ghuma $ Russian Call Girls Ahmedabad ₹7.5k Pick Up & Drop With Cash Payment 8...
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 

Getting started with open source game playing AIs