none
maybe someone good programming could give light about this monty hall variation? RRS feed

  • Question

  • monty hall explained

    ok so i have 4 black cards and 2 red cards all covered, the prize is the red card

     

    i shufle and pick one but keep it covered, just take it apart, the chance to have gotten a red is 1/3

     

    i take the other five cards and start uncovering them one by one untill i uncover a red card, rememeber nows theres just one red card left

     

    lets suppose when i uncover the red card there are 5 cards uncover

     

    now the chance to get a red card is 1/5 because theres only one red card left of five

     

    is it on my interest to switch the intial pick , to remain, or is it the same?

     

    and what would be the case if there were 2 left uncovered cards

     

    this is identical to the monty hall except for one thing, info remains hidden, nobody knows where the price is

     

    what do you think?


    Saturday, June 8, 2019 1:43 PM

Answers

  • here an example of playing the monty hall with 6 cards:

    re:
    reit=reit+1 
    a=""
    ' i shufle 6 cards two red of reminder zero when divided by 3 and four black the rest
    For i=1 To 6
    rep:
    card=Math.GetRandomNumber(6) 
    If Array.ContainsValue(a,card) Then
      Goto rep
    EndIf
    a[i]=card
    EndFor
    ' i make an intial pick
    initialpick=a[math.GetRandomNumber(6)]
    rep2:
    ' i discard two cards and unless they are black i retry
    discard1=a[Math.GetRandomNumber(6)]
    discard2=a[Math.GetRandomNumber(6)]
    If initialpick=discard1 or initialpick=discard2 or math.Remainder(discard1,3)=0 Or discard1=discard2  or math.Remainder(discard2,3)=0  Then
      Goto rep2
    EndIf

    ' i change my initial pick
      rep3:
      finalpick=a[Math.GetRandomNumber(6)]
      If finalpick=discard1 Or finalpick=discard2 or finalpick=initialpick Then
        Goto rep3
      EndIf
      'you can unquote the following line to see the results If you hadnt switched your pick
       'finalpick=initialpick

      'now after i uncovered 2 black cards it remains 2 black and 2 red so clasically its a 1:1 payment
      If Math.Remainder(finalpick,3)=0 Then

      bob=bob+1
    Else
      bob=bob-1
    EndIf
      
    TextWindow.WriteLine(bob+" * "+(bob/reit)*100+ " % ")
    Goto re


    Sunday, June 9, 2019 8:00 PM

All replies

  • There are some more videos about that 'Monty Hall' problem there, which try to explain it

    The Monty Hall Problem

    Saturday, June 8, 2019 2:36 PM
    Answerer
  • yes but the monty hall is really not paradoxical for the host access the hidden info, he know whats behind each door

    but in the cards example theres no access at all to the hidden info which would make it really paradoxical because how could you alter the chances of something you dont know, it would be close to cartomancy

    i understand pretty well the monty hall but i just cant figure out the similar card example, the logic of the needed program is too dificult and complex for me

    Saturday, June 8, 2019 6:28 PM
  • Hello Antonio, Monty Hall Problem needs Monty who knows the hidden information.  So if you use cards, Monty is needed to simulate Monty Hall Problem.  Monty may be a PC.  So you can write a program to simulate Monty Hall Problem with cards.  Monty will open one or more black cards.

    Nonki Takahashi

    Sunday, June 9, 2019 12:29 AM
    Moderator
  • thats why i chose to have two prices or red cards, on this way i dont need monty to know the hidden info for i can eliminate cards untill i remain with a single price or red card

    as i see it if monty hall works this should work:

    if i remain with my intial pick the chance is 1/3 but if i eliminate cards till i remain with two cards which i know one is red and the other black and i swicth according monty hall my chance now to get the red price increases to 2/3

    on the other hand if i just eliminate one card and i know there remain hidden 4 black and one red should be in my interest to remain in the initial pick for that gives me a chance of the initial 1/3 vs 1/5

    chance and probability is a way to handle hidden info and if you manage to offset chance youre accesing somehow hidden info what makes me wonder if maybe, just maybe tarot and chartomancy divination could have had a mathematical basis in a remote past which got lost

    Sunday, June 9, 2019 3:19 PM
  • i tried a variation of the original problem and doesnt work

    this is the closest i got working

    there are 2 red and two black cards, i pick one up intially and then shuffle the other three and uncover on of them and retry unless i uncovered a red card

    now for the hidden info there are 2 black and one red cards which pays 2:1 but my inital pick was made with a 50% chance so it gets an edge

    re:
    reiterations=reiterations+1
    a=""
    ' i shufle 4 cards, 2 red two black
    For i=1 To 4
    rep:
    card=Math.GetRandomNumber(4) 
    If Array.ContainsValue(a,card) Then
      Goto rep
    EndIf
    a[i]=card
    EndFor
    'my initial pick
    pick=a[math.GetRandomNumber(4)]
    rep2:
    ' i uncover and discard one card and retry untill its a red that appears
    discard=a[Math.GetRandomNumber(4)]
    If pick=discard   Then
      Goto rep2
    EndIf
    'if i dont get a red i reshufle the 3 left cards
    If Math.Remainder(discard,2)<>0   Then
    Goto rep2
    EndIf


    'there are 1 red and two black covered cards so getting a red pays 2:1
      If Math.Remainder(pick,2)=0 Then

      bob=bob+2
    Else
      bob=bob-1
    EndIf


      
      TextWindow.WriteLine(bob+" * "+(bob/reiterations)*100+" %")
    Goto re

    Sunday, June 9, 2019 6:32 PM
  • anyway though my initial idea didnt work i understand why the monty hall is called paradoxical

    so i figured out a way to play the monty hall with cards

    and the thing is that like your playing yourself you need no monty to know the hidden info

    if you use just 3 cards it wont work because as you dont know the cards you may uncover the prize

    the caught is to play it with 6 cards, two red prizes and four black goats :)

    you take one card appart and shufle the rest

    then you uncover one of the left 5 cards, if its red you reshufle the five cards and retry, you havent got to know any info you didnt know before for you know for sure at least theres one red among the five cards

    if its black you get a second card if its red you reshufle you keep reshufling and getting two cards one by one untill you uncover two black cards

    then is a question of switching your intial pick

    so if you have one chance of 50% because there are 2 black and two red cards and probability is a way to handle hidden info how have you increased your chance to two thirds if you actually havent accesed any hidden info?


    Sunday, June 9, 2019 7:13 PM
  • here an example of playing the monty hall with 6 cards:

    re:
    reit=reit+1 
    a=""
    ' i shufle 6 cards two red of reminder zero when divided by 3 and four black the rest
    For i=1 To 6
    rep:
    card=Math.GetRandomNumber(6) 
    If Array.ContainsValue(a,card) Then
      Goto rep
    EndIf
    a[i]=card
    EndFor
    ' i make an intial pick
    initialpick=a[math.GetRandomNumber(6)]
    rep2:
    ' i discard two cards and unless they are black i retry
    discard1=a[Math.GetRandomNumber(6)]
    discard2=a[Math.GetRandomNumber(6)]
    If initialpick=discard1 or initialpick=discard2 or math.Remainder(discard1,3)=0 Or discard1=discard2  or math.Remainder(discard2,3)=0  Then
      Goto rep2
    EndIf

    ' i change my initial pick
      rep3:
      finalpick=a[Math.GetRandomNumber(6)]
      If finalpick=discard1 Or finalpick=discard2 or finalpick=initialpick Then
        Goto rep3
      EndIf
      'you can unquote the following line to see the results If you hadnt switched your pick
       'finalpick=initialpick

      'now after i uncovered 2 black cards it remains 2 black and 2 red so clasically its a 1:1 payment
      If Math.Remainder(finalpick,3)=0 Then

      bob=bob+1
    Else
      bob=bob-1
    EndIf
      
    TextWindow.WriteLine(bob+" * "+(bob/reit)*100+ " % ")
    Goto re


    Sunday, June 9, 2019 8:00 PM