Problème — Où chercher le canot ?
Application directe du cours · niveau 2 · mathématiques complémentaires (terminale), chapitre 16 — Thème 6 — Inférence bayésienne
Énoncé
Problème — Où chercher le canot ?
Un canot de sauvetage a dérivé après un naufrage. Les courants et l'heure du naufrage conduisent les secours à répartir leurs certitudes entre trois zones : la probabilité que le canot soit en zone 1 est , en zone 2 elle est , en zone 3 elle est . Un survol d'une zone repère le canot, s'il s'y trouve, avec une probabilité de pour les zones 1 et 3, dégagées, et de seulement pour la zone 2, souvent couverte de brume. Un survol d'une zone où le canot ne se trouve pas ne repère évidemment rien.
- Quelle zone survoler en premier ? Quelle est la probabilité de trouver le canot dès ce premier survol ?
- Le premier survol ne donne rien. Actualiser les trois probabilités. Quelle zone survoler ensuite ?
- Le deuxième survol ne donne rien non plus. Actualiser de nouveau. Que constate-t-on ?
- On survole une troisième fois la zone 1, sans succès. Actualiser. Où faut-il chercher maintenant ?
- Écrire une fonction Python réalisant cette actualisation et retrouver les trois résultats.
- Quelle est la probabilité que les trois survols échouent tous les trois ?
Corrigé
Notons , , les trois positions possibles ; elles sont incompatibles et recouvrent tous les cas, ce qui autorise la formule des probabilités totales à trois causes.
- Le premier survol. La probabilité de trouver le canot en survolant la zone est , soit pour la zone 1, pour la zone 2 et pour la zone 3. On survole donc la zone 1, avec de chances de succès.
- Premier échec. L'échec, noté , est un indice. Il est certain si le canot n'est pas en zone 1, et de probabilité s'il y est :
En divisant chaque chemin par ce total :
La somme fait bien . L'échec en zone 1 a fait monter les zones 2 et 3, qu'on n'a pourtant pas visitées : c'est le trait le plus contre-intuitif de l'inférence bayésienne. La zone 2 passe en tête, on la survole ensuite.
- Deuxième échec. La détection en zone 2 vaut :
d'où
Les zones 1 et 3 sont désormais à égalité en tête, et la zone 2 — qui était la plus probable au coup précédent — est passée dernière. Comme la détection est meilleure en zone 1 et 3 () qu'en zone 2, on retourne en zone 1 (ou en zone 3, indifféremment).
- Troisième échec, en zone 1.
et
Les trois numérateurs , et s'additionnent à : le contrôle est bon. La zone 3, la moins probable au départ, est maintenant la plus probable — uniquement parce qu'elle est la moins explorée.
- En Python.
def apres_echec(proba, zone, detection):
# Actualise la liste des probabilites apres une recherche infructueuse.
vraisemblance = [1.0] * len(proba)
vraisemblance[zone] = 1 - detection
poids = [p * v for p, v in zip(proba, vraisemblance)]
total = sum(poids)
return [w / total for w in poids]
p = [0.5, 0.3, 0.2]
p = apres_echec(p, 0, 0.6); print([round(x, 4) for x in p])
p = apres_echec(p, 1, 0.5); print([round(x, 4) for x in p])
p = apres_echec(p, 0, 0.6); print([round(x, 4) for x in p])
# [0.2857, 0.4286, 0.2857]
# [0.3636, 0.2727, 0.3636]
# [0.186, 0.3488, 0.4651]
- Trois échecs. Chaque probabilité calculée était conditionnelle aux échecs précédents, donc elles se multiplient :
Il y a donc de chances que le canot ait été retrouvé au cours des trois premiers survols.
Une recherche bien conduite n'est pas une suite de coups indépendants : chaque échec est une information, et c'est elle qui désigne le survol suivant.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.