SlideShare une entreprise Scribd logo
1  sur  81
Télécharger pour lire hors ligne
AbadIA
Using Reinforcement
Learning to play and solve the
abbey of crime
Juantomás García - Chief Envisioning Officer - Sngular


Good Morning ING
Who I am
Juantomás García ( 0-)
•Chief Envisioning Officer @ Sngular
•GDEx2 (Google Developer Expert) for cloud and Machine Learning
•#AbadIA Cheer Leader
Others
•Co-Author of the first Spanish free software book “La Pastilla Roja”
•Former President of Hispalinux (Spanish Linux User Group)
•Organizer of the Machine Learning Spain and GDG Cloud Madrid.
What we will see
How #AbadIA
started
?
My buddy Sebas told me:
Is it possible to create an AI that can learn to play
and solve the game?
It’s a really crazy idea with an insane cult 8-bit
game, but I like it
“
”
The Game:The
Abbey of the Crime
First 8-bit RPG in pseudo 3D (2.5D)
It was at 1987 and this game is a kind
of legend in the video games world.
Based in Umberto Eco book “In the
name of the rose”
Do you know the game?
THE GAME
Size of the program: 87 Kb
That include:
• Code
• Graphics
• Music
• Maps
Do you know the game?
THE GAME
The size of this avatar is: 87Kb
Do you know the game?
THE GAME
It was programmed using Z80
assembler for Amstrad CPC and
Sinclair Spectrum
ABOUT THE GAME
Was programmed by Paco Menéndez
Graphics was designed by Juan Delcán
The Plan
The plan:
Make an AI
that can learn
to play and
solve the game
What we had
The original executable
Manuel Abadía disassembled the
original Amstrad CPC game rom.
He documented all the code,
marked the graphics, sounds, etc.
GitHub page: https://bit.ly/2I9TMZk
Original Code
Current Version
Manuel Abadía make a port to C++ of the game using his
special video games framework: Vigasoco
Sebastian Blanes fork the project to use SDL. VigasocoSDL
was born. Now the abbey can be played in chrome, PS3, CC,
linux, MacOS, Windows, etc.
VigasocoSDL
GitHub page: https://github.com/luzbel/VigasocoSDL/wiki
GAME EVOLUTION
How difficult is the
Challenge
Number of
atoms in our
universe?
HOW DIFFICULT IS THE CHALLENGE?
10^80
Number of
atoms in our
universe
(Hawking said
there are more
than one
universe!!)
HOW DIFFICULT IS THE CHALLENGE?
10^80
Number of
atoms in our
universe
(Hawking said
there are more
than one
universe!!)
Number of
chess legal
moves?
HOW DIFFICULT IS THE CHALLENGE?
10^12010^80
Number of
atoms in our
universe
(Hawking said
there are more
than one
universe!!)
Number of
chess legal
moves
HOW DIFFICULT IS THE CHALLENGE?
10^12010^80
Number of
atoms in our
universe
(Hawking said
there are more
than one
universe!!)
Number of
chess legal
moves
Number of GO
legal moves?
HOW DIFFICULT IS THE CHALLENGE?
10^12010^80 10^761
Number of
atoms in our
universe
(Hawking said
there are more
than one
universe!!)
Number of
chess legal
moves
Number of GO
legal moves
HOW DIFFICULT IS THE CHALLENGE?
10^12010^80 10^761
Number of
atoms in our
universe
(Hawking said
there are more
than one
universe!!)
Number of
chess legal
moves
Number of GO
legal moves
AbadIA moves
needs to solve
the game?
HOW DIFFICULT IS THE CHALLENGE?
10^12010^80 10^761 10^10k
Number of
atoms in our
universe
(Hawking said
there are more
than one
universe!!)
Number of
chess legal
moves
Number of GO
legal moves
AbadIA legal
moves where N
is the depth of
the game you
wish to check.
For N= 10000 is
10^10000
HOW DIFFICULT IS THE CHALLENGE?
Universe
100000000000000000000000000000000000000000000000000000000000000000000000000000000
Chess
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
GO
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000
The Abbey of Crime
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
Just for the guys that not attended enought math classes.
The AI & Human Players only know if
the game is solved after 10.000 actions.
HOW DIFFICULT IS THE CHALLENGE?
HOW DIFFICULT IS THE CHALLENGE?
HOW DIFFICULT IS THE CHALLENGE?
HOW DIFFICULT IS THE CHALLENGE?
First Steps
Interacting with the
game
How to interact with the
game.
You will need lots of tools
before starting to create
the AI
1
2
3
How you get and save the
game information.
How to play millions of
games.
AI TOOLS
You will need send actions, get
game info, reset it, etc.
How to interact with the game??
HOW TO INTERACT
First version with too BeersHOW TO INTERACT
You may use a fake keyboard
driver, a unix pipe, a socket,
but
do you know what is the really
cool way to do this:
HOW TO INTERACT
An embedded web
server inside the
game !!!!
HOW TO INTERACT
Now we have a REST based API.
Two way communication.
We send actions
- Moves
- Resets
- Save/Load
states
We got information
- State dumps
- Actions
- Checkpoints
HOW TO INTERACT WITH THE GAME
curl -X POST http:!//localhost:4477/abadIA/game/current/actions/RIGHT
or
curl -X GET http:!//localhost:4477/abadIA/game/current —H 'accept:
application/json’
or
Use python request library
AS EASY AS
Demo game engine + web server + curl
Gathering
Information
At the beginning a laptop was enough.
But very soon you need more CPU/
GPU.
Then product like Google Cloud is
your best ally.
We had created a few Dockers, so
now we can execute lots of instances
of the game in parallel.
note: If we use Google Cloud services
like GKE, we can launch hundred of
games in parallel.
HOW TO SCALE IT
We recollect a lot of information
- Game Info (timestamps, rewards, bonus, obsequium)
- Games moves (state, action, reward, new_state)
- Checkpoints (to restore the game at an interesting time)
- ML Models (for recovering good models o just make a benchmark)
GATHERING INFORMATION
It takes a lot of time to get all the
parts working all together.
Building tools, testing every piece,
every option.
Sometimes I feel like I was Mario
Bros.
GATHERING INFORMATION
Playground for the
game
Github Repo: https://www.github.com/LaAbadIAdelCrimen/ abadia-gym
One the
most
frequently
used tool is
OpenAI
Gym
So we
design an
AbadIA gym
The gym is a
standard place
to train and
interact with
Reinforcement
Learning
agents.
In our project
the gym is
framework to
wrap the
game engine.
PLAYGROUND FOR PLAYING
A game
server with
REST API
An openAI
Gym
Enought
hardware
resources
So what’s the next step
SO WE HAVE
An small intro to
Reinforcement
Learning
A RL agent is a program that interacts with an environment, in our
case a OpenAI gym for AbadIA, and learn from observations and
rewards.
CREATE A RL AGENT
And that looks like:
Demo Time + Video
AbadIA RL
Strategies
Random Q*tables Q*Learning
DQN CNN A3C MiniGames
REINFORCEMENT LEARNING STRATEGIES
Simple Neural Network Model
AbadIA
Architecture Parts
Game Engine &
Agent Containers
First we create the first 2
containers for:
● AbadIA Game Engine
● AbadIA Agent
K8S small cluster
Cluster Features:
● Preemtible
● n1-standard-1 (7€
month)
Gathering
Information
Game info pipeline
AutoGaming
Game Generator
Games
Checkpoints
Storage of the info:
● Game Information
● Actions - States - Rewards
● Snapshots
● Models
How to Integrate the all the
information:
● Serverless
● Easy
● Fast
Advanced and Massive
Analytics:
● Game Information
● Actions - States - Rewards
● Snapshots
● Even some ML (LRs)
Notebooks
How to manipulate and visualize
with Datalabs or Colab:
● Notebooks
● Managed
● Integrated with Google
Drive / Bigquery
AI Frameworks
How to training and serve
models at scale:
● Tensorflow / Keras
● ML Engine
● AutoML
Orchestrating
How to execute
hundreds of instances:
● Kubernetes
● Google Containers
Show me the code
(how to collaborate)
GitHub
LaAbadIAdelCrimen
https://github.com/LaAbadIAdelCrimen
HOW TO COLLABORATE
Join US, we’ll share
the glory with you
Slack AbadIA
JOIN US!!!!
Questions?
This talk have a free questions lifetime warranty: If you have any questions or concerns
about this talk, feel free to contact me anytime.
Selfie Time: If you like the talk just smile while I take
the selfie ;-)
We’re Hiring, Sngular People
twitter: @juantomas
juantomas.garcia@sngular.com
Thank You!!

Contenu connexe

Similaire à AbadIA ING Direct - Madrid 2019

AbadIA: the abbey of the crime AI - GDG Cloud London 2018
AbadIA:  the abbey of the crime AI - GDG Cloud London 2018AbadIA:  the abbey of the crime AI - GDG Cloud London 2018
AbadIA: the abbey of the crime AI - GDG Cloud London 2018Juantomás García Molina
 
iOS Game Development: When Cocoa Met Cocos...
iOS Game Development: When Cocoa Met Cocos...iOS Game Development: When Cocoa Met Cocos...
iOS Game Development: When Cocoa Met Cocos...Joseph Ku
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogameMarco Parenzan
 
Preserving arcade games - 31c3
Preserving arcade games -  31c3Preserving arcade games -  31c3
Preserving arcade games - 31c3Ange Albertini
 
Preserving arcade games
Preserving arcade gamesPreserving arcade games
Preserving arcade gamesAnge Albertini
 
All About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai NAll About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai NSai Krishna A
 
Unit 14 pr1 (development of gaming platforms) (paul)
Unit 14 pr1 (development of gaming platforms) (paul)Unit 14 pr1 (development of gaming platforms) (paul)
Unit 14 pr1 (development of gaming platforms) (paul)Arron96
 
Sperimentazioni di tecnologie e comunicazioni Multimediali: Lezione 2
Sperimentazioni di tecnologie e comunicazioni Multimediali: Lezione 2Sperimentazioni di tecnologie e comunicazioni Multimediali: Lezione 2
Sperimentazioni di tecnologie e comunicazioni Multimediali: Lezione 2Salvatore Iaconesi
 
Masters of Doom by Depe
Masters of Doom by DepeMasters of Doom by Depe
Masters of Doom by DepeAgate Studio
 
Barcamp Derry (Side A) - A Brief History of Video Games
Barcamp Derry (Side A) - A Brief History of Video GamesBarcamp Derry (Side A) - A Brief History of Video Games
Barcamp Derry (Side A) - A Brief History of Video GamesJames Burke
 
History of Video Games 90s till 00
History of Video Games 90s till 00History of Video Games 90s till 00
History of Video Games 90s till 00Mark Rotondella
 
Museum of Computing Newsletter May 2013
Museum of Computing Newsletter May 2013Museum of Computing Newsletter May 2013
Museum of Computing Newsletter May 2013Donald Jones
 

Similaire à AbadIA ING Direct - Madrid 2019 (20)

Arcade games powerpoint
Arcade games powerpointArcade games powerpoint
Arcade games powerpoint
 
AbadIA: the abbey of the crime AI - GDG Cloud London 2018
AbadIA:  the abbey of the crime AI - GDG Cloud London 2018AbadIA:  the abbey of the crime AI - GDG Cloud London 2018
AbadIA: the abbey of the crime AI - GDG Cloud London 2018
 
iOS Game Development: When Cocoa Met Cocos...
iOS Game Development: When Cocoa Met Cocos...iOS Game Development: When Cocoa Met Cocos...
iOS Game Development: When Cocoa Met Cocos...
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame
 
Preserving arcade games - 31c3
Preserving arcade games -  31c3Preserving arcade games -  31c3
Preserving arcade games - 31c3
 
Preserving arcade games
Preserving arcade gamesPreserving arcade games
Preserving arcade games
 
All About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai NAll About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai N
 
Unit 14 pr1 (development of gaming platforms) (paul)
Unit 14 pr1 (development of gaming platforms) (paul)Unit 14 pr1 (development of gaming platforms) (paul)
Unit 14 pr1 (development of gaming platforms) (paul)
 
Sperimentazioni di tecnologie e comunicazioni Multimediali: Lezione 2
Sperimentazioni di tecnologie e comunicazioni Multimediali: Lezione 2Sperimentazioni di tecnologie e comunicazioni Multimediali: Lezione 2
Sperimentazioni di tecnologie e comunicazioni Multimediali: Lezione 2
 
History of Video Games
History of Video GamesHistory of Video Games
History of Video Games
 
Masters of Doom by Depe
Masters of Doom by DepeMasters of Doom by Depe
Masters of Doom by Depe
 
Barcamp Derry (Side A) - A Brief History of Video Games
Barcamp Derry (Side A) - A Brief History of Video GamesBarcamp Derry (Side A) - A Brief History of Video Games
Barcamp Derry (Side A) - A Brief History of Video Games
 
prithiv's gaming technology.pptx
prithiv's gaming technology.pptxprithiv's gaming technology.pptx
prithiv's gaming technology.pptx
 
History of Video Games 90s till 00
History of Video Games 90s till 00History of Video Games 90s till 00
History of Video Games 90s till 00
 
Sam magazine
Sam magazineSam magazine
Sam magazine
 
Grandpas Dream
Grandpas Dream Grandpas Dream
Grandpas Dream
 
Independent games
Independent gamesIndependent games
Independent games
 
Museum of Computing Newsletter May 2013
Museum of Computing Newsletter May 2013Museum of Computing Newsletter May 2013
Museum of Computing Newsletter May 2013
 
History of games
History of gamesHistory of games
History of games
 
Awea
AweaAwea
Awea
 

Plus de Juantomás García Molina

From Alpha Go to Alpha Zero - Vaas Madrid 2018
From Alpha Go to Alpha Zero -  Vaas Madrid 2018From Alpha Go to Alpha Zero -  Vaas Madrid 2018
From Alpha Go to Alpha Zero - Vaas Madrid 2018Juantomás García Molina
 
Codemotion madrid 2017 Arquitectura kappa 2.0
Codemotion madrid 2017  Arquitectura kappa 2.0Codemotion madrid 2017  Arquitectura kappa 2.0
Codemotion madrid 2017 Arquitectura kappa 2.0Juantomás García Molina
 
Meetup big data developers 2017 madrid - spark real use cases
Meetup big data developers 2017 madrid - spark real use casesMeetup big data developers 2017 madrid - spark real use cases
Meetup big data developers 2017 madrid - spark real use casesJuantomás García Molina
 
Gdg cloud london 2017 kappa architecture 2.0 copia
Gdg cloud london 2017   kappa architecture 2.0 copiaGdg cloud london 2017   kappa architecture 2.0 copia
Gdg cloud london 2017 kappa architecture 2.0 copiaJuantomás García Molina
 
Datascience lab 2017 odessa kappa architecture 2.0
Datascience lab 2017 odessa   kappa architecture 2.0Datascience lab 2017 odessa   kappa architecture 2.0
Datascience lab 2017 odessa kappa architecture 2.0Juantomás García Molina
 
Databeers madrid 2017 - Paas pigeons as a service
Databeers madrid 2017 - Paas pigeons as a serviceDatabeers madrid 2017 - Paas pigeons as a service
Databeers madrid 2017 - Paas pigeons as a serviceJuantomás García Molina
 
How to create a personal knowledge graph IBM Meetup Big Data Madrid 2017
How to create a personal knowledge graph IBM Meetup Big Data Madrid 2017How to create a personal knowledge graph IBM Meetup Big Data Madrid 2017
How to create a personal knowledge graph IBM Meetup Big Data Madrid 2017Juantomás García Molina
 
Librecon 2016 bilbao: kappa architecture IoT of the cars
Librecon 2016 bilbao:   kappa architecture IoT of the carsLibrecon 2016 bilbao:   kappa architecture IoT of the cars
Librecon 2016 bilbao: kappa architecture IoT of the carsJuantomás García Molina
 

Plus de Juantomás García Molina (18)

From alpha go to alpha zero TLP innova 2018
From alpha go to alpha zero  TLP innova 2018From alpha go to alpha zero  TLP innova 2018
From alpha go to alpha zero TLP innova 2018
 
From Alpha Go to Alpha Zero - Vaas Madrid 2018
From Alpha Go to Alpha Zero -  Vaas Madrid 2018From Alpha Go to Alpha Zero -  Vaas Madrid 2018
From Alpha Go to Alpha Zero - Vaas Madrid 2018
 
Alpha zero - London 2018
Alpha zero  - London 2018 Alpha zero  - London 2018
Alpha zero - London 2018
 
Codemotion madrid 2017 Arquitectura kappa 2.0
Codemotion madrid 2017  Arquitectura kappa 2.0Codemotion madrid 2017  Arquitectura kappa 2.0
Codemotion madrid 2017 Arquitectura kappa 2.0
 
JBCN barcelona 2017 kappa architecture 2.0
JBCN barcelona 2017 kappa architecture 2.0JBCN barcelona 2017 kappa architecture 2.0
JBCN barcelona 2017 kappa architecture 2.0
 
Meetup big data developers 2017 madrid - spark real use cases
Meetup big data developers 2017 madrid - spark real use casesMeetup big data developers 2017 madrid - spark real use cases
Meetup big data developers 2017 madrid - spark real use cases
 
Gdg cloud madrid 2017 - GDG kick off metuup
Gdg cloud madrid 2017  - GDG kick off metuupGdg cloud madrid 2017  - GDG kick off metuup
Gdg cloud madrid 2017 - GDG kick off metuup
 
Scalaua 2017 kyev kappa architecture 2.0
Scalaua 2017 kyev   kappa architecture 2.0Scalaua 2017 kyev   kappa architecture 2.0
Scalaua 2017 kyev kappa architecture 2.0
 
Icea 2017 big data - recursos humanos
Icea 2017   big data - recursos humanosIcea 2017   big data - recursos humanos
Icea 2017 big data - recursos humanos
 
Gdg cloud london 2017 kappa architecture 2.0 copia
Gdg cloud london 2017   kappa architecture 2.0 copiaGdg cloud london 2017   kappa architecture 2.0 copia
Gdg cloud london 2017 kappa architecture 2.0 copia
 
Datascience lab 2017 odessa kappa architecture 2.0
Datascience lab 2017 odessa   kappa architecture 2.0Datascience lab 2017 odessa   kappa architecture 2.0
Datascience lab 2017 odessa kappa architecture 2.0
 
Databeers madrid 2017 - Paas pigeons as a service
Databeers madrid 2017 - Paas pigeons as a serviceDatabeers madrid 2017 - Paas pigeons as a service
Databeers madrid 2017 - Paas pigeons as a service
 
How to create a personal knowledge graph IBM Meetup Big Data Madrid 2017
How to create a personal knowledge graph IBM Meetup Big Data Madrid 2017How to create a personal knowledge graph IBM Meetup Big Data Madrid 2017
How to create a personal knowledge graph IBM Meetup Big Data Madrid 2017
 
Librecon 2016 bilbao: kappa architecture IoT of the cars
Librecon 2016 bilbao:   kappa architecture IoT of the carsLibrecon 2016 bilbao:   kappa architecture IoT of the cars
Librecon 2016 bilbao: kappa architecture IoT of the cars
 
Aspgems tensor-flow example
Aspgems   tensor-flow exampleAspgems   tensor-flow example
Aspgems tensor-flow example
 
ASPgems - kappa architecture
ASPgems - kappa architectureASPgems - kappa architecture
ASPgems - kappa architecture
 
Big Data as Service
Big Data as ServiceBig Data as Service
Big Data as Service
 
Big data apache spark + scala
Big data   apache spark + scalaBig data   apache spark + scala
Big data apache spark + scala
 

Dernier

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Dernier (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

AbadIA ING Direct - Madrid 2019

  • 1. AbadIA Using Reinforcement Learning to play and solve the abbey of crime Juantomás García - Chief Envisioning Officer - Sngular
  • 3. Who I am Juantomás García ( 0-) •Chief Envisioning Officer @ Sngular •GDEx2 (Google Developer Expert) for cloud and Machine Learning •#AbadIA Cheer Leader Others •Co-Author of the first Spanish free software book “La Pastilla Roja” •Former President of Hispalinux (Spanish Linux User Group) •Organizer of the Machine Learning Spain and GDG Cloud Madrid.
  • 6. ? My buddy Sebas told me: Is it possible to create an AI that can learn to play and solve the game? It’s a really crazy idea with an insane cult 8-bit game, but I like it “ ”
  • 8. First 8-bit RPG in pseudo 3D (2.5D) It was at 1987 and this game is a kind of legend in the video games world. Based in Umberto Eco book “In the name of the rose” Do you know the game? THE GAME
  • 9. Size of the program: 87 Kb That include: • Code • Graphics • Music • Maps Do you know the game? THE GAME
  • 10. The size of this avatar is: 87Kb Do you know the game? THE GAME
  • 11. It was programmed using Z80 assembler for Amstrad CPC and Sinclair Spectrum ABOUT THE GAME Was programmed by Paco Menéndez Graphics was designed by Juan Delcán
  • 13. The plan: Make an AI that can learn to play and solve the game
  • 16. Manuel Abadía disassembled the original Amstrad CPC game rom. He documented all the code, marked the graphics, sounds, etc. GitHub page: https://bit.ly/2I9TMZk Original Code
  • 18. Manuel Abadía make a port to C++ of the game using his special video games framework: Vigasoco Sebastian Blanes fork the project to use SDL. VigasocoSDL was born. Now the abbey can be played in chrome, PS3, CC, linux, MacOS, Windows, etc. VigasocoSDL GitHub page: https://github.com/luzbel/VigasocoSDL/wiki GAME EVOLUTION
  • 19. How difficult is the Challenge
  • 20. Number of atoms in our universe? HOW DIFFICULT IS THE CHALLENGE?
  • 21. 10^80 Number of atoms in our universe (Hawking said there are more than one universe!!) HOW DIFFICULT IS THE CHALLENGE?
  • 22. 10^80 Number of atoms in our universe (Hawking said there are more than one universe!!) Number of chess legal moves? HOW DIFFICULT IS THE CHALLENGE?
  • 23. 10^12010^80 Number of atoms in our universe (Hawking said there are more than one universe!!) Number of chess legal moves HOW DIFFICULT IS THE CHALLENGE?
  • 24. 10^12010^80 Number of atoms in our universe (Hawking said there are more than one universe!!) Number of chess legal moves Number of GO legal moves? HOW DIFFICULT IS THE CHALLENGE?
  • 25. 10^12010^80 10^761 Number of atoms in our universe (Hawking said there are more than one universe!!) Number of chess legal moves Number of GO legal moves HOW DIFFICULT IS THE CHALLENGE?
  • 26. 10^12010^80 10^761 Number of atoms in our universe (Hawking said there are more than one universe!!) Number of chess legal moves Number of GO legal moves AbadIA moves needs to solve the game? HOW DIFFICULT IS THE CHALLENGE?
  • 27. 10^12010^80 10^761 10^10k Number of atoms in our universe (Hawking said there are more than one universe!!) Number of chess legal moves Number of GO legal moves AbadIA legal moves where N is the depth of the game you wish to check. For N= 10000 is 10^10000 HOW DIFFICULT IS THE CHALLENGE?
  • 28. Universe 100000000000000000000000000000000000000000000000000000000000000000000000000000000 Chess 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 GO 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000 The Abbey of Crime 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 Just for the guys that not attended enought math classes.
  • 29. The AI & Human Players only know if the game is solved after 10.000 actions.
  • 30. HOW DIFFICULT IS THE CHALLENGE?
  • 31. HOW DIFFICULT IS THE CHALLENGE?
  • 32. HOW DIFFICULT IS THE CHALLENGE?
  • 33. HOW DIFFICULT IS THE CHALLENGE?
  • 36. How to interact with the game. You will need lots of tools before starting to create the AI 1 2 3 How you get and save the game information. How to play millions of games. AI TOOLS
  • 37. You will need send actions, get game info, reset it, etc. How to interact with the game?? HOW TO INTERACT
  • 38. First version with too BeersHOW TO INTERACT
  • 39. You may use a fake keyboard driver, a unix pipe, a socket, but do you know what is the really cool way to do this: HOW TO INTERACT
  • 40. An embedded web server inside the game !!!! HOW TO INTERACT
  • 41. Now we have a REST based API. Two way communication. We send actions - Moves - Resets - Save/Load states We got information - State dumps - Actions - Checkpoints HOW TO INTERACT WITH THE GAME
  • 42. curl -X POST http:!//localhost:4477/abadIA/game/current/actions/RIGHT or curl -X GET http:!//localhost:4477/abadIA/game/current —H 'accept: application/json’ or Use python request library AS EASY AS
  • 43. Demo game engine + web server + curl
  • 45. At the beginning a laptop was enough. But very soon you need more CPU/ GPU. Then product like Google Cloud is your best ally. We had created a few Dockers, so now we can execute lots of instances of the game in parallel. note: If we use Google Cloud services like GKE, we can launch hundred of games in parallel. HOW TO SCALE IT
  • 46. We recollect a lot of information - Game Info (timestamps, rewards, bonus, obsequium) - Games moves (state, action, reward, new_state) - Checkpoints (to restore the game at an interesting time) - ML Models (for recovering good models o just make a benchmark) GATHERING INFORMATION
  • 47. It takes a lot of time to get all the parts working all together. Building tools, testing every piece, every option. Sometimes I feel like I was Mario Bros. GATHERING INFORMATION
  • 49. Github Repo: https://www.github.com/LaAbadIAdelCrimen/ abadia-gym One the most frequently used tool is OpenAI Gym So we design an AbadIA gym The gym is a standard place to train and interact with Reinforcement Learning agents. In our project the gym is framework to wrap the game engine. PLAYGROUND FOR PLAYING
  • 50. A game server with REST API An openAI Gym Enought hardware resources So what’s the next step SO WE HAVE
  • 51. An small intro to Reinforcement Learning
  • 52. A RL agent is a program that interacts with an environment, in our case a OpenAI gym for AbadIA, and learn from observations and rewards. CREATE A RL AGENT
  • 53. And that looks like:
  • 54. Demo Time + Video
  • 56. Random Q*tables Q*Learning DQN CNN A3C MiniGames REINFORCEMENT LEARNING STRATEGIES
  • 59. Game Engine & Agent Containers
  • 60. First we create the first 2 containers for: ● AbadIA Game Engine ● AbadIA Agent
  • 62. Cluster Features: ● Preemtible ● n1-standard-1 (7€ month)
  • 67. Storage of the info: ● Game Information ● Actions - States - Rewards ● Snapshots ● Models
  • 68. How to Integrate the all the information: ● Serverless ● Easy ● Fast
  • 69. Advanced and Massive Analytics: ● Game Information ● Actions - States - Rewards ● Snapshots ● Even some ML (LRs)
  • 71. How to manipulate and visualize with Datalabs or Colab: ● Notebooks ● Managed ● Integrated with Google Drive / Bigquery
  • 73. How to training and serve models at scale: ● Tensorflow / Keras ● ML Engine ● AutoML
  • 75. How to execute hundreds of instances: ● Kubernetes ● Google Containers
  • 76. Show me the code (how to collaborate)
  • 78. Join US, we’ll share the glory with you
  • 80. Questions? This talk have a free questions lifetime warranty: If you have any questions or concerns about this talk, feel free to contact me anytime. Selfie Time: If you like the talk just smile while I take the selfie ;-) We’re Hiring, Sngular People twitter: @juantomas juantomas.garcia@sngular.com