Matemáticas discretas II

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

Download "Matemáticas discretas II"

Transcripción

1 Matemáticas discretas II Lenguajes y gramáticas carlos.andres.delgado@correounivalle.edu.co Carlos Andrés Delgado S. Raúl E Gutierrez de Piñerez R. Facultad de Ingeniería. Universidad del Valle Abril 2017

2 1 Lenguajes 2 Autómatas finitos 3 Gramáticas

3 Contenido 1 Lenguajes 2 Autómatas finitos 3 Gramáticas

4 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.

5 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í:, ɛ, { }, {ɛ}

6 Alfabetos Operaciones con alfabetos Si Σ es un alfabeto, σ Σ denota que σ es un símbolo de Σ, por tanto, si se puede decir que 0 Σ Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 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.

7 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,...}

8 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 nb 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.

9 Potencia de una cadena Dada w Σ y n N, se define w n de la siguiente forma ɛ si n = 0 w n = uu }{{... u } n veces si n 1 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

10 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

11 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.

12 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.

13 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

14 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.

15 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 1 a 2 a 3... a n, w = b 1 b 2 b 3... b m, entonces, Por tanto u w = n + m u w = a 1 a 2 a 3... a nb 1 b 2 b 3... b m La concatenación de cadenas es asociativa. Es decir, si u, v, w Σ, entonces: (uv)w = u(vw)

16 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

17 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

18 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.

19 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}

20 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}.

21 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.

22 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.

23 Lenguajes Sea el lenguaje del conjunto de cadenas con igual número de ceros y unos. L 1 = {ɛ, 01, 10, 0011, 0101, 1001, ,...} y sea 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 } =

24 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 B i = (A B i ) i I i I x A 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 B i ) i I(A B i

25 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 A) i I(B i I

26 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

27 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}

28 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 + = A i = A 1 A 2 A 3... A n i 1

29 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

30 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.

31 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}

32 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 +

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

34 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

35 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 ) +

36 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)}

37 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.

38 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.

39 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)

40 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

41 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.

42 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 nr n), para n 0 w = r 0 (s 1 r 1 )(s 2 r 2 )... (s nr 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

43 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

44 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

45 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)

46 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.

47 Contenido 1 Lenguajes 2 Autómatas finitos 3 Gramáticas

48 Introducción a los autómatas finitos

49 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.

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

51 Lenguaje aceptado por un autómata

52 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). Autómata 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.

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

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

55 Ejemplos autómatas 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 +

56 Ejemplos autómatas 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 ε

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

58 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}

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

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

61 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

62 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 )

63 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

64 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

65 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 }

66 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:

67 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.

68 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, δ) δ : Q 1 Q 2 Σ Q 1 Q 2 δ((q i, q j ), a) = (δ 1 (q i, a), δ 2 (q j, a)) Esta función satisface: L(M) = L(M 1 ) L(M 2 )

69 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 )}

70 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 )

71 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}

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

73 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ómata a b ab a

74 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.

75 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.

76 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-ε)

77 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

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

79 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 )} s es un estado final NUEVO. {(T 1, ɛ, s ), (T 2, ɛ, s )} 3 Q = Q 1 Q 2 {s} {s } donde s es el nuevo estado inicial.

80 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

81 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)

82 Autómatas finitos y lenguajes regulares 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 )

83 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.

84 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 + ɛ

85 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 + ɛ

86 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,nx n Entonces el sistema tiene una única solución: En i, j {1,..., n}, ɛ / A i

87 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

88 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 + ɛ

89 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

90 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

91 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

92 Contenido 1 Lenguajes 2 Autómatas finitos 3 Gramáticas

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

94 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 ɛ)σ

95 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 ε

96 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 ε

97 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 Σ)

98 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 ε

99 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 ε

100 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 Σ)

101 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.

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

103 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.

104 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

105 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.

106 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

107 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 > ::=

Lenguajes formales y autómatas

Lenguajes formales y autómatas y autómatas. raul.gutierrez@correounivalle.edu.co Marzo, 2014 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

Más detalles

Alfabetos, cadenas y lenguajes

Alfabetos, cadenas y lenguajes Capítulo 1 lfabetos, cadenas y lenguajes 1.1. lfabetos y cadenas Un alfabeto es un conjunto finito no vacío cuyos elementos se llaman símbolos. Denotamos un alfabeto arbitrario con la letra Σ. Una cadena

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

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

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

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 Y GRAMÁTICAS

LENGUAJES Y GRAMÁTICAS LENGUAJES Y GRAMÁTICAS Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 20 de septiembre de 2008 Contenido Lenguajes y Gramáticas Gramáticas Gramáticas

Más detalles

Unidad 1 Introducción

Unidad 1 Introducción Unidad 1 Introducción Contenido 1.1 La importancia de estudiar los autómatas y lenguajes formales 1.2 Símbolos, alfabetos y cadenas 1.3 Operaciones sobre cadenas 1.4 Definición de lenguaje y operaciones

Más detalles

MODELOS DE COMPUTACIÓN CRISTIAN ALFREDO MUÑOZ ALVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACON PEÑA EDUARDO GONZALES PULGARIN

MODELOS DE COMPUTACIÓN CRISTIAN ALFREDO MUÑOZ ALVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACON PEÑA EDUARDO GONZALES PULGARIN MODELOS DE COMPUTACIÓN CRISTIAN ALFREDO MUÑOZ ALVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACON PEÑA EDUARDO GONZALES PULGARIN LENGUAJES Y GRAMÁTICAS La sintaxis de un lenguaje natural en lenguajes como

Más detalles

Expresiones regulares, gramáticas regulares Unidad 3

Expresiones regulares, gramáticas regulares Unidad 3 Expresiones regulares, gramáticas regulares Unidad 3 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,

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

Autómata finito y Expresiones regulares A* C. B

Autómata finito y Expresiones regulares A* C. B Autómata finito y Expresiones regulares A* C. B Conceptos Alfabeto ( ): es el conjunto finito no vacío de símbolos. Ejemplo: = {0,1}, el alfabeto binario Cadenas: secuencia finita de símbolos pertenecientes

Más detalles

Teoría de la Computación y Leguajes Formales

Teoría de la Computación y Leguajes Formales y Leguajes Formales Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve hildac.teoriadelacomputacion@gmail.com Contenido Tema 0: Introducción y preliminares: Conocimientos matemáticos

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

Temas. Objetivo. Símbolo, alfabeto. Hileras y operaciones con hileras. Operaciones con lenguajes

Temas. Objetivo. Símbolo, alfabeto. Hileras y operaciones con hileras. Operaciones con lenguajes 0 1 Temas Símbolo, alfabeto Hileras y operaciones con hileras Operaciones con lenguajes Objetivo Que el estudiante logre conocer, comprender y manejar conceptos vinculados con la Teoría de Lenguajes Formales

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

2.1. Autómatas finitos deterministas (AFD) Los autómatas finitos son máquinas abstractas que procesan cadenas, las cuales son aceptadas o rechazadas:

2.1. Autómatas finitos deterministas (AFD) Los autómatas finitos son máquinas abstractas que procesan cadenas, las cuales son aceptadas o rechazadas: Capítulo 2 Autómatas finitos 2.1. Autómatas finitos deterministas (AFD) Los autómatas finitos son máquinas abstractas que procesan cadenas, las cuales son aceptadas o rechazadas: El autómata actúa leyendo

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

Unidad 1 Lenguajes Formales

Unidad 1 Lenguajes Formales Unidad 1 Lenguajes Formales 1. INTRODUCCION El lenguaje es una secuencia de fonemas o símbolos que forman sílabas, palabras, frases, párrafos, capítulos, novelas, libros, bibliotecas...que tiene una sintaxis

Más detalles

Gramáticas Libres de Contexto

Gramáticas Libres de Contexto Gramáticas Libres de Contexto Pedro J. Álvarez Pérez-Aradros Rubén Béjar Hernández Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza GramáticasLibresContrxto.ppt 29/03/2004

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

Teoría de la Computación Lenguajes Regulares (LR) - Propiedades

Teoría de la Computación Lenguajes Regulares (LR) - Propiedades Teoría de la Computación Lenguajes Regulares (LR) - Propiedades Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve http://webdelprofesor.ula.ve/ingenieria/hyelitza Objetivo Lenguajes

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

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Gramáticas Regulares Expresiones Regulares Gramáticas - Intuitivamente una gramática es un conjunto de reglas para formar correctamente las frases de un lenguaje - Por ejemplo,

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

INGENIERÍA EN INFORMÁTICA MODELOS ABSTRACTOS DE COMPUTO I SOLUCIONES

INGENIERÍA EN INFORMÁTICA MODELOS ABSTRACTOS DE COMPUTO I SOLUCIONES INGENIERÍA EN INFORMÁTICA MODELOS ABSTRACTOS DE COMPUTO I 19 de Enero de 2009 SOLUCIONES PREGUNTA 1 (2 puntos): Son siete cuestiones que debes responder y entregar en esta misma hoja. 1.1 Considera el

Más detalles

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I Tema 5: Autómatas a pila 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 Wesley.

Más detalles

Jerarquía de Chomsky. 1. Clasificación de gramáticas. 2. Clasificación de lenguajes. 3. Gramáticas regulares. 5. Gramáticas dependientes del contexto

Jerarquía de Chomsky. 1. Clasificación de gramáticas. 2. Clasificación de lenguajes. 3. Gramáticas regulares. 5. Gramáticas dependientes del contexto Jerarquía de Chomsky 1. Clasificación de gramáticas 2. Clasificación de lenguajes 3. Gramáticas regulares 4. Gramáticas independientes del contexto 5. Gramáticas dependientes del contexto 6. Gramáticas

Más detalles

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas Guía Modelos de Computación Tema I: Lenguajes y Gramáticas Introducción La sintaxis de un lenguaje natural, esto es, la de los lenguajes hablados, como el inglés, el español, el alemán o el francés, es

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

CAPITULO 2: LENGUAJES

CAPITULO 2: LENGUAJES CAPITULO 2: LENGUAJES 2.1. DEFINICIONES PREIAS SIMBOLO: Es una entidad indivisible, que no se va a definir. Normalmente los símbolos son letras (a,b,c,.., Z), dígitos (0, 1,.., 9) y otros caracteres (+,

Más detalles

Alfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación:

Alfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación: Alfabetos y cadenas (1) 0 b b 0 1 Alfabeto: Un alfabeto Σ es un conjunto finito y no vacío de símbolos. Cadena sobre un alfabeto Σ: Es una sucesión de caracteres tomados de Σ. Cadena vacía: Cadena sin

Más detalles

Lenguajes Incontextuales

Lenguajes Incontextuales Tema 5: Gramáticas Formales Lenguajes Incontextuales Departamento de Sistemas Informáticos y Computación http://www.dsic.upv.es p.1/31 Tema 5: Gramáticas Formales Gramáticas. Tipos de Gramáticas. Jerarquía

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

Máquinas de estado finito y expresiones regulares

Máquinas de estado finito y expresiones regulares Capítulo 3 Máquinas de estado finito y expresiones regulares En este tema definiremos y estudiaremos máquinas de estado finito, llamadas también máquinas de estado finito secuenciales o autómatas finitos.

Más detalles

AUTÓMATAS DE ESTADO FINITO

AUTÓMATAS DE ESTADO FINITO AUTÓMATAS DE ESTADO FINITO Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 12 de octubre de 2008 Contenido Autómatas de estado finito Concatenación de

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

Igualdad de cadenas. Las nociones de sufijo y prefijo de cadenas sobre un alfabeto son análogas a las que se usan habitualmente.

Igualdad de cadenas. Las nociones de sufijo y prefijo de cadenas sobre un alfabeto son análogas a las que se usan habitualmente. Igualdad de cadenas Si w y z son palabras, se dice que w es igual a z, si tiene la misma longitud y los mismos símbolos en la misma posición. Se denota por w = z. Las nociones de sufijo y prefijo de cadenas

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

si w=ay por tanto a Σ e y Σ*

si w=ay por tanto a Σ e y Σ* EJERCICIOS: LENGUAJES Y GRAMÁTICAS FORMALES Y MÁQUINAS DE TURING 1.- Prefijos de una cadena x son las cadenas que se pueden obtener de x suprimiendo 0 o más caracteres del final de x. Prefijos propios

Más detalles

ESPECIFICACIÓN DE SÍMBOLOS

ESPECIFICACIÓN DE SÍMBOLOS 1 UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA DEPARTAMENTO DE COMPUTACIÓN ESPECIFICACIÓN DE SÍMBOLOS Elaborado el Sábado 24 de Julio de 2004 I.- COMPONENTES LÉXICOS, PATRONES Y LEXEMAS (extraído de

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Gramáticas Libres del Contexto y Lenguajes Libres del Contexto Gramáticas Formales Una gramática formal es una cuadrupla G = (N, T, P, S) N = conjunto finito de símbolos no

Más detalles

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña Máquinas Secuenciales, Autómatas y Lenguajes Tema 4: Expresiones Regulares Luis Peña Sumario Tema 4: Expresiones Regulares. 1. Concepto de Expresión Regular 2. Teoremas de Equivalencia Curso 2012-2013

Más detalles

Autómatas de Estados Finitos

Autómatas de Estados Finitos Asignatura: Teoría de la Computación Unidad 1: Lenguajes Regulares Tema 1: Autómatas de Estados Finitos Autómatas de Estados Finitos Definición de Autómatas de estados finitos: Tipo Lenguaje Máquina Gramática

Más detalles

Autómatas Finitos Deterministicos (DFA) Introducción a la Complejidad Computacional FFHA, Universidad Nacional de San Juan

Autómatas Finitos Deterministicos (DFA) Introducción a la Complejidad Computacional FFHA, Universidad Nacional de San Juan Autómatas Finitos Deterministicos (DFA) Introducción a la Complejidad Computacional FFHA, Universidad Nacional de San Juan 206 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes y

Más detalles

Máquina de estado finito con salida sin salida

Máquina de estado finito con salida sin salida Máquina de estado finito con salida sin salida Máquina de estado finito Máquinas de estados finitos se utilizan ampliamente en aplicaciones en ciencias de la computación y redes de datos. Por ejemplo,

Más detalles

Temas. Objetivo 07:00

Temas. Objetivo 07:00 0 Temas Definición de Gramáticas de Estructura de Frase Proceso de derivación Gramáticas equivalentes Lenguajes de Estructura de Frase Jerarquía de Chomsky Relación entre los lenguajes Objetivo Que el

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

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

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 de Teoría de Autómatas y Lenguajes Formales

Examen de Teoría de Autómatas y Lenguajes Formales Examen de Teoría de Autómatas y Lenguajes Formales TAL 16 de Septiembre de 2008 (I) CUESTIONES: (Justifique formalmente las respuestas) 1. Pronúnciese acerca de la veracidad o falsedad de los siguientes

Más detalles

1. Define que es un Autómatas finitos determinanticos y cuáles son sus elementos constitutivos (explique cada uno de ellos).

1. Define que es un Autómatas finitos determinanticos y cuáles son sus elementos constitutivos (explique cada uno de ellos). Unidad 2.- Lenguajes Regulares Los lenguajes regulares sobre un alfabeto dado _ son todos los lenguajes que Se pueden formar a partir de los lenguajes básicos?, {_}, {a}, a 2 _, por medio De las operaciones

Más detalles

3 Propiedades de los conjuntos regulares 3.1 Lema de Bombeo para conjuntos regulares

3 Propiedades de los conjuntos regulares 3.1 Lema de Bombeo para conjuntos regulares Curso Básico de Computación 3 Propiedades de los conjuntos regulares 3. Lema de Bombeo para conjuntos regulares El lema de bombeo es una herramienta poderosa para probar que ciertos lenguajes son no regulares.

Más detalles

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

Repaso Clase Anterior

Repaso Clase Anterior Mayo 22, Lunes Repaso Clase Anterior Glosario Tareas Prof. Esp. Ing. José María Sola 258 Agenda para esta clase Especificación Formal de Máquintas de Estado Expresiones Regulares Prof. Esp. Ing. José María

Más detalles

Máquinas de Turing. Definición 2

Máquinas de Turing. Definición 2 Definición 1 La Máquina de Turing (MT) es el modelo de autómata com máxima capacidad computacional: la unidad de control puede desplazarse a izquierda o derecha y sobreescribir símbolos en la cinta de

Más detalles

Lenguajes y Compiladores Análisis Léxico

Lenguajes y Compiladores Análisis Léxico Facultad de Ingeniería de Sistemas Lenguajes y Compiladores Análisis Léxico 1 Análisis léxico La tarea del análisis léxico es reconocer símbolos dentro de la cadena de caracteres que es el programa fuente.

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

Máquinas de Turing, recordatorio y problemas

Máquinas de Turing, recordatorio y problemas Máquinas de Turing, recordatorio y problemas Elvira Mayordomo, Universidad de Zaragoza 5 de diciembre de 2014 1. Recordatorio de la definición de máquina de Turing Una máquina de Turing, abreviadamente

Más detalles

Víctor J. Díaz Madrigal y Fernando Enríquez de Salamanca Ros. 2.1 Límites de los lenguajes regulares Teorema de Myhill-Nerode Lema del bombeo

Víctor J. Díaz Madrigal y Fernando Enríquez de Salamanca Ros. 2.1 Límites de los lenguajes regulares Teorema de Myhill-Nerode Lema del bombeo Guión 2.1 Límites de los lenguajes regulares Teorema de Myhill-Nerode Lema del bombeo Tma. de Myhill-Nerode: Relaciones de equivalencia Una relación de equivalencia sobre Σ es: 1. Invariante por la derecha:

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

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 2) 2007 1 Derivaciones El proceso de búsqueda de un árbol sintáctico para una cadena se llama análisis sintáctico. El lenguaje generado

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

TEORÍA DE AUTÓMATAS I Informática de Sistemas. Soluciones a las cuestiones de examen del curso 2009/2010

TEORÍA DE AUTÓMATAS I Informática de Sistemas. Soluciones a las cuestiones de examen del curso 2009/2010 TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones a las cuestiones de examen del curso 2009/2010 Febrero 10, 1ª semana 1. Considere la gramática de símbolos terminales {(, ), ;, 1, 2, 3}: S (A),

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

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

Gramáticas independientes del contexto TEORÍA DE LA COMPUTACIÓN LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Gramáticas independientes del contexto TEORÍA DE LA COMPUTACIÓN LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I Gramáticas independientes del contexto TEORÍ DE L COMPUTCIÓN 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

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

Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores

Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 1) 1 Aspectos Formales Los compiladores traducen lenguajes que están formalmente definidos a través de reglas que permiten escribir

Más detalles

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN G r a m á t i c a s UNIVERSIDAD DE SONORA DEPARTAMENTO DE MATEMÁTICAS LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN Dra. María de Guadalupe Cota Ortiz Lenguaje

Más detalles

Teoría de Lenguajes - Primer Parcial

Teoría de Lenguajes - Primer Parcial Teoría de Lenguajes - Primer Parcial Primer cuatrimestre de 2002. (30 pts) Dado el autómata M = {q 0,q,q 2,q 3 },{a,b},δ,q 0,{q 3 } δ = a b q 0 {q 0,q } {q 0 } q {q 2 } q 2 {q 3 } q 3 a) Encontrar una

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

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

Definiciones previas

Definiciones previas Máquina de Turing Definiciones previas Definición. Alfabeto: Diremos que un conjunto finito Σ es un alfabeto si Σ y ( x)(x Σ x es un símbolo indivisible) Ejemplos Σ ={a,b}, Σ ={0,1}, Σ ={a,b, z} son alfabetos

Más detalles

Tema 2: Lenguajes Formales. Informática Teórica I

Tema 2: Lenguajes Formales. Informática Teórica I Tema 2: Lenguajes Formales Informática Teórica I Teoría de Lenguajes Formales. Bibliografía M. Alfonseca, J. Sancho y M. Martínez. Teoría de Lenguajes, Gramáticas y Autómatas, R.A.E.C., Madrid, (1998).

Más detalles

07 Análisis léxico III

07 Análisis léxico III 2 Contenido Lenguaje Operaciones entre lenguajes Lenguajes regulares Expresiones regulares 3 Lenguaje Un lenguaje es un conjunto de palabras (cadenas) de un determinado alfabeto Σ. Formalmente: Se llama

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 4 Gramáticas libres de contexto Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 4 Gramáticas libres

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

Lenguaje Regular. Sumario. Lenguaje Regular. Autómatas y Lenguajes Formales. Capítulo 8: Propiedades de los Lenguajes Regulares

Lenguaje Regular. Sumario. Lenguaje Regular. Autómatas y Lenguajes Formales. Capítulo 8: Propiedades de los Lenguajes Regulares Lenguaje Regular Capítulo 8: Propiedades de los Lenguajes Regulares José Miguel Buenaposada Josemiguel.buenaposada@urjc.es Definición 1 (Lenguaje Regular) Un lenguaje L se denomina regular si y sólo si

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

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página Web: www.matematicas.unam.mx/fhq

Más detalles

Expresiones regulares y derivadas

Expresiones regulares y derivadas Expresiones regulares y derivadas Teoría de Lenguajes 1 er cuatrimestre de 2002 1 Expresiones regulares Las expresiones regulares son expresiones que se utilizan para denotar lenguajes regulares. No sirven

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

LENGUAJES Y GRAMÁTICAS

LENGUAJES Y GRAMÁTICAS LENGUAJES Y GRAMÁTICAS LENGUAJES Y GRAMÁTICAS La sintaxis de un lenguaje natural en lenguajes como el ingles, español, alemán o francés es extremadamente complicada, dado que es imposible especificar la

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

Generalidades sobre lenguajes.

Generalidades sobre lenguajes. no DSIC - UPV July 3, 2011 (DSIC - UPV) July 3, 2011 1 / 21 Definiciones: no Alfabeto Σ = {a, b, c} o Γ = {0, 1} palabra, cadena o frase Σ: x = aaba, y = 0011. Cadena vacía: λ. Longitud de una palabra:

Más detalles

Compiladores. Análisis Sintáctico Ascendente. Adrian Ulises Mercado Martínez. Facultad de Ingeniería, UNAM. 5 de septiembre de 2013

Compiladores. Análisis Sintáctico Ascendente. Adrian Ulises Mercado Martínez. Facultad de Ingeniería, UNAM. 5 de septiembre de 2013 Compiladores Análisis Sintáctico Ascendente Adrian Ulises Mercado Martínez Facultad de Ingeniería, UNAM 5 de septiembre de 2013 Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/2013 1 / 34 Índice

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

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

Gramáticas tipo 0 o Estructura de frase En este tipo de gramáticas no hay restricción en su producciones y tienen la forma siguiente.

Gramáticas tipo 0 o Estructura de frase En este tipo de gramáticas no hay restricción en su producciones y tienen la forma siguiente. Gramáticas Libres de Contexto 1. Gramáticas. Como vimos en el capítulo anterior una gramática es un conjunto finito de reglas que describen todas las secuencias de símbolos que pertenecen a un lenguaje.

Más detalles

Sea G = (V N, V T, S, P) una gramática libre de contexto, un árbol es un árbol de derivación para G si:

Sea G = (V N, V T, S, P) una gramática libre de contexto, un árbol es un árbol de derivación para G si: 09:50 1 Temas Gramáticas libres de contexto Árbol de derivación Derivación más a la izquierda y más a la derecha Ambigüedad Factorización a izquierda Gramáticas propias Expresiones Regulares Objetivo Que

Más detalles

Teoría de la Computación y Lenguajes Formales

Teoría de la Computación y Lenguajes Formales Teoría de la Computación y Lenguajes Formales Propiedades de los Lenguajes Libres de Contexto (LLC) Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve hildac.teoriadelacomputacion@gmail.com

Más detalles

TEORÍA DE AUTÓMATAS Y LENGUAJES

TEORÍA DE AUTÓMATAS Y LENGUAJES TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Francisco Vico departamento Lenguajes y Ciencias de la Computación área de conocimiento Ciencias de la Computación e Inteligencia Artificial ETSI Informática Universidad

Más detalles

Las Gramáticas Formales

Las Gramáticas Formales Definición de Las Como definir un Lenguaje Formal Universidad de Cantabria Esquema Motivación Definición de 1 Motivación 2 Definición de 3 Problema Motivación Definición de Dado un lenguaje L, se nos presenta

Más detalles