La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

¿Cómo nos comunicamos?.

Presentaciones similares


Presentación del tema: "¿Cómo nos comunicamos?."— Transcripción de la presentación:

1 ¿Cómo nos comunicamos?

2 A través del Lenguaje Los hay: Semántica: significado
Sintaxis: reglas gramaticales. Naturales Ejemplos: Lenguaje de humanos: chino, español, inglés. y Sintaxis: reglas gramaticales. Reglas gramaticales preestablecidas. Formales Ejemplos: Lenguajes de programación.

3 Lenguajes Formales Alfabeto Letra o Caracter Símbolo =
Cadena o palabra Lenguajes Formales Autómatas

4 ¿Qué forma parte de un lenguaje?
Símbolos Lenguaje Operaciones Reglas

5 Un alfabeto es un conjunto no vacío y finito de símbolos
Un alfabeto es un conjunto no vacío y finito de símbolos. Los símbolos del alfabeto son las letras, strings o caracteres. Ejemplos: La letra e forma parte del alfabeto español, italiano, inglés, entre otros. V* denota a todas las palabras del alfabeto V, es decir que cada elemento de V* es una secuencia finita ya que es una palabra. Ejemplo: Sea V = {a, b}, el alfabeto formado por los símbolos a y b. v = ababbaaa w = bbbb x = aaaaa son palabras de V*

6 Cadena de caracteres Palabra Longitud de Palabra Ejercicios
La cadena o palabra es una secuencia finita de caracteres del alfabeto, que se obtiene mediante las operaciones de los símbolos del mismo. V* denota a todas las palabras del alfabeto V, es decir que cada elemento de V* es una secuencia finita ya que es una palabra. Ejemplo: Sea V = {a, b}, el alfabeto formado por los símbolos a y b. v = ababbaaa w = bbbb x = aaaaa son palabras de V* La longitud de una cadena es la cantidad de símbolos que la forman.. Long v = |v| = 4 Long w = |w| = 4 Long y = long v + long w = 8 Se identifica con la letra griega λ a la cadena o palabra vacía o nula, es decir que carece de caracteres o símbolos, con longitud cero, |λ | = 0. Cadena de caracteres Palabra Longitud de Palabra Ejercicios

7 Operaciones con Palabras
Concatenación ¨Si x e y son palabras, la concatenación, x.y es una palabra formada por los símbolos de x seguidos por los símbolos de y. Ejemplo: Sea V = {0,1} alfabeto binario, sean v, w e y palabras de V* Sea v=0111 Sea w=1110 Sea y=vw léase y = v contatenado con w, por lo que resulta y = Ejercicios Reflexión, Inversa o Trasposición Si la palabra x está formada por los símbolos A1, A2, ...., An, entonces la palabra inversa de x, xR , se forma invirtiendo el orden de los símbolos en la palabra; xR = An, ...., A2, A1. Ejemplo: Sea w = abc entonces wR = cba Potenciación Si concatenamos n veces una cadena x, es decir xxxxxx.... x n veces, obtendremos x. Ejemplos: si concatenamos 2 veces la cadena x, obtendremos x². si concatenamos 3 veces la cadena x, obtendremos x³. n

8 Operaciones con Lenguajes Reflexión, Inversa o Trasposición
Concatenación Dados dos lenguajes L1 y L2, su concatenación, L1 . L2 contendrá todas las palabras que se puedan formar por la concatenación de una palabra de L1 y otra de L2. Ejemplo: Dados L1 = { nana, napa, lana} y L2 = { , nana, napa, pana, palabra, papa, pala} L1 . L2 = { nana, napa, lana, nananana, napanana, ...} La reflexión de un lenguaje L está formada por la aplicación de la reflexión a cada una de las palabras del lenguaje; L R = { x R tal que x ε L } Ejemplo: Dado L = { 0, 1 , 00, 10 }, entonces L R = { 0, 1, 00, 01 } Más Operaciones Potencia La potencia i-ésima de un lenguaje corresponde a la concatenación i veces del lenguaje en él mismo; L = L . L . L L i veces Ejemplo: Dado L1 = { 0, 1} entonces L² = { 00, 01, 10, 11 } i

9 Más Operaciones con Lenguajes Unión
Resta Dados dos lenguajes L1 y L2, su unión L1 L2 contendrá todas las palabras que pertenezcan a cualquiera de los dos lenguajes, L1 L2 = { x tal que x ε L1 ó x ε L2 } Ejemplo: Dados L1 = { nana, napa, lana} y L2 = { , nana, napa, pana, palabra, papa, pala} L L2 = { , nana, napa, lana, pana, palabra, papa, pala } Si L1 y L2 son lenguajes la resta de L1 y L2, L1 - L2, contendrá todas las palabras que pertenezcan a L1 y no pertenezcan a L2 , L1 - L2 = { x tal que x  L1 y x  L2 } Ejemplo: Dados L1 = { nana, napa, lana} y L2 = { , nana, napa, pana, palabra, papa, pala} L L2 = { napa, lana } L L1 = { , pana, palabra, papa, pala } Intersección Más Operaciones Dados dos lenguajes L1 y L2, su intersección L1 L2 contendrá todas las palabras que pertenezcan a los dos lenguajes; L L2 = { x tal que x ε L1 y x ε L2 } Ejemplo: Dados L1 = { nana, napa, lana} y L2 = { , nana, napa, pana, palabra, papa, pala} L L2 = { nana, napa }

10 Ejemplos Más Operaciones con Lenguajes Clausura de Kleene
Sea V un alfabeto, sea N el conjunto de los números naturales, sea n ε N U {0} y sea L un lenguaje de V* entonces: L* = Lº U L¹ U L² U L³ U....U L es la clausura de Kleene del lenguaje L. L * = Clausura de Kleene i Clausura Positiva Clausura Positiva: Sea V un alfabeto, sea N el conjunto de los números naturales, sea n ε N y sea L un lenguaje de V* entonces: L = L¹ U L² U L³ U....U L es la clausura de positiva del lenguaje L. L = + + i Ejercicios Ejemplos

11 Ejemplo Clausura de Kleene
Sea el alfabeto V = {0, 1} entonces: V* = U Vi = {0, 1}0 U {0, 1}1 U {0, 1}2 U .... U {0, 1}n U ..... i=0 V* = Λ U {0, 1} U {00, 01, 10, 11} U {000, 001, 010, 011, 100, 101, , 111} U ... Ejemplo Clausura Positiva Sea el alfabeto V = {0, 1} entonces: V + = U Vi = {0, 1}1 U {0, 1}2 U .... U {0, 1}n U ..... i=1 V + = {0, 1} U {00, 01, 10, 11} U {000, 001, 010, 011, 100, 101, , 111} U ...

12 Complejidad Media Complejidad Alta Sea V = {0,1}
Indicar la longitud de las siguientes palabras del alfabeto V: a = 01011; b = 01; c = 00; d = λ 2. Sea V = {a, b}, el alfabeto formado por los símbolos a y b. Indicar cuales de las siguientes son palabras de V* v = ababbaca w = z z = a Complejidad Alta 1. ¿Un Lenguaje formal puede ser infinito? 2. Indique si las siguientes opciones son verdaderas o falsas: Sea V = {1, 2, 3} a=111 ε L (V) b=312 ε L (V) c=114 ε L (V)

13 Complejidad Media Complejidad Alta
Sean V = {1, 2, 3} , a=111 ε V; b=312 ε V Concatenar ab y ba e Indicar Indicar vR y wR , con v = ab y w = ba. 2. ¿Es conmutativa la operación concatenación? 3. Sea V = {0, 1}, w = , hallar w con potencia 0, 1, 2 y 3, dar las longitudes de dichas palabras. Complejidad Alta Probar que la concatenación en V* es un semigrupo. Probar utilizando inducción matemática en a, que: long wª = a long w. Sea w ε V*, indicar los valores de: => (wR ) R => λR

14 Complejidad Media Complejidad Alta 1. Dados los lenguajes
Lı = {abc, aa, aba} y L2 = {bbb, aaaaaaaa, abc} Hallar Lı* y L2*, Lı+ y L2+. Dados los lenguajes Lı = {10, 00} y L2 = {10, 00, 0000}. Indicar si ¿Lı* = L2*? Y ¿ Lı+ = L2+? Complejidad Alta Sea el lenguaje L = {111, 000} mostrar que la concatenación es cerrada en L*.

15 Gramáticas Algunos Conceptos Clasificación de Gramáticas Ejercicios
¿Cómo se genera una gramática? Clasificación de Gramáticas Ejercicios

16 Las gramáticas son descripciones estructurales de las sentencias de los lenguajes, tanto naturales como formales. Si describen a un lenguaje formal se dicen formales. Las gramáticas permiten describir de forma intencional a los lenguajes. Ejemplo Se define a la Gramática formal G, como la cuádrupla: G = (Vn; Vt ; P ; s) donde: v     Vn es un conjunto de elementos llamados no terminales, suele llamarse vocabulario de elementos no terminales. v     Vt es un conjunto de elementos llamados terminales, suele llamarse vocabulario de elementos terminales. v     P es un conjunto de producciones (reglas de sustitución). v     S es un elemento de Vn llamado símbolo inicial. Algunos Comentarios

17 Ejemplo Sea una determinada gramática G en la cual: Vt = {a, b}
Vn = {S, A, B}, donde S es el símbolo inicial. Sea S  aB S  bA A  a A  aS A  bAA B  b B  bS B  aBB el conjunto de producciones. Observamos que los enunciados del lenguaje son todas las cadenas de letras a y b en las que el núemro de letras a es igual al número de letras b. La no terminal A representa el conjunto de cadenas en las que el número de letras a es uno más que el número de letras b, y la no terminal B representa el conjunto de cadenas en las que el número de letras b es uno más que el número de letras a.

18 ¿Cómo se genera una gramática?
El proceso de generar palabras usando una gramática G = (Vn; Vt; P, s), se denomina “derivación”. Se comienza con el símbolo inicial s. Se aplican las producciones de P al símbolo inicial s hasta obtener solo elementos terminales. iii Cualquier hilera que se consigue usando el ii. es un elemento del lenguaje L(G). Ejemplo: La gramática G especifica el lenguaje formado por todas las cadenas sobre L = {a, b, c} que contienen a la subcadena cc. G = (Vn ={S, A, B}; Vt = {a, b, c}, P, S), donde P: S  AccA A  BA / B  a | b | c Una palabra w es una cadena formada sólo por símbolos terminales o por la cadena nula (si está permitida). Para determinar si w L(G) se debe iniciar con el símbolo inicial S, y aplicar las reglas de producción P (derivación) sucesivamente hasta obtener w. Si no es posible, entonces w L(G).

19 Ejemplo Sea G = {(0,1,2)}; (a, b); P; 0} con las siguientes producciones: 0 => a2 / b1 1 => a / a0 / b11 2 => b / b0 / a22 Entonces algunas de las palabras del lenguaje L(G) son: 0 => a2 => ab ε L(G) => a2 => ab0 => aba2 => abab ε L(G)   Árbol de derivación Árbol de derivación

20 Gramática Tipo 0 Gramática Tipo I Gramática Tipo II Gramática Tipo III
Sin restricciones Genera lenguajes recursivamente numerables Ejemplos Gramática Tipo 0 Dependientes del contexto (se tiene en cuenta lo que viene antes y después del símbolo que se sustituye). Genera lenguajes sensibles (o dependientes) al contexto Las producciones son del tipo: α  β donde α, β Є {Vn U Vt} Las producciones son no-contractivas: | α | | β | Nunca genera a la palabra nula Ejemplos Gramática Tipo I Libres de contexto Genera lenguajes libres al contexto El lado izquierdo debe consistir en un solo no terminal No hay restricciones al lado derecho Ejemplos Gramática Tipo II Regulares Genera lenguajes regulares El lado izquierdo debe consistir en un solo no terminal El lado derecho debe ser un terminal seguido de un no terminal, o un solo terminal o la cadena vacía Ejemplos Gramática Tipo III

21 Ejemplos Gramáticas Tipo 0
S  aSBC | aBC CB  BC aB  ab bB  bb bC  bc cC  cc G = ({0, 1}; {A, B, S}, S, P), donde P: S  A0 A0  1B1 1A  0B0 B  B  1 B  0 El lenguaje generado por esta gramática es: L(G) = {11, 101, 111}

22 Ejemplos Gramáticas Tipo 1
S  abc | aAbc Ab  bA Ac  Bbcc bB  Bb aB  aa | aaA 2. G = ({0, 1}; {A, B}, A, P), donde P: A  1B1 A  11 1B1  101 1B1  111 El lenguaje generado por esta gramática es: L(G) = {11, 101, 111}

23 Ejemplos Gramáticas Tipo 2
S  aSb | ab L = {ak bk tal que k 1} es un lenguaje de tipo 2, pues puede especificarse mediante la gramática de tipo 2: A  aAb A  ab Sea G = ({0, 1}, {A, B}, A, P), donde P = {( A  1B1), (A  11), (B  1), (B 0)} Esta gramática G, genera a L(G) = {11, 101, 111}

24 Ejemplos Gramáticas Tipo 3
A  aB | a | Sea la gramática G = ({ a, b, c }; {0, 1}; P; a ) con P dada por: a  b1 | c1 b  b0 |  c   | 0 3. Sea la gramática G = ({ a, b, c }; {0, 1}; P; a ) con P dada por: a  1b | 1c b  0b | 

25 Algunos Comentarios El lenguaje generado por una gramática G se denomina L(G). Una gramática genera un lenguaje. G  L(G) Dos gramáticas G1 y G2 son equivalentes si L(G1) = L(G2); es decir, si generan el mismo lenguaje. Dependientes del contexto significa que se tiene en cuenta lo que viene antes y después del símbolo que se sustituye. Existe una jerarquía entre los distintos tipos de gramáticas tal que las gramáticas del tipo i son más generales que las de tipo i + 1. Formalmente, G3 G2 G1 G0

26 Complejidad Media Ejercicios Complejidad Alta

27 Complejidad Media Ejercicios
Obtener las derivaciones de las palabras 002 y 0001 a partir de la siguiente gramática: G = ({0, 1, 2}, {A, B}, A, P}) P: A  0B A  2 B  0A B  1 Describir el árbol de derivación y obtener el lenguaje que genera. 2. Dados los siguientes alfabetos: V ı = { 1, 2, 3, 4, 5, 6, 7, 8 } V 2 = { a, b, c, d, e, f, g, h } Y los lenguajes: Lı(Vı ) = { x | x Vı } y L2(V2 ) = { x | x V2 } Definir los lenguajes Lı U L2, Lı . L2 y (L1 . L2)² Ejercicios

28 Complejidad Alta Ejercicios
Determine si la gramática dada es sensible al contexto, libre del contexto, regular o bien ninguna de éstas: a. T = { a, b } , N = { ơ*, A }, con composiciones: ơ*  b ơ*, ơ*  aA, a  a ơ*, A  bA, A  a, ơ*  b, y símbolo inicial ơ*. b. T = { a, b } , N = { ơ*, A, B }, con composiciones: ơ*  b ơ*, ơ*  AAB, Aa  ABa, a  aA, Bb  ABb, AB  ABB, B  b, y símbolo inicial ơ*. c. <S>  b <S> | a<A> | a <A>  a <S> | b<B> <B>  b <A> | a<S> | b, con símbolo inicial <S>. Ejercicios

29 Complejidad Media Sea V = {0,1} Indicar la longitud de las siguientes palabras del alfabeto V: a = 01011; Rta: | a | = 5 b = 01; Rta: | b | = 2 c = 00; Rta: | c | = 2 d = λ Rta: | d | = 0

30 Complejidad Media 2. Sea V = {a, b}, el alfabeto formado por los símbolos a y b. Indicar cuales de las siguientes son palabras de V* v = ababbaca Rta: v es palabra de V* ya que a y b pertenecen al alfabeto V, y las mismas operadas con la operación concatenación generan palabras de V*. w = z Rta: w no es palabra de V* ya que z no pertenece al alfabeto V. z = a Rta: z es palabra de V* ya que a pertenece al alfabeto V.

31 Complejidad Alta ¿Un Lenguaje formal puede ser infinito?
Rta: Todas las palabras que se pueden formar con símbolos del alfabeto Σ corresponde al universo del alfabeto V (Σ ). Contiene un número infinito de elementos (palabras). La palabra vacía pertenece a todos los universos. L (Σ ) es todo subconjunto de W (Σ ). Como el universo asociado a un alfabeto es infinito, hay infinitos lenguajes asociados a un alfabeto.

32 Complejidad Alta 2. Indique si las siguientes opciones son verdaderas o falsas: Sea V = {1, 2, 3} a=111 ε L (V) Rta: la concatenación es válida y como 1 pertenece al alfabeto V, la palabra a pertenece a L (V), ya que resulta de concatenar 1, 1, 1. VERDADERO. b=312 ε L (V) Rta: la concatenación es válida y como 3, 2 y 1 pertenecen al alfabeto V, la palabra b pertenece a L (V), ya que resulta de concatenar 3, 1, 2. VERDADERO. c=114 ε L (V) Rta: la palabra c no pertenece a L (V), ya que 4 no es un elemento del alfabeto V. FALSO.

33 Complejidad Media Sean V = {1, 2, 3} , a=111 ε V; b=312 ε V
Concatenar ab y ba e Indicar vR y wR con v = ab y w = ba. Rta: ab = ba = vR = wR =

34 Complejidad Media 2. ¿Es conmutativa la operación concatenación?
Rta: la concatenación no es conmutativa. Contraejemplo: a=111 ; b=312 ab = ba =

35 Complejidad Media Sea V = {0, 1}, w = , hallar w con potencia 0, 1, 2 y 3, dar las longitudes de dichas palabras. Rta: wº = λ | wº | = 0 w¹ = w = | w¹ | = 7 w² = w.w = | w² | = 14 w³ = w.w.w = | w³ | = 21

36 Complejidad Alta Probar que la concatenación en V* es un semigrupo.
Sean x = x1 x2 x3 ... Xn  V* y t = t1 t2 t3 ... tr  V* entonces: x.t = x1 x2 x3 ... xn t1 t2 t3 ... tr  V* luego V* x V*  V*, es decir que  x  V*,  y  V*  x.y  V*, de donde se dice que la concatenación es cerrada y binaria en V* (1) Sean x  V* y y V*, z  V*, tales que: x = x1 x2 x xm  V* y = y1 y2 ....yn  V* z = z1 z zt  V*, entonces x.(y.z) 0 (x1 x2 x xm).[y ym z zt] = = x1 x2 x xm y1 ... yn z1 ... zt = = (x1 x2 x xm y1 ... yn).( z1 ... zt) = = (x.y).z, entonces la concatenación es asociativa (2) La palabra nula λ es un elemento de V* y para cualquier x de V* con x = x1 x xm se verifica λ .x = λ x1 x2 ... xmλ = x. λ = x de donde la palabra nula λ es el elemento neutro (3) Por (1), (2) y (3) queda demostrado que V* bajo la concatenación es un semigrupo con neutro.

37 Complejidad Alta Probar utilizando inducción matemática en n, que: long wn = n long w. Rta: P(1): n= 1  long w¹ = w y 1. long w = w por lo cual v(P(1) = V. P(h): n = h  long w h = h long w HIPOTESIS INDUCTIVA P(h+1): n = h+1  long w ( h+1)= (h+1) long w TESIS INDUCTIVA D/ long w( h+1) = long ( w wh ) = long w + long wh = long w + h long w reemplazando por la hipótesis inductiva. = long w ( 1 + h) sacando factor común long w = (h+1) long w utilizando propiedad conmutativa del producto. Con lo cual queda probado.

38 Complejidad Alta Sea w ε V*, indicar los valores de: (wR) R
Rta: (wR) R = w Sea w = w1 w2 ... wt entonces y en virtud de la definición de inversión de w: wR = wt ... w2 w1  (wR) R = ( wt .... w2 w1) R  (wR) R = w1 w2 ... wt  (wR) R = w => λR = λ por la definición de la palabra nula.

39 Complejidad Media 1. Dados los lenguajes
L1 = {abc, aa, aba} y L2 = {bbb, aaaaaaaa, abc}. Hallar L1* y L2*, L1+ y L2+ . L1* = L1º U L1¹ U L1² U L1³ U....U L1n L1* = U { abc, aa, aba } U { abcabc, abcaa, abcaba, aaaa, aaabc, aaaba, abaaba, abaabc, abaaa} U ..... L1+ = L1¹ U L1² U L1³ U....U L1n L1+ = { abc, aa, aba } U { abcabc, abcaa, abcaba, aaaa, aaabc, aaaba, abaaba, abaabc, abaaa} U ..... L2 * = L2º U L2¹ U L2² U L2³ U....U L2n L2 * = U { bbb, aaaaaaaa, abc } U { abcabc, abcaa, abcaba, aaaa, aaabc, aaaba, abaaba, abaabc, abaaa} U ..... L2+ = L2¹ U L2² U L2³ U....U L2n L2+ = { bbb, aaaaaaaa, abc } U { bbbbbb, bbbaaaaaaaa, bbbabc, aaaaaaaaaaaaaaaa, aaaaaaaabbb, aaaaaaaaabc, abcabc, abcbbb, abcaaaaaaaa } U

40 Complejidad Media 3. Dados los lenguajes
Lı = {10, 00} y L2 = {10, 00, 0000}. Indicar si ¿Lı * = L2*? Y ¿ Lı+ = L2+ ? Lı* = Lıº U Lı¹ U Lı² U Lı³ U....U Lın Lı* = U { 10, 00 } U { 1010, 1000, 0010, 0000} U { , , , , , , , } U ..... Lı+ = Lı¹ U Lı² U Lı³ U....U Lın Lı+ = { 10, 00 } U { 1010, 1000, 0010, 0000} U { , , , , , , , } U ..... L2* = L2º U L2¹ U L2² U L2³ U....U L2n L2* = U { 10, 00, 0000 } U { 1010, 1000, , 0010, 0000, , , , } U ..... L2+ = L2¹ U L2² U L2³ U....U L2n L2+ = { 10, 00, 0000 } U { 1010, 1000, , 0010, 0000, , , , } U .....

41 Complejidad Alta Sea el lenguaje L = {111, 000} mostrar que la concatenación es cerrada en L*. Por Propiedad, Si V es un alfabeto entonces el conjunto V* bajo la concatenación es un semigrupo con neutro. Con lo cual L* bajo la concatenación es un semigrupo con neutro, consiguientemente cumple que la concatenación es cerrada en L*.

42 Complejidad Media Obtener las derivaciones de las palabras 002 y 0001 a partir de la siguiente gramática: G = ({0, 1, 2}, {A, B}, A, P}) P: A  0B A  2 B  0A B  1 Describir el árbol de derivación y obtener el lenguaje que genera. Las palabras se pueden obtener de la siguiente derivaciones: 002: A  0B  00A  002 0001: A  0B  000B  0001 Los árboles de derivación aparecen la figura siguiente: Más

43 Complejidad Media Lı = { 0n 2 | n = 2.x }
Para obtener el lenguaje, habrá que analizar qué palabras pueden derivarse desde el axioma. Así que se pueden obtener las siguientes derivaciones: A  2 A  0B –> 01 A  0B –> 00A  002 A  0B –> 00A  000B  0001 A  0B –> 00A  000B  0000A  Por lo tanto, puede aparecer un 2 precedido de un número par de 0s ó un 1 precedido por un número impar de 1s. Si se define un lenguaje Lı como: Lı = { 0n 2 | n = 2.x } y un lenguaje L2 = { 0ª 1 | a = 2.y + 1 } Entonces, el lenguaje generado por la gramática se puede definir como L(G) = Lı U L2, o lo que es lo mismo: L(G) = { 0n 2 U 0ª 1 | n = 2.x y a = 2.y +1 }

44 Complejidad Alta Ejercicios Dados los siguientes alfabetos:
V ı = { 1, 2, 3, 4, 5, 6, 7, 8 } V2 = { a, b, c, d, e, f, g, h } Y los lenguajes: Lı(Vı ) = { x | x  Vı } y L2 (V2 ) = { x | x  V2 } Definir los lenguajes Lı U L2, Lı . L2 y (Lı . L2)² Lı U L2 = { x | x  Vı ó x  V2} = { 1, 2, 3, 4, 5, 6, 7, 8, a, b, c, d, e, f, g, h } Lı . L2 = { xy | x  Vı e y  V2 } = { 1a, 2a, ... ,8a, 1b, 2b, ...., 8b, ...., 1h, ...., 8h } En este caso, una numeración muy utilizada para los tableros de ajedrez es numerar las filas del 1 al 8 y las columnas de la a a la h, con lo que el lenguaje resultante de Lı . L2 representaría todas las casillas de ajedrez. (Lı . L2)² = { x ² = x.x | x  (Lı . L2) } = = { 1a1a, ... , 1a8a, 1a1b, ... , 1b1a, ... , 8h8h } El número de palabras del lenguaje resultante sería | (Lı . L2)² | = 8ˆ4. Ejercicios

45 Complejidad Alta Ejercicios
Determine si la gramática dada es sensible al contexto, libre del contexto, regular o bien ninguna de éstas: a. T = { a, b } , N = { ơ*, A }, con composiciones: ơ*  b ơ*, ơ*  aA, a  a ơ*, A  bA, A  a, ơ*  b, y símbolo inicial ơ*. Regular, libre de contexto, sensible de contexto. b. T = { a, b } , N = { ơ*, A, B }, con composiciones: ơ*  b ơ*, ơ*  AAB, Aa  ABa, a  aA, Bb  ABb, AB  ABB, B  b, y símbolo inicial ơ*. Sensible al contexto. c. <S>  b <S> | a<A> | A <A>  a <S> | b<B> <B>  b <A> | a<S> | b, con símbolo inicial <S>. Ejercicios

46 Lenguajes y ¿Qué relación hay Gramáticas Regulares entre ellos?
Autómatas ¿Qué relación hay entre ellos? Gramáticas Regulares Equivalentes Genera Lenguajes Regulares Autómatas Finitos Reconoce

47 Lenguajes Regulares Expresiones Regulares
Un lenguaje es regular si existe una gramática regular que lo genere. Un lenguaje regular sobre un alfabeto V se define recursivamente de la siguiente forma: es un lenguaje regular. { } es un lenguaje regular. a Vı, {a} es un lenguaje regular. Si Lı y L son dos lenguajes regulares entonces: Lı L, Lı L y Lı* son lenguajes regulares. 5. Ningún otro lenguaje sobre V es regular. Ejemplos Expresiones Regulares Observaciones: Un lenguaje formal es finito entonces es un Lenguaje Regular. Un lenguaje es regular si puede ser reconocido por un Autómata Finito

48 Ejemplos Lenguaje Regular
1. Sea V = {a, b} los siguientes lenguajes son regulares: Lı = { ab, ba } L = { bb } Lı L = { ab, ba, bb } L3 = V* 2. Todos los números binarios que comienzan con un número par de 1s y terminan con un 0, es un lenguaje regular infinito. L = { con n } 2n

49 Autómatas Finitos Determinísticos
Diferencia Entre ambos Autómatas Finitos No Determinísticos

50 Autómatas Finitos Determinísticos
Ejemplos A = (Q; V; ; q; F) con  = Q x V  Q Un autómata finito es un modelo matemático de un sistema que determina para cada cadena del alfabeto V si pertenece al lenguaje que el autómata reconoce. Es una máquina de estado finito, que se define como: la 5-upla M = (Q; V; δ; q; F) donde: Q = {q1, q2, ..., qn } es el conjuntofinito de estados de la máquina. V es el alfabeto de entrada. δ: Q x V  Q es la relación de transición. q  Q y se dice estado inicial.   F  Q es el conjunto de estados finales. Ejercicios Algunos Comentarios

51 Para cualquier estado, la lectura de una letra determina, sin ambigüedades, el estado de llegada.
Para todo (q, a)  Q x V  (q, a) = p si y sólo si la máquina puede pasar del estado q al estado p al “leer” el símbolo a. Para cada estado en un diagrama de transición debe existir a lo sumo una arista etiquetada para cada letra del alfabeto V. Un A.F.D. es completo si cada estado tiene una transición por cada letra del alfabeto. Ninguna arista está etiquetada con . La relación de transición es una función. Un A.F.D. Es completo si cada estado tiene una transición por cada letra del alfabeto. Algunos Comentarios

52 Ejemplo de Máquinas de Estado Finito como reconocedoras de Lenguaje.
El autómata A = ( {0, 1}; {q, q1 }; f; q; { q }), donde f se define como: f (q, 0) = q f (q, 1) = q1 f (q1, 0) = q1 f (q1, 1) = q Si la palabra de entrada es 0110, el autómata pasará por los siguientes estados: q  q  q1  q  q Vamos a armar la tabla de transiciones: En las filas estarán los estados q  Q El estado inicial se precederá del símbolo  Cada estado final se precederá del símbolo * En las columnas estarán los símbolo de entrada a  V En la posición (q,a) estará el estado que determine f(q,a) 1 1 Sigue

53 δ 1 q q1 Respecto del diagrama de transiciones: En los nodos estarán los estados El estado inicial tendrá un arco entrante no etiquetado Los estados finales estarán rodeados del doble círculo Habrá un arco etiquetado con a entre el nodo qi y el nodo qj si f (qi , a) = qj y entonces el autómata A nos queda de la siguiente manera: 1 q1 q 1 Otro Ejemplo

54 1 1 1 A B C D 1 Esta máquina de estado finito es un Autómata Finito determinístico, ya que cumple con la definición del mismo. De cada estado ( A, B, C, o D) por cada letra del alfabeto (en este caso 0 o 1) existe una única transición hacia otro estado.

55 Complejidad Media Ejercicios Complejidad Alta

56 Complejidad Media Determine cuáles son las palabras aceptadas por los siguientes autómatas: 1. 1 * 1 q2 q1 q 1 b c 2. 1 q2 1 * q q1 b c. 100

57 q Complejidad Alta  I  a b  * q q1
Indique si el siguiente autómata finito es o no determinístico. Justifique. Sea el autómata finito A = ({q, q1, q 2 }; {a, b}; ; q; { q }), con  dada por 1 * 1 q1 q2 q3 q 1 a b  * q q1 q2 q Dibuje el digrama de transición. I

58 Complejidad Media Rta. Rta.
Determine cuáles son las palabras aceptadas por los siguientes autómatas: 1. 1 * 1 q2 q1 q Rta. 1 Verdadero Verdadero Falso 2. 1 q2 1 * q q1 Rta. Falso Verdadero Verdadero

59 Complejidad Alta Indique si el siguiente autómata finito es o no determinístico. Justifique. 1 * 1 q1 q2 q3 q 1 Rta: no corresponde a un A.F.D. pues para el estado q hay dos aristas etiquetadas con 0

60 determinístico completo
Complejidad Alta 2. Sea el autómata finito A = ({q, q1, q 2 }; {a, b}; ; q; { q }), con  dada por a b  * q q1 q2 q Dibuje el digrama de transición. Rta. b Es un autómata finito determinístico completo a * q q1 a b b q2 a

61 Expresiones Regulares
Ejemplos Sea A un alfabeto. Una expresión regular sobre A es un secuencia de elementos de A conectados por los siguientes símbolos (,), v, *,  (palabra nula) que verifican: Es una expresión regular. Si a  A entonces a es un expresión regular. Si x e y son expresiones regulares entonces xy es una expresión regular. Si x e y son expresiones regulares entonces x  y es una expresión regular. Si x es una expresión regular entonces (x)* es una expresión regular. Observación: Asociado a cada expresión regular sobre el alfabeto A hay un subconjunto de A*, que se llama subconjunto o lenguaje regular.

62 Ejemplos Expresiones Regulares
La Expresión Regular a*ba*ba representa al lenguaje de todas las palabras sobre el alfabeto {a, b} con 2 b y una b comenzando o no por aes, una b, pueden ser o no más aes, una b y una a. Son palabras de este lenguaje: bba, abba, aabaaba.... Sea el alfabeto A = { 0, 1 }, la Expresión Regular (1  0) 1* representa al lenguaje de los números binarios que comienzan con un 1 ó un 0, el que puede o no ser seguido por 1 ó más 1s. Son palabras de este lenguaje: 1, 0, 11, 01, 111, 011, ....

63 Autómatas Finitos No Determinísticos
Ejemplo A = (Q; V; ; q; F) con  = Q x (V  {  }) P(Q) Un autómata finito no determinístico es un autómata finito que puede realizar transiciones por la palabra . Una transición por la palabra , es un cambio de estado sin la intervención de ningún carácter de la palabra en estudio. La transición que se ejecuta en una etapa dada puede ser incierta pues nada lo determina, por eso se dicen no determinístico. Cada estado puede tener, en el diagrama de transición, más de una arista etiquetada con cada letra del alfabeto V. Para cualquier estado q se pueden tener cero ó más alternativas a elegir como estado siguiente, todas para el mismo símbolo de entrada. Si A = (Q; V; ; q; F) es un autómata finito no determinístico, el lenguaje que acepta A se indica L(A) y es regular. Ejercicios

64 Autómatas Finitos Determinísticos Autómatas Finitos No Determinísticos Diferencia Una de las principales más importantes entre un autómata finito determínistico (A.F.D.) y un autómata finito no determinístico (A.F.N.) es que:  q  Q,  a  V => | (q;a) |  1 (A.F.D) Para los A.F.N.:  q  Q,  a  V  {  } y | (q;a) | > 1

65 Ejemplos Autómatas Regulares No Determinísticos
Sea A = ( {q, q1, q2 , q3, q4 }; { 0, 1}; ; q; {q2 , q4 }), con  dada por (q; ) = {q1, q3 } (q1; 0) = { q2 } (q3; 1) = { q4 } (q2; 0) = { q2 } (q4; 1) = { q4 } El diagrama de transición correspondiente es: * q2 q q1 1 q4 q3 1

66 Complejidad Media Ejercicios A.F.N Complejidad Alta

67 q2 Complejidad Media    * q 
Grafique los diagramas de transición de los autómatas finitos no determinísticos 1. A = ( {q, q1, q2 }; { 0}; ; {q2}), con  dada por la siguiente tabla de transición:  * q q1 q2 2. A = ( {q, q1, q2, q3}; { 0, 1 }; q; {q3}), con  dada por: (q; 0) = {q } y (q; 0) = {q1 }  (q; 0) = {q, q1 } (q; 1) = {q } (q1; 1) = {q2 } (q2; 1) = {q3 }

68 Complejidad Alta Grafique los diagramas de transición de los autómatas finitos no determinísticos 1. A = ( {q, q1, q2, q3, q4 }; { 0, 1}; ; q; {q2, q4}), con  dada por: (q; ) = {q1, q3 } (q1; 0) = {q2 } (q3; 1) = {q4 } (q2; 0) = {q2 } (q4; 1) = {q4 } 2. A = ( {a, b, c }; { 0, 1}; ; a; {a, b}), con  dada por: (a; 0) = {b } (a; 1) = {a } (b; 0) = {a } (b; 1) = {c } (c; 0) = {a } (c; 1) = {b }

69 q2 Complejidad Media Rta.     * q  
Grafique el diagrama de transición del autómata finito no determinístico A = ( {q, q1, q2 }; { 0}; ; {q2}), con  dada por la siguiente tabla de transición:  * q q1 q2 Rta. q2 q q1

70 Complejidad Media Grafique los diagramas de transición de los autómatas finitos no determinísticos 2. A = ( {q, q1, q2, q3}; { 0, 1 }; q; {q3}), con  dada por: (q; 0) = {q } y (q; 0) = {q1 }  (q; 0) = {q, q1 } (q; 1) = {q } (q1; 1) = {q2 } (q2; 1) = {q3 } 1 * 1 q q1 q2 q3 1

71 Complejidad Alta Grafique los diagramas de transición de los autómatas finitos no determinísticos 1. A = ( {q, q1, q2, q3, q4 }; { 0, 1}; ; q; {q2, q4}), con  dada por: (q; ) = {q1, q3 } (q1; 0) = {q2 } (q3; 1) = {q4 } (q2; 0) = {q2 } (q4; 1) = {q4 } q1 q2 * q 1 1 q3 q4

72 Complejidad Alta Grafique los diagramas de transición de los autómatas finitos no determinísticos 2. A = ( {a, b, c }; { 0, 1}; ; a; {a, b}), con  dada por: (a; 0) = {b } (a; 1) = {a } (b; 0) = {a } (b; 1) = {c } (c; 0) = {a } (c; 1) = {b } 1 * b a 1 1 c


Descargar ppt "¿Cómo nos comunicamos?."

Presentaciones similares


Anuncios Google