I.A. Session 2009/2010 E.P.S.I. Bordeaux – C.S.I.I – 2 ème Année – Cours n°3
Définition Un automate est un dispositif se comportant de manière automatique, cest-à-dire sans nécessiter dintervention humaine. Un automate se défini par : – Un ensemble détats, – Un système de transition entre les états.
Concrètement Exemples dautomates: – Une cafetière – Machine de Turing – Un tamagotchi – Un compilateur
Implémentation Il existe plusieurs façons dimplémenter un automate. Les plus courantes sont : – une matrice : lautomate est représenté par la matrice dadjacence de ses états. On multiplie une matrice des états actifs par cette dernière pour transiter entre les états. – un graphe : Les sommets représentent les états, et les arcs les transitions. Cette solution permet de modéliser des automates plus complexes.
Classes dautomates Automates à états finis : – Déterministes : Chaque état dispose au plus dune transition par symbole, i.e. on peut savoir quel était létat précédent quel que soit létat actuel de lautomate. – Non déterministes : on peut transiter entre les états de plusieurs façons.
Classes dautomates Automates à pile (Push Down Automata): il sagit dautomates à état fini auxquels on a adjoint de la mémoire sous la forme dune pile (stack). Machines de Turing (Cf. Cours précédent). Automates cellulaires : grille de cellules chacune définie par un ensemble détats qui évolue en fonction de létat des cellules voisines. A chaque nouvelle unité de temps la même règle de transition est appliquée à toutes les cellules de la grille.
Optimisation Optimiser ou minimiser un automate à états finis consiste à calculer lautomate de fonctionnement identique avec le plus petit nombre détat possible. Un automate optimisé est dit « sous forme canonique ». Loptimisation permet ainsi de déterminer légalité entre deux automates.
Langage et grammaire formels Un langage formel (par opposition au langage naturel) est mode dexpression défini par : – Un ensemble de mots… – …obéissant à des règles logiques strictes. Cet ensemble de règles est appelé grammaire formelle ou syntaxe. Une grammaire peut être représentée par un automate.
Exemple : le cadavre exquis
Vocabulaire Symbole (ou Atome) : unité de sens qui a un effet sur la machine. Mot : chaine finie qui consiste en une concaténation de symboles. Alphabet : ensemble fini de symboles. Langage : ensemble de mots formés de symboles dun alphabet donné. Un langage peut ou non être fini. Etoile de Kleene (*) : représente lensemble de toutes les chaînes possibles.
We are continually faced with a series of great opportunities brilliantly disguised as insoluble problems. John W. Gardner Authors: Ophir Paz ) Geoffroy Vincens