SlideShare a Scribd company logo
1 of 74
Download to read offline
AbadIA
Using Reinforcement
Learning to play and solve the
abbey of crime
Juantomás García - Chief Envisioning Officer - Sngular
Good Evening
Pittsburgh
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.
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 Versión
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
Challenging
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
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
Gathering
Information
Game info pipeline
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 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!!

More Related Content

Similar to AbadIA US Secret Tour - Pittsburgh'19

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
 
Masters of Doom by Depe
Masters of Doom by DepeMasters of Doom by Depe
Masters of Doom by DepeAgate Studio
 
Multiplayer Roguelike for the Commodore 64
Multiplayer Roguelike for the Commodore 64Multiplayer Roguelike for the Commodore 64
Multiplayer Roguelike for the Commodore 64Leif Bloomquist
 
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
 
Computer Games Inner Workings - I. Loukeris AIT
Computer Games Inner Workings - I. Loukeris AITComputer Games Inner Workings - I. Loukeris AIT
Computer Games Inner Workings - I. Loukeris AITAIT_Communications
 
Museum of Computing Newsletter May 2013
Museum of Computing Newsletter May 2013Museum of Computing Newsletter May 2013
Museum of Computing Newsletter May 2013Donald Jones
 
Outlook on the (potential) Future of the German Games Industry | Ralf C. Adam
Outlook on the (potential) Future of the German Games Industry | Ralf C. AdamOutlook on the (potential) Future of the German Games Industry | Ralf C. Adam
Outlook on the (potential) Future of the German Games Industry | Ralf C. AdamRalf C. Adam
 
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
 
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
 
The Art of Video Games at GDC 2010
The Art of Video Games at GDC 2010The Art of Video Games at GDC 2010
The Art of Video Games at GDC 2010Chris Melissinos
 
Presentation game
Presentation gamePresentation game
Presentation gamejakesinar
 

Similar to AbadIA US Secret Tour - Pittsburgh'19 (20)

Hacks in video games
Hacks in video gamesHacks in video games
Hacks in video games
 
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
 
around.me
around.mearound.me
around.me
 
Masters of Doom by Depe
Masters of Doom by DepeMasters of Doom by Depe
Masters of Doom by Depe
 
Awea
AweaAwea
Awea
 
Arcade games powerpoint
Arcade games powerpointArcade games powerpoint
Arcade games powerpoint
 
Multiplayer Roguelike for the Commodore 64
Multiplayer Roguelike for the Commodore 64Multiplayer Roguelike for the Commodore 64
Multiplayer Roguelike for the Commodore 64
 
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
 
BSS COMPANY
BSS COMPANYBSS COMPANY
BSS COMPANY
 
Grandpas Dream
Grandpas Dream Grandpas Dream
Grandpas Dream
 
Computer Games Inner Workings - I. Loukeris AIT
Computer Games Inner Workings - I. Loukeris AITComputer Games Inner Workings - I. Loukeris AIT
Computer Games Inner Workings - I. Loukeris AIT
 
Museum of Computing Newsletter May 2013
Museum of Computing Newsletter May 2013Museum of Computing Newsletter May 2013
Museum of Computing Newsletter May 2013
 
Outlook on the (potential) Future of the German Games Industry | Ralf C. Adam
Outlook on the (potential) Future of the German Games Industry | Ralf C. AdamOutlook on the (potential) Future of the German Games Industry | Ralf C. Adam
Outlook on the (potential) Future of the German Games Industry | Ralf C. Adam
 
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...
 
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
 
Adventure lecture
Adventure lectureAdventure lecture
Adventure lecture
 
The Art of Video Games at GDC 2010
The Art of Video Games at GDC 2010The Art of Video Games at GDC 2010
The Art of Video Games at GDC 2010
 
Sam magazine
Sam magazineSam magazine
Sam magazine
 
prithiv's gaming technology.pptx
prithiv's gaming technology.pptxprithiv's gaming technology.pptx
prithiv's gaming technology.pptx
 
Presentation game
Presentation gamePresentation game
Presentation game
 

More from 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
 

More from 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
 

Recently uploaded

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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
 

AbadIA US Secret Tour - Pittsburgh'19

  • 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. 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 Challenging
  • 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. 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
  • 39. An embedded web server inside the game !!!! HOW TO INTERACT
  • 40. 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
  • 41. 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
  • 42. Demo game engine + web server + curl
  • 44. 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
  • 45. 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
  • 46. 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
  • 48. 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
  • 49. A game server with REST API An openAI Gym Enought hardware resources So what’s the next step SO WE HAVE
  • 50. An small intro to Reinforcement Learning
  • 51. 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
  • 52. And that looks like:
  • 53. Demo Time + Video
  • 55. Random Q*tables Q*Learning DQN CNN A3C MiniGames REINFORCEMENT LEARNING STRATEGIES
  • 60. Storage of the info: ● Game Information ● Actions - States - Rewards ● Snapshots ● Models
  • 61. How to Integrate the all the information: ● Serverless ● Easy ● Fast
  • 62. Advanced and Massive Analytics: ● Game Information ● Actions - States - Rewards ● Snapshots ● Even some ML (LRs)
  • 64. How to manipulate and visualize with Datalabs or Colab: ● Notebooks ● Managed ● Integrated with Google Drive / Bigquery
  • 66. How to training and serve models at scale: ● Tensorflow / Keras ● ML Engine ● AutoML
  • 68. How to execute hundreds of instances: ● Kubernetes ● Google Containers
  • 69. Show me code (how to collaborate)
  • 71. Join US, we’ll share the glory with you
  • 73. 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