Cette théorie est le fondement de plusieurs branches importantes de l'informatique théorique. La théorie des automates est l'étude des machines abstraites qui permettent de formaliser les méthodes de calcul. L'objet traité par un automate est un mot d'un langage. On représente chaque instance d'un « problème » par un mot.
En informatique théorique, l'objectif de la théorie des automates est de proposer des modèles de mécanismes mathématiques qui formalisent les méthodes de calcul 1. Cette théorie est le fondement de plusieurs branches importantes de l'informatique théorique, comme :
Ce cours présente la théorie classique des automates et des langages formels. Il s’appuie sur la hiérarchie de Chomsky pour les langages et présente successivement les langages réguliers, les expressions régulières, les automates finis, les grammaires régulières et le théorème de Kleene.
Un automate évolue selon des règles. Ces règles sont en nombre fini. Chaque règle décrit, en fonction des symboles d'entrée, de l'état, et d'une information sur la mémoire auxiliaire, l'évolution de l'automate. Cette évolution peut être déterministe ou non.