Projet sur les Hidden Markov Model : Terminator

Ce projet requiert des connaissances sur les chaines de Markov, les automates, et les Hidden Markov Model afin de pouvoir le réaliser.

– Est-ce qu’il y a moyen d’apprendre des trucs par programmes chez toi, pour que tu puisses avoir l’air… plus humain… ne plus avoir l’air aussi con.
– Mon UPC est un neuro-processeur, un ordinateur à apprendre, plus j’ai de contacts avec les humains et plus j’apprends.
– Cool.

Début du projet

La robotique est un champ d’étude pluridisciplinaire, faisant appel à toutes les compétences et qualités des différentes majeures de l’ESILV. Les robots font références à des modèles comportementaux stochastiques, ces derniers sont généralement des automates stochastiques comme vu en cours. Nous allons mettre en pratique vos connaissances afin de mieux comprendre comment se déroule un processus d’auto-apprentissage.

Un robot a produit de nouveaux comportements de déplacement dans un labyrinthe. Etant la première fois qu’il rencontre ce type d’obstacle, le robot a enregistré ces différentes péripéties au cœur du labyrinthe afin d’un apprendre un algorithme pour s’en sortir plus facilement.

Le robot note par le symbole a le fait d’aller tout droit jusqu’au prochain mur ou intersection ; par b le fait de tourner vers la droite ; par c le fait de faire demi-tour. Voici les différents chemins qu’il a effectué pour sortir du labyrinthe (volontairement court et « illogique » mais plus facile à travailler à la main) :

  • Pour 1000 tentatives dans le labyrinthe
    • 500 réussites sur aaba
    • 100 réussites sur aabc
    • 50 réussites sur aba
    • 25 réussites sur abc
    • 25 réussites sur bab
    • 75 réussites sur caa
    • 200 réussites sur caaab
    • 25 réussites sur caab
  • Certaines actions ont toujours mené à des échecs
    • ac
    • cb
    • cc
  1. Représenter le problème par un arbre des préfixes à fréquence
  2. Réduire par Merge&Fold et ALERGIA avec un alpha de 0.1 (attention aux mots interdits). Si l’automate ne réduit pas, ne prenez pas en compte les fréquences.
  3. Transformer l’automate réduit en HMM
  4. Donner les probabilités d’émettre les chaines de symboles ac, cb, cc ainsi que la séquence d’état caché la plus probable d’émettre chacune des chaines de symboles (Backward-Forward et Viterbi). Vous pouvez le faire à la main ou par sklearn.
FR
FR
FR
EN
ES
Quitter la version mobile