QCM : Théorie des langages rationnels — 65 questions

Questions et réponses du QCM

1. Comment définit-on un langage en théorie des langages ?

Une suite unique de lettres organisée selon une règle de concaténation
Un ensemble de suites d’objets élémentaires auxquelles une signification est attribuée
Un ensemble de mots non vides partageant nécessairement une même longueur
Un ensemble fini de symboles servant à former des suites sans interprétation

Un ensemble de suites d’objets élémentaires auxquelles une signification est attribuée

Explication

Un langage associe une signification à des suites d’objets élémentaires. Un alphabet, en revanche, est un ensemble de symboles et ne constitue pas en lui-même un ensemble de suites interprétées.

2. Quelle propriété caractérise un alphabet Σ\Sigma ?

C’est un ensemble de mots pouvant contenir une infinité de suites
C’est une suite finie de lettres terminée par le symbole ε\varepsilon
C’est un ensemble fini dont les éléments sont appelés des lettres
C’est un langage composé de mots auxquels une signification est attribuée

C’est un ensemble fini dont les éléments sont appelés des lettres

Explication

Un alphabet est un ensemble fini de symboles, appelés lettres. Un langage peut être fini ou infini et contient des mots construits à partir de l’alphabet.

3. Que représente le symbole ε\varepsilon dans la théorie des mots ?

L’alphabet vide, qui ne contient aucun symbole disponible
La lettre spéciale ajoutée à chaque mot pour en marquer la fin
Le mot vide, qui ne contient aucune lettre
Le langage formé par tous les mots de longueur nulle

Le mot vide, qui ne contient aucune lettre

Explication

Le symbole ε\varepsilon désigne le mot vide, c’est-à-dire la suite finie ne contenant aucune lettre. Il ne représente pas un alphabet ni une lettre ajoutée aux mots.

4. Quelle distinction entre Σ∗\Sigma^* et Σ+\Sigma^+ est correcte ?

Σ+\Sigma^+ est fini, tandis que Σ∗\Sigma^* est nécessairement limité aux mots de longueur un
Σ∗\Sigma^* contient le mot vide, tandis que Σ+\Sigma^+ contient les mots non vides
Σ∗\Sigma^* contient les lettres de l’alphabet, tandis que Σ+\Sigma^+ contient ses symboles distincts
Σ+\Sigma^+ contient le mot vide, tandis que Σ∗\Sigma^* contient les mots non vides

$$\Sigma^*$$ contient le mot vide, tandis que $$\Sigma^+$$ contient les mots non vides

Explication

Par définition, Σ∗\Sigma^* regroupe tous les mots sur Σ\Sigma, y compris ε\varepsilon, alors que Σ+\Sigma^+ en retire le mot vide. La différence porte donc sur l’inclusion de ε\varepsilon, non sur la nature des lettres.

5. Que mesure la longueur ∣w∣|w| d’un mot ww ?

Le nombre total de lettres du mot, avec ∣ε∣=0|\varepsilon|=0
Le nombre de lettres distinctes présentes dans le mot, sans compter leurs répétitions
Le nombre de positions occupées par les lettres différentes de la première
Le nombre d’occurrences d’une lettre choisie dans le mot, avec ∣ε∣=1|\varepsilon|=1

Le nombre total de lettres du mot, avec $$|\varepsilon|=0$$

Explication

La longueur compte toutes les lettres du mot, y compris les répétitions, et le mot vide a une longueur nulle. Le nombre d’occurrences d’une lettre particulière constitue une mesure différente, notée par exemple ∣w∣a|w|_a.

6. Si w1=abw_1=ab et w2=01w_2=01, quel est le résultat de la concaténation w1⋅w2w_1\cdot w_2 ?

ab01ab01, obtenu en plaçant w2w_2 après w1w_1
01ab01ab, obtenu en plaçant w1w_1 après w2w_2
a0b1a0b1, obtenu en alternant les lettres des deux mots
ab10ab10, obtenu en inversant l’ordre des lettres de w2w_2

$$ab01$$, obtenu en plaçant $$w_2$$ après $$w_1$$

Explication

La concaténation conserve d’abord toutes les lettres de w1w_1, puis ajoute celles de w2w_2, ce qui donne ab01ab01. Le mot 01ab01ab correspondrait à la concaténation dans l’ordre inverse.

7. Quelle égalité décrit correctement la longueur d’une concaténation ?

∣w1⋅w2∣=∣w1∣+∣w2∣|w_1\cdot w_2|=|w_1|+|w_2|
∣w1⋅w2∣=∣w1∣×∣w2∣|w_1\cdot w_2|=|w_1|\times|w_2|
∣w1⋅w2∣=max⁡(∣w1∣,∣w2∣)|w_1\cdot w_2|=\max(|w_1|,|w_2|)
∣w1⋅w2∣=∣w1∣−∣w2∣|w_1\cdot w_2|=|w_1|-|w_2|

$$|w_1\cdot w_2|=|w_1|+|w_2|$$

Explication

La concaténation réunit les lettres des deux mots, donc sa longueur est la somme de leurs longueurs. Cette opération possède aussi ε\varepsilon comme élément neutre, mais cela ne change pas la règle additive.

8. Quelle affirmation décrit correctement la concaténation des mots ?

Elle n’est ni associative ni commutative, car chaque regroupement change les lettres du mot
Elle est commutative, mais le regroupement des facteurs peut modifier le résultat obtenu
Elle est associative, mais elle peut donner des résultats différents selon l’ordre des facteurs
Elle est associative et commutative, car les mêmes lettres apparaissent dans les deux produits

Elle est associative, mais elle peut donner des résultats différents selon l’ordre des facteurs

Explication

La concaténation est associative : le regroupement des facteurs ne modifie pas le mot final, mais elle n’est pas commutative : inverser deux mots peut changer leur ordre. Ainsi, l’ordre des facteurs compte même si le parenthésage ne compte pas.

9. Quelles propriétés une distance sur un ensemble doit-elle vérifier ?

La séparation, la symétrie et l’inégalité triangulaire
La réflexivité, la distributivité et la fermeture par concaténation
La longueur, l’inversion et l’existence d’un élément neutre
La concaténation, la commutativité et la finitude des éléments

La séparation, la symétrie et l’inégalité triangulaire

Explication

Une distance est une fonction à valeurs réelles positives qui vérifie la séparation, la symétrie et l’inégalité triangulaire. Les autres propriétés proposées concernent d’autres structures ou opérations et ne définissent pas une distance.

10. Quelle propriété est exprimée par d(x,y)=d(y,x)d(x,y)=d(y,x) ?

La symétrie, qui permet d’échanger les deux arguments
La positivité, qui impose une valeur réelle non négative
La séparation, qui caractérise l’égalité entre les deux arguments
L’inégalité triangulaire, qui compare trois distances associées

La symétrie, qui permet d’échanger les deux arguments

Explication

L’égalité d(x,y)=d(y,x)d(x,y)=d(y,x) exprime la symétrie de la distance, car les deux arguments peuvent être échangés. La séparation est exprimée par d(x,y)=0⟺x=yd(x,y)=0\Longleftrightarrow x=y.

11. Comment définit-on la distance d’édition entre deux mots ?

Comme le nombre minimal d’insertions et de suppressions nécessaires pour transformer un mot en l’autre
Comme la somme des longueurs des deux mots après leur concaténation
Comme le nombre total de lettres différentes entre les deux mots, en tenant compte de leur position
Comme le nombre maximal de substitutions nécessaires pour aligner les lettres des deux mots

Comme le nombre minimal d’insertions et de suppressions nécessaires pour transformer un mot en l’autre

Explication

La distance d’édition considérée ici est le nombre minimal d’insertions et de suppressions de lettres permettant de transformer un mot en un autre. Elle ne repose donc pas sur les substitutions ni sur la simple comparaison des lettres différentes.

12. Quand un langage LL est-il décidable ?

Lorsqu’un algorithme répond faux pour les mots de LL et vrai pour les mots de son complémentaire
Lorsqu’un algorithme reconnaît les mots de LL sans devoir distinguer tous les mots qui n’y appartiennent pas
Lorsqu’un algorithme répond vrai pour certains mots de LL et peut poursuivre son exécution pour les autres
Lorsqu’un algorithme répond vrai pour les mots de LL et faux pour les autres, en terminant toujours

Lorsqu’un algorithme répond vrai pour les mots de $$L$$ et faux pour les autres, en terminant toujours

Explication

Un langage est décidable lorsqu’un algorithme termine sur toute entrée et donne la bonne réponse d’appartenance. La reconnaissance avec une exécution potentiellement infinie ne suffit pas pour établir la décidabilité.

13. Quel langage est indécidable, quel que soit le langage de programmation utilisé ?

Le langage des programmes qui s’arrêtent sur une entrée donnée
Le langage de tous les mots sur un alphabet fixé
Le langage vide reconnu par un algorithme répondant faux
Le langage des nombres premiers représentés en écriture binaire

Le langage des programmes qui s’arrêtent sur une entrée donnée

Explication

Le problème de savoir si un programme s’arrête sur une entrée donnée est indécidable, indépendamment du langage de programmation. Les trois autres langages disposent d’algorithmes de décision simples ou connus.

14. Pour deux langages AA et BB, quelle condition caractérise l’appartenance d’un mot ww à A∪BA \cup B ?

Le mot appartient à AA ou à BB, y compris lorsqu’il appartient aux deux
Le mot appartient à AA et à BB pour être retenu dans l’union
Le mot n’appartient ni à AA ni à BB pour être retenu dans l’union
Le mot appartient à AA mais pas à BB pour être retenu dans l’union

Le mot appartient à $$A$$ ou à $$B$$, y compris lorsqu’il appartient aux deux

Explication

L’union regroupe les mots appartenant à au moins un des deux langages, y compris ceux qui appartiennent aux deux. L’appartenance simultanée aux deux langages caractérise plutôt l’intersection.

15. Que contient le complémentaire A∁A^{\complement} d’un langage AA sur Σ\Sigma ?

Les mots de AA qui appartiennent aussi à un second langage fixé
Les mots de AA qui possèdent une longueur différente de celle des autres mots
Les mots de Σ∗\Sigma^* qui n’appartiennent pas à AA
Les mots formés par concaténation de deux mots quelconques de AA

Les mots de $$\Sigma^*$$ qui n’appartiennent pas à $$A$$

Explication

Le complémentaire est défini par A∁=Σ∗∖AA^{\complement}=\Sigma^*\setminus A : il contient tous les mots de l’univers qui ne sont pas dans AA. Une différence entre deux langages conserve au contraire des mots du premier langage.

16. Quelle identité est correcte pour le complémentaire de l’union de deux langages ?

(A∪B)∁=A∁∪B∁(A \cup B)^{\complement}=A^{\complement}\cup B^{\complement}
(A∪B)∁=A∁∩B∁(A \cup B)^{\complement}=A^{\complement}\cap B^{\complement}
(A∪B)∁=A∪B∁(A \cup B)^{\complement}=A\cup B^{\complement}
(A∪B)∁=A∩B(A \cup B)^{\complement}=A\cap B

$$(A \cup B)^{\complement}=A^{\complement}\cap B^{\complement}$$

Explication

Les lois de De Morgan donnent (A∪B)∁=A∁∩B∁(A \cup B)^{\complement}=A^{\complement}\cap B^{\complement}. Un mot est absent de l’union lorsqu’il est absent de chacun des deux langages.

17. Quelle description correspond à la concaténation de deux langages L1L_1 et L2L_2 ?

Former chaque mot en plaçant un mot de L1L_1 avant un mot de L2L_2
Conserver les mots présents à la fois dans L1L_1 et dans L2L_2
Retirer de L1L_1 les mots qui apparaissent également dans L2L_2
Former chaque mot en choisissant un mot de L1L_1 ou un mot de L2L_2

Former chaque mot en plaçant un mot de $$L_1$$ avant un mot de $$L_2$$

Explication

La concaténation est L1⋅L2={w1⋅w2∣w1∈L1 et w2∈L2}L_1\cdot L_2=\{w_1\cdot w_2\mid w_1\in L_1\text{ et }w_2\in L_2\} : chaque mot commence par un élément de L1L_1 et se termine par un élément de L2L_2. Les autres descriptions correspondent respectivement à l’union, l’intersection et la différence.

18. Quels opérateurs fondamentaux permettent à une expression régulière de décrire un langage ?

Le tri, le comptage et la comparaison lexicographique
La dérivation, l’intégration et l’itération numérique
L’intersection, le complémentaire et la différence ensembliste
L’alternation, la concaténation et l’étoile de Kleene

L’alternation, la concaténation et l’étoile de Kleene

Explication

Une expression régulière décrit un langage grâce à l’alternation, à la concaténation et à l’étoile de Kleene. L’alternation offre un choix entre motifs, tandis que la concaténation les enchaîne.

19. Que signifie l’expression régulière e?e? ?

Elle représente au moins une occurrence de ee, car e?=ee∗e?=ee^*
Elle représente exactement deux occurrences de ee, car e?=eee?=ee
Elle représente toute concaténation de mots de ee, car e?=e∗e?=e^*
Elle représente zéro ou une occurrence de ee, car e?=e+εe?=e+\varepsilon

Elle représente zéro ou une occurrence de $$e$$, car $$e?=e+\varepsilon$$

Explication

L’opérateur optionnel vérifie e?=e+εe?=e+\varepsilon et autorise donc l’absence ou une occurrence de ee. L’expression e+=ee∗e^+=ee^* correspond plutôt à au moins une occurrence.

20. Quels sont les constituants de base de la syntaxe inductive de RegΣ\mathrm{Reg}_{\Sigma} ?

Les atomes ∅\emptyset, ε\varepsilon et chaque lettre de Σ\Sigma, puis les opérateurs construits
Les langages décidables de Σ∗\Sigma^*, auxquels on applique ensuite le complémentaire
Les nombres naturels et les mots vides, auxquels on ajoute une opération de comptage
Les seuls mots de Σ∗\Sigma^*, auxquels on ajoute ensuite les opérations d’intersection

Les atomes $$\emptyset$$, $$\varepsilon$$ et chaque lettre de $$\Sigma$$, puis les opérateurs construits

Explication

La syntaxe commence par les atomes ∅\emptyset, ε\varepsilon et les lettres de l’alphabet, puis construit e1+e2e_1+e_2, e1e2e_1e_2 et e1∗e_1^* à partir d’expressions existantes. Les opérations d’intersection et de complémentaire ne font pas partie des constructeurs inductifs indiqués.

21. Quelle distinction décrit correctement la sémantique d’une expression régulière ee ?

ee est un automate, tandis que L(e)L(e) est son ensemble d’états
ee est un mot, tandis que L(e)L(e) est l’alphabet utilisé
ee est un langage, tandis que L(e)L(e) est une expression qui le décrit
ee est une expression, tandis que L(e)L(e) est le langage qu’elle décrit

$$e$$ est une expression, tandis que $$L(e)$$ est le langage qu’elle décrit

Explication

L’expression régulière ee est la description syntaxique, tandis que sa sémantique L(e)L(e) est le langage associé. Confondre ces deux objets revient à traiter l’expression comme l’ensemble des mots qu’elle désigne.

22. Quelle est la sémantique de l’expression régulière ε\varepsilon ?

Le langage contenant le mot vide, soit {ε}\{\varepsilon\}
Le langage contenant tous les mots sur l’alphabet
Le langage contenant toutes les lettres de l’alphabet
Le langage vide, soit ∅\varnothing

Le langage contenant le mot vide, soit $$\{\varepsilon\}$$

Explication

Par définition, L(ε)={ε}L(\varepsilon)=\{\varepsilon\} : un seul mot est présent, le mot vide. Le langage vide correspond à l’expression ∅\varnothing, ce qui constitue la confusion classique entre ces deux expressions.

23. Si une expression régulière est donnée par e=e1+e2e=e_1+e_2, quel langage lui est associé ?

L(e1)∪L(e2)L(e_1)\cup L(e_2)
L(e1)∗∪L(e2)L(e_1)^*\cup L(e_2)
L(e1)∩L(e2)L(e_1)\cap L(e_2)
L(e1)⋅L(e2)L(e_1)\cdot L(e_2)

$$L(e_1)\cup L(e_2)$$

Explication

L’opérateur ++ représente l’union, donc L(e1+e2)=L(e1)∪L(e2)L(e_1+e_2)=L(e_1)\cup L(e_2). La concaténation des langages correspond à l’expression e1e2e_1e_2, tandis que l’étoile s’applique à une seule expression.

24. Quand un langage L⊆Σ∗L\subseteq\Sigma^* est-il rationnel ?

Lorsqu’il existe une expression régulière ee telle que L=L(e)L=L(e)
Lorsqu’il contient chaque mot possible de l’alphabet
Lorsqu’il contient un nombre fini de mots de longueur non nulle
Lorsqu’il peut être reconnu par une grammaire sans symbole terminal

Lorsqu’il existe une expression régulière $$e$$ telle que $$L=L(e)$$

Explication

Un langage est rationnel s’il est décrit par une expression régulière, c’est-à-dire s’il existe e∈RegΣe\in\mathrm{Reg}_\Sigma tel que L=L(e)L=L(e). La finitude ou le fait de contenir tous les mots ne constitue pas la définition générale de cette classe.

25. Quelle propriété de clôture découle directement de la syntaxe des expressions régulières ?

Le complément d’un langage rationnel est rationnel par une opération primitive
La différence de deux langages rationnels est rationnelle par une opération primitive
L’union de deux langages rationnels est rationnelle
L’intersection de deux langages rationnels est rationnelle par une opération primitive

L’union de deux langages rationnels est rationnelle

Explication

L’opérateur d’union permet de construire directement une expression régulière pour l’union de deux langages rationnels. L’intersection et le complément ne sont pas fournis directement par cette définition syntaxique, même si d’autres résultats peuvent ensuite établir leur clôture.

26. Pourquoi un langage indécidable comme HH ne peut-il pas être rationnel ?

Tout langage indécidable contient le mot vide
Tout langage rationnel est décidable
Tout langage rationnel est fini
Tout langage rationnel est égal à Σ∗\Sigma^*

Tout langage rationnel est décidable

Explication

Les langages rationnels sont tous décidables, donc un langage indécidable comme HH ne peut pas appartenir à cette classe. La rationalité n’implique ni la finitude ni l’égalité avec l’ensemble de tous les mots.

27. Dans un automate fini A=(Q,Σ,δ,I,F)A=(Q,\Sigma,\delta,I,F), que représentent respectivement II et FF ?

Les états acceptants et les états initiaux
Les états initiaux et les états acceptants
Les lettres initiales et les lettres finales
Les chemins entrants et les chemins sortants

Les états initiaux et les états acceptants

Explication

Dans cette définition, II est l’ensemble non vide des états initiaux et FF l’ensemble des états acceptants. Les inverser confond le point de départ des chemins avec leur condition d’acceptation.

28. À quelle condition un automate fini accepte-t-il un mot ww ?

S’il existe un chemin étiqueté par ww d’un état initial vers un état acceptant
Si ww contient toutes les lettres de l’alphabet de l’automate
Si chaque état de l’automate appartient à un chemin étiqueté par ww
Si une arête quelconque porte une lettre présente dans ww

S’il existe un chemin étiqueté par $$w$$ d’un état initial vers un état acceptant

Explication

L’acceptation exige l’existence d’un chemin portant exactement le mot ww, partant d’un état initial et aboutissant à un état acceptant. La présence d’une lettre ou d’un chemin partiel ne suffit pas à établir l’acceptation.

29. Que contient le langage L(A)L(A) reconnu par un automate fini AA ?

Tous les mots de Σ∗\Sigma^* refusés par AA
Les états atteints après la lecture des mots
Les lettres apparaissant sur les arêtes de l’automate
Tous les mots de Σ∗\Sigma^* acceptés par AA

Tous les mots de $$\Sigma^*$$ acceptés par $$A$$

Explication

Par définition, L(A)={w∈Σ∗∣A accepte w}L(A)=\{w\in\Sigma^*\mid A\text{ accepte }w\} rassemble les mots acceptés par l’automate. Les mots refusés sont dans le complément relatif à Σ∗\Sigma^*, pas dans L(A)L(A).

30. Comment un mot peut-il être refusé par un automate fini ?

Le mot est refusé dès qu’il existe un état initial dans l’automate
Un chemin porte le mot mais n’aboutit pas à un état acceptant, ou aucun chemin ne le porte
Le mot contient une lettre qui n’appartient à aucun état acceptant
Un mot est refusé lorsque plusieurs chemins distincts portent ses lettres

Un chemin porte le mot mais n’aboutit pas à un état acceptant, ou aucun chemin ne le porte

Explication

Le refus peut provenir de deux situations : un chemin étiqueté par le mot existe mais ne termine pas dans un état acceptant, ou bien aucun chemin ne porte ce mot. La multiplicité des chemins n’entraîne pas en elle-même le refus, car un seul chemin acceptant suffit.

31. Quelle condition caractérise un automate déterministe, ou DFA ?

Il accepte un mot dès qu’un chemin parmi plusieurs est acceptant
Il possède une transition epsilon depuis chaque état vers un état accessible
Il possède un état initial unique et au plus une transition par lettre depuis chaque état
Il possède plusieurs états initiaux et au moins une transition par lettre depuis chaque état

Il possède un état initial unique et au plus une transition par lettre depuis chaque état

Explication

Un DFA possède exactement un état initial et, pour chaque état et chaque lettre, au plus une arête sortante portant cette lettre. La présence de plusieurs chemins pour une même lettre correspondrait à une situation non déterministe.

32. Un mot possède deux chemins dans un NFA, dont un seul est acceptant. Quelle est la conclusion correcte ?

Le mot est accepté, car un chemin acceptant suffit
Le mot est rejeté, car tous les chemins doivent être acceptants
Le résultat dépend du nombre d’états parcourus par chaque chemin
Le mot est accepté seulement si les deux chemins ont la même longueur

Le mot est accepté, car un chemin acceptant suffit

Explication

Dans un NFA, l’existence d’au moins un chemin acceptant suffit pour accepter le mot. Exiger que tous les chemins soient acceptants confond le fonctionnement d’un NFA avec une condition plus restrictive qui n’est pas celle donnée ici.

33. Dans quelle situation un automate est-il complet ?

Chaque état possède au plus une transition pour chaque lettre de l’alphabet
Chaque état possède au moins une transition pour chaque lettre de l’alphabet
Chaque mot possède au moins un chemin acceptant depuis l’état initial
Chaque état possède une transition epsilon vers un état appartenant au même cycle

Chaque état possède au moins une transition pour chaque lettre de l’alphabet

Explication

Un automate complet dispose, depuis chaque état, d’au moins une arête sortante étiquetée par chaque lettre de l’alphabet. La condition « au plus une transition » décrit le déterminisme, pas la complétude.

34. Quel rôle joue une transition spontanée dans un automate ?

Elle redirige toute transition manquante vers un état puits non acceptant
Elle permet de changer d’état sans lire de lettre de l’entrée
Elle garantit qu’une seule transition est possible pour chaque lettre
Elle impose de lire deux lettres consécutives avant de changer d’état

Elle permet de changer d’état sans lire de lettre de l’entrée

Explication

Une transition spontanée est étiquetée par ε\varepsilon et peut être empruntée sans consommer de lettre de l’entrée. L’état puits et la redirection des transitions manquantes relèvent de la complétion, pas des transitions spontanées.

35. Que fait l’algorithme de complétion lorsqu’une transition manque dans un automate ?

Il fusionne les états qui possèdent des transitions portant la même lettre
Il ajoute un état puits non acceptant avec une boucle pour chaque lettre
Il supprime l’état initial et relie les états acceptants par des transitions epsilon
Il remplace chaque état acceptant par un état doté d’une seule transition sortante

Il ajoute un état puits non acceptant avec une boucle pour chaque lettre

Explication

La complétion ajoute un état puits non acceptant, muni d’une boucle pour chaque lettre, puis y dirige les transitions manquantes. Cette construction rend l’automate complet tout en préservant son langage.

36. Que garantit le théorème de Kleene pour une expression régulière e sur un alphabet Σ ?

Il existe une expression régulière e′ qui contient une transition epsilon pour chaque lettre de Σ
Il existe un ε-NFA A tel que L(e)=L(A)L(e)=L(A)
Il existe un DFA complet A tel que chaque état soit acceptant
Il existe un NFA sans transitions epsilon dont le nombre d’états vaut deux fois la taille de e

Il existe un ε-NFA A tel que $$L(e)=L(A)$$

Explication

Le théorème de Kleene affirme que toute expression régulière peut être reconnue par un ε-NFA ayant le même langage. Il ne garantit pas directement que l’automate obtenu soit déterministe, complet ou dépourvu de transitions epsilon.

37. Quelle propriété caractérise l’automate construit par l’algorithme de Thompson ?

Il possède un état initial pour chaque sous-expression et un état acceptant partagé
Il construit un automate déterministe en fusionnant les états des sous-expressions
Il possède un état initial unique et un état acceptant unique, distinct du précédent
Il élimine les transitions epsilon avant de traiter l’union et l’étoile

Il possède un état initial unique et un état acceptant unique, distinct du précédent

Explication

L’algorithme de Thompson construit inductivement un ε-NFA avec un unique état initial et un unique état acceptant distinct. Les transitions epsilon font partie de cette construction, et l’algorithme ne réalise pas directement une déterminisation.

38. Que contient la fermeture epsilon avant d’un état q ?

Les états atteignables depuis q après avoir lu une lettre quelconque de l’alphabet
Les états atteignables depuis q par des transitions epsilon, y compris q
Les états acceptants accessibles depuis q par un chemin contenant au moins une lettre
Les états depuis lesquels q est atteignable par des transitions epsilon, sans inclure q

Les états atteignables depuis q par des transitions epsilon, y compris q

Explication

La fermeture epsilon avant regroupe les états accessibles depuis q en utilisant uniquement des transitions epsilon et contient également q lui-même. La notion qui remonte vers q correspond à une fermeture arrière, tandis que la lecture d’une lettre n’intervient pas ici.

39. Depuis quel point la fermeture epsilon avant ε_A^forward(q) explore-t-elle les états ?

Elle part de l’état initial et lit une lettre avant chaque transition epsilon
Elle part des états acceptants et recherche les chemins menant à q
Elle part de q et suit les transitions epsilon vers l’avant
Elle remonte vers q en suivant les transitions epsilon à rebours

Elle part de q et suit les transitions epsilon vers l’avant

Explication

La fermeture epsilon avant contient les états atteignables depuis q en ne suivant que des transitions epsilon. Remonter vers q correspond à une fermeture arrière, qui est une notion différente.

40. Comment commence le calcul itératif de la fermeture epsilon avant d’un état q ?

Chaque cellule contient d’abord q et ses successeurs immédiats par epsilon
Chaque cellule contient d’abord les états atteignables après lecture d’une lettre
Chaque cellule contient d’abord tous les états acceptants accessibles depuis q
Chaque cellule contient d’abord les états qui possèdent une transition vers q

Chaque cellule contient d’abord q et ses successeurs immédiats par epsilon

Explication

L’initialisation place q ainsi que ses successeurs immédiats par transition epsilon dans la cellule correspondante. Les itérations ajoutent ensuite les fermetures déjà calculées afin de prendre en compte les chemins epsilon plus longs.

41. Soit p dans la fermeture epsilon avant de q et une transition p→xrp\xrightarrow{x}r avec x dans l’alphabet. Quelle transition doit être ajoutée après suppression des epsilon ?

Une transition p→εqp\xrightarrow{\varepsilon}q
Une transition q→xrq\xrightarrow{x}r
Une transition r→xqr\xrightarrow{x}q
Une transition q→εrq\xrightarrow{\varepsilon}r

Une transition $$q\xrightarrow{x}r$$

Explication

Toute transition étiquetée partant d’un état p atteint depuis q par des transitions epsilon doit être reproduite depuis q avec la même lettre et la même destination. Cette règle permet de conserver les chemins acceptés après retrait des transitions epsilon.

42. Que faut-il faire si un état acceptant r appartient à la fermeture epsilon avant d’un état p ?

Déclarer p acceptant dans l’automate sans transitions epsilon
Supprimer r des états acceptants avant de retirer les transitions epsilon
Déclarer comme acceptants les seuls états situés avant p dans le graphe
Ajouter une transition étiquetée par chaque lettre entre p et r

Déclarer p acceptant dans l’automate sans transitions epsilon

Explication

Si p peut atteindre un état acceptant r uniquement par des transitions epsilon, p doit devenir acceptant dans l’automate transformé. Cette déclaration préserve l’acceptation des mots qui se terminent avant ces transitions epsilon.

43. Quelle propriété caractérise un état accessible dans un automate ?

Il possède une transition sortante pour chaque lettre.
Un état final peut être atteint depuis lui.
Il peut être atteint depuis un état initial.
Il appartient à une boucle parcourue par un mot accepté.

Il peut être atteint depuis un état initial.

Explication

Un état est accessible lorsqu’un chemin le relie à un état initial. La possibilité d’atteindre un état final depuis lui décrit plutôt la co-accessibilité.

44. Dans quelle situation un état est-il co-accessible ?

Lorsqu’un état final peut être atteint depuis lui.
Lorsqu’il possède une transition entrante depuis chaque état.
Lorsqu’il peut être atteint depuis un état initial.
Lorsqu’il est lui-même l’unique état initial.

Lorsqu’un état final peut être atteint depuis lui.

Explication

La co-accessibilité signifie qu’un chemin partant de l’état mène à un état final. L’accessibilité, elle, s’évalue dans le sens allant des états initiaux vers l’état considéré.

45. Quelle procédure permet de déterminer les états à conserver lors de l’élagage d’un automate ?

Chercher les accessibles depuis les initiaux, puis les co-accessibles depuis les finaux en inversant les arêtes.
Parcourir les transitions depuis chaque état et supprimer ceux qui possèdent plusieurs successeurs.
Chercher les co-accessibles depuis les initiaux, puis les accessibles depuis les finaux en conservant les arêtes.
Identifier les états finaux, puis supprimer les états qui ne sont pas atteints par une transition directe.

Chercher les accessibles depuis les initiaux, puis les co-accessibles depuis les finaux en inversant les arêtes.

Explication

L’élagage conserve l’intersection des états accessibles et co-accessibles, obtenue par ces deux recherches successives. La recherche des co-accessibles part des états finaux après inversion des arêtes, et non des états initiaux.

46. Quel est l’effet de la suppression des états inutiles d’un automate ?

Elle produit un automate élagué équivalent à l’automate initial.
Elle modifie le langage reconnu en supprimant les mots les plus longs.
Elle conserve les états inutiles mais retire leurs transitions sortantes.
Elle transforme nécessairement l’automate en automate déterministe complet.

Elle produit un automate élagué équivalent à l’automate initial.

Explication

Les états inutiles ne contribuent à aucun calcul allant d’un état initial à un état final, donc leur suppression conserve le langage reconnu. Cette opération ne détermine pas à elle seule le caractère déterministe ou complet de l’automate.

47. Que représente un état du DFA construit par la méthode des sous-ensembles ?

Un ensemble d’états finaux atteint après lecture du mot complet.
Un ensemble de configurations possibles du NFA.
Un état unique du NFA choisi parmi les configurations courantes.
Une transition du NFA portant plusieurs lettres simultanément.

Un ensemble de configurations possibles du NFA.

Explication

La construction par sous-ensembles étiquette chaque état du DFA par un ensemble d’états du NFA. Cet ensemble regroupe les configurations possibles après la lecture d’un préfixe, plutôt qu’un état unique.

48. Si le DFA est dans l’ensemble d’états SS et lit la lettre aa, comment calcule-t-on son successeur ?

On choisit l’état atteint par aa depuis le premier état de SS.
On conserve les états de SS qui possèdent une transition entrante étiquetée par aa.
On rassemble les états atteignables par toutes les lettres depuis chaque état de SS.
On rassemble les états atteignables par aa depuis au moins un état de SS.

On rassemble les états atteignables par $$a$$ depuis au moins un état de $$S$$.

Explication

Le successeur est Sa={q∣∃p∈S, p→aAq}S_a=\{q\mid\exists p\in S,\ p\xrightarrow{a}_A q\}, c’est-à-dire l’union des destinations obtenues depuis les états de SS. Il suffit donc qu’un état de l’ensemble possède la transition pertinente.

49. À quelle condition un état du DFA obtenu par sous-ensembles est-il acceptant ?

Son étiquette contient exactement un état final du NFA.
Tous les états figurant dans son étiquette sont acceptants dans le NFA.
Son étiquette contient au moins un état acceptant du NFA.
Il est atteint après la lecture d’un mot dont la longueur est paire.

Son étiquette contient au moins un état acceptant du NFA.

Explication

Un ensemble d’états du DFA est acceptant dès qu’il contient au moins un état acceptant du NFA. Une seule configuration acceptante suffit, car le NFA accepte lorsqu’une exécution possible aboutit à un état final.

50. Quel nombre maximal d’états peut posséder le DFA construit à partir d’un NFA ayant nn états ?

n!n!, car les états du DFA correspondent aux permutations des états du NFA.
2n2n, car chaque état du NFA donne deux états dans le DFA.
2n2^n, car il existe autant de sous-ensembles d’un ensemble de nn états.
n2n^2, car chaque paire d’états du NFA forme un état du DFA.

$$2^n$$, car il existe autant de sous-ensembles d’un ensemble de $$n$$ états.

Explication

Chaque état du DFA est un sous-ensemble d’états du NFA, et un ensemble de nn éléments possède 2n2^n sous-ensembles. Cette borne inclut les ensembles possibles, même si certains ne sont pas atteignables dans la construction.

51. Pourquoi tout langage rationnel est-il décidable ?

Parce que tout langage rationnel contient un nombre fini de mots pouvant être énumérés à l’avance.
Parce qu’un DFA le reconnaît et termine son exécution après un nombre fini d’étapes proportionnel à la longueur du mot.
Parce que la décidabilité impose qu’un automate reconnaissant le langage soit non déterministe.
Parce qu’un langage rationnel possède nécessairement le même nombre de mots acceptés et rejetés.

Parce qu’un DFA le reconnaît et termine son exécution après un nombre fini d’étapes proportionnel à la longueur du mot.

Explication

Un DFA traite chaque symbole du mot puis s’arrête, ce qui fournit un algorithme de décision pour l’appartenance au langage. La décidabilité porte sur l’existence d’une procédure terminante, tandis que la rationalité porte sur la reconnaissance par automate fini.

52. Pourquoi un mot de longueur strictement supérieure à nn accepté par un DFA à nn états contient-il une partie pompable ?

Le DFA possède plus de transitions que d’états, ce qui impose une répétition de chaque lettre.
Chaque état est visité exactement deux fois, ce qui sépare le mot en deux facteurs égaux.
Un état est visité au moins deux fois, ce qui crée une boucle dans la décomposition du mot.
Le mot contient nécessairement deux symboles identiques consécutifs, ce qui forme une boucle directe.

Un état est visité au moins deux fois, ce qui crée une boucle dans la décomposition du mot.

Explication

La longueur du parcours dépasse le nombre d’états, donc le principe des tiroirs force la répétition d’un état. Le segment situé entre les deux visites fournit un facteur non vide yy dans w=x⋅y⋅zw=x\cdot y\cdot z, répétable dans le parcours.

53. Que garantit le lemme de pompage pour un langage rationnel LL ?

Chaque mot de longueur inférieure à n0n_0 peut être répété sans changer son appartenance à LL.
Il existe un seuil n0n_0 tel que tout mot assez long de LL possède une décomposition pompable restant dans LL.
Tout mot de LL peut être décomposé en trois facteurs de même longueur appartenant eux-mêmes à LL.
Il existe un seuil au-delà duquel tous les mots sont acceptés après répétition d’un même facteur.

Il existe un seuil $$n_0$$ tel que tout mot assez long de $$L$$ possède une décomposition pompable restant dans $$L$$.

Explication

Le lemme affirme que tout mot de LL de longueur au moins n0n_0 s’écrit w=x⋅y⋅zw=x\cdot y\cdot z avec y≠εy\ne\varepsilon et x⋅y∗⋅z⊆Lx\cdot y^*\cdot z\subseteq L. Il ne concerne donc pas une égalité de longueurs entre les facteurs ni tous les mots possibles.

54. Quelle propriété combine correctement décidabilité et rationalité pour le langage L={anbn∣n∈N}L=\{a^n b^n\mid n\in\mathbb{N}\} ?

Il est rationnel mais indécidable.
Il est à la fois rationnel et indécidable.
Il est décidable mais non rationnel.
Il est à la fois rationnel et décidable.

Il est décidable mais non rationnel.

Explication

On peut décider l’appartenance en vérifiant la forme du mot et l’égalité entre les nombres de aa et de bb, mais aucun automate fini ne reconnaît ce langage. La non-rationalité n’implique donc pas l’indécidabilité.

55. Pour appliquer le lemme de l’étoile au langage L={anbn∣n∈N}L=\{a^n b^n\mid n\in\mathbb{N}\}, quelle démarche permet de montrer que ce langage n’est pas rationnel ?

Construire quatre états mémorisant les parités des lettres du mot
Examiner les trois positions possibles du facteur pompé dans un mot de LL
Comparer les restes modulo trois des longueurs des mots de LL
Fusionner les états qui acceptent les mêmes suffixes du mot

Examiner les trois positions possibles du facteur pompé dans un mot de $$L$$

Explication

La preuve distingue les trois emplacements possibles du facteur pompé : dans le bloc des aa, dans le bloc des bb ou à cheval sur les deux. Les autres démarches concernent respectivement les restes modulo trois, les parités ou la minimisation d’un automate.

56. Pourquoi le langage L={anbn∣n∈N}L=\{a^n b^n\mid n\in\mathbb{N}\} n’est-il pas reconnu par un automate fini ?

Il faut mémoriser séparément quatre parités pour chaque position de l’entrée
Il faut distinguer les mots selon un nombre fini de configurations fixes
Il faut mémoriser un compteur dont les valeurs possibles ne sont pas bornées
Il faut conserver les restes modulo trois de toutes les lettres déjà lues

Il faut mémoriser un compteur dont les valeurs possibles ne sont pas bornées

Explication

Un langage rationnel est reconnaissable avec une quantité constante de mémoire, tandis que LL exige de comparer deux quantités pouvant croître sans borne. Les parités et les restes modulo trois, eux, peuvent être stockés dans un nombre fini d’états.

57. Quelle procédure de comptage décide si un mot appartient à L={anbn∣n∈N}L=\{a^n b^n\mid n\in\mathbb{N}\} ?

Compter les aa, décrémenter pour chaque bb, puis vérifier que le compteur vaut zéro à la fin
Compter les bb, décrémenter pour chaque aa, puis accepter dès que le compteur devient nul
Alterner deux états pour chaque lettre, puis accepter lorsque l’état final est acceptant
Calculer le reste modulo trois de la longueur, puis accepter pour un reste nul

Compter les $$a$$, décrémenter pour chaque $$b$$, puis vérifier que le compteur vaut zéro à la fin

Explication

La procédure incrémente le compteur pendant le bloc des aa, le décrémente pendant le bloc des bb et accepte si l’entrée est entièrement lue avec un compteur nul. Les autres procédures suivent des critères de parité ou de divisibilité qui ne comparent pas les deux blocs.

58. Combien d’états sont nécessaires pour mémoriser séparément la parité du nombre de aa et celle du nombre de bb ?

Un état, car les deux parités peuvent être regroupées dans une seule valeur
Quatre états, correspondant aux quatre couples de parités possibles
Trois états, correspondant aux trois restes possibles d’un compteur
Deux états, correspondant à l’acceptation ou au refus du mot

Quatre états, correspondant aux quatre couples de parités possibles

Explication

Chaque lettre possède deux possibilités de parité, donc les deux parités combinées donnent quatre configurations mémorisables. Trois états suffisent pour un reste modulo trois, mais pas pour ces deux informations binaires indépendantes.

59. Quand deux états q1q_1 et q2q_2 d’un automate déterministe sont-ils indistinguables ?

Lorsqu’ils appartiennent à la même partie de la représentation graphique
Lorsqu’ils acceptent exactement les mêmes mots à partir de leurs positions respectives
Lorsqu’ils sont atteints après des mots d’entrée de même longueur
Lorsqu’ils possèdent le même nombre de transitions sortantes dans l’automate

Lorsqu’ils acceptent exactement les mêmes mots à partir de leurs positions respectives

Explication

Deux états sont indistinguables si, pour tout mot w∈Σ∗w\in\Sigma^*, l’acceptation de ww depuis l’un équivaut à son acceptation depuis l’autre. Le nombre de transitions, la longueur des préfixes ou la position graphique ne déterminent pas cette propriété.

60. Quelle opération constitue la minimisation d’un automate déterministe ?

Remplacer chaque transition par une nouvelle transition portant sur un mot plus long
Séparer chaque état selon les mots qui l’atteignent et conserver toutes les copies obtenues
Supprimer les états non acceptants et relier leurs prédécesseurs aux états acceptants
Regrouper les états indistinguables en classes puis fusionner les états de chaque classe

Regrouper les états indistinguables en classes puis fusionner les états de chaque classe

Explication

La minimisation forme les classes d’équivalence des états indistinguables, puis fusionne les membres de chaque classe. Les états non acceptants peuvent être nécessaires et les états distinguables ne peuvent pas être fusionnés sans modifier le langage.

61. Que garantit le théorème de Myhill-Nerode pour un langage rationnel ?

Il possède un automate déterministe minimal unique dont le nombre d’états égale celui des classes d’indistinguabilité
Il possède un automate minimal dont le nombre d’états égale le nombre de mots acceptés
Il possède une expression rationnelle unique dont chaque symbole définit une classe d’états
Il possède un automate non déterministe unique dont chaque état correspond à une lettre de l’alphabet

Il possède un automate déterministe minimal unique dont le nombre d’états égale celui des classes d’indistinguabilité

Explication

Le théorème de Myhill-Nerode établit l’existence et l’unicité de l’automate déterministe minimal, avec autant d’états que de classes d’indistinguabilité. Le nombre d’états ne dépend pas du nombre de mots acceptés et l’expression rationnelle n’est pas unique.

62. Comment l’algorithme de Moore construit-il progressivement la partition des états ?

Il supprime les états non acceptants, puis relie directement leurs transitions aux états acceptants
Il sépare d’abord les états acceptants des non-acceptants, puis scinde selon les classes des successeurs jusqu’à stabilisation
Il regroupe d’abord les états ayant le même état initial, puis scinde selon la longueur des mots lus
Il commence par une classe par état, puis fusionne les classes dont les transitions portent la même lettre

Il sépare d’abord les états acceptants des non-acceptants, puis scinde selon les classes des successeurs jusqu’à stabilisation

Explication

La partition initiale distingue l’acceptation de ε\varepsilon, puis les transitions sont examinées pour détecter des successeurs situés dans des classes différentes. Le processus répète ces divisions jusqu’à ce qu’aucune nouvelle séparation ne soit nécessaire.

63. Dans la table de Moore, quand deux états d’une même classe sont-ils en conflit pour une lettre donnée ?

Lorsque leurs successeurs sont le même état acceptant
Lorsque les deux états ont été atteints par des mots de longueurs différentes
Lorsque la lettre examinée apparaît plusieurs fois dans l’alphabet
Lorsque leurs successeurs appartiennent à deux classes différentes

Lorsque leurs successeurs appartiennent à deux classes différentes

Explication

Il y a conflit lorsque, pour une même lettre, les deux états conduisent à des successeurs appartenant à des classes différentes. Des successeurs dans une même classe ne justifient pas une séparation, même s’ils sont des états distincts.

64. Après stabilisation de la table de Moore, comment obtient-on l’automate quotient ?

Chaque classe devient un état, la classe initiale devient initiale et les classes contenant un acceptant deviennent acceptantes
Les états acceptants sont remplacés par une expression rationnelle, puis les autres états sont conservés
Chaque état conserve son identité, tandis que seules les transitions conflictuelles sont supprimées
Chaque classe devient une transition, et l’état contenant le plus d’éléments devient l’état initial

Chaque classe devient un état, la classe initiale devient initiale et les classes contenant un acceptant deviennent acceptantes

Explication

La partition stabilisée définit les états du nouvel automate : la classe de l’état initial est initiale et toute classe contenant un état acceptant est acceptante. Les états ne sont donc pas conservés individuellement lorsque plusieurs appartiennent à une même classe.

65. Quelle équivalence fondamentale relie les automates finis et les expressions rationnelles ?

Seuls les automates déterministes reconnaissent des langages exprimables par une expression rationnelle
Une expression rationnelle ne peut représenter qu’un automate possédant un état acceptant unique
Tout automate fini reconnaît un langage reconnaissable par une expression rationnelle appropriée
Les automates avec transitions ε\varepsilon reconnaissent des langages plus vastes que les automates déterministes

Tout automate fini reconnaît un langage reconnaissable par une expression rationnelle appropriée

Explication

Les automates déterministes, non déterministes et à transitions ε\varepsilon reconnaissent exactement les langages décrits par des expressions rationnelles appropriées. Les différences de modèle n’élargissent pas la famille des langages rationnels.

Révisez avec les flashcards

Mémorisez les réponses avec 87 flashcards sur Théorie des langages rationnels.

Qu'est-ce qu'un langage en informatique formelle ?

Un ensemble de suites d’objets élémentaires avec une signification.

Qu'est-ce qu'un alphabet en théorie des langages ?

Un ensemble fini de symboles appelés lettres.

Qu'est-ce qu'un mot sur un alphabet Σ ?

Une suite finie, éventuellement vide, de lettres de Σ.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Théorie des langages rationnels.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM