SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Yes,
you can play Monopoly with a genetic algorithm
Niels Zeilemaker
About me
• PhD in Parallel Computing @ TUDelft
• Data hacker at GDD
• Data scientist and/or data engineer
• Basically, drink coffee a lot while waiting for
Monopoly
• Boardgame created in 1935
• For 2-6 players
• Buy houses/hotels –>
• Last man standing wins
• Pronounced in dutch as moonoopooly
Terminology
• Players traverse the board by rolling two dice
• When landing on an unowned property, a
player can decide to buy it
• If a player owns all properties of a single color,
he can buy houses
• Visiting a property owned by another player
you will need to pay rent
Rules
• A player passing Go receives $200
• All fines are paid into the free parking space
• When a player does not buy an unowned property an auction is
held
• Rolling doubles three times in a row results in goto jail
• If a player lands on Go he receives $400
• Rolling doubles will release a player from jail
• Paying $50 will release a player from jail
Rules
• A player passing Go receives $200
• All fines are paid into the free parking space
• When a player does not buy an unowned property an auction is
held
• Rolling doubles three times in a row results in goto jail
• If a player lands on Go he receives $400
• Rolling doubles will release a player from jail
• Paying $50 will release a player from jail
How much free time do you have?
• Interesting game,
• still doesn’t explain why you would attempt to “solve it”
• GDD Friday + = “Monopoly Simulations”
• He implemented a small python script which would roll dice + go
to jail
See: http://koaning.io/monopoly-simulations.html
Probability distribution
Datascientists writing code
• Initial script, 46 lines
• “Improved” script, 800 lines
How much free time do you have?
• Implemented
• Board object
• Player object
• Deed object
• BankruptException ;)
• Unit-tested, coverage ~80%
Player object
class Player(object):
def buy_position(self, deed, amount):
# after landing on a deed
def bid_position(self, deed, amount, current_bid):
# while in an auction
def anything_else(self):
# at the end of the turn
def raise_amount(self, amount):
# when we need to pay for something
First players implemented
• BuyNothing
• BuyAll
• BuyFrom
• BuyBetween
0
50
100
150
200
250
300
350
400
450
Player BuyAll BuyFrom '10' BuyBetween '10-20'
Wins
Which deeds to buy?
€ 0.00
€ 100,000.00
€ 200,000.00
€ 300,000.00
€ 400,000.00
€ 500,000.00
€ 600,000.00
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
Money raised/invested
raised invested
But, which will help you to win?
0
50
100
150
200
250
300
350
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
Caused bankruptcy
Next up, genetic algorithms
• Manually selecting which deeds to buy/how many houses to build
isn’t a lot of fun
• Enter, the GAPlayer
Genetic algoritms?
• Search heuristic which mimics natural selection
• Convert search space into chromosome
• Eg 1,1,0,3,3, etc.
• Evaluate performance of chromosome using fitness function
• 1,1,0,3,3,… = 42
• 1,2,0,3,3,… = 42
I'm no expert on genetic algoritms, feel free to correct me
Genetic algoritms?
• After each round (or population)
• Select top X chromosomes
• Append some mutations
• Generate offspring by combining those
• Stop after X generations
Genetic algoritms?
Algorithm A: 1,0,0,0,0
Algorithm B: 0,0,2,2,2
Child C: 0,0,2,0,2
Child D: 1,0,0,2,2
GAPlayer
• Chromosome:
• 0,6,0,5,0,1,2,0,3,2,0,5,1,5,4,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,1,0,0,1,0,4,0,4
• 0 = don’t buy
• 1 = buy
• 2..5 = build 1..4 houses
• 6 = build hotel
65
1
232
Fitness function
• Implemented two approaches:
• Play vs BuyAll
• Use TrueSkill
• Not sure if either is correct ;)
Fitness function, vs BuyAll
• Play 1000 matches against BuyAll
• Score = #times won
• Evaluate 10 generations
• Population size = 56
• Select 20% best perfoming
• Mutate 1% of the solutions
• Single generation takes 1 minute to evaluate
Scores vs Generations
400
450
500
550
600
650
1 2 3 4 5 6 7 8 9 10
vs BuyAll
But wait
• So, GaPlayer '[0, 6, 0, 5, 0, 1, 2, 0, 3, 2, 0, 5, 1, 5, 4, 1, 1, 0, 0, 1, 0, 0, 0,
0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 4, 0, 4]‘ is a better strategy than
buying everything….
• But is it the best monopoly strategy?
BuyAll GaPlayer….
TrueSkill
• A ranking system developed for Xbox player matching
• In my understanding
• Each player has a skill belief, eg a probability distribution
• When you win/lose from another we update the probabilities accordingly
• Let’s hope Vincent is in the room
An example
• Before vs After
• Poke1 loses from Poke2
Combining GA + Trueskill
• Have a global leaderbord
• Each new GA chromosome plays against 100 randomly selected
others
• Each game now is best of 10
• Leaderbord is sorted by value of curve descending
Presenting
0,0,0,1,0,1,1,0,1,0,0,1,0,0,0,1,1,0,2,1,0,0,0,0,1,1,4,4,0,5,0,1,0,0,0,1,0,2,0,3
You will never beaten in monopoly again, maybe
Runner ups
• 0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,1,6,0,6,6,0,0,0,0,0,1,0,1,0,0,0,5,4,0,4,1,0,2,0,3
• 0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,1,1,0,2,1,0,0,0,0,0,1,4,4,0,5,0,0,0,0,0,1,0,2,0,3
• 0,1,0,1,0,1,0,0,0,0,0,1,0,0,1,1,1,0,0,1,0,0,0,0,0,1,4,4,0,5,0,0,0,0,0,1,0,2,0,3
• 0,0,0,1,0,1,0,0,0,0,0,1,1,0,0,1,1,0,1,0,0,1,0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,3,0,4
• 0,1,0,2,0,1,1,0,0,1,0,1,1,1,0,1,1,0,2,2,0,0,0,0,0,1,4,3,1,4,0,0,0,0,0,1,0,2,0,3
• 0,2,0,1,0,1,1,0,0,1,0,0,1,0,1,1,6,0,6,6,0,0,0,0,0,1,0,1,0,0,0,5,4,0,4,1,0,3,0,3
• 0,2,0,2,0,1,1,0,0,1,0,0,1,0,0,1,6,0,5,6,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,3,0,2
• 0,0,0,1,0,1,1,0,0,0,0,1,0,0,1,1,1,0,1,1,0,0,0,0,0,1,4,5,0,5,0,0,0,0,0,1,0,2,0,3
• 0,2,0,1,0,1,1,0,2,1,0,0,1,0,1,1,6,0,6,6,0,0,0,0,0,1,0,1,0,0,0,5,4,0,4,1,0,4,0,3
So
• We get some probable “best” solutions
• But is monopoly rock paper scissors?
• We should be able to notice this by it not converging
• And, TrueSkill has some ”magic” numbers
• Blame vincent
Future work/known issues
• We implemented a single behavior to
• Bid in an auction
• Buy/Sell houses
• When to start buying/selling houses
• We did not implement
• Trying to buy streets from other players
• Opensource the stuffs
We’re hiring / Questions / Thank
you
Niels Zeilemaker

Weitere ähnliche Inhalte

Andere mochten auch

VIII. Le « héros » du rêve
VIII. Le « héros » du rêveVIII. Le « héros » du rêve
VIII. Le « héros » du rêvePierrot Caron
 
Article Pascal GARNERO - Novembre 2015.
Article Pascal GARNERO - Novembre 2015.Article Pascal GARNERO - Novembre 2015.
Article Pascal GARNERO - Novembre 2015.Pascal Garnero
 
Bibliografía especializada procesos de manufactura
Bibliografía especializada  procesos de manufacturaBibliografía especializada  procesos de manufactura
Bibliografía especializada procesos de manufacturaYumar Rondon
 
Immediate single implant case presentation
Immediate single implant case presentationImmediate single implant case presentation
Immediate single implant case presentationYeshwant DentalClinic
 
Real-Coded-Extended-Compact-Genetic-Algorithm-Based-on-Mixtures-of-Models
Real-Coded-Extended-Compact-Genetic-Algorithm-Based-on-Mixtures-of-ModelsReal-Coded-Extended-Compact-Genetic-Algorithm-Based-on-Mixtures-of-Models
Real-Coded-Extended-Compact-Genetic-Algorithm-Based-on-Mixtures-of-Modelshauschildm
 
A Practical Schema Theorem for Genetic Algorithm Design and Tuning
A Practical Schema Theorem for Genetic Algorithm Design and TuningA Practical Schema Theorem for Genetic Algorithm Design and Tuning
A Practical Schema Theorem for Genetic Algorithm Design and Tuningkknsastry
 
Bi on Big Data - Strata 2016 in London
Bi on Big Data - Strata 2016 in LondonBi on Big Data - Strata 2016 in London
Bi on Big Data - Strata 2016 in LondonDremio Corporation
 
Observations on dag scheduling and dynamic load-balancing using genetic algor...
Observations on dag scheduling and dynamic load-balancing using genetic algor...Observations on dag scheduling and dynamic load-balancing using genetic algor...
Observations on dag scheduling and dynamic load-balancing using genetic algor...Rahul Jain
 
Analysis of Parameter using Fuzzy Genetic Algorithm in E-learning System
Analysis of Parameter using Fuzzy Genetic Algorithm in E-learning SystemAnalysis of Parameter using Fuzzy Genetic Algorithm in E-learning System
Analysis of Parameter using Fuzzy Genetic Algorithm in E-learning SystemHarshal Jain
 
Pairwise and Problem-Specific Distance Metrics in the Linkage Tree Genetic Al...
Pairwise and Problem-Specific Distance Metrics in the Linkage Tree Genetic Al...Pairwise and Problem-Specific Distance Metrics in the Linkage Tree Genetic Al...
Pairwise and Problem-Specific Distance Metrics in the Linkage Tree Genetic Al...Martin Pelikan
 
Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...
Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...
Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...sadique_ghitm
 
Visualizing, Modeling and Forecasting of Functional Time Series
Visualizing, Modeling and Forecasting of Functional Time SeriesVisualizing, Modeling and Forecasting of Functional Time Series
Visualizing, Modeling and Forecasting of Functional Time Serieshanshang
 
task scheduling in cloud datacentre using genetic algorithm
task scheduling in cloud datacentre using genetic algorithmtask scheduling in cloud datacentre using genetic algorithm
task scheduling in cloud datacentre using genetic algorithmSwathi Rampur
 
A Modular Genetic Algorithm Specialized for Linear Constraints
A Modular Genetic Algorithm Specialized for Linear ConstraintsA Modular Genetic Algorithm Specialized for Linear Constraints
A Modular Genetic Algorithm Specialized for Linear ConstraintsStefano Costanzo
 

Andere mochten auch (20)

testing this
testing thistesting this
testing this
 
VIII. Le « héros » du rêve
VIII. Le « héros » du rêveVIII. Le « héros » du rêve
VIII. Le « héros » du rêve
 
Article Pascal GARNERO - Novembre 2015.
Article Pascal GARNERO - Novembre 2015.Article Pascal GARNERO - Novembre 2015.
Article Pascal GARNERO - Novembre 2015.
 
Tame that Beast
Tame that BeastTame that Beast
Tame that Beast
 
Bibliografía especializada procesos de manufactura
Bibliografía especializada  procesos de manufacturaBibliografía especializada  procesos de manufactura
Bibliografía especializada procesos de manufactura
 
Rsume CB
Rsume CBRsume CB
Rsume CB
 
Immediate single implant case presentation
Immediate single implant case presentationImmediate single implant case presentation
Immediate single implant case presentation
 
Rocking the World of Big Data at Centrica
Rocking the World of Big Data at CentricaRocking the World of Big Data at Centrica
Rocking the World of Big Data at Centrica
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
Real-Coded-Extended-Compact-Genetic-Algorithm-Based-on-Mixtures-of-Models
Real-Coded-Extended-Compact-Genetic-Algorithm-Based-on-Mixtures-of-ModelsReal-Coded-Extended-Compact-Genetic-Algorithm-Based-on-Mixtures-of-Models
Real-Coded-Extended-Compact-Genetic-Algorithm-Based-on-Mixtures-of-Models
 
A Practical Schema Theorem for Genetic Algorithm Design and Tuning
A Practical Schema Theorem for Genetic Algorithm Design and TuningA Practical Schema Theorem for Genetic Algorithm Design and Tuning
A Practical Schema Theorem for Genetic Algorithm Design and Tuning
 
Bi on Big Data - Strata 2016 in London
Bi on Big Data - Strata 2016 in LondonBi on Big Data - Strata 2016 in London
Bi on Big Data - Strata 2016 in London
 
Observations on dag scheduling and dynamic load-balancing using genetic algor...
Observations on dag scheduling and dynamic load-balancing using genetic algor...Observations on dag scheduling and dynamic load-balancing using genetic algor...
Observations on dag scheduling and dynamic load-balancing using genetic algor...
 
Analysis of Parameter using Fuzzy Genetic Algorithm in E-learning System
Analysis of Parameter using Fuzzy Genetic Algorithm in E-learning SystemAnalysis of Parameter using Fuzzy Genetic Algorithm in E-learning System
Analysis of Parameter using Fuzzy Genetic Algorithm in E-learning System
 
Pairwise and Problem-Specific Distance Metrics in the Linkage Tree Genetic Al...
Pairwise and Problem-Specific Distance Metrics in the Linkage Tree Genetic Al...Pairwise and Problem-Specific Distance Metrics in the Linkage Tree Genetic Al...
Pairwise and Problem-Specific Distance Metrics in the Linkage Tree Genetic Al...
 
Time series forecasting
Time series forecastingTime series forecasting
Time series forecasting
 
Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...
Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...
Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...
 
Visualizing, Modeling and Forecasting of Functional Time Series
Visualizing, Modeling and Forecasting of Functional Time SeriesVisualizing, Modeling and Forecasting of Functional Time Series
Visualizing, Modeling and Forecasting of Functional Time Series
 
task scheduling in cloud datacentre using genetic algorithm
task scheduling in cloud datacentre using genetic algorithmtask scheduling in cloud datacentre using genetic algorithm
task scheduling in cloud datacentre using genetic algorithm
 
A Modular Genetic Algorithm Specialized for Linear Constraints
A Modular Genetic Algorithm Specialized for Linear ConstraintsA Modular Genetic Algorithm Specialized for Linear Constraints
A Modular Genetic Algorithm Specialized for Linear Constraints
 

Ähnlich wie Yes you can play Monopoly with a Genetic Algorithm - Niels Zeilemaker

Game theory and strategy (PCA16, PCATX)
Game theory and strategy (PCA16, PCATX)Game theory and strategy (PCA16, PCATX)
Game theory and strategy (PCA16, PCATX)Nir Soffer
 
Super Gun Kids: The Making Of by Iain Lobb
Super Gun Kids: The Making Of by Iain LobbSuper Gun Kids: The Making Of by Iain Lobb
Super Gun Kids: The Making Of by Iain Lobbmochimedia
 
Adversarial search with Game Playing
Adversarial search with Game PlayingAdversarial search with Game Playing
Adversarial search with Game PlayingAman Patel
 
'Another Case Solved' post-mortem
'Another Case Solved' post-mortem'Another Case Solved' post-mortem
'Another Case Solved' post-mortemArtur Ganszyniec
 
Natural Game Design: How to Birth Games Without Cloning
Natural Game Design: How to Birth Games Without CloningNatural Game Design: How to Birth Games Without Cloning
Natural Game Design: How to Birth Games Without CloningGreg Costikyan
 
Quest for Progress (GDC Europe 2016)
Quest for Progress (GDC Europe 2016)Quest for Progress (GDC Europe 2016)
Quest for Progress (GDC Europe 2016)Anthony Pecorella
 
Game mechanics-puzzles (NielsQuinten)
Game mechanics-puzzles (NielsQuinten)Game mechanics-puzzles (NielsQuinten)
Game mechanics-puzzles (NielsQuinten)lieveachten
 
Presentation sanlab workshops
Presentation sanlab workshopsPresentation sanlab workshops
Presentation sanlab workshopsArtur Roszczyk
 
Unlock your creative potential: 7 steps to becoming a game designer
Unlock your creative potential: 7 steps to becoming a game designerUnlock your creative potential: 7 steps to becoming a game designer
Unlock your creative potential: 7 steps to becoming a game designerEthan Levy
 
chess-algorithms-theory-and-practice_ver2017.pdf
chess-algorithms-theory-and-practice_ver2017.pdfchess-algorithms-theory-and-practice_ver2017.pdf
chess-algorithms-theory-and-practice_ver2017.pdfrajdipdas12
 
Adversarial search
Adversarial searchAdversarial search
Adversarial searchNilu Desai
 
The Rise and Rise of Idle Games
The Rise and Rise of Idle GamesThe Rise and Rise of Idle Games
The Rise and Rise of Idle GamesAnthony Pecorella
 
Running live game events for fun and profit
Running live game events for fun and profitRunning live game events for fun and profit
Running live game events for fun and profitJames Gwertzman
 
CptS 440/ 540 AI.pptx
CptS 440/ 540 AI.pptxCptS 440/ 540 AI.pptx
CptS 440/ 540 AI.pptxDrDejaVu2
 
Will you start the fans please? Museums meet Live Escape Games!
Will you start the fans please? Museums meet Live Escape Games!Will you start the fans please? Museums meet Live Escape Games!
Will you start the fans please? Museums meet Live Escape Games!Museums Computer Group
 
Escape Rooms for Museums
Escape Rooms for MuseumsEscape Rooms for Museums
Escape Rooms for MuseumsJohn Sear
 

Ähnlich wie Yes you can play Monopoly with a Genetic Algorithm - Niels Zeilemaker (20)

Game theory and strategy (PCA16, PCATX)
Game theory and strategy (PCA16, PCATX)Game theory and strategy (PCA16, PCATX)
Game theory and strategy (PCA16, PCATX)
 
Super Gun Kids: The Making Of by Iain Lobb
Super Gun Kids: The Making Of by Iain LobbSuper Gun Kids: The Making Of by Iain Lobb
Super Gun Kids: The Making Of by Iain Lobb
 
Adversarial search with Game Playing
Adversarial search with Game PlayingAdversarial search with Game Playing
Adversarial search with Game Playing
 
Games
GamesGames
Games
 
'Another Case Solved' post-mortem
'Another Case Solved' post-mortem'Another Case Solved' post-mortem
'Another Case Solved' post-mortem
 
Natural Game Design: How to Birth Games Without Cloning
Natural Game Design: How to Birth Games Without CloningNatural Game Design: How to Birth Games Without Cloning
Natural Game Design: How to Birth Games Without Cloning
 
Quest for Progress (GDC Europe 2016)
Quest for Progress (GDC Europe 2016)Quest for Progress (GDC Europe 2016)
Quest for Progress (GDC Europe 2016)
 
Game mechanics-puzzles (NielsQuinten)
Game mechanics-puzzles (NielsQuinten)Game mechanics-puzzles (NielsQuinten)
Game mechanics-puzzles (NielsQuinten)
 
Presentation sanlab workshops
Presentation sanlab workshopsPresentation sanlab workshops
Presentation sanlab workshops
 
Unlock your creative potential: 7 steps to becoming a game designer
Unlock your creative potential: 7 steps to becoming a game designerUnlock your creative potential: 7 steps to becoming a game designer
Unlock your creative potential: 7 steps to becoming a game designer
 
chess-algorithms-theory-and-practice_ver2017.pdf
chess-algorithms-theory-and-practice_ver2017.pdfchess-algorithms-theory-and-practice_ver2017.pdf
chess-algorithms-theory-and-practice_ver2017.pdf
 
Adversarial search
Adversarial searchAdversarial search
Adversarial search
 
The Rise and Rise of Idle Games
The Rise and Rise of Idle GamesThe Rise and Rise of Idle Games
The Rise and Rise of Idle Games
 
The Hall of Stats
The Hall of StatsThe Hall of Stats
The Hall of Stats
 
Running live game events for fun and profit
Running live game events for fun and profitRunning live game events for fun and profit
Running live game events for fun and profit
 
041913
041913041913
041913
 
l3.pptx
l3.pptxl3.pptx
l3.pptx
 
CptS 440/ 540 AI.pptx
CptS 440/ 540 AI.pptxCptS 440/ 540 AI.pptx
CptS 440/ 540 AI.pptx
 
Will you start the fans please? Museums meet Live Escape Games!
Will you start the fans please? Museums meet Live Escape Games!Will you start the fans please? Museums meet Live Escape Games!
Will you start the fans please? Museums meet Live Escape Games!
 
Escape Rooms for Museums
Escape Rooms for MuseumsEscape Rooms for Museums
Escape Rooms for Museums
 

Mehr von GoDataDriven

Streamlining Data Science Workflows with a Feature Catalog
Streamlining Data Science Workflows with a Feature CatalogStreamlining Data Science Workflows with a Feature Catalog
Streamlining Data Science Workflows with a Feature CatalogGoDataDriven
 
Visualizing Big Data in a Small Screen
Visualizing Big Data in a Small ScreenVisualizing Big Data in a Small Screen
Visualizing Big Data in a Small ScreenGoDataDriven
 
Building a Scalable and reliable open source ML Platform with MLFlow
Building a Scalable and reliable open source ML Platform with MLFlowBuilding a Scalable and reliable open source ML Platform with MLFlow
Building a Scalable and reliable open source ML Platform with MLFlowGoDataDriven
 
Training Taster: Leading the way to become a data-driven organization
Training Taster: Leading the way to become a data-driven organizationTraining Taster: Leading the way to become a data-driven organization
Training Taster: Leading the way to become a data-driven organizationGoDataDriven
 
My Path From Data Engineer to Analytics Engineer
My Path From Data Engineer to Analytics EngineerMy Path From Data Engineer to Analytics Engineer
My Path From Data Engineer to Analytics EngineerGoDataDriven
 
dbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchezdbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo SanchezGoDataDriven
 
Workshop on Google Cloud Data Platform
Workshop on Google Cloud Data PlatformWorkshop on Google Cloud Data Platform
Workshop on Google Cloud Data PlatformGoDataDriven
 
How to create a Devcontainer for your Python project
How to create a Devcontainer for your Python projectHow to create a Devcontainer for your Python project
How to create a Devcontainer for your Python projectGoDataDriven
 
Using Graph Neural Networks To Embrace The Dependency In Your Data by Usman Z...
Using Graph Neural Networks To Embrace The Dependency In Your Data by Usman Z...Using Graph Neural Networks To Embrace The Dependency In Your Data by Usman Z...
Using Graph Neural Networks To Embrace The Dependency In Your Data by Usman Z...GoDataDriven
 
Common Issues With Time Series by Vadim Nelidov - GoDataFest 2022
Common Issues With Time Series by Vadim Nelidov - GoDataFest 2022Common Issues With Time Series by Vadim Nelidov - GoDataFest 2022
Common Issues With Time Series by Vadim Nelidov - GoDataFest 2022GoDataDriven
 
MLOps CodeBreakfast on AWS - GoDataFest 2022
MLOps CodeBreakfast on AWS - GoDataFest 2022MLOps CodeBreakfast on AWS - GoDataFest 2022
MLOps CodeBreakfast on AWS - GoDataFest 2022GoDataDriven
 
MLOps CodeBreakfast on Azure - GoDataFest 2022
MLOps CodeBreakfast on Azure - GoDataFest 2022MLOps CodeBreakfast on Azure - GoDataFest 2022
MLOps CodeBreakfast on Azure - GoDataFest 2022GoDataDriven
 
Tableau vs. Power BI by Juan Manuel Perafan - GoDataFest 2022
Tableau vs. Power BI by Juan Manuel Perafan - GoDataFest 2022Tableau vs. Power BI by Juan Manuel Perafan - GoDataFest 2022
Tableau vs. Power BI by Juan Manuel Perafan - GoDataFest 2022GoDataDriven
 
Deploying a Modern Data Stack by Lasse Benninga - GoDataFest 2022
Deploying a Modern Data Stack by Lasse Benninga - GoDataFest 2022Deploying a Modern Data Stack by Lasse Benninga - GoDataFest 2022
Deploying a Modern Data Stack by Lasse Benninga - GoDataFest 2022GoDataDriven
 
AWS Well-Architected Webinar Security - Ben de Haan
AWS Well-Architected Webinar Security - Ben de HaanAWS Well-Architected Webinar Security - Ben de Haan
AWS Well-Architected Webinar Security - Ben de HaanGoDataDriven
 
The 7 Habits of Effective Data Driven Companies
The 7 Habits of Effective Data Driven CompaniesThe 7 Habits of Effective Data Driven Companies
The 7 Habits of Effective Data Driven CompaniesGoDataDriven
 
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...GoDataDriven
 
Artificial intelligence in actions: delivering a new experience to Formula 1 ...
Artificial intelligence in actions: delivering a new experience to Formula 1 ...Artificial intelligence in actions: delivering a new experience to Formula 1 ...
Artificial intelligence in actions: delivering a new experience to Formula 1 ...GoDataDriven
 
Smart application on Azure at Vattenfall - Rens Weijers & Peter van 't Hof
Smart application on Azure at Vattenfall - Rens Weijers & Peter van 't HofSmart application on Azure at Vattenfall - Rens Weijers & Peter van 't Hof
Smart application on Azure at Vattenfall - Rens Weijers & Peter van 't HofGoDataDriven
 
Democratizing AI/ML with GCP - Abishay Rao (Google) at GoDataFest 2019
Democratizing AI/ML with GCP - Abishay Rao (Google) at GoDataFest 2019Democratizing AI/ML with GCP - Abishay Rao (Google) at GoDataFest 2019
Democratizing AI/ML with GCP - Abishay Rao (Google) at GoDataFest 2019GoDataDriven
 

Mehr von GoDataDriven (20)

Streamlining Data Science Workflows with a Feature Catalog
Streamlining Data Science Workflows with a Feature CatalogStreamlining Data Science Workflows with a Feature Catalog
Streamlining Data Science Workflows with a Feature Catalog
 
Visualizing Big Data in a Small Screen
Visualizing Big Data in a Small ScreenVisualizing Big Data in a Small Screen
Visualizing Big Data in a Small Screen
 
Building a Scalable and reliable open source ML Platform with MLFlow
Building a Scalable and reliable open source ML Platform with MLFlowBuilding a Scalable and reliable open source ML Platform with MLFlow
Building a Scalable and reliable open source ML Platform with MLFlow
 
Training Taster: Leading the way to become a data-driven organization
Training Taster: Leading the way to become a data-driven organizationTraining Taster: Leading the way to become a data-driven organization
Training Taster: Leading the way to become a data-driven organization
 
My Path From Data Engineer to Analytics Engineer
My Path From Data Engineer to Analytics EngineerMy Path From Data Engineer to Analytics Engineer
My Path From Data Engineer to Analytics Engineer
 
dbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchezdbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchez
 
Workshop on Google Cloud Data Platform
Workshop on Google Cloud Data PlatformWorkshop on Google Cloud Data Platform
Workshop on Google Cloud Data Platform
 
How to create a Devcontainer for your Python project
How to create a Devcontainer for your Python projectHow to create a Devcontainer for your Python project
How to create a Devcontainer for your Python project
 
Using Graph Neural Networks To Embrace The Dependency In Your Data by Usman Z...
Using Graph Neural Networks To Embrace The Dependency In Your Data by Usman Z...Using Graph Neural Networks To Embrace The Dependency In Your Data by Usman Z...
Using Graph Neural Networks To Embrace The Dependency In Your Data by Usman Z...
 
Common Issues With Time Series by Vadim Nelidov - GoDataFest 2022
Common Issues With Time Series by Vadim Nelidov - GoDataFest 2022Common Issues With Time Series by Vadim Nelidov - GoDataFest 2022
Common Issues With Time Series by Vadim Nelidov - GoDataFest 2022
 
MLOps CodeBreakfast on AWS - GoDataFest 2022
MLOps CodeBreakfast on AWS - GoDataFest 2022MLOps CodeBreakfast on AWS - GoDataFest 2022
MLOps CodeBreakfast on AWS - GoDataFest 2022
 
MLOps CodeBreakfast on Azure - GoDataFest 2022
MLOps CodeBreakfast on Azure - GoDataFest 2022MLOps CodeBreakfast on Azure - GoDataFest 2022
MLOps CodeBreakfast on Azure - GoDataFest 2022
 
Tableau vs. Power BI by Juan Manuel Perafan - GoDataFest 2022
Tableau vs. Power BI by Juan Manuel Perafan - GoDataFest 2022Tableau vs. Power BI by Juan Manuel Perafan - GoDataFest 2022
Tableau vs. Power BI by Juan Manuel Perafan - GoDataFest 2022
 
Deploying a Modern Data Stack by Lasse Benninga - GoDataFest 2022
Deploying a Modern Data Stack by Lasse Benninga - GoDataFest 2022Deploying a Modern Data Stack by Lasse Benninga - GoDataFest 2022
Deploying a Modern Data Stack by Lasse Benninga - GoDataFest 2022
 
AWS Well-Architected Webinar Security - Ben de Haan
AWS Well-Architected Webinar Security - Ben de HaanAWS Well-Architected Webinar Security - Ben de Haan
AWS Well-Architected Webinar Security - Ben de Haan
 
The 7 Habits of Effective Data Driven Companies
The 7 Habits of Effective Data Driven CompaniesThe 7 Habits of Effective Data Driven Companies
The 7 Habits of Effective Data Driven Companies
 
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...
DevOps for Data Science on Azure - Marcel de Vries (Xpirit) and Niels Zeilema...
 
Artificial intelligence in actions: delivering a new experience to Formula 1 ...
Artificial intelligence in actions: delivering a new experience to Formula 1 ...Artificial intelligence in actions: delivering a new experience to Formula 1 ...
Artificial intelligence in actions: delivering a new experience to Formula 1 ...
 
Smart application on Azure at Vattenfall - Rens Weijers & Peter van 't Hof
Smart application on Azure at Vattenfall - Rens Weijers & Peter van 't HofSmart application on Azure at Vattenfall - Rens Weijers & Peter van 't Hof
Smart application on Azure at Vattenfall - Rens Weijers & Peter van 't Hof
 
Democratizing AI/ML with GCP - Abishay Rao (Google) at GoDataFest 2019
Democratizing AI/ML with GCP - Abishay Rao (Google) at GoDataFest 2019Democratizing AI/ML with GCP - Abishay Rao (Google) at GoDataFest 2019
Democratizing AI/ML with GCP - Abishay Rao (Google) at GoDataFest 2019
 

Kürzlich hochgeladen

Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
Aspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - AlmoraAspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - AlmoraGovindSinghDasila
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...amitlee9823
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...amitlee9823
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNKTimothy Spann
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...SUHANI PANDEY
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteedamy56318795
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...only4webmaster01
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...Elaine Werffeli
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...amitlee9823
 
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangaloreamitlee9823
 

Kürzlich hochgeladen (20)

Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Aspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - AlmoraAspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - Almora
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Thane West Call On 9920725232 With Body to body massage...
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 

Yes you can play Monopoly with a Genetic Algorithm - Niels Zeilemaker

  • 1. Yes, you can play Monopoly with a genetic algorithm Niels Zeilemaker
  • 2. About me • PhD in Parallel Computing @ TUDelft • Data hacker at GDD • Data scientist and/or data engineer • Basically, drink coffee a lot while waiting for
  • 3. Monopoly • Boardgame created in 1935 • For 2-6 players • Buy houses/hotels –> • Last man standing wins • Pronounced in dutch as moonoopooly
  • 4. Terminology • Players traverse the board by rolling two dice • When landing on an unowned property, a player can decide to buy it • If a player owns all properties of a single color, he can buy houses • Visiting a property owned by another player you will need to pay rent
  • 5. Rules • A player passing Go receives $200 • All fines are paid into the free parking space • When a player does not buy an unowned property an auction is held • Rolling doubles three times in a row results in goto jail • If a player lands on Go he receives $400 • Rolling doubles will release a player from jail • Paying $50 will release a player from jail
  • 6. Rules • A player passing Go receives $200 • All fines are paid into the free parking space • When a player does not buy an unowned property an auction is held • Rolling doubles three times in a row results in goto jail • If a player lands on Go he receives $400 • Rolling doubles will release a player from jail • Paying $50 will release a player from jail
  • 7. How much free time do you have? • Interesting game, • still doesn’t explain why you would attempt to “solve it” • GDD Friday + = “Monopoly Simulations” • He implemented a small python script which would roll dice + go to jail See: http://koaning.io/monopoly-simulations.html
  • 9. Datascientists writing code • Initial script, 46 lines • “Improved” script, 800 lines
  • 10. How much free time do you have? • Implemented • Board object • Player object • Deed object • BankruptException ;) • Unit-tested, coverage ~80%
  • 11. Player object class Player(object): def buy_position(self, deed, amount): # after landing on a deed def bid_position(self, deed, amount, current_bid): # while in an auction def anything_else(self): # at the end of the turn def raise_amount(self, amount): # when we need to pay for something
  • 12. First players implemented • BuyNothing • BuyAll • BuyFrom • BuyBetween 0 50 100 150 200 250 300 350 400 450 Player BuyAll BuyFrom '10' BuyBetween '10-20' Wins
  • 13. Which deeds to buy? € 0.00 € 100,000.00 € 200,000.00 € 300,000.00 € 400,000.00 € 500,000.00 € 600,000.00 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 Money raised/invested raised invested
  • 14. But, which will help you to win? 0 50 100 150 200 250 300 350 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 Caused bankruptcy
  • 15. Next up, genetic algorithms • Manually selecting which deeds to buy/how many houses to build isn’t a lot of fun • Enter, the GAPlayer
  • 16. Genetic algoritms? • Search heuristic which mimics natural selection • Convert search space into chromosome • Eg 1,1,0,3,3, etc. • Evaluate performance of chromosome using fitness function • 1,1,0,3,3,… = 42 • 1,2,0,3,3,… = 42 I'm no expert on genetic algoritms, feel free to correct me
  • 17. Genetic algoritms? • After each round (or population) • Select top X chromosomes • Append some mutations • Generate offspring by combining those • Stop after X generations
  • 18. Genetic algoritms? Algorithm A: 1,0,0,0,0 Algorithm B: 0,0,2,2,2 Child C: 0,0,2,0,2 Child D: 1,0,0,2,2
  • 19. GAPlayer • Chromosome: • 0,6,0,5,0,1,2,0,3,2,0,5,1,5,4,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,1,0,0,1,0,4,0,4 • 0 = don’t buy • 1 = buy • 2..5 = build 1..4 houses • 6 = build hotel 65 1 232
  • 20. Fitness function • Implemented two approaches: • Play vs BuyAll • Use TrueSkill • Not sure if either is correct ;)
  • 21. Fitness function, vs BuyAll • Play 1000 matches against BuyAll • Score = #times won • Evaluate 10 generations • Population size = 56 • Select 20% best perfoming • Mutate 1% of the solutions • Single generation takes 1 minute to evaluate
  • 22. Scores vs Generations 400 450 500 550 600 650 1 2 3 4 5 6 7 8 9 10 vs BuyAll
  • 23. But wait • So, GaPlayer '[0, 6, 0, 5, 0, 1, 2, 0, 3, 2, 0, 5, 1, 5, 4, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 4, 0, 4]‘ is a better strategy than buying everything…. • But is it the best monopoly strategy? BuyAll GaPlayer….
  • 24. TrueSkill • A ranking system developed for Xbox player matching • In my understanding • Each player has a skill belief, eg a probability distribution • When you win/lose from another we update the probabilities accordingly • Let’s hope Vincent is in the room
  • 25. An example • Before vs After • Poke1 loses from Poke2
  • 26. Combining GA + Trueskill • Have a global leaderbord • Each new GA chromosome plays against 100 randomly selected others • Each game now is best of 10 • Leaderbord is sorted by value of curve descending
  • 28. Runner ups • 0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,1,6,0,6,6,0,0,0,0,0,1,0,1,0,0,0,5,4,0,4,1,0,2,0,3 • 0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,1,1,0,2,1,0,0,0,0,0,1,4,4,0,5,0,0,0,0,0,1,0,2,0,3 • 0,1,0,1,0,1,0,0,0,0,0,1,0,0,1,1,1,0,0,1,0,0,0,0,0,1,4,4,0,5,0,0,0,0,0,1,0,2,0,3 • 0,0,0,1,0,1,0,0,0,0,0,1,1,0,0,1,1,0,1,0,0,1,0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,3,0,4 • 0,1,0,2,0,1,1,0,0,1,0,1,1,1,0,1,1,0,2,2,0,0,0,0,0,1,4,3,1,4,0,0,0,0,0,1,0,2,0,3 • 0,2,0,1,0,1,1,0,0,1,0,0,1,0,1,1,6,0,6,6,0,0,0,0,0,1,0,1,0,0,0,5,4,0,4,1,0,3,0,3 • 0,2,0,2,0,1,1,0,0,1,0,0,1,0,0,1,6,0,5,6,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,3,0,2 • 0,0,0,1,0,1,1,0,0,0,0,1,0,0,1,1,1,0,1,1,0,0,0,0,0,1,4,5,0,5,0,0,0,0,0,1,0,2,0,3 • 0,2,0,1,0,1,1,0,2,1,0,0,1,0,1,1,6,0,6,6,0,0,0,0,0,1,0,1,0,0,0,5,4,0,4,1,0,4,0,3
  • 29. So • We get some probable “best” solutions • But is monopoly rock paper scissors? • We should be able to notice this by it not converging • And, TrueSkill has some ”magic” numbers • Blame vincent
  • 30. Future work/known issues • We implemented a single behavior to • Bid in an auction • Buy/Sell houses • When to start buying/selling houses • We did not implement • Trying to buy streets from other players • Opensource the stuffs
  • 31. We’re hiring / Questions / Thank you Niels Zeilemaker