Étude par simulation

Partie 1: expérimenter avec la simulation d'une marche aléatoire

Nous allons utiliser l'algorithme de Monte-Carlo pour simuler des variantes de la marche aléatoire. Nous allons utiliser un générateur maison et étudier les caractéristiques des différents cas de marche aléatoire.

Étape 1: connaissances de base sur la marche aléatoires

Vous devez d'abord vous familiariser avec la marche aléatoires: lire l'article How to avoid yourself.

Étape 2: mise en oeuvre de la marche aléatoire

On vous demande de mettre en oeuvre un simulateur pour des variantes de la marche aléatoire en utilisant un générateur de nombres aléatoires maison de type récurrence linéaire à deux termes. Les 2 paramètres imposés de la marche aléatoire doivent être facilement configurable:

Étape 3: validation

Valider le modèle via un rendering graphique des cas. Ceci demande de faire un rendering graphique 2D du chemin simulé de la marche aléatoire. Le code suivant peut être utiliser pour faire le rendering en Tkinter.

Remarque sur le code de rendering du modele: en général, il faut un thread différence pour le GUI et pour la mise-à-jour du modèle. Cependant, en se limitant aux événements de la souris, on exploite implicitement un thread interne à Tkinter qui nous évite d'en créer un explicitement.

Étape 4: étude par simulation

Reproduire par simulation le graphique 7 de l'article de référence "How to avoid yourself".

Expérimenter avec le nombre de pas (n) qu'il vous est possible d'atteindre et produire une version améliorée sur graphe 7.

Partie 2: étude de la couverture de terrain par un mob

On désire estimer par simulation la couverture de terrain qu'on peut espérer d'un véhicule automatisé sur la planète Mars. Le véhicule se déplace à trois vitesses différentes: 1, 2 ou 3 mètres par minute. Sa trajectoire est données par une marche aléatoire à passage unique.

On estime que les difficultés du terrain martien force un changement de vitesse à toute les 12 minutes en moyenne. Le changement de vitresse se fait entre 1 et 2, 2 et 3, pas directement entre 1 et 3.

Le véhicule s'arrête réguliement pour diverses raisons: analyse de sol, prélèvement d'échantillon, recharge de la batterie solaire, transmission des données, etc. Le fichier ci-joint donne un indice de minute d'arrêt et la durée de l'arrêt pour une période d'échantillonnage de 120 jours.

En se basant sur ces données, quelle distance annuelle peut-on espérer couvrir? Quelle est la variabilité?

Étape 1: reproduire la trajectoire en tenant compte des vitesses

Adapter le simulateur de la partie 1 afin de tenir compte de la vitesse variable.

Étape 2: génération des arrêts

Les arrêts peut être vue comme un processus de Poisson avec comme paramètre la fréquence de l'évenement. On l'estime à partir d'un échantillon en divisant le nombre d'événements observés par le nombre d'unité de temps. Dans un processus des Poisson, la fréquence est la probabilité qu'un événement se produise. La génération d'événements selon ce processus est donc simple: un événement est généré lorsqu'un nombre généré selon la distribution U(0,1) est inférieur à la fréquence.

Étape 3: durée des arrêts

La durée des arrêts est plus difficile à représenter avec une loi paramétrique. Nous allons plutôt utilise la loi empirique issu de l'échantillon. Ainsi la durée de événement arrêt sera choisit aléatoirement de l'échantillon via un loi uniforme.

Comment

Vous êtes invité à faire ce travail en équipe de 2 personnes. Faire votre rapport avec Google document. Remettre en pdf avec le code Python dans la boîte courriel du professeur, au plus tard le lendemain de l'examen final. Prenez soin de bien identifier votre document avec les noms des participants et suivre les règles de remise des travaux.