
Envoyé par
PINGOUIN_GEANT
il s'agit plus d'un problème de dénombrement
et la vraie probabilité pour une case A grâce aux infos que tu as est :
nombre de configurations compatibles avec les données dont la case A est mine /
nombre de configurations compatibles avec les données.
Très juste, et le dénombrement, ce n'est pas de la tarte. Je m'y suis collé pour le cas le plus simple, pour voir.
Il s'agit du cas nommé "carrément plus dur", c'est-à-dire le plus facile des trois. Il ne semble pas inconcevable de traiter chaque cas à la main, quoique cela risque de devenir extrêmement compliqué dans les cas suivants, mais par contre je ne vois pas comment automatiser ce traitement - le programmer pour laisser à l'ordinateur le plaisir de débrouiller les fils. En outre, les simplifications ci-dessous sont probablement assez difficiles à programmer ; les abandonner signifierait alors calculer réellement ces nombres de combinaisons et on tombe nécessairement hors du champ du format IEEE des réels, puisque si C=480 et M=99, alors C(C,M)=5,6.10**104, et l'on serait alors obligé de définir des routines spéciales pour grands nombres.
Voici mon exemple :
Dans le jeu complet, il reste M mines à placer dans C cases vides. On suppose, et c'est déjà faux, que l'on n'a aucune autre information sur la partie du jeu que l'on ne voit pas et par conséquent que toutes les configurations hors de cette zone sont équiprobables. (Ben oui, c'est faux car on sait qu'il y a une mine par ci, deux mines par là hors de la zone en question et que par conséquent toutes les configurations hors de cette zone ne sont pas équiprobables ! Mais que faire d'autre ?)
Dans cette zone de 3*5 soit 15 cases, il faut placer soit 1 mine, dans la colonne centrale (3 positions possibles) soit 1 mine dans les 5 cases de gauche et 1 dans les cinq de droite.
Il faut donc compter
toutes les configurations possibles a priori : il y a C(C,M) (nombre de combinaisons de C éléments pris M à M) façons de placer M mines dans C cases :
1 2
|
T = C(C,M) = C! / [(M!)*[(C-M)!]] |
... toutes les configurations où il y a 1 mine dans l'une des trois cases centrales :
soit C(3,1) façons de choisir la case * C(C-15,M-1) façons de placer les M-1 mines restantes ailleurs que dans cette zone
... et toutes les configurations où il y a 1 mine dans les 5 cases de gauche et 1 dans les cinq de droite :
soit C(5,1) façons de choisir la case de la mine de gauche * C(5,1) façons de choisir la case de la mine de droite * C(C-15,M-2) façons de placer les M-2 mines restantes ailleurs que dans cette zone
La probabilité qu'il y ait une mine dans l'une des trois cases centrales (événement E1) est donc :
P1 = 3 * [(C-15)!]/[(M-1)!]/[(C-M-14)!] / T
La probabilité qu'il y ait une mine dans les 5 cases de gauche et une dans les 5 cases de droite (événement E2) est donc :
P2 = 5*5 * [(C-15)!]/[(M-2)!]/[(C-M-13)!] / T
Mais, on sait qu'on se trouve dans le cas de l'événement E1 ou dans celui de l'événement E2. Il nous suffit donc de calculer la probabilité conditionnelle "probabilité de E1 si (E1 ou E2)" et "probabilité de E2 si (E1 ou E2)"
La probabilité qu'une mine se trouve dans l'une des trois cases centrale est donc :
P'1 = P1 / (P1+P2)
La probabilité qu'une mine se trouve dans les 5 cases de gauche et une dans les 5 cases de droite est donc :
P'2 = P2 / (P1+P2) = 1 - P'1
Il n'est donc pas nécessaire de calculer toutes ces factorielles car elles disparaissent dans les simplifications :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| P'1 = P1 / (P1+P2) = {3 * [(C-15)!]/[(M-1)!]/[(C-M-14)!] / T}
/ {
{3 * [(C-15)!]/[(M-1)!]/[(C-M-14)!] / T}
+
{5*5 * [(C-15)!]/[(M-2)!]/[(C-M-13)!] / T}
}
= {3 * [(C-15)!]/[(M-1)!]/[(C-M-14)!]}
/ {
{3 * [(C-15)!]/[(M-1)!]/[(C-M-14)!]}
+
{5*5 * [(C-15)!]/[(M-2)!]/[(C-M-13)!]}
}
= {3 /[(M-1)!]/[(C-M-14)!]}
/ {
{3 /[(M-1)!]/[(C-M-14)!]}
+
{5*5 /[(M-2)!]/[(C-M-13)!]}
}
= {3 /[(M-1)]/[(C-M-14)!]}
/ {
{3 /[(M-1)]/[(C-M-14)!]}
+
{5*5 /[(C-M-13)!]}
}
= {3 /[(M-1)]}
/ {
{3 /[(M-1)]}
+
{5*5 /[(C-M-13)]}
}
= {3*(C-M-13) /[(M-1)]}
/ {
{3*(C-M-13) /[(M-1)]}
+
{5*5 }
}
= {3*(C-M-13) }
/ {
{3*(C-M-13) }
+
{5*5*(M-1) }
}
P'1 = = {3*(C-M-13) }/ {{3*(C-M-13) }+{5*5*(M-1) }} |
Par exemple, si C = 100, M=20,
P'1 = 3*67 /(3*67+25*19) = 201/(201+475)=201/676
et
P'2= 25*19 /(3*67+25*19)= 475/(201+475)=475/676
P'1 est la probabilité qu'une mine se trouve dans l'une des trois cases centrales, mais chacune de ces trois cases joue le même rôle : la probabilité de présence dans chacune des cases centrales est donc P'1 /3 soit 67/676.
De même, P'2 est la probabilité qu'une mine se trouve dans l'une des cinq cases de gauche, mais chacune de ces cinq cases joue le même rôle : la probabilité de présence dans chacune des cases de gauche est donc P'2 /5 soit 95/676. De même pour les cases de droite, bien sûr.
J'espère que je ne me suis pas trompé, mais même si j'ai fait une erreur de calcul, cela donne une idée du genre de chose à faire. Reste à automatiser !!!
Euh, bon courage pour les cas suivants...
Partager