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. Pour arriver à la généralité souhaitée, on convertit un « problème » en un langage, et la résolution du problème, en l'analyse d'un élément de ce langage.
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.
Les automates sont donc un sujet très souvent étudié dans les formations en informatique. D’autant qu’ils permettent d’aborder la théorie des graphes, des structures de données fondamentales en informatique, puisqu’ils sont basiquement des graphes orientés.