Une itération dont la moitié est juste
Exercice d'entraînement · niveau 3 (difficile) · mathématiques appliquées (ECG 2e année), chapitre 13 — Bases de données et travaux pratiques · Travaux pratiques
Énoncé
On veut itérer une chaîne de Markov de matrice depuis . Un script affiche [1. 0.], [0.8 0.3], [0.7 0.45], [0.65 0.525]. Repérer l'erreur commise, donner les valeurs correctes, et expliquer pourquoi la première composante, elle, est juste.
Corrigé
Le contrôle qui révèle la faute. L'état d'une chaîne est un vecteur de probabilités : la somme de ses composantes doit valoir à chaque pas. Or Les trois derniers vecteurs ne sont pas des états de la chaîne. C'est le contrôle à faire systématiquement, et le seul qui saute aux yeux ici.
L'erreur. Le script a écrit V = M @ V au lieu de V = V @ M. Le cours insiste sur ce point : va de vers , donc c'est la ligne qui décrit le départ, l'état se note en vecteur ligne, et la matrice se place à droite : . On le vérifie sur le premier pas fautif : la seconde composante affichée, , est , alors qu'elle devrait être .
Les valeurs correctes. par exemple . Chacun somme bien à .
Pourquoi la première composante est juste. Notons la suite correcte et celle du script. Montrons par récurrence que et . C'est vrai au rang : et . Si c'est vrai au rang , alors La propriété se propage. La première composante est donc exacte à chaque pas, et la seconde vaut toujours une fois et demie sa vraie valeur — le facteur étant ici .
La leçon. C'est une coïncidence propre à cette matrice et à ce départ, et c'est ce qui rend l'erreur redoutable : la moitié du résultat est juste, la suite , , converge bien vers , et l'on pourrait lire la sortie sans rien remarquer. Seule la somme des composantes trahit la faute.
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.