Lenguajes formales y autómatas

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Lenguajes formales y autómatas"

Transcripción

1 y autómatas. Marzo, 2014

2 El alfabeto Un alfabeto es un conjunto finito no vacío cuyos elementos se llaman símbolos. Sea Σ = {a, b} el alfabeto que consta de los símbolos a y b. Las siguientes son cadenas sobre Σ: aba, abaabaaa, aaaab. El alfabeto binario Σ = {0, 1} son las cadenas sobre Σ que se definen como secuencias finitas de ceros y unos. Las cadenas son secuencias ordenadas y finitas de símbolos. Por ejemplo, w = aaab w 1 = baaa. Sea Σ = {a, b, c,..., x, y, z} el alfabeto del idioma castellano. El alfabeto utilizado por muchos lenguajes de programación. Sea Σ = {a, b, c} entonces podemos formar todas las cadenas sobre Σ incluyendo la cadena vacía.

3 Notación de alfabetos, cadenas y lenguajes Si bien un alfabeto Σ es un conjunto finito, Σ es siempre un conjunto infinito (enumerable). Hay que distinguir entre los siguientes cuatro objetos, que son diferentes entre sí:, ɛ, { }, {ɛ}

4 Alfabetos Operaciones con alfabetos Si Σ es un alfabeto, σ Σ denota que σ es un símbolo de Σ, por tanto, si Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} se puede decir que 0 Σ Un alfabeto es simplemente un conjunto finito no vacío que cumple las siguientes propiedades, Dados Σ 1 y Σ 2 alfabetos Entonces Σ 1 Σ 2 también es un alfabeto. Σ 1 Σ 2, Σ 1 Σ 2 y Σ 2 Σ 1 también son alfabetos.

5 Conjunto Universal El conjunto de todas las cadenas sobre un alfabeto Σ, incluyendo la cadena vacía, se denota por Σ Sea Σ = {0, 1} Σ = {ɛ, 0, 1, 00, 01, 10, 11, 000, 001, 010, 100, 010, 110,...} Sea Σ = {a, b, c}, entonces Σ = {ɛ, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, aab, abc, baa,...} Sea Σ = {a, b}, entonces Σ = {ɛ, a, b, aa, ab, ba, bb, aaa, aab, baa,...}

6 Concatenación de cadenas Cadenas Dado un alfabeto Σ y dos cadenas u, v Σ, la concatenación de u y v se denota como u v o simplemente uv y se define así: 1 Si v = ɛ, entonces u ɛ = ɛ u = u, es decir, la concatenación de cualquier cadena u con la cadena vacía, a izquierda o derecha, es igual a u. 2 Si u = a 1 a 2... a n, v = b 1 b 2... b m, entonces u v = a 1 a 2... a n b 1 b 2... b m Es decir, u v es la cadena formada de escribir los símbolos de u y a continuación los símbolos de v.

7 Potencia de una cadena Dada w Σ y n N, se define w n de la siguiente forma ɛ si n = 0 w n = uu... u }{{} si n 1 n veces Potencia de una cadena de manera recursiva La potencia de una cadena se define como w Σ para n N { w n ɛ, si n = 0 = ww n 1, si n > 0 Ejemplo. Sea una cadena w = acc sobre Σ = {a, c} entonces podemos obtener w 3 = ww 2 = wwww 0 = accaccaccɛ = (acc) 3

8 Inversa de una cadena Longitud de una cadena La longitud de una cadena w Σ se denota w y se define como el número de símbolos de w (contando los símbolos repetidos), es decir: { 0, si w = ε w = n, si w = a 1 a 2... a n aba = 3, baaa = 4 Reflexión o inversa de una cadena La reflexión o inversa de una cadena w Σ se denota como w I y se define así: { w I ɛ, si w = ε = a n... a 2 a 1, si w = a 1 a 2... a n

9 Inversa de una cadena de manera recursiva La Inversa de una cadena Sea u Σ entonces u 1 es la inversa. { w I w si w = ε = y I a si w = ay, a Σ, y Σ Sea x= able entonces obtener x I x I = (able) I = (ble) I a = (le) I ba = (e) I lba = (ε) I elba = εelba = elba Sea la concatenación de las cadenas ab y cd que forma abcd sobre un alfabeto. Sabemos que (abcd) I = dcba, por tanto dcba = (cd) I (ab) I. Por lo tanto, si w e y son cadenas y si x = wy, entonces x I = (wy) I = y I w I En general, (x I ) I = x, para demostrar, suponga que x = a 1 a 2... a n.

10 Sufijos y prefijos Cadena Definición formal: Una cadena v es una subcadena o subpalabra de u si existen x, y tales que u = xvy. Nótese que x o y pueden ser ɛ y por lo tanto, la cadena vacía es una subcadena de cualquier cadena. Un prefijo de u es una cadena v tal que u = vw para alguna cadena w Σ. Se dice que v es un prefijo propio si v u. Un sufijo de u es una cadena de v tal que u = wv para alguna cadena w Σ. Se dice que v es un sufijo propio si v u.

11 Ejemplo de cadenas que son sufijos y prefijos Sea Σ = {a, b, c, d} y u = bcbaadb Sufijos de u ɛ b db adb aadb baadb cbaadb bcbaadb Prefijos de u ɛ b bc bcb bcba bcbaa bcbaad bcbaadb

12 La concatenación como una operación binaria Operación binaria Una operación binaria en un conjunto A es una función f : A A A, esta deberá satisfacer las siguientes propiedades: 1 La operación binaria deberá estar definida para cada par ordenado de A, es decir, f asigna a UN elemento f(a, b) de A a cada par ordenado (a, b) de elementos de A. 2 Como una operación binaria es una función, sólo un elemento de A se asigna a cada par (a, b). Sea A = Z, se define a b como a + b. Entonces, es una operación binaria en Z. Sea A = Z +, se define a b como a b. Entonces no es una operación binaria ya que no asigna un elemento de A a cualquier par ordenado de elementos de A.

13 Concatenación de cadenas como una operación binaria Concatenación La operación de la concatenación es una operación binaria entre cadenas de un alfabeto Σ, esto es: : Σ Σ Σ Sean u, v Σ y se denota por u v o simplemente uv. uv = u + v Dado el alfabeto Σ y dos cadena w, u Σ Entonces w ɛ = ɛ w = w. Si u = a 1a 2a 3... a n, w = b 1b 2b 3... b m, entonces, u w = a 1a 2a 3... a nb 1b 2b 3... b m Por tanto u w = n + m La concatenación de cadenas es asociativa. Es decir, si u, v, w Σ, entonces: (uv)w = u(vw)

14 Semigrupos Semigrupo Sea (Σ, ) es un semigrupo el cual es un conjunto no vacío Σ junto con una operación binaria asociativa definida en Σ. El conjunto P (S), donde S es un conjunto, junto con la operación de la unión (P (S), ) es un semigrupo y es también un semigrupo conmutativo. : P (S) P (S) P (S) Sea S = {a, b} entonces {a, b} ( {b}) = ({a, b} ) {b} El semigrupo (Σ, ) no es un semigrupo cunmutativo porque para u, w Σ no se cumple que u w = w u. Sea w = ac, w 1 = ab y w 2 = bb tal que w, w 1, w 2 Σ entonces w(w 1 w 2 ) = (ww 1 )w 2 ac(abbb) = (acab)bb acabbb = acabbb

15 Monoide Monoide Un monoide es un semigrupo (S, ) que tiene idéntico. El semigrupo P (S) con la operación de la unión tiene como idéntico a ya que A = A = A = A Sea (Σ,, ɛ) un monoide con las siguientes propiedades: 1 Es una operación binaria, es decir la concatenación es cerrada. x, y Σ, entonces x y Σ. 2 La concatenación es un semigrupo (Σ, ) y por tanto es asociativa x, y, z Σ, (xy)z = x(yz) 3 La cadena vacía ɛ es la idéntica para la concatenación: x Σ, ɛ x = x ɛ = x

16 Lenguajes Lenguaje Un lenguaje es un conjunto de palabras o cadenas. Un lenguaje L sobre un alfabeto Σ es un subconjunto de Σ y si L = Σ es el lenguaje de todas las cadenas sobre Σ. Sea L = el lenguaje vacío L Σ Σ = {a, b, c}. L = {a, aba, aca} Σ = {a, b, c}. L = {a, aa, aaa} = {a n : n 1} Σ = {a, b, c}. L = {ɛ, aa, aba, ab 2 a, ab 3 a} = {ab n a : n 0} {ɛ} Σ = {a, b, c}. L = {w Σ : w no contiene el símbolo c}. Por ejemplo, abbaab L pero abbcaa / L. Sobre Σ = {0, 1, 2} el lenguaje de las cadenas que tienen igual número de ceros, unos y dos s en cualquier orden.

17 Operaciones entre lenguajes Operaciones entre lenguajes; Sean A, B lenguajes sobre Σ entonces A B, A B, A B operaciones de conjuntos. Las operaciones lingüísticas son la concatenación, potencia, inverso y clausura. Sean A, B lenguajes sobre Σ entonces, A B = {x x : x A o x B} {a} {b} = {a, b} {a, ab} {ab, aab, aaabb} = {a, ab, aab, aaabb}

18 Operaciones entre lenguajes Sean A, B lenguajes sobre Σ entonces, A B = {x x : x A y x B} {a, ab} {ab, aab} = {ab} {a, aab} {a, ab, aab, aaabb} = {a, aab} {ɛ} {a, ab, aab, aaabb} = Complemento en Σ : A = {x Σ x / A} A = Σ A A ={ Cadenas de longitud par} sobre Σ = {a, b}, entonces A={cadenas de longitud impar}.

19 Operaciones entre lenguajes Sean A, B lenguajes sobre Σ entonces, A B = {x x : x A y x / B} Sea B: El lenguaje de todas las cadenas de ceros de cualquier longitud. Entonces: Sea A = {0, 1} y B = {0} entonces A B = {0, 1} {0} = 0 1(0 1) A B es el lenguaje de todas las cadenas de unos y ceros con almenos un uno.

20 Lenguajes Lenguaje Universal Si Σ, entonces Σ es el conjunto de todas las cadenas sobre Σ. Se le llama lenguaje universal. Teorema Σ es un conjunto infinito de cadenas de longitud finita sobre Σ. Sean A y B dos lenguajes sobre el alfabeto Σ. Entonces A = B si y sólo si A B y B A. ) Suponiendo que A = B, entonces si x A, como A = B entonces x B por tanto A B de la misma forma si x B entonces como A = B entonces x A por lo tanto B A. ) Se demuestra que si A B y B A entonces A = B.

21 Lenguajes Sea el lenguaje del conjunto de cadenas con igual número de ceros y unos. y sea L 1 = {ɛ, 01, 10, 0011, 0101, 1001, ,...} L = {a n b n : n 0} L 1 {0, 1} La concatenación de lenguajes de dos lenguajes A y B sobre Σ, notada por A.B o simplemente AB. AB = {uv : u A, v B} A = A = A = {uw : u A, w } =

22 Lenguajes A {ε} = {ε} A = A A {ɛ} = {uw : u A, w {ɛ}} = {u : u A} = A Las propiedad distributiva generalizada de la concatenación con respecto a la unión. A (A B i ) x A i I B i = i I B i x = u v, u A, v i I i I x = u v, u A, v B j, j I x A B j, j I x i I(A B i ) B i

23 Lenguajes Ejemplo. Sean A = {ab}, B 1 = {a, b}, y B 2 = {abb, b} A B i = (A B i ) i I i I A B i = A (B 1 B 2 ) A i I=2 i I=2 B i = {ab} ({a, b} {abb, b}) {ab} ({a, b} {abb, b}) = ({ab} ({a, b}) ({ab} {abb, b}) De igual forma se puede demostrar que: ( ) B i A = i I(B i A) i I

24 Lenguajes La concatenación no es distributiva con respecto a la intersección, es decir, no se cumple que A (B C) = A B A C. Contraejemplo: Sea A = {a, ɛ}, B = {ɛ}, C = {a} se tiene: Por otro lado, A (B C) = {a, ɛ} = A B A C = {a, ɛ} {ɛ} {a, ɛ} {a} = {a, ɛ} { a 2, a} = a

25 Lenguajes Potencia del lenguaje Potencia del lenguaje Dado un lenguaje A sobre Σ y (A Σ ) y n N, se define { A n {ɛ}, si n = 0 = A A n 1, si n 1 Ejemplo. Sea A = {ab} sobre un alfabeto Σ = {a, b}, entonces: A 0 = {ɛ} A 1 = A = { ab} A 2 = A A 1 = { abab} A 3 = A A 2 = { ababab}

26 Cerradura de Kleene Def. formal de Cerradura de Kleene La cerradura de Kleene de un lenguaje A Σ es la unión de las potencias: se denota por A A = i 0 A i = A 0 A 1 A 2... A n Observación: A se puede describir de la siguiente manera: A = {u 1 u 2... u n : u i A, n 0} Es el conjunto de todas las concatenaciones de la cadena A, incluyendo ɛ la cerradura positiva se denota por A + A + = i 1 A i = A 1 A 2 A 3... A n

27 Cerradura de Kleene Observe que A = A + {ɛ} y A = A + si y solamente si ɛ A A + = A A = A A A A = A (A 0 A 1 A 2...) = (A 1 A 2 A 3...) = A + Se demuestra lo mismo que A + = A A

28 Cerradura de Kleene A A = A 1 ), Sea un x A A, entonces x = u v, con u A y v A Por tanto x = u v, con u = u 1 u 2... u n, u i A, n 0 y v = v 1 v 2... v m, v i A, m 0 De donde x = u v = u 1 u 2... u n v 1 v 2... v m con u i A, v i A, por lo tanto x, es una concatenación de n + m cadenas de A, así que x A. 2 ) Recíprocamente, si x A, entonces x = x ε A A. Esto prueba la igualdad de los conjuntos A A y A.

29 Cerradura de Kleene (A ) n = A, para todo n 1 (A ) = A A + A + A + Contraejemplo de A + A + = A +. Sea Σ = {a, b}, A = {a} se tiene que Por otro lado, A + = (A 1 A 2 A 3...) = {a} {aa} {aaa...} = {a n : n 1} A + A + = {a, a 2, a 3,...} {a, a 2, a 3,...} = {a 2, a 3,...} = {a n : n 2}

30 Cerradura de Kleene (A ) + = A (A ) + = (A ) 1 (A ) 2 (A ) 3... = A A A... = A (A + ) = A (A + ) = (A + ) 0 (A + ) 1 (A + ) 2... = {ɛ} A + A + A +... = A (conjuntos contenidos en A + ) = A (A + ) + = A + (A + ) + = (A + ) 1 (A + ) 2 (A + ) 3... = (A + ) 1 (conjuntos contenidos en A + ) = A +

31 Operaciones claves Operaciones claves en los lenguajes: A Σ A + Σ + A + A {ε} = {ε} = {ε} + 0 = {ε} n =, n 1 = {ε} + =

32 Inverso de un lenguaje Inverso de un lenguaje Sea A sobre Σ, se define A I como: A I = {u I : u A} Sean A y B lenguajes sobre Σ tal que (A, B Σ ) (A.B) I = B I.A I x (A B) I x = u I, donde, u A B x = u I, donde, u = vw, v A, w B x = (vw) I, donde, v A, w B x = w I v I, donde, v A, w B x = B I A I

33 Propiedades del inverso de un lenguaje Sean A y B lenguajes sobre Σ tal que (A, B Σ ) (A B) I = A I B I (A B) I = A I B I (A I ) I = A (A ) I = (A I ) (A + ) I = (A I ) +

34 Lenguajes regulares Los lenguajes regulares sobre un alfabeto Σ se definen recursivamente como:, {ε} y {a}, a Σ son lenguajes regulares. si A y B son lenguajes regulares, también lo son: A B (Unión) A B (Concatenación) A (Cerradura de Kleene) Ejemplo 1. Dado Σ = {a, b} el lenguaje A de todas las palabras que tienen exactamente una a: A = {b} {a} {b} Ejemplo 2. Lenguaje de todas las cadenas que comienzan con b: B = {b} {(a b)} Ejemplo 3. Lenguaje de todas las cadenas que contienen la cadena ba: C = {(a b)} {ba} {(a b)}

35 Propiedades de clausura Teorema Si L, L 1 y L 2 son lenguajes regulares sobre un alfabeto Σ, también lo son: 1 L 1 L 2 2 L 1 L 2 3 L + 4 L = Σ L 5 L 6 L 1 L 2 7 L 1 L 2 8 L 1 L 2 Observación Un sublenguaje (subconjunto) de un lenguaje regular no es necesariamente regular, es decir, la familia de los lenguajes regulares no es cerrada para subconjuntos.

36 Propiedades de clausura Observación Un lenguaje regular puede contener sublenguajes No-regulares. Sea L = {a n b n } es un sublenguaje del lenguaje regular a b Todo lenguaje finito es regular y la unión finita de lenguajes regulares es regular. La unión infinita de lenguajes no necesariamente es regular. L = {a n b n : n 1} = i 1{a i b i } Donde cada {a i b i } regular, pero L No lo es.

37 Definición formal de expresiones regulares Las expresiones regulares sobre un alfabeto Σ se definen recursivamente como:, ɛ y a, a Σ son expresiones regulares. si A y B son expresiones regulares, también lo son: A B (Unión) A B (Concatenación) A (Cerradura de Kleene) Son expresiones regulares aab, ab +, (aaba ) + Sea el conjunto {ɛ, aa, aba, ab 2 a, ab 3 a, ab 4 a, } entonces {ɛ} ab a es una expresión regular. Expresión regular de todas las cadenas impares sobre Σ = {a, b} a(aa ab ba bb) b(aa ab ba bb)

38 Expresiones regulares Teorema Sean r, s y t expresiones regulares sobre Σ, entonces: 1. r s = s r 2. r = r = r 3. r r = r 4. (r s) t = r (s t) 5. rε = r = εr 6. r = = r 7. (rs)t = r(st) 8. r(s t) = rs rt y (r s)t = rt st 9. r = r = r r = (ε r) = r (r ε) = (r ε)r = ε rr 10. (r s) = (r s ) = (r s ) = (r s) r = r (sr ) 11. r(sr) = (rs) r 12. (r s) = ε (r s) s 13. (rs ) = ε r(r s) 14. s(r ε) (r ε) s = sr 15. rr = r r

39 Ejemplos expresiones regulares Ejemplo 1. Muestre que si r = s t implica que r = sr t r = s t = (ε s + )t ya que s = ε s + = (ε ss )t = εt s s t }{{} r = t sr = sr t Ejemplo 2. Probar que (b aa b) (b aa b)(a ba b) (a ba b) y a b(a ba b) son equivalentes.

40 Ejemplos expresiones regulares Ejemplo 3. Las siguientes expresiones regulares representan el mismo lenguaje? (a b) y ɛ (a b) b Ejemplo 4. Demostrar que r(sr) = (rs) r ) Sea w r(sr), entonces w = r 0 (s 1 r 1 )(s 2 r 2 )... (s n r n ), para n 0 w = r 0 (s 1 r 1 )(s 2 r 2 )... (s n r n ) w = (r 0 s 1 )(r 1 s 2 )(r 2 s 3 )... (r n 1 s n )r n Por lo tanto, r(sr) (rs) r ) Sea w (rs) r, entonces w = (r 0 s 0 )(r 1 s 1 )... (r n 1 s n 1 )r n, para n 0

41 Encontrar las expresiones regulares de los siguientes lenguajes Ejemplo 5. Σ = {a, b} Lenguaje de todas las palabras que comienzan con b y terminan con a. b(a b) a Ejemplo 6. Σ = {a, b} Lenguaje de todas las palabras que tienen exactamente dos a s b ab ab

42 Ejercicios resueltos de expresiones regulares Ejemplo 7. Σ = {a, b} Lenguaje de todas las palabras que tienen un número par de símbolos (palabras de longitud par) (aa ab ba bb) Ejemplo 8. Σ = {a, b} Lenguaje de todas las palabras que tienen un número impar de símbolos (palabras de longitud impar) a(aa ab ba bb) b(aa ab ba bb) Ejemplo 9. Σ = {a, b} Lenguaje de todas las palabras que tienen un número par de a s. b (ab a) b

43 Ejercicios resueltos de expresiones regulares Ejemplo 10. Sobre Σ = {0, 1} lenguaje de todas las cadenas que tienen exactamente dos ceros: Ejemplo 11. Sobre Σ = {0, 1} lenguaje de todas las cadenas cuyo penúltimo símbolo, de izquierda a derecha, es un 0. (0 1) 0(0 1)

44 Expresiones regulares en la computación Las expresiones regulares sirven para la construcción de analizadores léxicos. es un testeador de expresiones regulares en java. Representa palabras que comienzan por una letra mayúscula seguida de un espacio en blanco y de dos letras mayúsculas. Ejemplo, reconocería Ithaca NY. Por ejemplo, Palo Alto CA no la reconocería.

45 Introducción a los autómatas finitos

46 Autómatas finitos Son máquinas abstractas que procesan cadenas, las cuales son aceptadas o rechazadas. El autómata posee unidad de control que inicialmente escanea o lee la casilla desde el extremo izquierdo de la cinta. Tiene unos estados o configuraciones internas.

47 Función de transición Sea un autómata M = (Q, Σ, q 0, T, δ)

48 Lenguaje aceptado por un autómata

49 Autómatas finitos (FSAs: Finite State-Automata) Los autómatas finitos se dividen en autómatas finitos deterministas (AFD) (es función) y en autómatas finitos no deterministas (AFN)(es una relación). Automata finito determinista Sea M = (Q, Σ, q 0, T, δ) un AFD entonces: Σ: es el alfabeto de entrada. Q: es el conjunto de estados q 0 :Estado inicial T : Conjunto de estados finales. δ : Q Σ Q determina un único estado siguiente para el par δ(q i, γ) correspondiente al estado actual y la entrada. Un AFD puede ser representado por un grafo dirigido y etiquetado.

50 Ejemplos automatas finitos deterministas Ejemplo 1. Diseñar el AFD sobre Σ = {a, b} que reconozca el lenguaje L = a = {ε, a, a 2, a 3,...}

51 Ejemplos automatas finitos deterministas Ejemplo 2. Diseñar el AFD sobre Σ = {a, b} que reconozca el lenguaje L = a + = {a, a 2, a 3,...}

52 Ejemplos automatas finitos deterministas Ejemplo 3. Diseñar el AFD sobre Σ = {a, b} que reconozca el lenguaje de todas las cadenas que tienen un número par de símbolos Ejemplo 4. AFD que reconoce a + b +

53 Ejemplos automatas finitos deterministas Ejemplo 5. El diagrama y tabla de transición en cierta forma determinan si es un autómata finito determinista o no determinista. Sea Σ = {a, b}, Q = {q 0, q 1, q 2 } q 0 : estado inicial T = {q 0, q 2 } estados finales o de aceptación. Es importante anotar que en la tabla de transición por cada pareja (q i, γ) hay un sólo estado q j por eso δ es una función de transición. el lenguaje que reconoce este AFD es: a (b(a + ba + bb) b) + a Ahora como el estado inicial es un estado final este AFD reconoce ε

54 Ejemplos automatas finitos deterministas Ejemplo 6. Diseñar el AF sobre Σ = {0, 1} que reconozca en binario el lenguaje de todos los múltiplos de 2.

55 Autómatas finitos No determinísticos Autómatas finitos No determinísticos Sea M = (Q, Σ, q 0, T, ) un AFN entonces: Σ: es el alfabeto de entrada. Q: es el conjunto de estados q 0 :Estado inicial T : Conjunto de estados finales. : es una relación tal que: (Q Σ) 2 Q Donde 2 Q denota el conjunto potencia de Q o el conjunto de todos los subconjuntos de Q. 2 Q = {A A Q}

56 Ejemplos Autómatas finitos No determinísticos Ejemplo 1. Diseñar el AFN sobre Σ = {a, b} que reconozca el lenguaje regular a b ab

57 Ejemplos Autómatas finitos No determinísticos Ejemplo 2. Diseñar el AFN sobre Σ = {a, b} que reconozca el lenguaje (ab aba)

58 Ejemplos Autómatas finitos No determinísticos Ejemplo 3. Diseñar el AF sobre Σ = {0, 1} que reconozca el lenguaje de todas las cadenas que terminan en 01

59 Ejemplos Autómatas finitos No determinísticos Ejemplo 4. Obetener la expresión regular del siguiente AFN sobre Σ = {a, b}. (a b ) (aa bb)(a b )

60 Equivalencia de AFN y AFD Teorema Sea M = (Q, Σ, q 0, T, ) un AFN. Entonces existe un AFD M = (Q, Σ, q 0, T, δ) tal que L(M) = L(M ). El conjunto q 0 se corresponde con q 0 El conjunto de estados finales T de Q se corresponde con los conjuntos de estados de Q que contienen un estado de T El conjunto de estados de Q se corresponde con el conjunto de estados de Q que se vaya formando mediante el análisis de una cadena sobre M

61 Equivalencia entre autómatas Autómatas equivalentes Dos AFD son equivalentes M 1 y M 2 son equivalentes si L(M 1 ) = L(M 2 ). Sean M 1 y M 2 sobre el alfabeto = {a}, L(M 1 ) = L(M 2 ) = a

62 Ejemplos equivalencia de AFN y AFD Ejemplo 1. Consideremos el AFN M que acepta a (ab) + Para este AFN se tiene: (q 0, a) = {q 1, q 2 } (q 0, b) = ({q 1, q 2 }, a) = ({q 1, q 2 }, b) = {q 3 } (, b) = (, b) = (q 3, a) = {q 2 } (q 3, b) = (q 2, a) = (q 2, b) = {q 3 }

63 Ejemplos equivalencia de AFN y AFD Entonces se verifica que la regla de transición es una función. Por tanto, M = (Q, Σ, q 0, T, δ) donde: Q = {, {q 0 }, {q 2 }, {q 3 }, {q 1, q 2 }} Σ = Σ s = {q 0 } T = {{q 3 }, {q 1, q 2 }} y δ viene dada por la siguiente tabla:

64 Ejemplos equivalencia de AFN y AFD Ejemplo 2. Consideremos el AFN M que acepta (0 1) 0(0 1) Caso desfavorable para la construcción de subconjuntos Crecimiento exponencial del número de estados para el AFD.

65 Intersección entre lenguajes regulares Teorema Si L 1 y L 2 son lenguajes regulares, también lo es L 1 L 2. Sean L 1 = L(M 1 ) y L 2 = L(M 2 ) donde: M 1 = (Q 1, Σ 1, q 1, T 1, δ 1 ) y M 2 = (Q 2, Σ 2, q 2, T 2, δ 2 ) Entonces construimos: donde M = (Q 1 Q 2, Σ 1 Σ 2, (q 1, q 2 ), T 1 T 2, δ) Esta función satisface: δ : Q 1 Q 2 Σ Q 1 Q 2 δ((q i, q j ), a) = (δ 1 (q i, a), δ 2 (q j, a)) L(M) = L(M 1 ) L(M 2 )

66 Ejemplo intersección de lenguajes Ejemplo. Construir el AFD que acepte el lenguaje L de todas las palabras sobre Σ = {a, b} que tienen un número par de a s y un número par de b s. Entonces el lenguaje L(M) = L(M 1 ) L(M 2 ) tiene cuatro estados: Q 1 Q 2 = {(q 1, q 2 ), (q 1, q 4 ), (q 3, q 2 ), (q 3, q 2 )} T 1 T 2 = {(q 1, q 2 )}

67 Ejemplo intersección de lenguajes Entonces δ se define como: δ((q 1, q 2 ), a) = (δ 1 (q 1, a), δ 2 (q 2, a)) = (q 3, q 2 ) δ((q 1, q 2 ), b) = (δ 1 (q 1, b), δ 2 (q 2, b)) = (q 1, q 4 ) δ((q 1, q 4 ), a) = (δ 1 (q 1, a), δ 2 (q 4, a)) = (q 3, q 4 ) δ((q 1, q 4 ), b) = (δ 1 (q 1, b), δ 2 (q 4, b)) = (q 1, q 2 ) δ((q 3, q 2 ), a) = (δ 1 (q 3, a), δ 2 (q 2, a)) = (q 1, q 2 ) δ((q 3, q 2 ), b) = (δ 1 (q 3, b), δ 2 (q 2, b)) = (q 3, q 4 ) δ((q 3, q 4 ), a) = (δ 1 (q 3, a), δ 2 (q 4, a)) = (q 1, q 4 ) δ((q 3, q 4 ), b) = (δ 1 (q 3, b), δ 2 (q 4, b)) = (q 3, q 2 )

68 Toerema de Kleene Autómatas con ε-transiciones Autómatas con ε-transiciones: Un autómata con ε-transiciones es un AFN M = (Q, Σ, q 0, T, ) en el que la relación de transición está definida así: : Q (Σ ε) 2 Q La ε-transición permite al autómata cambiar internamente de estado sin consumir el símbolo leído sobre la cinta. Donde 2 Q denota el conjunto potencia de Q o el conjunto de todos los subconjuntos de Q. 2 Q = {A A Q}

69 Ejemplos Ejemplo 1. Se puede representar el lenguaje de la expresión regular a sin necesidad de colocar el estado inicial como estado final.

70 Ejemplos Ejemplo 2. Sea el siguiente AFN-ε La ε-transición en el AFN permite que se reconozcan cadenas como: w=aaab w=abbbbaaa w=a w=b Expresión regular del autómta a b ab a

71 Ejemplos Ejemplo 3. Construir un AFN-ε que reconozca sobre Σ = {a, b, c}, el lenguaje L = a b c El siguiente AFN reconoce el mismo lenguaje que reconoce el AFN-ε anterior.

72 Teorema de Kleene Teorema Teorema de Kleene. Un lenguaje regular si y sólo si es aceptado por un autómata finito (AFD o AFN o AFN-ε) Construcción de autómatas finitos a partir de expresiones regulares. Construcción de expresiones regulares a partir de autómatas: 1 Lema de Arden (Ecuaciones de Lenguaje) 2 Conversión de AFN a expresiones regulares por eliminación de estados.

73 Autómatas finitos y lenguajes regulares Teorema Dado un AFN-ε M = (Q, Σ, q 0, T, ), se puede construir un AFN M equivalente a M, es decir L(M) = L(M ). Teorema Un lenguaje regular si y sólo si es aceptado por un autómata finito (AFD o AFN o AFN-ε)

74 Autómatas finitos y lenguajes regulares Teorema Para toda expresión regular R se puede construir un AFN-ɛ M tal que L(R) = L(M). Paso Básico EL autómata acepta el lenguaje vacío

75 Autómatas finitos y lenguajes regulares EL autómata acepta el lenguaje {ɛ} EL autómata acepta el lenguaje {a}

76 Autómatas finitos y lenguajes regulares PASO INDUCTIVO 1. Existe un autómata que acepta R S Sean M 1 = (Q 1, Σ 1, s 1, T 1, 1 ) y M 2 = (Q 2, Σ 2, s 2, T 2, 2 ) para el nuevo M = (Q, Σ, s, T, ) tenemos que: 1 Σ = Σ 1 Σ 2 2 En T se agrega un estado s si y sólo si = 1 2 {(s, ɛ, s 1 ), (s, ɛ, s 2 )} {(T 1, ɛ, s ), (T 2, ɛ, s )} s es un estado final NUEVO. 3 Q = Q 1 Q 2 {s} {s } donde s es el nuevo estado inicial.

77 Autómatas finitos y lenguajes regulares Por ejemplo se construye ab ba. Ejemplo. Sobre Σ = {a, b} el lenguaje de todas las palabras sobre Σ que tienen un n

78 Autómatas finitos y lenguajes regulares 2. Autómata que acepta R S Sean M 1 = (Q 1, Σ 1, s 1, T 1, 1 ) y M 2 = (Q 2, Σ 2, s 2, T 2, 2 ) para el nuevo AFN M = (Q, Σ, s, T, ) que acepta L(M 1 ) L(M 2 ) tenemos que: 1 Q = Q 1 Q 2 2 s 1 = s 3 T = T 2 = 1 2 (T 1 {ɛ} s2)

79 3. Autómata que reconoce R Sean M 1 = (Q 1, Σ 1, s 1, T 1, 1 ) entonces el nuevo AFN M = (Q, Σ, s, T, ) que acepta L(M) = (L(M 1 )) viene dado por 1 Q = Q 1 {s} {s }, donde s es un nuevo estado final. 2 T = {s } 3 = 1 {(s, ɛ, s 1 ), (s, ɛ, s )} (T 1 {ɛ} s ) (T 1 {ɛ} s 1 )

80 Ecuaciones de lenguaje Ecuacion del lenguaje Sea Σ un alfabeto y sean E y A subconjuntos de Σ, entonces la ecuación del lenguaje X = E A X admite la solición X = A E cualquier otra solución Y deberá contener A X, además ɛ / A, X = A E es la única solución.

81 Ejemplos ecuaciones de lenguaje Ejemplo 1. Encontrar la expresión del siguiente AFD. Entones el sistema de ecuaciones a resolver: x 0 = ax 1 x 1 = ax 2 + bx 4 x 2 = ax 3 + bx 4 x 3 = ax 3 + bx 4 + ɛ x 4 = bx 4 + ɛ

82 Ejemplos ecuaciones de lenguaje Ejemplo 2. Encontrar la expresión regular del siguiente AFD usando el lema del Arden: El siguiente es el sistema de ecuaciones a resolver: x 0 = ax 0 + bx 1 + ɛ x 1 = ax 1 + bx 2 x 2 = (a b)x 1 + ɛ

83 Ecuaciones de lenguaje Teorema Sean n 2 considere el sistema de ecuaciones cuyas incognitas x 1, x 2,..., x n dado por: x 1 = E 1 A 11 x 1 A 12 x 2... A 1,n x n x 2 = E 2 A 21 x 1 A 22 x 2... A 2,n x n. x n 1 = E n 1 A (n 1)1 x 1... A (n 1),n x n x n = E n A n1 x 1 A n2 x 2... A n,n x n Entonces el sistema tiene una única solución: En i, j {1,..., n}, ɛ / A i

84 Ecuaciones de lenguaje Entonces el nuevo sistema se obtiene hasta n 1: x 1 = Ê1 Â11x 1 Â12x 2... Â1,(n 1)x n 1 x 2 = Ê2 Â21x 1 Â22x 2... Â2,(n 1)x n 1. x n 1 = Ên 1 Â(n 1)1x 1... Â(n 1),(n 1)x n 1 Entonces Êi y Âij se definen como: Donde: Ê i = E i (A in A nne n ), i = 1,..., n 1 Â ij = A ij (A in A nna nj ), i,j = 1,..., n 1 E i = { si qi / F ɛ si q i F

85 Ejemplo ecuaciones de lenguaje Ejemplo 1. Obtener la expresión regular del siguiente AFD usando ecuaciones del lenguaje y la solución única. El sistema de ecuaciones inicial es: x 1 = ax 1 + bx 2 x 2 = bx 1 + ax 2 + ɛ

86 Ejemplo ecuaciones de lenguaje Se aplica el teorema de solución de ecuaciones: x 1 = Ê1 + Â11x 1 Se obtiene Ê1 Ê 1 = E 1 + (A 12 A 22E 2 ) Ê 1 = + (b a ɛ) Ê 1 = ba Se obtiene Â11 Â 11 = A 11 + (A 12 A 22A 21 ) Â 11 = a + (b a b) Â 11 = a + ba b

87 Ejemplo ecuaciones de lenguaje Reemplazando Ê1 y Â11 en x 1 x 1 = Ê1 + Â11x 1 x 1 = ba + (a + ba b)x 1 Aplicando solución única se tiene: x 1 = (a + ba b) ba

88 Sistema de ecuaciones por reducción de variables x 1 = Ê1 Â11x 1 Â12x 2 Â13x 3 x 2 = Ê2 Â21x 1 Â22x 2 Â23x 3 x 3 = Ê3 Â31x 1 Â32x 2 Â33x 3

89 LENGUAJES Y GRAMATICAS Según Chomsky los tipos de gramáticas se clasifican así:

90 Gramáticas Gramáticas Regulares (Tipo 3) Una gramática regular G es una 4-tupla G = (N, Σ, S, P ) que consiste de un conjunto N de no terminales, un alfabeto Σ, un símbolo inicial S y de un conjunto de producciones P. Las reglas son de la forma A w, donde A N y w es una cadena sobre Σ N que satisface lo siguiente: 1 w contiene un no terminal como máximo. 2 Si w contiene un no terminal, entonces es el símbolo que está en el extremo derecho de w. 3 El conjunto de reglas P se define así: P N Σ (N ɛ) o P N (N ɛ)σ

91 Definición de gramática regular por la derecha Gramáticas regulares Sobre G = (N, Σ, S, P ) Una gramática es regular por la derecha si sus producciones son de la forma: { A wb, w, B N A ε Ejemplo Considere la siguiente gramática regular G = (N, Σ, S, P ), que genera a, donde Σ={a,b}, N={S,A } P : S aa ε A aa Ejemplo. Sea la siguiente gramática regular G = (N, Σ, S, P ) que genera el lenguaje de la expresión regular (a b) Σ={a,b} N={S,A } P : S as bs ε

92 Gramáticas regulares Ejemplo Considere la siguiente gramática regular G = (N, Σ, S, P ), que genera (a b) +, donde Σ={a,b}, N={S,A } P : S as bs a b Ejemplo Considere la siguiente gramática regular G = (N, Σ, S, P ), que genera a + b +, donde Σ={a,b}, N={S,A } P : S as aa A ba b Ejemplo Considere la siguiente gramática regular G = (N, Σ, S, P ), que genera a b, donde Σ={a,b}, N={S,A } P : S as ba ε A ba ε

93 Gramáticas independientes del contexto Gramáticas tipo 2 Una gramática independiente del contexto G = (N, Σ, S, P ) consiste de un conjunto N de no terminales, un alfabeto Σ, un símbolo inicial S y de un conjunto de producciones P. Definición Sea G = (N, Σ, S, P ) una gramática independiente del contexto. El lenguaje generado por G (o el lenguaje de G) denotado por L(G), es el conjunto de todas las cadenas de terminales que se derivan del estado inicial S. en otras palabras: L(G) = {w Σ /S w} P N (N Σ)

94 Ejemplo de gramática tipo 2 Sea G = (N, Σ, S, P ) una gramática con Σ = {0, 1} el conjunto N = {S} y P el conjunto de producciones: S 0S1 S ε Ejemplo. Una GIC que genera el lenguaje de los palíndromes sobre Σ = {a, b} S asa bsb a b ε Ejemplo. Una GIC que genera el siguiente lenguaje sobre Σ = {a, b} Sea L = {a n b m n m 2n} S asb asbb ε

95 GICs especiales 1 El lenguaje de todas las cadenas de paréntesis anidados y equilibrados, por ejemplo: (())(()), entonces la gramática sería: S (S)S ε 2 Sea T = {0, 1, (, ), +,,, ε}. T es el conjunto de símbolos usados para definir el lenguaje de las expresiones regulares sobre Σ = {0, 1}. Se puede diseñar un GIC que genere las expresiones regulares. S S + S SS S (S) 0 1 ε

96 Gramáticas no restringidas Sea una 4-tupla G = (N, Σ, S, P ) que consiste de un conjunto N de no terminales, un alfabeto Σ, un símbolo inicial S y de un conjunto de producciones P. N es el alfabeto de símbolos no terminales Σ al alfabeto tal que N Σ = S N es el símbolo inicial P es el conjunto de reglas de producciones de la forma α β, donde α (N Σ) + y β (N Σ), es decir P (N Σ) + (N Σ)

97 Gramáticas no restringidas (Gramáticas de tipo 0 y 1) Ejemplo Sea G = (N, Σ, S, P ) una gramática con Σ = {0, 1, 2} el conjunto N = {S, A, B} y P el conjunto de producciones: El lenguaje que genera esta gramática dependiente del contexto es: L(G) = {0 n 1 n 2 n /n = 0, 1, 2,...} Sea w= una cadena que puede ser reconocida por la gramática y que además pertenece al lenguaje.

98 Tipos de gramáticas la familia de los lenguajes de tipo i contiene a la familia de tipo i + 1. GR GIC GDC GEF

99 Arboles de derivación Ambigüedad Una gramática se dice que es ambigua si hay dos o más árboles de derivación distintos para la misma cadena. una gramática en la cual, para toda cadena w, todas las derivaciones de w tienen el mismo árbol de derivación, es no ambigua.

100 Ejemplos arboles de derivación Ejemplo 2. Consideremos la siguiente gramática: S SbS ScS a y se la cadena w = abaca y sus derivaciones: S SbS SbScS SbSca abaca S ScS SbScS abscs abacs abaca

101 La forma de Backus-Naur Forma de Backus-Naur La forma de Backus-Naur se emplea para especificar reglas sintácticas de muchos lenguajes de programación y de lenguaje natural: En lugar de utilizar el símbolo usamos ::= y colocamos los símbolos no terminales entre <>. La forma BNF se usa frecuentemente para especificar la sintaxis de lenguajes de programación, como Java y LISP; lenguajes de bases de datos, como SQL, y lenguajes de marcado como XML.

102 La forma de Backus-Naur Ejemplo 1. sea la siguiente GIC: O SN SV SN articulo sustantivo SV verbo sustantivo articulo el verbo come sustantivo perro salchicha La forma Backus-Naur es: < O >::=< SN >< SV > < SN >::=< articulo >< sustantivo > < SV >::=< verbo >< sustantivo > < articulo >::= el < verbo >::= come < sustantivo >::= perro salchicha

103 La forma de Backus-Naur Ejemplo 2. Sea la siguiente gramática: A Aa a AB La forma Backus-Naur es: < A >::=< A > a a < A >< B > Ejemplo 3. La producción de enteros son signo en notación decimal. (Un entero con signo es un natural precedido por un signo más o un signo menos). La forma Backus-Naur para la gramática que produce los enteros con signo es: < entero con signo >::=<signo><entero> <signo >::= + < entero >::=< dígito> < dígito >< entero> < dígito > ::=

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ.

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ. Alfabetos, Cadenas y Lenguajes Definición 1 Un Alfabeto es cualquier conjunto finito, no vacío. Ejemplo 1 Sea Σ = {0, 1, 2, 3,..., 9} donde 0 Σ Definición 2 Una cadena sobre Σ es cualquier secuencia de

Más detalles

1. Cadenas EJERCICIO 1

1. Cadenas EJERCICIO 1 LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 - BOLETÍN DE EJERCICIOS Víctor J. Díaz Madrigal y José Miguel Cañete Departamento de Lenguajes y Sistemas Informáticos 1. Cadenas La operación reversa aplicada

Más detalles

SSL Guia de Ejercicios

SSL Guia de Ejercicios 1 SSL Guia de Ejercicios INTRODUCCIÓN A LENGUAJES FORMALES 1. Dado el alfabeto = {a, b, c}, escriba las palabras del lenguaje L = {x / x }. 2. Cuál es la cardinalidad del lenguaje L = {, a, aa, aaa}? 3.

Más detalles

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto EJERCICIOS del TEMA 3: Lenguajes independientes del contexto Sobre GICs (gramáticas independientes del contexto) 1. Sea G una gramática con las siguientes producciones: S ASB ε A aab ε B bba ba c ) d )

Más detalles

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.

Más detalles

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo: 1 Clase 3 SSL EXPRESIONES REGULARES Para REPRESENTAR a los Lenguajes Regulares. Se construyen utilizando los caracteres del alfabeto sobre el cual se define el lenguaje, el símbolo y operadores especiales.

Más detalles

Expresiones regulares, gramáticas regulares

Expresiones regulares, gramáticas regulares Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde

Más detalles

Lenguajes, Gramáticas y Autómatas Conceptos

Lenguajes, Gramáticas y Autómatas Conceptos Lenguajes, Gramáticas y Autómatas Conceptos Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza Última revisión: Febrero. 2004 11/02/2004 1 Índice Alfabetos, palabras y

Más detalles

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y CONTENIDO Reconocedores [HMU2.1]. Traductores [C8]. Diagramas de Estado [HMU2.1]. Equivalencia entre AF deterministas y no deterministas [HMU2.2-2.3]. Expresiones [HMU3]. Propiedades de [HMU4]. Relación

Más detalles

Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I

Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I Tema 3: Gramáticas regulares Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison

Más detalles

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.

Más detalles

Autómatas de Pila y Lenguajes Incontextuales

Autómatas de Pila y Lenguajes Incontextuales Autómatas de Pila y Lenguajes Incontextuales Elvira Mayordomo Universidad de Zaragoza 5 de noviembre de 2012 Contenido de este tema 1. Introducción a los autómatas de pila 2. Definiciones 3. Equivalencia

Más detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales

Más detalles

DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES

DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES 1 DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES Los LENGUAJES FORMALES están formados por PALABRAS, las palabras son CADENAS y las cadenas están constituidas por SÍMBOLOS de un ALFABETO. SÍMBOLOS

Más detalles

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS Licenciatura en Sistemas de Información PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS UNSE FCEyT 1. DESCRIPCIÓN Este taller consta de tres partes. En cada una de ellas se especifican

Más detalles

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA) Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica Fa.M.A.F., Universidad Nacional de Córdoba 22//4 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes y computación.

Más detalles

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA) Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica y la Computación Fa.M.A.F., Universidad Nacional de Córdoba 26/0/6 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes

Más detalles

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Examen IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Este examen tiene

Más detalles

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R. Conjuntos Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por se entiende que a pertenece a R. a R Normalmente, podremos definir a un conjunto de dos maneras: Por

Más detalles

Lenguajes Regulares. Antonio Falcó. - p. 1

Lenguajes Regulares. Antonio Falcó. - p. 1 Lenguajes Regulares Antonio Falcó - p. 1 Cadenas o palabras I Una cadena o palabra es una sucesión finita de símbolos. cadena {c, a, d, e, n}. 10001 {0, 1} El conjunto de símbolos que empleamos para construir

Más detalles

16 Análisis sintáctico I

16 Análisis sintáctico I 2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura

Más detalles

Otras propiedades de los lenguajes regulares

Otras propiedades de los lenguajes regulares Capítulo 3 Otras propiedades de los lenguajes regulares En los dos capítulos anteriores hemos presentado las propiedades básicas de los lenguajes regulares pero no hemos visto cómo se puede demostrar que

Más detalles

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en

Más detalles

Capítulo 1 Lenguajes formales 6

Capítulo 1 Lenguajes formales 6 Capítulo 1 Lenguajes formales 6 1.8. Operaciones entre lenguajes Puesto que los lenguajes sobre Σ son subconjuntos de Σ, las operaciones usuales entre conjuntos son también operaciones válidas entre lenguajes.

Más detalles

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones 1 Curso Básico de Computación 5 Autómatas de pila 5.1 Descripción informal Un autómata de pila es esencialmente un autómata finito que controla una cinta de entrada provista de una cabeza de lectura y

Más detalles

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto Universidad Autónoma del Estado de México Centro Universitario UAEM Texcoco Departamento de Ciencias Aplicadas. Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer,

Más detalles

Tema 2: Los Autómatas y su Comportamiento

Tema 2: Los Autómatas y su Comportamiento Departamento de Computación Universidade da Coruña Bisimulación y procesos concurrentes Tema 2: Los Autómatas y su Comportamiento Carmen Alonso Montes carmen@dc.fi.udc.es Noelia Barreira Rodríguez noelia@dc.fi.udc.es

Más detalles

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx

Más detalles

GRAMATICAS LIBRES DEL CONTEXTO

GRAMATICAS LIBRES DEL CONTEXTO GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.

Más detalles

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Tema 2. Fundamentos de la Teoría de Lenguajes Formales Departamento de Tecnologías de la Información Tema 2. Fundamentos de la Teoría de Lenguajes Formales Ciencias de la Computación e Inteligencia Artificial Índice 2.1. Alfabeto 2.2. Palabra 2.3. Operaciones

Más detalles

Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars)

Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars) Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars) Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad

Más detalles

Propiedades de lenguajes independientes del contexto

Propiedades de lenguajes independientes del contexto Capítulo 12. Propiedades de lenguajes independientes del contexto 12.1. Identificación de lenguajes independientes del contexto Lema de bombeo. 12.2. Propiedades Cierre, Complemento de lenguajes, Sustitución,

Más detalles

Capítulo 9. Introducción a los lenguajes formales. Continuar

Capítulo 9. Introducción a los lenguajes formales. Continuar Capítulo 9. Introducción a los lenguajes formales Continuar Introducción Un lenguaje es un conjunto de símbolos y métodos para estructurar y combinar dichos símbolos. Un lenguaje también recibe el nombre

Más detalles

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I Gramáticas independientes del contexto UTÓMTS Y LENGUJES FORMLES LENGUJES INDEPENDIENTES DEL CONTEXTO Y UTÓMTS DE PIL Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNM E-mail:

Más detalles

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003 Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Interrogación 2 IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Esta interrogación

Más detalles

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50 INAOE (INAOE) 1 / 50 Contenido 1 2 3 4 (INAOE) 2 / 50 Pushdown Automata Las gramáticas libres de contexto tienen un tipo de autómata que las define llamado pushdown automata. Un pushdown automata (PDA)

Más detalles

GRAMÁTICAS LIBRES DE CONTEXTO

GRAMÁTICAS LIBRES DE CONTEXTO GRAMÁTICAS LIBRES DE CONTEXTO Definición Una gramática libre de contexto (GLC) es una descripción estructural precisa de un lenguaje. Formalmente es una tupla G=, donde Vn es el conjunto

Más detalles

Lenguajes Formales y Monoides

Lenguajes Formales y Monoides Universidad de Cantabria Esquema 1 2 3 La operación esencial sobre Σ es la concatenación o adjunción de palabras: : Σ Σ Σ (x, y) x y es decir, si x = x 1 x n e y = y 1 y m, entonces x y = x 1 x n y 1 y

Más detalles

Unidad 4. Autómatas de Pila

Unidad 4. Autómatas de Pila Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0 n 1 n } debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje

Más detalles

Autómatas Deterministas. Ivan Olmos Pineda

Autómatas Deterministas. Ivan Olmos Pineda Autómatas Deterministas Ivan Olmos Pineda Introducción Los autómatas son una representación formal muy útil, que permite modelar el comportamiento de diferentes dispositivos, máquinas, programas, etc.

Más detalles

Paréntesis: Una aplicación en lenguajes formales

Paréntesis: Una aplicación en lenguajes formales Paréntesis: Una aplicación en lenguajes formales Vamos a ver una aplicación del Teorema de Immerman-Szelepcsényi en la área de lenguajes formales. IIC3242 Clases de Complejidad 35 / 69 Paréntesis: Una

Más detalles

Capítulo 7: Expresiones Regulares

Capítulo 7: Expresiones Regulares Capítulo 7: Expresiones Regulares 7.1. Concepto de expresión regular 7.1.1. Definición 7.1.2. Lenguaje descrito 7.1.3. Propiedades 7.2. Teoremas de equivalencia 7.2.1. Obtener un AFND a partir de una expresión

Más detalles

Teoría de la Computación

Teoría de la Computación Teoría de la Computación Lenguajes, autómatas, gramáticas Rodrigo De Castro Korgi Ph.D. en Matemáticas University of Illinois, U.S.A. Departamento de Matemáticas Universidad Nacional de Colombia, Bogotá

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 3 Propiedades de los conjuntos regulares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 3 Propiedades

Más detalles

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales Teoría de utómatas y Lenguajes Formales Introducción a las ramáticas. ramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Introducción

Más detalles

06 Análisis léxico II

06 Análisis léxico II 2 Contenido Alfabetos, símbolos y cadenas Operaciones con cadenas Concatenación de dos cadenas Prefijos y sufijos de una cadena Subcadena y subsecuencia Inversión de una cadena Potencia de una cadena Ejercicios

Más detalles

Sumario: Teoría de Autómatas y Lenguajes Formales. Capítulo 2: Lenguajes Formales. Capítulo 2: Lenguajes Formales

Sumario: Teoría de Autómatas y Lenguajes Formales. Capítulo 2: Lenguajes Formales. Capítulo 2: Lenguajes Formales Teoría de Autómatas y Lenguajes Formales Capítulo 2: Lenguajes Formales Holger Billhardt holger.billhardt@urjc.es Sumario: Capítulo 2: Lenguajes Formales 1. Concepto de Lenguaje Formal 2. Operaciones sobre

Más detalles

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas Gramáticas Introducción Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas En algunos lenguajes, una sucesión de símbolos depende del

Más detalles

Tema 5 Lenguajes independientes del contexto. Sintaxis

Tema 5 Lenguajes independientes del contexto. Sintaxis Tema 5 Lenguajes independientes del contexto. Sintaxis 1 Gramáticas independientes del contexto Transformación de gramáticas independientes del contexto Autómatas de pila Obtención de un autómata de pila

Más detalles

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad Estructuras Discretas Relaciones Definición: relación Relaciones Claudio Lobos, Jocelyn Simmonds clobos,jsimmond@inf.utfsm.cl Universidad Técnica Federico Santa María Estructuras Discretas INF 152 Sean

Más detalles

Lenguajes (gramáticas y autómatas)

Lenguajes (gramáticas y autómatas) Lenguajes (gramáticas y autómatas) Elvira Mayordomo Universidad de Zaragoza 19 de septiembre de 2013 Elvira Mayordomo (Universidad de Zaragoza) Lenguajes (gramáticas y autómatas) 19 de septiembre de 2013

Más detalles

Conceptos básicos sobre gramáticas

Conceptos básicos sobre gramáticas Procesamiento de Lenguajes (PL) Curso 2014/2015 Conceptos básicos sobre gramáticas Gramáticas y lenguajes Gramáticas Dado un alfabeto Σ, un lenguaje es un conjunto (finito o infinito) de cadenas de símbolos

Más detalles

Lenguajes y Gramáticas

Lenguajes y Gramáticas Lenguajes y Gramáticas Teoría de Lenguajes Fernando Naranjo Introduccion Se desarrollan lenguajes de programación basados en el principio de gramática formal. Se crean maquinas cada vez mas sofisticadas

Más detalles

Equivalencia Entre PDA y CFL

Equivalencia Entre PDA y CFL Equivalencia Entre PDA y CFL El Lenguaje aceptado por un Autómata con Pila Universidad de Cantabria Esquema 1 Introducción 2 3 Lenguaje Aceptado por un Autómata Como en los autómatas finitos, se puede

Más detalles

Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares

Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares Autómata = Lógica Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares Pero antes: Vamos a hacer un breve repaso sobre

Más detalles

Definición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ).

Definición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ). ALGEBRA La primera parte del presente libro está dedicada a las estructuras algebraicas. En esta parte vamos a iniciar agregándole a los conjuntos operaciones. Cuando las operaciones tienen determinadas

Más detalles

LENGUAJES FORMALES Y AUTÓMATAS

LENGUAJES FORMALES Y AUTÓMATAS LENGUAJES FORMALES Y AUTÓMATAS Departamento de Lenguajes y Sistemas Informáticos Escuela Técnica Superior de Ingeniería Informática Universidad de Sevilla Víctor J. Díaz Madrigal José Miguel Cañete Valdeón

Más detalles

Clase 14: Gramáticas libres de contexto

Clase 14: Gramáticas libres de contexto M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Gramáticas libres de contexto Propiedades de los lenguajes libres de contexto

Más detalles

Computabilidad y Lenguajes Formales: Autómatas de Pila

Computabilidad y Lenguajes Formales: Autómatas de Pila 300CIG007 Computabilidad y Lenguajes Formales: Autómatas de Pila Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Basado en [SIPSER, Chapter 2] Autómatas

Más detalles

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 5 - Simplificación de gramáticas incontextuales

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 5 - Simplificación de gramáticas incontextuales TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 5 - Simplificación de gramáticas incontextuales 1. Objetivos 2. Representación de los datos en Mathematica 3. Eliminación de símbolos inútiles 3.1. Símbolos

Más detalles

Álgebra y Trigonometría

Álgebra y Trigonometría Álgebra y Trigonometría Conceptos fundamentales del Álgebra Universidad de Antioquia Departamento de Matemáticas 1. Números Reales El conjunto de los números reales está constituido por diferentes clases

Más detalles

John Venn Matemático y filósofo británico creador de los diagramas de Venn

John Venn Matemático y filósofo británico creador de los diagramas de Venn Georg Cantor Matemático Alemán creador de la teoría de conjuntos John Venn Matemático y filósofo británico creador de los diagramas de Venn August De Morgan Matemático ingles creador de leyes que llevan

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Analizadores sintácticos descendentes: LL(1) Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 Analizadores sintácticos

Más detalles

Introducción a la Lógica y la Computación

Introducción a la Lógica y la Computación Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 4 de Noviembre de 2015 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/21 Lenguajes Formales

Más detalles

Computabilidad y Lenguajes Formales: Autómatas Finitos

Computabilidad y Lenguajes Formales: Autómatas Finitos 300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. No Determinismo Hasta ahora cada

Más detalles

Gramáticas independientes del contexto. Tema 3: Lenguajes independientes del contexto. Derivaciones. Árbol de derivación

Gramáticas independientes del contexto. Tema 3: Lenguajes independientes del contexto. Derivaciones. Árbol de derivación Tema 3: Lenguajes independientes del contexto Gramáticas independientes de contexto (GIC) Conceptos básicos Ambigüedad Ejemplos de GICs Autómatas con pila (AP) Definición de autómata con pila Determinismo

Más detalles

Introducción a la Lógica y la Computación

Introducción a la Lógica y la Computación Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 12 de Noviembre de 2014 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/11 Lenguajes Regulares

Más detalles

CONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

CONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle CONJUNTOS REGULARES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 19 de Octubre de 2008 Contenido Expresiones regulares Teorema de Kleene Autómatas

Más detalles

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO Autómatas de pila y lenguajes independientes del contexto -1- AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO AUTÓMATAS DE PILA - Son autómatas finitos con una memoria en forma de pila. - Símbolos

Más detalles

Conceptos previos. Revisión de Sistemas Lógicos Formatos Numéricos. Dpto. Ingeniería Electrónica y Comunicaciones

Conceptos previos. Revisión de Sistemas Lógicos Formatos Numéricos. Dpto. Ingeniería Electrónica y Comunicaciones Conceptos previos Revisión de Sistemas Lógicos Formatos Numéricos Revisión de Sistemas Lógicos Álgebra de Boole Base matemática de la Electrónica Digital Consta de dos elementos: 0 lógico y 1 lógico Tecnología

Más detalles

Las Gramáticas LL. Gramáticas con Parsing Eficiente. Universidad de Cantabria

Las Gramáticas LL. Gramáticas con Parsing Eficiente. Universidad de Cantabria Las (k) Las Gramáticas con Parsing Eficiente Universidad de Cantabria Outline Las (k) 1 Las (k) 2 3 Las (k) Formalizalización del Concepto LL Definición Una gramática libre de contexto G = (V, Σ, Q 0,

Más detalles

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila. 0 Temas Definición de autómata de pila Autómata de pila determinístico y no determinístico Objetivo Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2)

Más detalles

Sea Σ un alfabeto y L el lenguaje de los palíndromos sobre Σ. Sean a, b dos elementos de Σ. Se demuestra por reducción al absurdo que L no es regular:

Sea Σ un alfabeto y L el lenguaje de los palíndromos sobre Σ. Sean a, b dos elementos de Σ. Se demuestra por reducción al absurdo que L no es regular: Universidad Rey Juan Carlos Grado en Ingeniería de Computadores Máquinas Secuenciales, Autómatas y Lenguajes Hoja de Problemas: Propiedades Lenguajes Regulares Nivel del ejercicio : ( ) básico, ( ) medio,

Más detalles

El análisis descendente LL(1) 6, 7 y 13 de abril de 2011

El análisis descendente LL(1) 6, 7 y 13 de abril de 2011 6, 7 y 13 de abril de 2011 Analizadores sintácticos (repaso) Los analizadores descendentes: Corresponden a un autómata de pila determinista. Construyen un árbol sintáctico de la raíz hacia las hojas (del

Más detalles

Tema 2 Gramáticas y Lenguajes Libres de Contexto

Tema 2 Gramáticas y Lenguajes Libres de Contexto Tema 2 Gramáticas y Lenguajes Libres de Contexto 1. Definiciones Básicas 2. 3. Forma Normal de Chomsky 4. Autómatas de Pila 5. Propiedades de los Lenguajes Libres de Contexto 1. Definiciones básicas 1.

Más detalles

Grupos libres. Presentaciones.

Grupos libres. Presentaciones. S _ Tema 12.- Grupos libres. Presentaciones. 12.1 Grupos libres. En el grupo Z de los enteros vimos una propiedad (cf. ejemplos.5), que lo caracteriza como grupo libre. Lo enunciamos al modo de una Propiedad

Más detalles

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos 300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Qué es un computador? Todos lo sabemos!!!

Más detalles

Inducción Matemática Conjuntos Funciones. Matemática Discreta. Agustín G. Bonifacio UNSL. Repaso de Inducción, Conjuntos y Funciones

Inducción Matemática Conjuntos Funciones. Matemática Discreta. Agustín G. Bonifacio UNSL. Repaso de Inducción, Conjuntos y Funciones UNSL Repaso de Inducción, y Inducción Matemática (Sección 1.7 del libro) Supongamos que queremos demostrar enunciados del siguiente tipo: P(n) : La suma de los primeros n números naturales es n(n+1)

Más detalles

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 45 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

Compiladores e Intérpretes

Compiladores e Intérpretes Compiladores e Intérpretes Coordinador: Prof. Ing. Pablo Pandolfo 1 Contenido: Lenguajes Formales. Gramáticas Formales. Lenguajes Regulares. Lenguajes Incontextuales. Maquina de Turing. Proceso de compilación

Más detalles

Pregunta 1 Es correcta esta definición? Por qué?

Pregunta 1 Es correcta esta definición? Por qué? TEORÍA DE CONJUNTOS. En un libro de COU de 1975 puede leerse la siguiente definición de conjunto: Un conjunto es una colección de objetos, cualquiera que sea su naturaleza. Pregunta 1 Es correcta esta

Más detalles

Matemáticas. ticas Discretas. Lenguajes y Gramáticas. Tenemos dos clases de lenguaje: Lenguaje Formal

Matemáticas. ticas Discretas. Lenguajes y Gramáticas. Tenemos dos clases de lenguaje: Lenguaje Formal Matemáticas ticas Discretas y Gramáticas y Gramáticas Tenemos dos clases de lenguaje: Lenguaje Natural Lenguaje Formal Lenguaje Formal De acuerdo al diccionario Webster, un lenguaje es un cuerpo de palabras

Más detalles

13.3. MT para reconocer lenguajes

13.3. MT para reconocer lenguajes 13.3. MT para reconocer lenguajes Gramática equivalente a una MT Sea M=(Γ,Σ,,Q,q 0,f,F) una Máquina de Turing. L(M) es el lenguaje aceptado por la máquina M. A partir de M se puede crear una gramática

Más detalles

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas Tema 3.1: Autómatas Finitos Deterministas Luis Peña luis.pena@urjc.es http://www.ia.urjc.es/cms/es/docencia/ic-msal Sumario Tema 3.1: Autómatas Finitos Deterministas. 1. Concepto de AFD 2. Equivalencia

Más detalles

ARITMÉTICA MODULAR. Unidad 1

ARITMÉTICA MODULAR. Unidad 1 Unidad 1 ARITMÉTICA MODULAR 9 Capítulo 1 DE LA TEORÍA DE CONJUNTOS Objetivo general Presentar y afianzar algunos conceptos de la Teoría de Conjuntos relacionados con el estudio de la matemática discreta.

Más detalles

Una manera de describir un conjunto es por extensión y consiste en enumerar sus elementos entre llaves

Una manera de describir un conjunto es por extensión y consiste en enumerar sus elementos entre llaves CONJUNTOS: DEFINICIÓN Y CARDINAL DE UN CONJUNTO : Un conjunto es una colección bien definida de objetos en la que el orden es irrelevante. Dichos objetos pueden ser reales o conceptuales y se llaman elementos

Más detalles

Estructuras Algebraicas

Estructuras Algebraicas Tema 1 Estructuras Algebraicas Definición 1 Sea A un conjunto no vacío Una operación binaria (u operación interna) en A es una aplicación : A A A Es decir, tenemos una regla que a cada par de elementos

Más detalles

Gramáticas libres de contexto

Gramáticas libres de contexto Gramáticas libres de contexto Conceptos básicos El siguientes es un ejemplo de una gramática libre de contexto, a la cual llamaremos G1. A 0A1 A B B # Una gramática consiste de una colección de reglas

Más detalles

1 Conjuntos y propiedades de los números naturales

1 Conjuntos y propiedades de los números naturales Programa Inmersión, Verano 2016 Notas escritas por Dr. M Notas del cursos. Basadas en los prontuarios de MATE 3001 y MATE 3023 Clase #1: martes, 31 de mayo de 2016. 1 Conjuntos y propiedades de los números

Más detalles

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 42 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse lógicamente como un término no definido. Un conjunto se

Más detalles

Algebra lineal y conjuntos convexos

Algebra lineal y conjuntos convexos Apéndice A Algebra lineal y conjuntos convexos El método simplex que se describirá en el Tema 2 es de naturaleza algebraica y consiste en calcular soluciones de sistemas de ecuaciones lineales y determinar

Más detalles

Matrices. José Vicente Romero Bauset. ETSIT-curso 2009/2010. José Vicente Romero Bauset Tema 1.- Matrices. 1

Matrices. José Vicente Romero Bauset. ETSIT-curso 2009/2010. José Vicente Romero Bauset Tema 1.- Matrices. 1 Matrices José Vicente Romero Bauset ETSIT-curso 2009/2010 José Vicente Romero Bauset Tema 1- Matrices 1 Introducción Por qué estudiar las matrices? Son muchas las situaciones de la vida real en las que

Más detalles

Clase 03: Alfabetos, símbolos y cadenas

Clase 03: Alfabetos, símbolos y cadenas Solicitado: Ejercicios 01: Cadenas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfranco@ipn.mx 1 Contenido Alfabetos, símbolos y cadenas Operaciones

Más detalles

Convertir un AFND a un AFD

Convertir un AFND a un AFD Convertir un AFND a un AFD Existe una equivalencia entre los AFD y AFN, de forma que un autómata M es equivalente a un autómata M' si L(M) ) L(M'). Ejemplo: Los autómatas de la siguiente figura son equivalentes.

Más detalles

Recordemos que utilizaremos, como es habitual, la siguiente notación para algunos conjuntos de números que son básicos.

Recordemos que utilizaremos, como es habitual, la siguiente notación para algunos conjuntos de números que son básicos. Capítulo 1 Preliminares Vamos a ver en este primer capítulo de preliminares algunos conceptos, ideas y propiedades que serán muy útiles para el desarrollo de la asignatura. Se trata de resultados sobre

Más detalles

ESTRUCTURAS ALGEBRAICAS. Parte 1

ESTRUCTURAS ALGEBRAICAS. Parte 1 ESTRUCTURAS ALGEBRAICAS Parte 1 ESTRUCTURAS ALGEBRAICAS Una estructura algebraica es una n-tupla (a 1,a 2,...,a n ), donde a 1 es un conjunto dado no vacío, y {a 2,...,a n } un conjunto de operaciones

Más detalles

Lenguajes Formales. 27 de octubre de 2005

Lenguajes Formales. 27 de octubre de 2005 Apuntes de Teoría de Autómatas y Lenguajes Formales Gloria Martínez Luis A. García 27 de octubre de 2005 II Índice general 3.1. El Teorema de Myhill-Nerode. Minimización de Autómatas Finitos..... 41 3.2.

Más detalles

ÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales.

ÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales. ÁRBOLES DE SINTAXIS ÁRBOL grafo dirigido acíclico. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales. Los nodos terminales (nodos hojas) están rotulados por los

Más detalles