Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Monty Hall w/ 4 doors in Maple

  1. Dec 13, 2013 #1
    Hi, Iam a new user of Maple and having hard time to figure out what Iam doing wrong.
    I need to set up Monty Hall simulation problem with 4 doors. Monty will open door twice and give opportunity to the player to switch the door or not. That's what I came up with. Could anyone point out my mistakes. Thank you

    restart;
    with(Statistics):
    rendomize():
    MontyHall:=proc(N::posint,{switch::truefalse:=false})
    # Simulations for the 4-door Monty Hall problem.
    N is the # of trials.
    Returns the number of trials the player wins.
    local
    wins:=0,
    Car,# the door with the Car behind it(1..4).
    Montys1stDoor, # The door that Monty reveals first(1..4).
    Montys2ndDoor, # The door that Monty reveals second(1..3).
    Players1stDoor, # The door the player picks first.
    Players2ndDoor, # The door the player picks second.
    Players3rdDoor, # The door the player picks third.
    Doors:={1,2,3,4};
    switch:=switch1,switch2;
    rand4:=rand(1..4),rand3:=rand(1..3),rand2:=rand(1..2);

    to N do
    Car:=rand4();
    Players1stDoor:=rand4();
    if Players1stDoor=Car then
    Montys1stDoor:=(Doors minus{Car})[rand3()]
    else
    Montys1stDoor:=(Doors minus{Car,Players1stDoor})[]
    end if;

    if switch1 then
    Players2ndDoor:=(Doors minus{Montys1stDoor,Players1stDoor})[rand2()]
    else
    Players2ndDoor:=Players1stDoor
    end if;

    if Players2ndDoor=Car then
    Montys2ndDoor:=(Doors minus{Car,Montys1stDoor})[rand2()]
    else
    Montys2ndDoor:=(Doors minus{Car,Montys1stDoor,Players2ndDoor})[]
    end if;

    if switch2 then
    Players3rdDoor:=(Doors-{Montys1stDoor,Montys2ndDoor,Players2ndDoor})[]
    else
    Players3rdDoor:=Players2ndDoor
    end if;

    if Players3rdDoor=Car then
    wins:=wins+1;
    end if
    end do;
    wins
    end proc:
     
  2. jcsd
  3. Dec 14, 2013 #2
    Have you tried replacing rendomize() by randomize()?
     
  4. Dec 14, 2013 #3
    Yes, thank you!!!
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Monty Hall w/ 4 doors in Maple
  1. Monty Hall (Replies: 13)

  2. Monty Hall problem (Replies: 9)

Loading...