\( %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Mes commandes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\multirows}[3]{\multirow{#1}{#2}{$#3$}}%pour rester en mode math \renewcommand{\arraystretch}{1.3}%pour augmenter la taille des case \newcommand{\point}[1]{\marginnote{\small\vspace*{-1em} #1}}%pour indiquer les points ou le temps \newcommand{\dpl}[1]{\displaystyle{#1}}%megamode \newcommand{\A}{\mathscr{A}} \newcommand{\LN}{\mathscr{N}} \newcommand{\LL}{\mathscr{L}} \newcommand{\K}{\mathbb{K}} \newcommand{\N}{\mathbb{N}} \newcommand{\Z}{\mathbb{Z}} \newcommand{\Q}{\mathbb{Q}} \newcommand{\R}{\mathbb{R}} \newcommand{\C}{\mathbb{C}} \newcommand{\M}{\mathcal{M}} \newcommand{\D}{\mathbb{D}} \newcommand{\E}{\mathcal{E}} \renewcommand{\P}{\mathcal{P}} \newcommand{\G}{\mathcal{G}} \newcommand{\Kk}{\mathcal{K}} \newcommand{\Cc}{\mathcal{C}} \newcommand{\Zz}{\mathcal{Z}} \newcommand{\Ss}{\mathcal{S}} \newcommand{\B}{\mathbb{B}} \newcommand{\inde}{\bot\!\!\!\bot} \newcommand{\Proba}{\mathbb{P}} \newcommand{\Esp}[1]{\dpl{\mathbb{E}\left(#1\right)}} \newcommand{\Var}[1]{\dpl{\mathbb{V}\left(#1\right)}} \newcommand{\Cov}[1]{\dpl{Cov\left(#1\right)}} \newcommand{\base}{\mathcal{B}} \newcommand{\Som}{\textbf{Som}} \newcommand{\Chain}{\textbf{Chain}} \newcommand{\Ar}{\textbf{Ar}} \newcommand{\Arc}{\textbf{Arc}} \newcommand{\Min}{\text{Min}} \newcommand{\Max}{\text{Max}} \newcommand{\Ker}{\text{Ker}} \renewcommand{\Im}{\text{Im}} \newcommand{\Sup}{\text{Sup}} \newcommand{\Inf}{\text{Inf}} \renewcommand{\det}{\texttt{det}} \newcommand{\GL}{\text{GL}} \newcommand{\crossmark}{\text{\ding{55}}} \renewcommand{\checkmark}{\text{\ding{51}}} \newcommand{\Card}{\sharp} \newcommand{\Surligne}[2]{\text{\colorbox{#1}{ #2 }}} \newcommand{\SurligneMM}[2]{\text{\colorbox{#1}{ #2 }}} \newcommand{\norm}[1]{\left\lVert#1\right\rVert} \renewcommand{\lim}[1]{\underset{#1}{lim}\,} \newcommand{\nonor}[1]{\left|#1\right|} \newcommand{\Un}{1\!\!1} \newcommand{\sepon}{\setlength{\columnseprule}{0.5pt}} \newcommand{\sepoff}{\setlength{\columnseprule}{0pt}} \newcommand{\flux}{Flux} \newcommand{\Cpp}{\texttt{C++\ }} \newcommand{\Python}{\texttt{Python\ }} %\newcommand{\comb}[2]{\begin{pmatrix} #1\\ #2\end{pmatrix}} \newcommand{\comb}[2]{C_{#1}^{#2}} \newcommand{\arrang}[2]{A_{#1}^{#2}} \newcommand{\supp}[1]{Supp\left(#1\right)} \newcommand{\BB}{\mathcal{B}} \newcommand{\arc}[1]{\overset{\rotatebox{90}{)}}{#1}} \newcommand{\modpi}{\equiv_{2\pi}} \renewcommand{\Re}{Re} \renewcommand{\Im}{Im} \renewcommand{\bar}[1]{\overline{#1}} \newcommand{\mat}{\mathcal{M}} \newcommand{\und}[1]{{\mathbf{\color{red}\underline{#1}}}} \newcommand{\rdots}{\text{\reflectbox{$\ddots$}}} \newcommand{\Compa}{Compa} \newcommand{\dint}{\dpl{\int}} \newcommand{\intEFF}[2]{\left[\!\left[#1 ; #2\right]\!\right]} \newcommand{\intEFO}[2]{\left[\!\left[#1 ; #2\right[\!\right[} \newcommand{\intEOF}[2]{\left]\!\left]#1 ; #2\right]\!\right]} \newcommand{\intEOO}[2]{\left]\!\left]#1 ; #2\right[\!\right[} \newcommand{\ou}{\vee} \newcommand{\et}{\wedge} \newcommand{\non}{\neg} \newcommand{\implique}{\Rightarrow} \newcommand{\equivalent}{\Leftrightarrow} \newcommand{\Ab}{\overline{A}} \newcommand{\Bb}{\overline{B}} \newcommand{\Cb}{\overline{C}} \newcommand{\Cl}{\texttt{Cl}} \newcommand{\ab}{\overline{a}} \newcommand{\bb}{\overline{b}} \newcommand{\cb}{\overline{c}} \newcommand{\Rel}{\mathcal{R}} \newcommand{\superepsilon}{\varepsilon\!\!\varepsilon} \newcommand{\supere}{e\!\!e} \makeatletter \newenvironment{console}{\noindent\color{white}\begin{lrbox}{\@tempboxa}\begin{minipage}{\columnwidth} \ttfamily \bfseries\vspace*{0.5cm}} {\vspace*{0.5cm}\end{minipage}\end{lrbox}\colorbox{black}{\usebox{\@tempboxa}} } \makeatother \def\ie{\textit{i.e. }} \def\cf{\textit{c.f. }} \def\vide{ { $ {\text{ }} $ } } %Commande pour les vecteurs \newcommand{\grad}{\overrightarrow{Grad}} \newcommand{\Vv}{\overrightarrow{v}} \newcommand{\Vu}{\overrightarrow{u}} \newcommand{\Vw}{\overrightarrow{w}} \newcommand{\Vup}{\overrightarrow{u'}} \newcommand{\Zero}{\overrightarrow{0}} \newcommand{\Vx}{\overrightarrow{x}} \newcommand{\Vy}{\overrightarrow{y}} \newcommand{\Vz}{\overrightarrow{z}} \newcommand{\Vt}{\overrightarrow{t}} \newcommand{\Va}{\overrightarrow{a}} \newcommand{\Vb}{\overrightarrow{b}} \newcommand{\Vc}{\overrightarrow{c}} \newcommand{\Vd}{\overrightarrow{d}} \newcommand{\Ve}[1]{\overrightarrow{e_{#1}}} \newcommand{\Vf}[1]{\overrightarrow{f_{#1}}} \newcommand{\Vn}{\overrightarrow{0}} \newcommand{\Mat}{Mat} \newcommand{\Pass}{Pass} \newcommand{\mkF}{\mathfrak{F}} \renewcommand{\sp}{Sp} \newcommand{\Co}{Co} \newcommand{\vect}[1]{\texttt{Vect}\dpl{\left( #1\right)}} \newcommand{\prodscal}[2]{\dpl{\left\langle #1\left|\vphantom{#1 #2}\right. #2\right\rangle}} \newcommand{\trans}[1]{{\vphantom{#1}}^{t}{#1}} \newcommand{\ortho}[1]{{#1}^{\bot}} \newcommand{\oplusbot}{\overset{\bot}{\oplus}} \SelectTips{cm}{12}%Change le bout des flèches dans un xymatrix \newcommand{\pourDES}[8]{ \begin{itemize} \item Pour la ligne : le premier et dernier caractère forment $#1#2$ soit $#4$ en base 10. \item Pour la colonne : les autres caractères du bloc forment $#3$ soit $#5$ en base 10. \item A l'intersection de la ligne $#4+1$ et de la colonne $#5+1$ de $S_{#8}$ se trouve l'entier $#6$ qui, codé sur $4$ bits, est \textbf{\texttt{$#7$}}. \end{itemize} } \)

Nous allons à présent assouplir davantage la notion d'automate en permettant des transitions par le mot vide.

Définition


Un automate d'état finis à \( \varepsilon\) -transition \( \A\) , plus simplement appelé AEF\( \varepsilon\) , est la donnée de
\( \bullet\)
un alphabet \( \Sigma_\A\) , appelé l'alphabet de l'automate,

\( \bullet\)
un ensemble fini \( E_\A\) d'état,

\( \bullet\)
un ensemble \( I_\A\subset E_\A\) d'états initiaux,

\( \bullet\)
un ensemble \( F_\A\subset E_\A\) d'états finaux,

\( \bullet\)
une fonction de transition \( \tau_\A : E_\A\times {\Sigma_\A\cup{\varepsilon}} \longrightarrow \mathcal{E_\A}\) .
En définitive, c'est exactement la même définition que pour un automate à ceci près que la fonction de transition, permet des transitions par le mot \( \varepsilon\) .

Exemple


Comme pour les ADEF et les AEF, on représente les AEF\( \varepsilon\) par une matrice ou un graphe augmenté. \[ M_\A = \begin{array}{c|ccc} & 0 & 1 & \varepsilon\\\hline X & X, Y & Y & Z\\ \rightarrow Y & X & Z & \\ Z\rightarrow & Y & Y, Z & \end{array} \] \[ \xymatrix@C=2cm@R=1.19cm{ Y\ar@{{<}-}[d]\ar@/^0.519pc/[rd]^0\ar@/^0.519pc/[rr]^1&&Z\ar[d]\ar@/^0.519pc/[ll]^{0, 1}\ar@(lu, ru)[]^1\\ &X\ar@(dl, dr)[]_{0}\ar@/^0.519pc/[lu]^{0, 1}\ar@*{[red]}[ur]_{\color{red}\varepsilon}& } \]

Proposition


Tout AEF est un AEF\( \varepsilon\) .

Démonstration

Trivial.
L'idée à présent est de supprimer les \( \varepsilon\) -transition (pour qu'il n'y ai pas d'ambiguïté sur les mots reconnus - nous détaillerons ce point au prochain chapitre) et donc de transformer un AEF\( \varepsilon\) en AEF.

Définition


Soit \( \A\) une AEF\( \varepsilon\) et \( X\) un état de \( \A\) . On définit \( \overline{X}\) , la \( \varepsilon\) -clôture de \( X\) comme l'ensemble des états qui lisent le mot vide. \[\overline{X} = \left\{Y\in E_\A \Big| \tau_\A(X, \varepsilon) = Y \right\}\]
La notion de lecture sera détailler dans le prochain chapitre.

Exemple


Avec l'automate précédent, on a \[\overline{X}=\{X, Z\}\qquad \overline{Y}=\{Y\}\qquad \overline{Z}=\{Z\}\]

Définition


Soit \( \A\) un AEF\( \varepsilon\) . L'automate \( \varepsilon\) -libéré \( \A_\varepsilon\) est l'AEF définit par les règles suivantes :
\( \bullet\)
\( \Sigma_{\A_\varepsilon}=\Sigma_\A\)

\( \bullet\)
\( E_{\A_\varepsilon}=E_\A\)

\( \bullet\)
\( I_{\A_\varepsilon}=I_\A\)

\( \bullet\)
\( F_{\A_\varepsilon}=\left\{X\in E_{\A_\varepsilon} \Big| \overline{X}\cap F_\A\neq\varnothing\right\}\)

\( \bullet\)
La fonction de transition \begin{eqnarray*} \tau_{\A_\varepsilon} : E_{\A_\varepsilon} \times \Sigma_{\A_\varepsilon} & \longrightarrow & \mathcal{P}(E_{\A_\varepsilon})\\ (X, x) &\longmapsto&\bigcup_{Y\in\overline{X}}\tau_{\A}(Y, x)\\ \end{eqnarray*}

Exemple


Avec l'automate précédent on a \[ M_{\A_\varepsilon} = \begin{array}{c|cc} & 0 & 1 \\\hline X\rightarrow & X, Y & Y, Z \\ \rightarrow Y & X & Z \\ Z\rightarrow & Y & Y, Z \end{array} \]

Exercice


Déterminer l'automate \( \varepsilon\) -libéré de chacun des AEF\( \varepsilon\) suivant.
  1. \( \begin{array}{c|*{4}{c}} & x & y &\varepsilon \\ \hline A & A & A, B, C & \\ \rightarrow B \rightarrow & A & A, C &\\ C & A, B, C & A, B & A\\ \end{array}\)
  2. \( \begin{array}{c|*{5}{c}} & x & y &\varepsilon \\ \hline A \rightarrow & A, C & A, C & A, C\\ B & A, B, C, D & A, C, D & \\ \rightarrow C & A, B, C, D & C, D \\ D & D & A, B & C\\ \end{array}\)
  3. \( \begin{array}{c|*{5}{c}} & \alpha & \beta & \gamma & \varepsilon \\ \hline A & A, C & B & A, C &\\ B \rightarrow & A, B, C & B, C & C, D & B, D\\ \rightarrow C & A, C & D & A, C, D &\\ D & A, C, D & D & B, C &\\ \end{array}\)
  4. \( \begin{array}{c|*{4}{c}} & 0 & 1 & 2 &\varepsilon \\ \hline A & C & A, B, C & C & A, C\\ \rightarrow B \rightarrow & B, C & A, B, C & B & B\\ C & A, B, C & C & A & B\\ \end{array}\)