Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Automate fini alternant — Wikipédia
Automate fini alternant — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.

En informatique théorique, et notamment en théorie des automates, un automate fini alternant est une extension des automates finis. Dans un automate fini non déterministe usuel, un mot w {\displaystyle w} {\displaystyle w} est accepté si, parmi les états atteints, il y a au moins un état final. Dans automate fini alternant, c'est la valeur d'une fonction booléenne sur les états atteints qui définit la condition d'acceptation.

Le nom « alternant » est basé sur l'observation suivante : à condition d'autoriser les ε-transitions, deux types de conditions suffisent pour exprimer toutes les fonctions booléennes possibles sur les états : parmi les états atteints, au moins un est final ou bien tous sont finaux. Les choix varient donc entre un choix existentiel et un choix universel.

Les automates finis alternants sont utilisés pour la reconnaissance de mots infinis, en théorie des jeux, en model checking et en logique. Ils trouvent des applications aussi en apprentissage automatique.

Description

[modifier | modifier le code]

Il existe plusieurs classes d’automates finis qui diffèrent par leur « type de branchement » : les automates déterministes, automates non déterministes, les automates universels et automates alternants. Un automate déterministe traite un mot w = a 1 a 2 ⋯ a k {\displaystyle w=a_{1}a_{2}\cdots a_{k}} {\displaystyle w=a_{1}a_{2}\cdots a_{k}} en passant d’un état au suivant selon la fonction de transition. L’automate accepte le mot w {\displaystyle w} {\displaystyle w} à partir d’un état q {\displaystyle q} {\displaystyle q} si l’état atteint après la lecture de a 1 {\displaystyle a_{1}} {\displaystyle a_{1}} accepte le suffixe v = a 2 ⋯ a k {\displaystyle v=a_{2}\cdots a_{k}} {\displaystyle v=a_{2}\cdots a_{k}}. Un automate non déterministe qui lit la lettre a {\displaystyle a} {\displaystyle a} dans un état q {\displaystyle q} {\displaystyle q} peut en revanche passer en plusieurs états, déterminés par la relation de transition. L’automate accepte w {\displaystyle w} {\displaystyle w} à partir de q {\displaystyle q} {\displaystyle q} si l’un des états q 1 , … , q m {\displaystyle q_{1},\ldots ,q_{m}} {\displaystyle q_{1},\ldots ,q_{m}} dans lesquels il peut passer après la lecture de a 1 {\displaystyle a_{1}} {\displaystyle a_{1}} accepte le suffixe v {\displaystyle v} {\displaystyle v}. Une notion duale est celle d’automate universel. Comme pour un automate non déterministe, la relation de transition donne, pour un état q {\displaystyle q} {\displaystyle q} et une lettre a {\displaystyle a} {\displaystyle a}, un ensemble d’états; mais l’interprétation est ici que w {\displaystyle w} {\displaystyle w} est accepté depuis l’état q {\displaystyle q} {\displaystyle q} si tous les états q 1 , … , q m {\displaystyle q_{1},\ldots ,q_{m}} {\displaystyle q_{1},\ldots ,q_{m}} atteints après la lecture de a 1 {\displaystyle a_{1}} {\displaystyle a_{1}} acceptent le suffixe v {\displaystyle v} {\displaystyle v}.

Les automates alternants généralisent à la fois les automates non déterministes et les automates universels. Ils délèguent le rôle de tester l’acceptation du suffixe d'un mot à plusieurs états, en combinant leurs résultats par des conjonctions et disjonctions. Par exemple, une transition qui de l'état q {\displaystyle q} {\displaystyle q}, en lisant la lettre a {\displaystyle a} {\displaystyle a}, va vers l'expression q 1 ∨ ( q 2 ∧ q 3 ) {\displaystyle q_{1}\lor (q_{2}\land q_{3})} {\displaystyle q_{1}\lor (q_{2}\land q_{3})} , stipule que le mot w = a v {\displaystyle w=av} {\displaystyle w=av} est accepté depuis q {\displaystyle q} {\displaystyle q} si son suffixe v {\displaystyle v} {\displaystyle v} est accepté depuis q 1 {\displaystyle q_{1}} {\displaystyle q_{1}} ou à la fois depuis q 2 {\displaystyle q_{2}} {\displaystyle q_{2}} et q 3 {\displaystyle q_{3}} {\displaystyle q_{3}}.

Définition formelle

[modifier | modifier le code]

Un automate fini alternant A = ( Q , Σ , q 0 , F , g ) {\displaystyle {\mathcal {A}}=(Q,\Sigma ,q_{0},F,g)} {\displaystyle {\mathcal {A}}=(Q,\Sigma ,q_{0},F,g)} est composé des données suivantes :

  • Q {\displaystyle Q} {\displaystyle Q} un ensemble fini d'états ;
  • Σ {\displaystyle \Sigma } {\displaystyle \Sigma } un alphabet d'entrée ;
  • F ⊆ Q {\displaystyle F\subseteq Q} {\displaystyle F\subseteq Q} un ensemble d'états terminaux ;
  • h : 2 Q → { 0 , 1 } {\displaystyle h:2^{Q}\to \{0,1\}} {\displaystyle h:2^{Q}\to \{0,1\}}, une fonction d'acceptation ;
  • g : Q × Σ × { 0 , 1 } Q → { 0 , 1 } {\displaystyle g\colon Q\times \Sigma \times \{0,1\}^{Q}\to \{0,1\}} {\displaystyle g\colon Q\times \Sigma \times \{0,1\}^{Q}\to \{0,1\}} une fonction de transition.

L'état initial usuel dans les automates est remplacé par la fonction d'acceptation h {\displaystyle h} {\displaystyle h}[1]. La fonction de transition g {\displaystyle g} {\displaystyle g} associe à un état q {\displaystyle q} {\displaystyle q}, à une lettre a {\displaystyle a} {\displaystyle a} et à un vecteur d'états v {\displaystyle v} {\displaystyle v} indicé par Q {\displaystyle Q} {\displaystyle Q}, une valeur booléenne. La fonction g {\displaystyle g} {\displaystyle g} est étendue au mots par les deux propriétés suivantes :

  • g ( q , ε , v ) = v q {\displaystyle g(q,\varepsilon ,v)=v_{q}} {\displaystyle g(q,\varepsilon ,v)=v_{q}}, où v q {\displaystyle v_{q}} {\displaystyle v_{q}} est la coordonnée d'indice q {\displaystyle q} {\displaystyle q} de v {\displaystyle v} {\displaystyle v}.
  • g ( q , a x , v ) = g ( q , a , g ( x , v ) ) {\displaystyle g(q,ax,v)=g(q,a,g(x,v))} {\displaystyle g(q,ax,v)=g(q,a,g(x,v))}, où g ( x , v ) {\displaystyle g(x,v)} {\displaystyle g(x,v)} est le vecteur g ( q , x , v ) q ∈ Q {\displaystyle g(q,x,v)_{q\in Q}} {\displaystyle g(q,x,v)_{q\in Q}}.

Vue comme fonction opérant sur les vecteurs d'états, la fonction g : Σ ∗ × { 0 , 1 } Q → { 0 , 1 } Q {\displaystyle g:\Sigma ^{*}\times \{0,1\}^{Q}\to \{0,1\}^{Q}} {\displaystyle g:\Sigma ^{*}\times \{0,1\}^{Q}\to \{0,1\}^{Q}} est donc étendue par

g ( ε , v ) = v {\displaystyle g(\varepsilon ,v)=v} {\displaystyle g(\varepsilon ,v)=v}
g ( a x , v ) = g ( a , g ( x , v ) ) {\displaystyle g(ax,v)=g(a,g(x,v))} {\displaystyle g(ax,v)=g(a,g(x,v))}

L'ensemble des mots acceptés par A {\displaystyle {\mathcal {A}}} {\displaystyle {\mathcal {A}}} est

L ( A ) = { w ∣ h ( g ( w , f ) ) = 1 } {\displaystyle L({\mathcal {A}})=\{w\mid h(g(w,f))=1\}} {\displaystyle L({\mathcal {A}})=\{w\mid h(g(w,f))=1\}},

où

f ( q ) = { 1 si  q ∈ F 0 sinon {\displaystyle f(q)={\begin{cases}1&{\text{si }}q\in F\\0&{\text{sinon}}\end{cases}}} {\displaystyle f(q)={\begin{cases}1&{\text{si }}q\in F\\0&{\text{sinon}}\end{cases}}}

Ici f {\displaystyle f} {\displaystyle f} est la fonction caractéristique de l’ensemble F {\displaystyle F} {\displaystyle F} des états terminaux, représentée comme vecteur booléen. Un mot w {\displaystyle w} {\displaystyle w} est donc accepté si la fonction booléenne h {\displaystyle h} {\displaystyle h} prend la valeur 1 sur le vecteur g ( w , f ) {\displaystyle g(w,f)} {\displaystyle g(w,f)} qui lui est le vecteur booléens de tous les états q {\displaystyle q} {\displaystyle q} pour lesquels le calcul de w {\displaystyle w} {\displaystyle w} aboutit en un état final.

Exemples

[modifier | modifier le code]

Un premier exemple

[modifier | modifier le code]

On considère une automate à deux état q 1 {\displaystyle q_{1}} {\displaystyle q_{1}}et q 2 {\displaystyle q_{2}} {\displaystyle q_{2}}sur l'alphabet Σ = { a , b } {\displaystyle \Sigma =\{a,b\}} {\displaystyle \Sigma =\{a,b\}}, l'ensemble des états terminaux est F = { q 2 } {\displaystyle F=\{q_{2}\}} {\displaystyle F=\{q_{2}\}}. La fonction de transition est donnée par

  • g ( a , ( q 1 , q 2 ) ) = ( q 1 ∨ q 2 ¯ , q 1 ¯ ∧ q 2 ¯ ) {\displaystyle g(a,(q_{1},q_{2}))=(q_{1}\lor {\overline {q_{2}}},{\overline {q_{1}}}\land {\overline {q_{2}}})} {\displaystyle g(a,(q_{1},q_{2}))=(q_{1}\lor {\overline {q_{2}}},{\overline {q_{1}}}\land {\overline {q_{2}}})}
  • g ( b , ( q 1 , q 2 ) ) = ( q 1 ∧ q 2 ¯ , q 1 ¯ ∨ q 2 ) {\displaystyle g(b,(q_{1},q_{2}))=(q_{1}\land {\overline {q_{2}}},{\overline {q_{1}}}\lor q_{2})} {\displaystyle g(b,(q_{1},q_{2}))=(q_{1}\land {\overline {q_{2}}},{\overline {q_{1}}}\lor q_{2})}

et la fonction d'acceptation est

h ( q 1 , q 2 ) = q 1 ¯ ∨ q 2 {\displaystyle h(q_{1},q_{2})={\overline {q_{1}}}\lor q_{2}} {\displaystyle h(q_{1},q_{2})={\overline {q_{1}}}\lor q_{2}}

Un exemple de calcul est alors

g ( b a , f ) = g ( b , g ( a , f ) ) = g ( b , g ( a , ( 0 , 1 ) ) = g ( b , ( 0 ∨ 1 ¯ , 0 ¯ ∧ 1 ¯ ) ) = g ( b , ( 0 , 0 ) ) = ( 0 ∧ 0 ¯ , 0 ¯ ∨ 0 ) = ( 0 , 1 ) {\displaystyle {\begin{aligned}g(ba,f)&=g(b,g(a,f))\\&=g(b,g(a,(0,1))\\&=g(b,(0\lor {\bar {1}},{\bar {0}}\land {\bar {1}}))=g(b,(0,0))\\&=(0\land {\bar {0}},{\bar {0}}\lor 0)=(0,1)\\\end{aligned}}} {\displaystyle {\begin{aligned}g(ba,f)&=g(b,g(a,f))\\&=g(b,g(a,(0,1))\\&=g(b,(0\lor {\bar {1}},{\bar {0}}\land {\bar {1}}))=g(b,(0,0))\\&=(0\land {\bar {0}},{\bar {0}}\lor 0)=(0,1)\\\end{aligned}}}

D'où

h ( g ( b a , f ) ) = h ( ( 0 , 1 ) ) = 0 ¯ ∨ 1 = 1 {\displaystyle h(g(ba,f))=h((0,1))={\bar {0}}\lor 1=1} {\displaystyle h(g(ba,f))=h((0,1))={\bar {0}}\lor 1=1}

et le mot b a {\displaystyle ba} {\displaystyle ba} est donc accepté.

Un deuxième exemple

[modifier | modifier le code]

On considère un automate A {\displaystyle {\mathcal {A}}} {\displaystyle {\mathcal {A}}} sur l’alphabet Σ = { a , b } {\displaystyle \Sigma =\{a,b\}} {\displaystyle \Sigma =\{a,b\}} qui possède un seul état Q = { q } {\displaystyle Q=\{q\}} {\displaystyle Q=\{q\}}, état également final. La fonction de transition est donnée par :

g ( a , q ) = q ¯ {\displaystyle g(a,q)={\overline {q}}} {\displaystyle g(a,q)={\overline {q}}}
g ( b , q ) = 0 {\displaystyle g(b,q)=0} {\displaystyle g(b,q)=0}

et la fonction d'acceptation est h ( q ) = q {\displaystyle h(q)=q} {\displaystyle h(q)=q}. On voit que

g ( a , 1 ) = 0 ,   g ( a a , 1 ) = g ( a , 0 ) = 1 , g ( b , 1 ) = g ( b , 0 ) = 0 , g ( b w , 1 ) = g ( b w , 0 ) = 0 {\displaystyle g(a,1)=0,\ g(aa,1)=g(a,0)=1,g(b,1)=g(b,0)=0,g(bw,1)=g(bw,0)=0} {\displaystyle g(a,1)=0,\ g(aa,1)=g(a,0)=1,g(b,1)=g(b,0)=0,g(bw,1)=g(bw,0)=0}.

Le langage accepté par l'automate est donc :

L ( A ) = { a 2 n ∣ n ≥ 0 } ∪ { a 2 n + 1 b w ∣ n ≥ 0 , w ∈ Σ ∗ } {\displaystyle L({\mathcal {A}})=\{a^{2n}\mid n\geq 0\}\cup \{a^{2n+1}bw\mid n\geq 0,w\in \Sigma ^{*}\}} {\displaystyle L({\mathcal {A}})=\{a^{2n}\mid n\geq 0\}\cup \{a^{2n+1}bw\mid n\geq 0,w\in \Sigma ^{*}\}}.

Cet automate a un seul état, alors que plus petit automate non déterministe qui reconnaît son langage a 2 états, et le plus petit automate déterministe a 4 états.

Propriétés et usages

[modifier | modifier le code]

Les automates finis non déterministes sont un cas particulier automates alternants; tout langage rationnel est, par conséquent, accepté par un automate alternant. Réciproquement, tout automate alternant peut être transformé en automate fini déterministe. Les automates finis alternants acceptent donc précisément les langages réguliers. Toutefois, un automate alternant peut être beaucoup plus petit. On peut gagner une exponentielle en passant d'un automate non déterministe à un automate alternant, et une double exponentielle en passant d'un automate déterministe à un automate alternant. La borne exacte dépend de la définition exacte des automates alternants. Ainsi, quand on autorise les négations dans les formules booléennes, il existe un automate fini alternant avec n {\displaystyle n} {\displaystyle n} états pour lequel le plus petit automate fini déterministe requiert 2 2 n {\displaystyle 2^{2^{n}}} {\displaystyle 2^{2^{n}}} états. Quand on n’autorisent pas la négation, et alors la borne est 2 2 n / n {\displaystyle 2^{2^{n}/{\sqrt {n}}}} {\displaystyle 2^{2^{n}/{\sqrt {n}}}}[2].

Les automates alternants, sur les mots infinis, se définissent de manière analogue, en prenant comme condition d'acceptation par exemple la condition des automates de Büchi. Les automates alternants reconnaissent les mêmes langages de mots infinis que les automates de Büchi non déterministes, mais l’alternance peut rendre les automates exponentiellement plus petits.

Variations

[modifier | modifier le code]

Il existe diverses variations dans la définition des automates finis alternants. Ils ne modifient pas la puissance d'expression, mais peuvent être plus ou moins faciles à définir et plus ou moins faciles à mettre en œuvre[3]. C’est surtout la souplesse de la structure combinatoire d’une automate alternant qui est appréciée[3] : elle simplifie considérablement la traduction de spécifications de propriétés en automates, traduction qui est à la base des algorithmes de model checking. Les automates sont utilisés pour la spécification et la vérification de programmes. Quand un programme est défini relativement à un ensemble P de propositions, chaque état dans une exécution du programme correspond à une partie de P, à savoir à l'ensemble des propositions qui sont vraie dans cet état. Une exécution du programme définit ainsi un mot fini ou infini sur l’alphabet des parties de P, et le programme lui-même donne un ensemble de mots qui peut être défini par un automate. De même, la spécification d’un programme qui décrit les calculs possibles peut être vu comme un langage de mots sur l’alphabet des parties de P, et donc être défini par un automate. Ainsi, les questions sur les programmes se ramènent à des questions sur des automates. Par exemple, les questions de la satisfiabilité de la spécification et de la correction d’un programme se réduisent à des questions comme le test du vide, ou au problème d’inclusion pour les langages formels. La traduction de spécifications vers les automates prend en charge les aspects logiques, et déplace les difficultés combinatoires vers des problèmes de théorie combinatoire[3].

Une variante des automates consiste à ne pas autoriser les négations. C'est l'option retenue dans certains travaux sur l'apprentissage de langages réguliers[4].

Une variante dans la définition[2] même des automates consiste à introduire un état initial q 0 {\displaystyle q_{0}} {\displaystyle q_{0}} à la place de la fonction d'évaluation h {\displaystyle h} {\displaystyle h}. La condition d'acceptation

h ( g ( w , f ) ) = 1 {\displaystyle h(g(w,f))=1} {\displaystyle h(g(w,f))=1}

est remplacée par la condition, plus contraignante en apparence, de

g ( q 0 , w , f ) = 1 {\displaystyle g(q_{0},w,f)=1} {\displaystyle g(q_{0},w,f)=1}.

Une autre variante, plus marquée, consiste à définir les automates alternants comme suit[5] : L'ensemble Q {\displaystyle Q} {\displaystyle Q} des états est divisé en deux parties, les états existentiels Q ∃ {\displaystyle Q_{\exists }} {\displaystyle Q_{\exists }} et universels Q ∀ {\displaystyle Q_{\forall }} {\displaystyle Q_{\forall }}. L'idée sous-jacente est que les transitions sortant d'un état de Q ∃ {\displaystyle Q_{\exists }} {\displaystyle Q_{\exists }} sont interprétées comme des transitions ou, et les transitions sortant d'un état de Q ∀ {\displaystyle Q_{\forall }} {\displaystyle Q_{\forall }} comme des transitions et. Syntaxiquement, ceci est la seule différence entre automates alternants et automates non déterministes.

Soit A = ( Q , Σ , s , F , δ ) {\displaystyle {\mathcal {A}}=(Q,\Sigma ,s,F,\delta )} {\displaystyle {\mathcal {A}}=(Q,\Sigma ,s,F,\delta )}, avec Q = Q ∃ ∪ Q ∀ {\displaystyle Q=Q_{\exists }\cup Q_{\forall }} {\displaystyle Q=Q_{\exists }\cup Q_{\forall }} un automate fini non déterministe usuel. Un mot w {\displaystyle w} {\displaystyle w} est accepté à partir d'un état q {\displaystyle q} {\displaystyle q} si q {\displaystyle q} {\displaystyle q} est un état final et w {\displaystyle w} {\displaystyle w} est le mot vide, ou alors si w = a v {\displaystyle w=av} {\displaystyle w=av} pour une lettre a {\displaystyle a} {\displaystyle a} et un mot v {\displaystyle v} {\displaystyle v}, et si soit :

  • q ∈ Q ∃ {\displaystyle q\in Q_{\exists }} {\displaystyle q\in Q_{\exists }}, et v {\displaystyle v} {\displaystyle v} est accepté par au moins un des états dans δ ( q , a ) {\displaystyle \delta (q,a)} {\displaystyle \delta (q,a)}, ou
  • q ∈ Q ∀ {\displaystyle q\in Q_{\forall }} {\displaystyle q\in Q_{\forall }}, et v {\displaystyle v} {\displaystyle v} est accepté par tous les états dans δ ( q , a ) {\displaystyle \delta (q,a)} {\displaystyle \delta (q,a)}.

Le langage accepté par un tel automate est l'ensemble des mots acceptés à partir de l’état initial.

La fonction de transition g : Q × Σ × { 0 , 1 } Q → { 0 , 1 } {\displaystyle g\colon Q\times \Sigma \times \{0,1\}^{Q}\to \{0,1\}} {\displaystyle g\colon Q\times \Sigma \times \{0,1\}^{Q}\to \{0,1\}} définie plus haut est remplacée par une fonction plus simple g : Q × Σ → B ( Q ) {\displaystyle g\colon Q\times \Sigma \to \mathbb {B} (Q)} {\displaystyle g\colon Q\times \Sigma \to \mathbb {B} (Q)} qui associe à un état q {\displaystyle q} {\displaystyle q} et à une lettre a {\displaystyle a} {\displaystyle a} une formule booléenne sur Q {\displaystyle Q} {\displaystyle Q} : Pour un état q {\displaystyle q} {\displaystyle q}, une lettre a {\displaystyle a} {\displaystyle a}, et δ ( q , a ) = { q 1 , … , q k } {\displaystyle \delta (q,a)=\{q_{1},\ldots ,q_{k}\}} {\displaystyle \delta (q,a)=\{q_{1},\ldots ,q_{k}\}}, la fonction g {\displaystyle g} {\displaystyle g} prend la valeur g ( q , a ) = { q 1 ∨ q 2 ∨ ⋯ ∨ q k si  q ∈ Q ∃ q 1 ∧ q 2 ∧ ⋯ ∧ q k si  q ∈ Q ∀ {\displaystyle g(q,a)={\begin{cases}q_{1}\lor q_{2}\lor \cdots \lor q_{k}&{\text{si }}q\in Q_{\exists }\\q_{1}\land q_{2}\land \cdots \land q_{k}&{\text{si }}q\in Q_{\forall }\end{cases}}} {\displaystyle g(q,a)={\begin{cases}q_{1}\lor q_{2}\lor \cdots \lor q_{k}&{\text{si }}q\in Q_{\exists }\\q_{1}\land q_{2}\land \cdots \land q_{k}&{\text{si }}q\in Q_{\forall }\end{cases}}}.

Notes et références

[modifier | modifier le code]
  1. ↑ Dans l'article fondateur Chandra, Kozen et Stockmeyer, 1981, il y a un état initial.
  2. ↑ a et b Chandra, Kozen et Stockmeyer, 1981.
  3. ↑ a b et c Kupferman et Vardi 2001.
  4. ↑ Angluin, Eisenstat et Fisman 2015.
  5. ↑ Kumar, Alternating automata.

Bibliographie

[modifier | modifier le code]
Article fondateur
  • Ashok K. Chandra, Dexter C. Kozen et Larry J. Stockmeyer, « Alternation », Journal of the ACM, vol. 28, no 1,‎ janvier 1981, p. 114-133 (DOI 10.1145/322234.322243).
Autres articles
  • Orna Kupferman et Moshe Y. Vardi, « Weak alternating automata and tree automata emptiness », Proceedings of the thirtieth annual ACM symposium on Theory of computing (STOC '98),‎ 1998, p. 224-233 (DOI 10.1145/276698.276748, lire en ligne)
  • Orna Kupferman et Moshe Y. Vardi, « Weak alternating automata are not that weak », ACM Transactions on Computational Logic, vol. 2, no 3,‎ 2001, p. 408-429 (DOI 10.1145/377978.377993, lire en ligne)
  • Dana Angluin, Sarah Eisenstat et Dana Fisman, « Learning regular languages via alternating automata », Proceedings of the twenty-fourth international joint conference on artificial intelligence (IJCAI 2015),‎ 2015, p. 3308-3314 (lire en ligne)
Cours
  • K. Narayan Kumar, « Alternating automata », Notes on Automata, Logic, Games and Algebra, Chennai Mathematical Institute, Chennai.
  • Pascal Raiola, « Introduction to alternating finite automata », Automata Theory — Software Engineering, Informatik Universität Freiburg, 2013.

Articles liés

[modifier | modifier le code]
  • Model checking
  • Machine de Turing
  • Automate sur les mots infinis
v · m
Automates finis et langages réguliers
Articles généraux
  • Théorie des automates
  • Automate fini
  • Machine abstraite
Automates finis
  • Automate fini déterministe
  • Automate fini inambigu
  • Automate fini non déterministe
  • Construction par sous-ensembles
  • Automate sur les mots infinis
Automates finis particuliers
  • Automate alternant
  • Automate bidirectionnel
  • Automate pondéré
  • Automate probabiliste
  • Automate quantique
  • Automate temporisé
  • Automate de Büchi
  • Automate de Muller
  • Modèle de Markov caché
  • Système de transition d'états
  • Structure de Kripke
  • Machine à états abstraits
  • Machine de Mealy
  • Machine de Moore
  • Transducteur fini
  • Automate séquentiel
Langages réguliers
  • Langage rationnel
  • Langage sans étoile
  • Langage local
  • Langage congruentiel
  • Langage stochastique
  • Lemme de l'étoile
  • Lemme d'Arden
  • ω-langage rationnel
Des automates aux langages
  • Expression régulière
  • Algorithme de Conway
  • Algorithme de McNaughton et Yamada
  • Méthode de Brzozowski et McCluskey
Des langages aux automates
  • Dérivée de Brzozowski
  • Algorithme de Thompson
  • Construction de Glushkov
  • Complexité en états
Minimisation
  • Théorème de Myhill-Nerode
  • Équivalence de Nerode
  • Minimisation d'un automate fini déterministe
  • Algorithme de Moore
  • Algorithme de Brzozowski
  • Algorithme de Hopcroft
Équivalences
  • Théorème de Kleene
  • Étoile de Kleene
  • Monoïde syntaxique
  • Théorème des variétés d'Eilenberg
  • icône décorative Portail de l'informatique théorique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Automate_fini_alternant&oldid=209161645 ».
Catégories :
  • Théorie des automates
  • Calculabilité
  • Méthode formelle
  • Automates finis et langages réguliers
Catégories cachées :
  • Portail:Informatique théorique/Articles liés
  • Portail:Informatique/Articles liés
  • Portail:Mathématiques/Articles liés
  • Portail:Sciences/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id