Projet FSM

De Wiki LOGre
Révision de 19 juin 2015 à 10:44 par Quicky (discuter | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher


Principe

Le but de ce projet est de fournir des outils pour étudier les Automates finis ( FSM en anglais Beaucoup de choses peuvent etre representes sous formes de FSM, en particulier certains jeux ( puissance 4, echecs ) ou casse-têtes (Sudoku, Rubik's cube etc )

Un moyen de les résoudre peut etre d explorer l ensemble des états que peuvent prendre la FSM les représentant jusqu a atteindre un état solution.

Le projet FSM définit des classes interfaces, des classes de base pour la représentation de FSM afin de faciliter la création de FSM ainsi que des algorithmes permettant de les exercer ou parcourir leur arbre d état


Technos utilisées


Ressources

Code source

  • Repo Git d intégration des sous-repositories suivants
    • Repo Git contenant les classes d interface
    • Repo Git contenant les classes de base fournissant une implémentation de FSM
    • Repo Git définissant les algorithmes
    • Repo Git définissant des exemples basiques de FSM dérivant des classes FSM_base
    • Repo Git définissant un Frond End texte pour l exploration de FSMs


Vocabulaire

Ce vocabulaire permet de definir les classes utilisées pour représenter une FSM dans le projet FSM

  • FSM_situation : minimum d information nécessaire pour décrire l état de la FSM a un instant t. Ces informations ne peuvent pas être calculées
  • FSM_context : informations pouvant être calculées a partir d une FSM_situation
  • FSM_transition : informations permettant de passer d une situation a une autre
  • FSM_motor : permet d appliquer une transition a une situation pour obtenir une autre situation
  • FSM_situation_analyser : permet de calculer les transitions possibles a partir d une situation
  • Finale : se dit d une situation qui ne doit plus évoluer même si des transitions sont possibles. Par exemple un puissance 4. techniquement il est peut être possible de rajouter un pion mais la partie est terminée
  • Situation feuille : se dit d une situation qui n a plus de transitions possibles


Application

L application FSM_TextUi est basée sur le principe que les FSM sont fournies sous formes de librairies binaires. Elle permet de charger ces librairies, de sélectionner les FSM, leur représentations ainsi que les algorithmes pour les explorer.


Algorithmes

  • algorithm_basic : algorithme affichant pour une situation donnée les transitions possibles. L utilisateur indique une transition a appliquer et la nouvelle situation est calculée