1 / 33

Autómatas finitos

Autómatas finitos. Tomado de Sudkamp: Languages and Machines Cap. 6. Estados finales. Estado inicial. Conjunto de estados. Función de transición. q 0. q 1. q 0. Q. a. q 1. q 1. q 2. b. a. b. q 2. q 2. q 2. q 2. q 1. q 0. b. a. Autómatas Finitos (determinísticos).

darena
Download Presentation

Autómatas finitos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Autómatas finitos Tomado de Sudkamp: Languages and Machines Cap. 6.

  2. Estados finales Estado inicial Conjunto de estados Función de transición q0 q1 q0 Q a q1 q1 q2 b a b q2 q2 q2 q2 q1 q0 b a Autómatas Finitos (determinísticos) M=(,Q,,q0,F) Alfabeto  a b

  3. a b a b q0 q2 q1 b a M=(,Q,,q0,F) Funcionamiento del autómata Palabras que contienen aab *(aab,q1)=  (*(aa,q1),b)= (  (*(a,q1),a),b)=  ((  (*(,q1),a),a),b)=  ((  (q1,a),a),b)=  (( q1,a),b)=  ( q1,b)= q2 [q1,aab][q1,ab][q1,b][q2,]

  4. b b b a a b a a q3 q0 q1 q3 q0 q0 q1 q2 q1 q2 q2 Ejemplos Palabras que contienen exactamente 2 a’s Palabras que contienen exactamente 3k b’s Lenguaje representado por la expresión aa*b

  5. q1 q0 q2 q1 q0 q2 q1 q2 q3 q0 q1 q2 q0 Autómatas finitos no determinísticos

  6. q1 q0 q2 q4 q3 q5 q6 Autómatas finitos no determinísticos Palabras que empiezan por ab y terminan con ba a(bawb(awb)*ba)

  7. q1 q0 q2 q4 q3 Autómatas finitos no determinísticos M=(,Q,,q0,F) q0 q1q2 q3 q4 a q1 q2q4  b  q2 q2,q3  

  8. Autómatas finitos no determinísticos M=(,Q,,q0,F) qi qk qj w u

  9. Autómatas FND M=(,Q,,q0,F)

  10. Ejemplos AFND

  11. Ejemplos AFND (6.4.6) {, ab, aabb, aaabbb} ¿ ?

  12. q21 a a q20 q20 q21 q10 q10 q11 q11 b b q12 q12 b b b b a,b b b a,b a,b a,b a,b  q0  Autómatas con transiciones -AFN M=(,Q,,q0,F)

  13. M1 M2 M1     M2 Clausura con -AFN Si M1 y M2 son -AFN existen -AFN tales que:

  14. M1 M2   M1   M2   Clausura con -AFN Si M1 y M2 son -AFN existen -AFN tales que: q11 M1

  15. Concluimos…. • Toda expresión regular tiene al menos un correspondiente -AFND que acepta exactamente las palabras correspondientes a la expresión.

  16. Eliminando el indeterminismo La clausura Lambda, para cada estado qi, se construye recursivamente así: BASE: Paso recursivo La función de transición de entradas t para un -AFND se define así:

  17. q0 a q2 a  b c a q1  q0 q1q2 aq0,q1,q2 b   q2 c  q1   q2  t q0 q1q2 aq0,q1,q2 b  q2 q2 c  q1,q2  Ejemplo 6.6.1

  18. 2.1.1 let 2.1.2 ifthen set Algoritmo 6.6.3 Construction of DM, a DFA Equivalent to NFA- M Input: an NFA-M=(Q,,,q0,F). input transition fuction tofM 1. initializeQ’to-Cl(q0) 2. repeat until done 2.1 ifthere is a nodeXQ’and a symbolawith no arc leaving Xlabeledathen 2.1.3 add an arc fromXtoYlabeleda elsedone:=true 3. The set of accepting states of DM is F’={XQ’| X contiene algún elemento de F}

  19. t q0 q1q2 aq0,q1,q2 b  q2 q2 c  q1,q2  q0 a q2 a  a,b,c b,c c b q0  a q1 a,c a a a q2 b q0,q1,q2 b c b q1,q2 c Ejemplo

  20. a*ba*b q1 q0 q2 q0 q2 q0 Grafos de expresiones a*ba*ba*ba* (a*ba*ba*ba*)*

  21. wji wik wji wik i k k j j wii wji (wii)*wik wji wik k j i k j Eliminar el estado intermedio i i debe ser diferente de j y de k pero puede ser j=k

  22. w w1 w3 w2 w4 Situaciones finales W* w1* w2(w3 w4w1*w2)*

  23. ba*b q1 q0 q2 q0 q2 Grafos de expresiones (a*ba*b)(a* ba*ba*b)*

  24. Expresión de un AFND (ab)*bb (ab)* (ab)*aa (ab)*

  25. q1 q0 q2 Gramática regular para un AFND S → aS| bB|  B → aB| bC C → aC| bS

  26. q1 q0 q2 q4 q3 q5 q6 Gramática para un AFND (cont) S → aB B → bC| bD C → aC| bC | bE S → aB D → aF B → bC| bD S → aB E → aG C → aC| bC | bE B → bC| ba F →  D → a C → aC| bC | ba G →  E → a

  27. a,b a,b c q1 q0 AFND para un gramática regular • Palabras sobre {a,b,c} que contiene al menos una c pero no contienen cc. S → aS| bS |cA A → aS| bS| 

  28. Lenguajes regulares Expresiones Regulares No son LR: AFD AFND Gramáticas Regulares

  29. Pre-Lema de bombeo • Sea w1,w2,w3,w4,…. y v1,v2,v3,v4,…sucesiones infinitas de palabras. • Si L es un lenguajes tal que wivjpertenece a L si y sólo sí i=j. • Entonces L no es regular. Si existiera un autómata finito de k estados existen i<j tal que *(q0,wi)=*(q0,wj) y por tanto wivi y wjvj son acptadas, contradicientdo las hipótesis.

  30. Aplicación • No son regulares:

  31. q1 q0 qi qk Lema de Bombeo Si |z|>k existen u,v y w tales que |uv|<k+1|v|>0 y uvnw para todo n está en L Un autómata de k estados si acepta una palabra de longitud mayor que k acepta infinitas palabras Un autómata de k estados acepta infinitas palabras si y solo si acepta alguna  tal que k< || < 2k

  32. Aplicación • Las palabras cuya longitud es un cuadrado perfecto no forman un lenguaje regular. Supóngase que un autómata de k estados acepta tal lenguaje, tómese entonces una palabra z con longitud k2, entonces z=uvw con |uv|k o sea |v|k y además uv2w es aceptada por el autómata, Pero |uv2w| no puede ser cuadrado perfecto pues: |uv2w|=|uvw|+|v|=k2+|v| k2+k<(k+1)2 Entre k2y (k+1)2 no hay ningún cuadrado perfecto !

  33. Propiedades de clausura Conjuntos finitos de palabras forman lenguajes regulares Unión de dos Concatenación de dos ...lenguajes regulares, es un lenguaje regular Intersección de dos Complemento de * de

More Related