Théorie de lngges, TD3 Octoer 6, 25 Automtes finis. Definitions Un utomte fini déterministe (DFA deterministic finite utomton) est une mchine de clcul A qui peut être définie pr les cinq éléments suivnts. Un lphet (fini, non-vide) Σ 2. Un ensemle (fini, non-vide) Q qui est ppelé l ensemle d étts 3. Une fonction δ : Q Σ Q qui est ppelée fonction de trnsition 4. Un étt q Q qui est l étt initil 5. Un ensemle F Q d étts terminux On écrit A = (Σ, Q, δ, q, F ). Etnt donné un mot w, un DFA A v fire un clcul pour decider s il v ccepter w. D ord, l étt du DFA est q, l étt initil. Si le premiere crctère du w est c, on pplique l fonction de trnsition δ(q, c ) qui nous donne un étt q Q. Mintennt on dit que le DFA est sur l étt q ou que q est l étt cournt. Puis, l utomte lit le crctère suivnt et pplique l fonction δ sur l étt cournt et ce crctère pour clculer l étt suivnt. L utomte vnce en cette mnière jusqu à l fin du w. Une fois que le derniere crctère du w été lu, le clcul est fini. On dit que l utomt ccepté w si l étt cournt en ce moment pprtient à F. Si A est un DFA, le lngge L(A) est l ensemle des mots qui sont cceptés pr A, c est-à-dire L(A) = {w A ccepte w}. On dit qu un lngge L est regulier s il y un DFA A tel que L = L(A). En ce cs on dit que A reconnit L. On peut donner l description d un utomte A pr un grphe orienté dont les sommets sont les étts de A, et les rêtes, qui sont etiquetées, donnent les trnsitions.
q strt q q 3, q 2 Pour l utomte donné ci-dessus, le mot conduit à q 3 (et ser donc ccepté), insi que le mot conduit à q 2 (et n est ps ccepté). Une utre fçon de donner l fonction de trnsition δ est de donner une tle des trnsitions. Pour l utomte ci-dessus on l tle : q q q 2 q q q 3 q q 2 q 3 q 3 q 3 Les utomtes finis sont un modèle de clcul très limité en comprison vec les ordinteurs réels. Leurs deux limittions principles sont les suivntes: L quntité de mémoire disponile est ornée. On represente l mémoire de ce modèle de clcul vec les étts : chnger l étt d un DFA est equivlent à chnger le vleur d une vrile dns un progrmme Jv. Mis l difference est qu on ne dispose qu un nomre très limité d étts. Donc, utiliser un DFA est comme écrire un progrmme vec un nomre des vriles limité. Le DFA ne peut lire l entrée qu une seule fois. C est une limittion ssez dure en cominison vec l limite sur l mémoire..2 Exemples Pour chcun des lngges suivnts essyez donner un utomte fini qui le reconnit. L lphet est toujours Σ = {, }.. {,, } 2. {ɛ, } 3. {w l tille du w est impire} 4. {w w ne contient ps de } 2
5. {w w contient le sous-mot } 6. {w w commence vec et finit pr } 7. {w w contient un nomre pir de } 8. {w les crctères à positions impires sont toujours } 9. {w w contient un nomre pir de et un nomre pir de }. {w w contient un nomre pir de ou un nomre pir de }. {w w contient le même nomre de et } 2. {w w est un plindrome} Pour les utomtes suivnts, decrivez les lngges qu ils cceptent. Votre description peut être en frnçis (mis vous devez être précis) ou vec une expression régulière. L lphet est Σ = {, }. strt q q q Solution: L = les mots qui contiennent le sous-mot., 2. q strt q q Solution: L = les mots qui contiennent u plus deux., q strt q q 3. Solution: L = les mots qui contiennent un nomre de divisile pr 4. 3
.3 Propriétés simples. Si L est un lngge regulier et fini, il y un utomte A tel que L = L(A) et L ne contient ps de cycles non-triviles. Un cycle est une suite q, q,..., q r tel que q = q r et i < r c Σ tel que δ(q i, c) = q i+. Un cycle est trivile s il ne contient qu un seul étt q et q F. 2. (L inverse). Si un utomte A ne contient ps de cycles non-triviles, est-il vri que L(A) est fini? 3. Prouvez que les lngges reguliers sont fermés pr complement. C est-àdire que, si L = L(A) pour un utomt A, il y A tel que L = L(A ). Solution: On un utomte A dont les étts sont Q et les étts terminux F. On peut construire un utomte A qui les mêmes étts, l même foncion de trnsition et le même étt initil que A. L seule difference est que l ensemle d étts terminux pour A est Q \ F, c est-à-dire les étts non-terminux de A. C est evident que les mots qui sont cceptés pr A sont exctement les mots qui ne sont ps cceptés pr A, donc L(A ) = L(A)..4 Autres propriétés. Prouvez que les lngges reguliers sont fermés pr intersection. Autrement dit, si L = L(A ) et L 2 = L(A 2 ) lors il y un utomte A 3 tel que L L 2 = L(A 3 ). Solution: On les utomtes A = (Q, δ, q, F ) et A 2 = (Q 2, δ 2, q 2, F 2 ). On v construire un utomte A 3 qui ccepte L L 2. D ord, l ensemle d étts de A 3 ser le produit crtésien de Q et Q 2, c est-à-dire que Q 3 = Q Q 2. Autrement dit, pour chque étt q Q et chque étt r Q 2 on construit un étt ppelé (q, r) à Q 3. L idée est qu on v se souvenir u même temps les étts de A, A 2 pendnt le prcours du mot. Mintennt, on peut définir l fonction de trnsition δ 3 ((q, r), c) = (δ (q, c), δ 2 (r, c)). Autrement dit, supposons que on est ctuellement dns l étt (q, r). Ç veut dire que si l utomte A vit lu le mot, son étt serit (à ce point) q (et similirement pour A 2 l étt serit r). Le symole qui suit est c. Donc, l utomte A llit vncer vers l étt δ (q, c) (et similirement A 2 vers δ 2 (r, c)). Donc, l étt cominé est (δ (q, c), δ 2 (r, c)). Avec ce logique, c est fcile à voir que l étt initil de A 3 est (q, q 2 ). Enfin, il fut définir les étts terminux. Ces sont les étts tels que les tous les deux utomtes cceptent le mots. Donc, on F 3 = F F 2. 2. Prouvez que les lngges reguliers sont fermés pr union. Autrement dit, si L = L(A ) et L 2 = L(A 2 ) lors il y un utomte A 3 tel que L L 2 = L(A 3 ). Solution: On peut donner deux preuves differentes. D ord, on peut oserver que l construction qu on fite pour l intersection mrche vec 4
une modifiction légére: l ensemle d etts terminux ser mintennt F 3 = F Q 2 Q F 2. C est-à-dire que l utomte A 3 v ccepter si u moins un des utomtes A, A 2 llit ccepter, et l utre peut être dns n importe quel étt. L utre preuve (un peu non-constructive) est d oserver que les lngges reguliers sont fermés pr complementtion et intersection. Pr les lois de De Morgn on L L 2 = (L L 2 ). Si L, L 2 sont reguliers, lors les lngges L, L 2 sont reguliers (fermeture pr complementtion), donc le lngge L L 2 est regulier (fermeture pr intersection), donc le lngge (L L 2 ) est regulier (fermeture pr complementtion)..5 Autres exemples. L lphet est Σ = {, }. Donnez un utomte qui reconnit les mots qui sont divisile pr 4, si on les lit comme des nomres inires. Pr exemple, il fut ccepter (qui est 2) et (qui est 2) mis ps (qui est 5) ou (qui est 4). Vous pouvez ussi ccepter le mot vide. Solution: strt q q q 2 2. L lphet est Σ = {,, 2, +, }. Donnez un utomte qui reconnit les mots representnt des expressions dont l vleur est divisile pr 3. Donc, il fut ccepter le mot + 2 + 2 + et le mot 2 2 mis ps les mots + 2 + ou le mot 2. L utomte ne doit ps ccepter les expressions ml formées, comme pr exemple 2 + + ou ou 2. Toute expression cceptée doit commencer vec un chiffre et lterner entre chiffres {,, 2} et opertions rithmetiques {+, }. Vous pouvez ussi ccepter le mot vide. 5