473,486 Members | 2,104 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Analyzing data in a Monopoly Game?

This should be fairly straightforward, but I can't figure out how to
approach this.... I'd appreciate any ideas you have.

Goal:

Make recommendations on what a Monopoly player should do with the
houses/hotels, cards and cash they have. (i.e., what should they
mortgage/unmortage, where should they build, etc.)

What I have:

I have created a calculator to figure out the relative value of any
board setup... so any setup I give the script, I can figure out how good it
is. (http://www.psmonopoly.com/calc/propstats.htm). If you try it, the page
will show you the relative value of your setup under RESULTS at the top.

The user has given me their current setup (what they own, what's
mortgaged, what has houses, etc.), how much money they have on-hand, how
much money they want to keep on-hand after the recommendations.

What I'd like to do:

Cycle through every conceivable thing they could do (mortgage a property
here, unmortage one there, build a house here, sell a house there, etc.),
compare the relative values of all the setups, and tell them which would be
their best choice. These options are limited by monopoly rules and what
they have to play with. For example, they have to build evenly, so a user
can't have four houses on one property and the other mortgaged in the same
monopoly. They can't build more houses than they have cash to buy, and they
can only change what they have (i.e., they can't build on a property unless
they own the whole block).

Where I'm stuck:

I haven't the foggiest notion of how to use javascript to loop through all
the configurations.

I assume, once I figure out how to loop through all the user's options, I
can create a two dimensional array, containing specifics of the monopoly
config, and the relative value I calculate for it, then find the highest
relative value, and show them the delta between how the board is set up now,
and how it should (optimally) be set up.

Any thoughts?

Oct 20 '05 #1
5 1827
> Where I'm stuck:

I haven't the foggiest notion of how to use javascript to loop through all
the configurations.


JavaScript is closely related to Scheme, so any sort of AI approach
could be easily accomodated. See
http://www.crockford.com/javascript/little.html
Oct 21 '05 #2
Lee
Mike P said:

This should be fairly straightforward, but I can't figure out how to
approach this.... I'd appreciate any ideas you have.

Goal:

Make recommendations on what a Monopoly player should do with the
houses/hotels, cards and cash they have. (i.e., what should they
mortgage/unmortage, where should they build, etc.)

What I have:

I have created a calculator to figure out the relative value of any
board setup... so any setup I give the script, I can figure out how good it
is.


That's not really enough. Maximizing the next move is likely to lead to
dead ends from which there is no "better" move.

Consider the case in the best strategy would be to sell one property
in order to finance the purchase of a hotel. Having the hotel instead
of that property might be clearly favorable, but looking one move ahead,
you're not going to see any advantage to selling the property.

Oct 21 '05 #3
"Lee" <RE**************@cox.net> wrote in message
news:dj*********@drn.newsguy.com...
That's not really enough. Maximizing the next move is likely to lead to
dead ends from which there is no "better" move.

Consider the case in the best strategy would be to sell one property
in order to finance the purchase of a hotel. Having the hotel instead
of that property might be clearly favorable, but looking one move ahead,
you're not going to see any advantage to selling the property.


Lee, you make a good point. The calculator, as it stands now, uses long
term probability of landing on a square (assuming infinite rolls),
multiplied by the payoff should your opponent land on the square. I think
it's a fairly good measure, though your point is well taken. Monopoly
depends heavily on the dice roll. I'm not currently factoring in where
players are situated on the board, nor am I factoring in how their
opponent(s) are setup. So regardless of what they do, the next roll can
change things significantly... they might lose with the next roll of the
dice.

Still, I have to begin somewhere.... and I believe this is a good place to
start. Any ideas on how to do the data analysis.... or even a better
overall approach?

Thanks!

Mike
Oct 21 '05 #4
Mike P wrote:
"Lee" <RE**************@cox.net> wrote in message
news:dj*********@drn.newsguy.com...

That's not really enough. Maximizing the next move is likely to lead to
dead ends from which there is no "better" move.

Consider the case in the best strategy would be to sell one property
in order to finance the purchase of a hotel. Having the hotel instead
of that property might be clearly favorable, but looking one move ahead,
you're not going to see any advantage to selling the property.

Lee, you make a good point. The calculator, as it stands now, uses long
term probability of landing on a square (assuming infinite rolls),
multiplied by the payoff should your opponent land on the square. I think
it's a fairly good measure, though your point is well taken. Monopoly
depends heavily on the dice roll. I'm not currently factoring in where
players are situated on the board, nor am I factoring in how their
opponent(s) are setup. So regardless of what they do, the next roll can
change things significantly... they might lose with the next roll of the
dice.

Still, I have to begin somewhere.... and I believe this is a good place to
start. Any ideas on how to do the data analysis.... or even a better
overall approach?


Once you define the algorithm, it can be implemented. There are a
number of strategies, and various ways of determining outcomes.

You may be interested in:

<URL:http://hometown.aol.co.uk/monopolycheat/>
Is that what you have in mind?
--
Rob
Oct 21 '05 #5

"RobG" <rg***@iinet.net.au> wrote in message news:hd******************@news.optus.net.au...
Once you define the algorithm, it can be implemented. There are a
number of strategies, and various ways of determining outcomes.
You may be interested in:
<URL:http://hometown.aol.co.uk/monopolycheat/>
Is that what you have in mind?
--
Rob


Well close :). I've not seen that site before, but I have read through Truman Collins and Durango Bill's work. I'm trying to take their numbers and apply it to actual play situations. Truman Collins speculated that we could estimate game outcome by adding his "long term estimated income" numbers for the current game state of each player. That will give the combined estimated income for that player, at that time. The Monopoly calculator I'm in the middle of writing does just that. A player enters which properties they own, and I determine the combined long-term income. Pretty simple. Comparing the numbers of each players setup will show who's the strongest.

Then I realized, I can take it even further. I can look at what the player's current game state is, and figure out how they can change things around to improve their combined long-term income. I made up a setup, and manually did some "what-if" changes, using the JavaScript calculator I had just written. I thought, suppose a player owned both Blue properties, all three Baby Blue properties, and had $400 in cash. Should they put two houses on Blue or 8 houses on Baby Blue? Playing around with it, I found out that the baby blue option is better.... Beyond that, if a player also mortgaged Park Place (cheaper Blue), they'd get $175 more, allowing them to put Hotels on each of the Baby Blues. That gave the strongest possible long-term expected income, given what they had to play with.

What I'm now trying to do, is have the JavaScript run through all the "what-ifs" for them, and tell them what they should change to optimize their setup (i.e., Houses/Hotels they should buy or sell, properties they should mortgage or unmortgage) to optimize what they have to work with. I'm having trouble figuring out the algorithm to run through all the what-if's. I can determine the outcome, but how do I identify the feasible what-ifs to loop through? It's a little tricky because of monopoly rules. Specifically, they must build evenly, so players can not put four houses on one property until they have three on the others. They can't build up a property unless they own the whole color group, and each property is out of mortgage. If they mortgage a property they get half the purchase price, but they'll pay a 10% premium to unmortgage it. So a $100 property will yield $50 when mortgaged, but will take $55 to unmortgage. How can I figure out all the feasible setups so that I can loop through them calculating their long-term expected income?

Thanks!!!

Mike
Oct 21 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
1755
by: Francisco | last post by:
I have this problem: I have a database with information about games, and users are able to vote for them. Everytime a user votes for a game I store the unique game name into a session variable (an...
6
2642
by: Jocknerd | last post by:
I'm a Python newbie and I'm having trouble with Regular Expressions when reading in a text file. Here is a sample layout of the input file: 09/04/2004 Virginia 44 Temple ...
7
11453
by: Rolf Hemmerling | last post by:
Hello ! Beginner's question: What ist the easiest way to store and save objects in a file generated by a C++ program, by using the "standard C++ library" and/or "Standard Template Library (...
10
3378
by: Virginia | last post by:
We have a product that runs on Oracle. The version of Oracle I'm working with is 8.1.7. I should also note that I'm relatively new to Oracle. I'm troubleshooting one particular database that is...
0
1596
by: Joe Ross | last post by:
(Apologies in advance if there is a better forum for asking advice on this topic). Our ASP.NET application occasionally starts spitting out OutOfMemory exceptions. When this happens, the memory...
6
2673
by: Ben Finney | last post by:
Howdy all, Summary: I'm looking for idioms in unit tests for factoring out repetitive iteration over test data. I explain my current practice, and why it's unsatisfactory. When following...
13
2178
by: lane straatman | last post by:
I'm trying to figure out what data type is appropriate to represent a card in a game. The idea that I thought was going to work was a struct, foo, with two integer fields and two fields of char...
5
2229
by: DarkPhoenix739 | last post by:
I have 3 classes: a Windows Form, a Game, and a Piece. The Game has a Piece, and the Windows Form has a Game. The Windows Form needs to be able to "get" the game's Piece, and view its data, but not...
1
2045
by: Van Dugall | last post by:
Hello I have been writing a game in javascript which works fine but I wanted to step it up and request the data of the game from the server. I haven't really used php...all I know is from the...
0
6964
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7175
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
6842
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
1
4865
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4559
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3070
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3070
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1378
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
0
262
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.