Skip to content

Cours : Automates, langages et logique

Fiche de Cours : Automates, langages et logique

Section titled “Fiche de Cours : Automates, langages et logique”

Niveau: ** Deuxième année (CPGE MPI)
Matière : Informatique


1. Introduction aux langages et automates finis

Section titled “1. Introduction aux langages et automates finis”
  • Alphabet (Σ\Sigma) : Ensemble fini et non vide de symboles (ou lettres).
  • Mot (ww) : Suite finie de symboles d’un alphabet Σ\Sigma. La longueur d’un mot ww, notée ∣w∣|w|, est le nombre de symboles qui le composent. Le mot vide est noté ε\varepsilon (avec ∣ε∣=0|\varepsilon| = 0).
  • Langage (LL) : Sous-ensemble de l’ensemble de tous les mots possibles sur l’alphabet Σ\Sigma, noté Σ∗\Sigma^*. Ainsi, L⊆Σ∗L \subseteq \Sigma^*.
  • Opérations sur les langages :
    • Concaténation : L1L2={w1w2∣w1∈L1∧w2∈L2}L_1 L_2 = \{w_1 w_2 \mid w_1 \in L_1 \land w_2 \in L_2\}.
    • Étoile de Kleene : L∗=⋃n∈NLnL^* = \bigcup_{n \in \mathbb{N}} L^n avec L0={ε}L^0 = \{\varepsilon\} et Ln+1=LnLL^{n+1} = L^n L.

Un automate fini déterministe est un quintuplé A=(Q,Σ,δ,q0,F)\mathcal{A} = (Q, \Sigma, \delta, q_0, F) où :

  • QQ est un ensemble fini d’états.
  • Σ\Sigma est l’alphabet d’entrée.
  • δ:Q×Σ→Q\delta : Q \times \Sigma \to Q est la fonction de transition (totale).
  • q0∈Qq_0 \in Q est l’état initial.
  • F⊆QF \subseteq Q est l’ensemble des états acceptants (ou finaux).

La fonction de transition s’étend naturellement aux mots par δ^:Q ainsiΣ∗→Q\hat{\delta} : Q \ ainsi \Sigma^* \to Q : δ^(q,ε)=q\hat{\delta}(q, \varepsilon) = q δ^(q,a⋅w)=δ^(δ(q,a),w)pour tout a∈Σ,w∈Σ∗\hat{\delta}(q, a \cdot w) = \hat{\delta}(\delta(q, a), w) \quad \text{pour tout } a \in \Sigma, w \in \Sigma^*

Un mot w∈Σ∗w \in \Sigma^* est reconnu (ou accepté) par A\mathcal{A} si δ^(q0,w)∈F\hat{\delta}(q_0, w) \in F. Le langage reconnu par A\mathcal{A}, noté L(A)L(\mathcal{A}), est l’ensemble des mots reconnus par A\mathcal{A}.


2. Automates non déterministes et théorème de Kleene

Section titled “2. Automates non déterministes et théorème de Kleene”

2.1. Automates finis non déterministes (AFN)

Section titled “2.1. Automates finis non déterministes (AFN)”

Un automate fini non déterministe est un quintuplé A=(Q,Σ,δ,I,F)\mathcal{A} = (Q, \Sigma, \delta, I, F) où :

  • Q,Σ,FQ, \Sigma, F ont la même signification que pour un AFD.
  • I⊆QI \subseteq Q est l’ensemble des états initiaux.
  • δ:Q×(Σ∪{ε})→P(Q)\delta : Q \times (\Sigma \cup \{\varepsilon\}) \to \mathcal{P}(Q) est la fonction de transition (permettant des transitions spontanées ε\varepsilon et plusieurs choix possibles).

Théorème (Déterminisation par construction des sous-ensembles) : Pour tout AFN A\mathcal{A}, il existe un AFD A′\mathcal{A}' tel que L(A′)=L(A)L(\mathcal{A}') = L(\mathcal{A}).
Démonstration (Esquisse) : On pose Q′=P(Q)Q' = \mathcal{P}(Q), q0′=Epsilon-Fermeture(I)q_0' = \text{Epsilon-Fermeture}(I), F′={S∈Q′∣S∩F≠∅}F' = \{S \in Q' \mid S \cap F \neq \emptyset\}, et pour tout S∈Q′S \in Q' et a∈Σa \in \Sigma : δ′(S,a)=Epsilon-Fermeture(⋃s∈Sδ(s,a))\delta'(S, a) = \text{Epsilon-Fermeture}\left(\bigcup_{s \in S} \delta(s, a)\right)

2.2. Langages rationnels et Théorème de Kleene

Section titled “2.2. Langages rationnels et Théorème de Kleene”
  • Langages rationnels (ou réguliers) : Ce sont les langages définis inductivement par :
    1. L’ensemble vide ∅\emptyset, les singletons {ε}\{\varepsilon\} et {a}\{a\} pour a∈Σa \in \Sigma.
    2. Formés par union, concaténation et étoile de Kleene à partir de langages rationnels.

Théorème de Kleene : Un langage est reconnu par un automate fini si et seulement s’il est rationnel.


3. Minimisation des automates déterministes

Section titled “3. Minimisation des automates déterministes”

Pour tout langage régulier, il existe un AFD unique à un isomorphisme près ayant un nombre minimal d’états.

Soit L⊆Σ∗L \subseteq \Sigma^*. On définit la relation de Myhill-Nerode ∼L\sim_L sur Σ∗\Sigma^* par : u∼Lv  ⟺  ∀w∈Σ∗,  (uw∈L  ⟺  vw∈L)u \sim_L v \iff \forall w \in \Sigma^*, \; (uw \in L \iff vw \in L)

  • ∼L\sim_L est une congruence à droite.
  • Théorème de Myhill-Nerode : LL est reconnaissable par un automate fini si et seulement si ∼L\sim_L est d’indice fini (possède un nombre fini de classes d’équivalence). De plus, l’indice de ∼L\sim_L est le nombre minimal d’états de tout AFD reconnaissant LL.

3.2. Algorithme de Moore (Raffinement de partitions)

Section titled “3.2. Algorithme de Moore (Raffinement de partitions)”

L’algorithme de minimisation procède par calculs successifs de relations d’indiscernabilité à kk étapes :

  1. Initialisation (P0P_0) : Séparer QQ en deux blocs : FF et Q∖FQ \setminus F.
  2. Étape inductive (Pk+1P_{k+1}) : Deux états pp et qq d’un même bloc de PkP_k sont séparés si pour un symbole a∈Σa \in \Sigma, leurs successeurs δ(p,a)\delta(p, a) and δ(q,a)\delta(q, a) appartiennent à des blocs différents dans PkP_k.
  3. Arrêt : Lorsque Pk+1=PkP_{k+1} = P_k. Les blocs obtenus forment les états de l’automate minimal.

4. Logique du premier ordre et relations avec les automates

Section titled “4. Logique du premier ordre et relations avec les automates”

4.1. Logique monadique du second ordre (MSO) et FO[<]\text{FO}[<]

Section titled “4.1. Logique monadique du second ordre (MSO) et FO[<]\text{FO}[<]FO[<]”

Les mots sur un alphabet Σ\Sigma peuvent être vus comme des structures logiques finies : un domaine 0,1,…,n−10, 1, \dots, n-1 représentant les positions des lettres, une relation d’ordre <<, et des relations unaires Pa(x)P_a(x) vraies si la lettre à la position xx est aa.

  • Logique du premier ordre sur les mots (FO[<]\text{FO}[<]) : Permet de quantifier sur les positions (variables x,yx, y). Exprimable : “il existe une position xx telle que…”.
  • Théorème de Büchi-Elgot-Trakhtenbrot : Un langage de mots est reconnaissable par un automate fini si et seulement s’il est définissable en MSO (Logique Monadique du Second Ordre).
  • Pour la logique du premier ordre FO[<]\text{FO}[<] seule, le théorème de Schützenberger caractérise les langages reconnaissables par des automates sans cycle (compteurs) : ce sont exactement les langages sans étoiles (star-free languages), reconnaissables par des monoïdes apériodiques.