Deutsch   English   Français   Italiano  
<upal63$fdm$1@cabale.usenet-fr.net>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail
From: Olivier Miakinen <om+news@miakinen.net>
Newsgroups: fr.sci.maths
Subject: =?UTF-8?Q?Re:_Biaiser_les_probabilit=c3=a9s?=
Date: Tue, 30 Jan 2024 12:05:38 +0100
Organization: There's no cabale
Lines: 73
Message-ID: <upal63$fdm$1@cabale.usenet-fr.net>
References: <FC7uiNUCeXddcQcZGTqATTlb77E@jntp> <up5u5l$a2g$1@dont-email.me>
 <JLTQztzcWhQmabrBqcVhlX4lCTQ@jntp> <up618l$rdt$1@dont-email.me>
 <WIGYsx07m3DG6dcL2jvOfe3i1sA@jntp> <up6btb$1arg$1@cabale.usenet-fr.net>
 <Q6obnXg5HnO88LgOL2sxykZiUWc@jntp> <up8lej$2eah$1@cabale.usenet-fr.net>
 <cczhJyDQLcwXjXJ3eURJ7Eun36I@jntp> <up9841$2tba$1@cabale.usenet-fr.net>
 <frOm3MdS62za7-JTcGughujiCL8@jntp> <upahdf$ecm$1@cabale.usenet-fr.net>
NNTP-Posting-Host: 200.89.28.93.rev.sfr.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
X-Trace: cabale.usenet-fr.net 1706612739 15798 93.28.89.200 (30 Jan 2024 11:05:39 GMT)
X-Complaints-To: abuse@usenet-fr.net
NNTP-Posting-Date: Tue, 30 Jan 2024 11:05:39 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Firefox/52.0 SeaMonkey/2.49.4
In-Reply-To: <upahdf$ecm$1@cabale.usenet-fr.net>
Bytes: 3439

Le 30/01/2024 11:01, Olivier Miakinen a écrit :
> 
> Tu as raison. Mon erreur était de considérer qu'à chaque tirage on avait une
> chance sur deux de tirer 1 ou 0, alors qu'avec des grilles équilibrées ce
> n'est plus le cas. C'est mon 1/(2^(2k+1)) qui est faux. Je vais y réfléchir
> de nouveau pour trouver la formule correcte.

J'ai corrigé mon erreur, et j'ai même programmé moi-même l'algorithme en
python, mais j'ai eu une énorme surprise !

La probabilité de gain avec ton algo, en supposant des grilles équilibrées,
est en fait une formule compliquée :

 proba = (n!)²/(2n)! × somme pour k = 0..n-1 de la chose suivante :
                   { (2k)!(2n-2-2k)! / ( k!(k+1)!((n-1-k)!)² }

Je peux simplifier un peu en remarquant que je peux y trouver trois fois
l'expression (2m)!/(m!)² qui est égale à C(2m,m) c'est-à-dire le nombre de
combinaisons de m objets pris parmi 2m. Soit dit en passant, le k-ième
nombre de Catalan est C(2m,m)/(m+1)

En posant c2(m) = C(2m,m) l'expression devient alors :
 proba = { somme pour k = 0..n-1 de ( c2(k) × c2(n-1-k) / (k+1) ) } / c2(n)

Voici mon programme :
===============================================
#!/usr/bin/env python3

import math

def c2(n) :
    return math.comb(2*n, n)

def sum_item(n, k) :
    return c2(k) * c2(n-1-k) / (k+1)

def proba(n) :
    sum = 0
    for k in range(n) :
        sum += sum_item(n, k)
    print ("proba pour", n, "=", sum/c2(n))

for n in range(1, 20):
    proba(n)
===============================================

Et voici la colossale surprise, quand je l'exécute :
===============================================
proba pour 1 = 0.5
proba pour 2 = 0.5
proba pour 3 = 0.5
proba pour 4 = 0.5
proba pour 5 = 0.5
proba pour 6 = 0.5
proba pour 7 = 0.5
proba pour 8 = 0.5
proba pour 9 = 0.5
proba pour 10 = 0.5
proba pour 11 = 0.5
proba pour 12 = 0.5
proba pour 13 = 0.5
proba pour 14 = 0.5
proba pour 15 = 0.5
proba pour 16 = 0.5
proba pour 17 = 0.5
proba pour 18 = 0.5
proba pour 19 = 0.5
===============================================

:-D

-- 
Olivier Miakinen