All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > Probability
The Pace of the Race (Posted on 2007-06-19) Difficulty: 4 of 5
In a simplified version of a child’s board game, players "race" around the board going from Start to Finish, moving their tokens based on the roll of a six sided die. The board has 101 spaces where the Start space represents "0" and the Finish space represents "100". An exact roll is not required to cross the finish line. To ensure that one child does not have an advantage, all the children roll the die separately, but move simultaneously.

Part I. With one child playing, how many turns (on average) will it take to have a winner?
With 2, 3, or 4 children playing, how many turns will it take (on average) to have a winner?

Part II. With 4 children playing, when one of the children crosses the finish line, how far along should the child in 2nd place, 3rd place, and 4th place be? (Again, looking for the statistical average position.)

Part III. What would be the solution to the previous questions if an exact roll is required to cross the Finish line? (If the roll is too high, the player loses a turn and does not move.)

No Solution Yet Submitted by Leming    
Rating: 3.5000 (2 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
monte carlo --parts I and II | Comment 1 of 4

Over the course of 266,899 trials, for some reason, it took on average 29.04 rolls to get over 100, rather than the 100/3.5 = 28.57 I had expected.  Maybe it has to do with 29.04*3.5 = 101.64, while on average the final toss takes the total to 103.5.

The other statistics are:

   avg # of tosses                  avg positions of
1playr 2playrs 3playrs 4playrs 2nd pl 3rd pl 4th pl trials



29.04  27.58  26.87  26.43  94.84  89.80  83.43 266899

If two players reached the finish in the same turn, 2nd place was considered to be in position 100 regardless of how much the roll was in excess of the number needed.

DECLARE FUNCTION min# (x#, y#)
RANDOMIZE TIMER
DEFDBL A-Z
CLS
DO
 trial = trial + 1
 REDIM p(4)
 nOver = 0: turn = 0
 DO
   turn = turn + 1
   FOR i = 1 TO 4
    r(i) = INT(RND(1) * 6 + 1)
   NEXT
   FOR i = 1 TO 4
    IF p(i) < 100 THEN
      p(i) = p(i) + r(i)
      IF p(i) >= 100 THEN
       nOver = nOver + 1
       over(nOver) = turn
       overWho(nOver) = i
       IF nOver = 1 THEN
         REDIM pList(3): plp = 0
         FOR j = 1 TO 4
           IF j < i THEN
            FOR k = 1 TO plp
             IF pList(k) < p(j) THEN EXIT FOR
            NEXT
            FOR l = plp TO k STEP -1
              pList(l + 1) = pList(l)
            NEXT
            pList(k) = p(j)
            plp = plp + 1
           ELSEIF j > i THEN
            FOR k = 1 TO plp
             IF pList(k) < min(100, p(j) + r(j)) THEN EXIT FOR
            NEXT
            FOR l = plp TO k STEP -1
              pList(l + 1) = pList(l)
            NEXT
            pList(k) = min(100, p(j) + r(j))
            plp = plp + 1
           END IF
         NEXT
       END IF
      END IF
    END IF
   NEXT
 LOOP UNTIL p(1) >= 100 AND p(2) >= 100 AND p(3) >= 100 AND p(4) >= 100
 REDIM pers(4)
 FOR numb = 1 TO 4
   FOR j = overWho(numb) TO 4
    IF pers(j) = 0 THEN pers(j) = over(numb): tot(j) = tot(j) + over(numb)
   NEXT
 NEXT
 FOR pl = 1 TO 3
   totProg(pl + 1) = totProg(pl + 1) + pList(pl)
 NEXT

 'FOR i = 1 TO 4
 '  PRINT over(i); overWho(i)
 'NEXT

 PRINT USING "####.##"; tot(1) / trial; tot(2) / trial; tot(3) / trial; tot(4) / trial;
 PRINT USING "####.##"; totProg(2) / trial; totProg(3) / trial; totProg(4) / trial;
 PRINT trial
 REM
LOOP

FUNCTION min (x, y)
 IF x < y THEN min = x ELSE min = y
END FUNCTION

 


  Posted by Charlie on 2007-06-19 12:03:28
Please log in:
Login:
Password:
Remember me:
Sign up! | Forgot password


Search:
Search body:
Forums (0)
Newest Problems
Random Problem
FAQ | About This Site
Site Statistics
New Comments (0)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

Chatterbox:
Copyright © 2002 - 2024 by Animus Pactum Consulting. All rights reserved. Privacy Information