Chargement de l'audio en cours
Plus

Plus

Chaînes de Markov
Page numérique

Mode édition
Ajouter

Ajouter

Terminer

Terminer




Chaînes de Markov





1
Tester une chaîne de Markov ☆☆

Voir fiche n° 2 bis : Les listes
Voir fiche n° 4 : Les instructions conditionnelles

1. Rappeler le critère pour qu’une matrice soit la matrice d’une chaîne de Markov.


2. Compléter la fonction ci-dessous qui prend en paramètre une matrice et qui renvoie True si cette matrice est une chaîne de Markov et False sinon.

3. Modifier cette fonction pour qu’elle fonctionne avec une matrice .

4. Modifier cette fonction pour qu’elle fonctionne avec une matrice .

def Markov(A):
  if A[0][0] <= 1 and A[0][0] >= 0  :
    if A[0][1] <= 1 and A[0][1] >= 0 :
      if A[1][0] <= 1 and A[1][0] >= 0 :
        if A[1][1] <= 1 and A[1][1] >= 0 :
          if ... :
            return True
  return False

Voir les réponses

2
Générateur aléatoire de chaîne de Markov ☆☆

Voir fiche n° 2 : Les variables
Voir fiche n° 2 bis : Les listes


1. Montrer que la matrice est la matrice d’une chaîne de Markov.


2. Compléter la fonction GénérationMarkov suivante permettant de générer aléatoirement une matrice associée à une chaîne de Markov à deux états.

from random import random

def GénérationMarkov():
  a = random()
  b = random()
  return [[a, ...], [b, ...]]
Voir les réponses

3
Généralisation sur les chaînes de Markov ★★★

Voir fiche n° 2 : Les variables
Voir fiche n° 2 bis : Les listes

On souhaite écrire une fonction Python qui construit de manière aléatoire une matrice de transition associée à une chaîne de Markov à trois états.

1. Expliquer pourquoi le programme matrice_transition_aleatoire_essai1 ne fonctionne pas.


2. Pour corriger le défaut trouvé ci-dessus, la fonction matrice_transition_aleatoire_essai2 modifie la définition de la variable c. Est-ce suffisant ?


3. En cas de réponse négative à la question précédente, proposer une fonction Python répondant à la question posée.

from random import random
 
def matrice_transition_aleatoire_essai1():
  M = []
  for ligne in range(3):
    a = random()
    b = random()
    c = random()
    M.append([a, b, c])
  return M
  
def matrice_transition_aleatoire_essai2():
  M = []
  for ligne in range(3):
    a = random()
    b = random()
    c = 1 - a - b
    M.append([a, b, c])
  return M
Voir les réponses

4
Compléter la matrice de transition d’une chaîne de Markov
☆☆

Voir fiche n° 2 : Les variables
Voir fiche n° 2 bis : Les listes
Voir fiche n° 3 : Les fonctions
Voir fiche n° 5 : Les boucles bornées

La fonction Python matrice_transition prend en argument une matrice à trois lignes et deux colonnes, correspondant aux deux premières colonnes d’une matrice de transition d’une chaîne de Markov à trois états, et retourne la matrice de transition complète. Compléter le code ci-dessous.

def matrice_transition(A):
  M = []
  for i in range(3):
    ligne = ...
    coefficient_manquant = 1 - ... - ...
    ligne.append(...)
    M.append(...)
  return M
Utilisation des cookies
En poursuivant votre navigation sans modifier vos paramètres, vous acceptez l'utilisation des cookies permettant le bon fonctionnement du service.
Pour plus d’informations, cliquez ici.