Simulation du problème des 3 portes
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Simulation du problème des 3 portes



  1. #1
    Lalfada

    Simulation du problème des 3 portes


    ------

    Salut,

    J'ai écrit un code en lua faisant une simulation du problème des 3 portes, aussi appelées problèmes de Monty Hall (https://fr.wikipedia.org/wiki/Probl%..._de_Monty_Hall).

    Le lua a une syntaxe assez simple du coup même si vous vous y connaissez pas trop ça devrait aller. Vous pouvez juste noter que ~= signifie non-égale (souvent écrit !=).

    Les résultats donnaient des taux s’approchant de 50% de réussite sur plus de 100 millions d’essais au lieu des 66,7% attendu. Une explication ?
    Les taux pour chaque que l'on ne changent pas étaient de 33,3%, soit la valeur attendue.

    Le code est d’après l’énoncé de Simbad.

    Code:
        countChange = 0
        countNoChange = 0
        total = 10^6
        for i = 1, total do
            local gold = math.random(3)
            local sim = math.random(3)
            
            local open = math.random(3)
            while open ~= gold and open ~= sim do
                open = math.random(3)
            end
            
            local newSim = math.random(3)
            while newSim ~= open and newSim ~= sim do
                newSim = math.random(3)
            end
            
            if newSim == gold then
                countChange = countChange + 1
            end
            
            if sim == gold then
                countNoChange = countNoChange + 1
            end
        end
        
        print("total try: "..total)
        print("countChange: "..countChange)
        print("countNoChange: "..countNoChange)
    Vous pouvez simplement le faire tour faire tourné sur une console.

    -----

  2. #2
    Spazi

    Re : Simulation du problème des 3 portes

    Votre code est faux, d'où les résultats

    Code:
        while open == gold or open == sim do
            open = math.random(3)
        end
        
        local newSim = math.random(3)
        while newSim == open or newSim == sim do
            newSim = math.random(3)
        end
    donnera les bons résultats

  3. #3
    Lalfada

    Re : Simulation du problème des 3 portes

    Merci,
    maintenant que je m'en rend compte ça semble évident.

Discussions similaires

  1. [Blanc] probleme sur refrigerateur whirlpool 2 portes
    Par invite184d5b6f dans le forum Dépannage
    Réponses: 2
    Dernier message: 01/01/2011, 19h13
  2. [Divers] Problème programmation portes automatiques
    Par invitecd914240 dans le forum Dépannage
    Réponses: 3
    Dernier message: 08/01/2007, 11h25
  3. Problème de programmation portes automatiques de garage
    Par invitecd914240 dans le forum Électronique
    Réponses: 1
    Dernier message: 07/01/2007, 22h05
  4. Le problème des 3 portes
    Par Jeanpaul dans le forum Mathématiques du supérieur
    Réponses: 8
    Dernier message: 26/11/2006, 12h58
  5. du nouveau sur le problème des portes
    Par invite4793bfc9 dans le forum Mathématiques du supérieur
    Réponses: 26
    Dernier message: 23/02/2005, 13h31