SlideShare a Scribd company logo
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

More Related Content

Viewers also liked

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
Pierrot Caron
 
Article Pascal GARNERO - Novembre 2015.
Article Pascal GARNERO - Novembre 2015.Article Pascal GARNERO - Novembre 2015.
Article Pascal GARNERO - Novembre 2015.Pascal Garnero
 
Tame that Beast
Tame that BeastTame 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
Yumar Rondon
 
Immediate single implant case presentation
Immediate single implant case presentationImmediate single implant case presentation
Immediate single implant case presentation
Yeshwant DentalClinic
 
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
DataWorks Summit/Hadoop Summit
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
Deepak Sharma
 
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
hauschildm
 
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
kknsastry
 
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
Dremio 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 System
Harshal 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
 
Time series forecasting
Time series forecastingTime series forecasting
Time series forecasting
Gunadarma University
 
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 algorithm
Swathi 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 Constraints
Stefano Costanzo
 

Viewers also liked (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
 

Similar to 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 Lobb
mochimedia
 
Adversarial search with Game Playing
Adversarial search with Game PlayingAdversarial search with Game Playing
Adversarial search with Game Playing
Aman Patel
 
Games
GamesGames
'Another Case Solved' post-mortem
'Another Case Solved' post-mortem'Another Case Solved' post-mortem
'Another Case Solved' post-mortem
Artur 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 Cloning
Greg 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 designer
Ethan 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.pdf
rajdipdas12
 
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 Games
Anthony Pecorella
 
The Hall of Stats
The Hall of StatsThe Hall of Stats
The Hall of Stats
Adam Darowski
 
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
James Gwertzman
 
l3.pptx
l3.pptxl3.pptx
CptS 440/ 540 AI.pptx
CptS 440/ 540 AI.pptxCptS 440/ 540 AI.pptx
CptS 440/ 540 AI.pptx
DrDejaVu2
 
Escape Rooms for Museums
Escape Rooms for MuseumsEscape Rooms for Museums
Escape Rooms for Museums
John Sear
 
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
 

Similar to 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
 
Escape Rooms for Museums
Escape Rooms for MuseumsEscape Rooms for Museums
Escape Rooms for Museums
 
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!
 

More from 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 Catalog
GoDataDriven
 
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
GoDataDriven
 
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
GoDataDriven
 
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
GoDataDriven
 
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
GoDataDriven
 
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
GoDataDriven
 
Workshop on Google Cloud Data Platform
Workshop on Google Cloud Data PlatformWorkshop on Google Cloud Data Platform
Workshop on Google Cloud Data Platform
GoDataDriven
 
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
GoDataDriven
 
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 2022
GoDataDriven
 
MLOps CodeBreakfast on AWS - GoDataFest 2022
MLOps CodeBreakfast on AWS - GoDataFest 2022MLOps CodeBreakfast on AWS - GoDataFest 2022
MLOps CodeBreakfast on AWS - GoDataFest 2022
GoDataDriven
 
MLOps CodeBreakfast on Azure - GoDataFest 2022
MLOps CodeBreakfast on Azure - GoDataFest 2022MLOps CodeBreakfast on Azure - GoDataFest 2022
MLOps CodeBreakfast on Azure - GoDataFest 2022
GoDataDriven
 
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
GoDataDriven
 
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
GoDataDriven
 
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
GoDataDriven
 
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
GoDataDriven
 
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 Hof
GoDataDriven
 
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
GoDataDriven
 

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

Recently uploaded

一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
g4dpvqap0
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
yhkoc
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
ArpitMalhotra16
 
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
ukgaet
 
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptxData_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
AnirbanRoy608946
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
slg6lamcq
 
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
pchutichetpong
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
axoqas
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
ahzuo
 
一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单
ewymefz
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
AbhimanyuSinha9
 
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
vcaxypu
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
Oppotus
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
slg6lamcq
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
enxupq
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
ewymefz
 
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
nscud
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Subhajit Sahu
 

Recently uploaded (20)

一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
 
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
 
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptxData_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
Data_and_Analytics_Essentials_Architect_an_Analytics_Platform.pptx
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
 
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
 
一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
 
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
 
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
 

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