automates | ||
graphs | ||
src | ||
words | ||
.gitignore | ||
launch_automate.py | ||
Makefile | ||
README.md |
Mathématiques pour l'informatique - L3.APP.RI.MPI.TP
Adam BELGHITH, Alexandre CHEN, Tunui FRANKEN, Thomas JUBAULT
Travail à effectuer
- lecture d'un automate décrit dans un fichier
.txt
et représentation en mémoire - affichage de l'automate sous forme d'une table des transitions, en indiquant les états initiaux et terminaux
- vérification des propriétés
déterministe
ou non,complet
ou non de l'automate - reconnaissance de mots
- standardisation et ajout / élimination du mot vide
- passage au langage complémentaire
Caractéristiques des automates
- les états sont représentés par des nombres consécutifs, à partir de
0
(0
à4
pour5
états) - les symboles de l'alphabet sont des lettres consécutives, à partir de
a
(a, b, c
pour 3 symboles)
Usage
Le programme est découpé en modules.
Le point d'entrée du programme est launch_automate.py
.
$ ./launch_automate.py --help
PS C:\> py launch_automate.py --help
Ajout d'automates
Il est possible d'ajouter des automates dans le dossier automates
, au format .txt
.
Dans ce cas, utiliser les commentaires dans les autres fichiers d'automates pour respecter le format.
Reconnaissance de mots
La reconnaissance de mots peut se faire de deux façons :
- en fournissant un fichier à lire, qui contient le mot à reconnaître
- en tapant le mot au clavier, si la commande est lancée sans fichier contenant un mot à reconnaître
Le mot vide est un mot valable, il peut être fourni dans un fichier vide, ou bien en appuyant sur Entrée
directement au clavier.
Des fichiers de test sont dans le dossier words
.
Leur titre devrait être explicatif.
Graphes des états des automates
Les graphes sont générés automatiquement en LaTeX.
Dans certains cas la disposition des états peut être mauvaise, il faut alors retoucher le fichier .tex
à la main.