É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 vitesse se fait entre 1 et 2, 2 et 3, pas directement entre 1 et 3.

Le véhicule s'arrête régulièrement 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 du moment de l'arrêt et la durée de l'arrêt pour une période d'échantillonnage de 120 jours. L'indice de temps et la durée sont tous deux en minutes.

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. On peut estimer le paramètre à partir d'un échantillon en divisant le nombre d'événements observés par le nombre d'unité de temps. Rappelons qu'en prenant une échelle de temps adéquate, la fréquence est la probabilité qu'un événement se produise.

É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 liée à l'échantillon. Ainsi la durée d'un événement arrêt sera choisie aléatoirement de l'échantillon via une 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.