getting started with open source game playing ais

37
Getting started with Open Source Game AIs Melvin Zhang [email protected] @melvinzhangzy Stockfish Pachi

Upload: melvin-zhang

Post on 08-Apr-2017

48 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: Getting started with open source game playing AIs

Getting started with

Open Source Game AIs

Melvin [email protected]

@melvinzhangzy

Stockfish Pachi

Page 2: Getting started with open source game playing AIs

https://en.wikipedia.org/wiki/File:ST Battle Chess.png

Page 3: Getting started with open source game playing AIs

http://afflictor.com/2012/09/11/chess-programs-regularly-play-at-good-amateur-level/

Page 4: Getting started with open source game playing AIs

https://en.wikipedia.org/wiki/Deep Blue (chess computer)

Deep Blue

Page 5: Getting started with open source game playing AIs

https://stockfishchess.org/ Lang:C++ License:GPLv3

Stockfish

Page 6: Getting started with open source game playing AIs

Game tree

https://en.wikipedia.org/wiki/Game tree

Page 7: Getting started with open source game playing AIs

Optimal play

Terminal

min player

max player

Page 8: Getting started with open source game playing AIs

Optimal play

1 01 1 1Terminal

min player

max player

Page 9: Getting started with open source game playing AIs

Optimal play

1 01 1 1

0

Terminal

min player

max player

Page 10: Getting started with open source game playing AIs

Optimal play

1 01 1 1

0 1

Terminal

min player

max player

Page 11: Getting started with open source game playing AIs

Optimal play

1 01 1 1

0 1

1

Terminal

min player

max player

Page 12: Getting started with open source game playing AIs

Chess has about 1046 (2153) states!

Page 13: Getting started with open source game playing AIs

Minimax algorithm with heuristic score

Cut-off

min player

max player

Page 14: Getting started with open source game playing AIs

Minimax algorithm with heuristic score

.7 .1 .6 .9Cut-off

min player

max player

Page 15: Getting started with open source game playing AIs

Minimax algorithm with heuristic score

.7 .1 .6 .9

.1

Cut-off

min player

max player

Page 16: Getting started with open source game playing AIs

Minimax algorithm with heuristic score

.7 .1 .6 .9

.1 .6

Cut-off

min player

max player

Page 17: Getting started with open source game playing AIs

Minimax algorithm with heuristic score

.7 .1 .6 .9

.1 .6

.6

Cut-off

min player

max player

Page 18: Getting started with open source game playing AIs

https://tests.stockfishchess.org/

Testing AI changes is crucial

Page 19: Getting started with open source game playing AIs

Heuristic scores are hard!

Page 20: Getting started with open source game playing AIs

http://mathworld.wolfram.com/Go.html

Page 21: Getting started with open source game playing AIs

by Google Deepmind

https://deepmind.com/research/alphago/

Page 22: Getting started with open source game playing AIs

https://gogameguru.com/alphago-races-ahead-2-0-lee-sedol/

Page 23: Getting started with open source game playing AIs

http://pachi.or.cz/ Lang:C License:GPLv2

Pachi

Page 24: Getting started with open source game playing AIs

Monte Carlo evaluations

Cut-off

min player

max player

Page 25: Getting started with open source game playing AIs

Monte Carlo evaluations

Cut-off

min player

max player

Page 26: Getting started with open source game playing AIs

Monte Carlo evaluations

Cut-off

min player

max player

Page 27: Getting started with open source game playing AIs

Monte Carlo evaluations

Cut-off

min player

max player

Page 28: Getting started with open source game playing AIs

Monte Carlo evaluations

Cut-off

min player

max player

.7

Page 29: Getting started with open source game playing AIs

Monte Carlo Tree Search (MCTS)

Page 30: Getting started with open source game playing AIs

Some games have hidden information!

Page 31: Getting started with open source game playing AIs

http://magic.wizards.com/en/events/coverage/gpsin15/father-son-2015-06-27

Page 32: Getting started with open source game playing AIs

https://magarena.github.io Lang:Java License:GPLv3

Page 33: Getting started with open source game playing AIs
Page 34: Getting started with open source game playing AIs

Choose a random instantiation of the hiddeninformation during simulation

Page 35: Getting started with open source game playing AIs

Theory Practice

Page 36: Getting started with open source game playing AIs

Theory Practice• Optimal play

• Minimax

• Monte Carlotree search

• Sampling hiddeninformation

Page 37: Getting started with open source game playing AIs

Theory Practice• Optimal play

• Minimax

• Monte Carlotree search

• Sampling hiddeninformation

Stockfish Pachi