Cmo nos comunicamos A travs del Lenguaje Los
- Slides: 72
¿Cómo nos comunicamos?
A través del Lenguaje Los hay: Naturales q. Semántica: significado q. Sintaxis: reglas gramaticales. Ejemplos: Lenguaje de humanos: chino, español, inglés. y Formales q Sintaxis: reglas gramaticales. q Reglas gramaticales preestablecidas. Ejemplos: Lenguajes de programación.
Lenguajes Formales Alfabeto Símbolo = Letra o Caracter Cadena o palabra Lenguajes Formales Autómatas
¿Qué forma parte de un lenguaje? Símbolos Lenguaje Operaciones Reglas
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*
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. . Ejemplo: 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. Ejercicios Cadena de caracteres Palabra Longitud de Palabra
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* Ejercicios Reflexión, Inversa o Trasposición Sea v=0111 Sea w=1110 Sea y=vw léase y = v contatenado con w, por lo que resulta y = 01111110 Potenciación Si concatenamos n veces una cadena x, es n 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³. Si la palabra x está formada por los símbolos A 1, A 2, . . , An, entonces la palabra inversa de x, x R , se forma invirtiendo el orden de los símbolos en la palabra; x. R = An, . . , A 2, A 1. Ejemplo: Sea w = abc entonces w. R = cba
Operaciones con Lenguajes Concatenación Dados lenguajes L 1 y L 2, su concatenación, L 1. L 2 contendrá todas las palabras que se puedan formar por la concatenación de una palabra de L 1 y otra de L 2. Reflexión, Inversa o Trasposición 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: Dados L 1 = { nana, napa, lana} y Ejemplo: Dado L = { 0, 1 , 00, 10 }, entonces L 2 = { , nana, napa, pana, palabra, papa, pala} L R = { 0, 1, 00, 01 } L 1. L 2 = { nana, napa, lana, nana, napanana, . . . } Más Operaciones Potencia La potencia i-ésima de un lenguaje corresponde a la concatenación i veces del lenguaje en él mismo; i L = L. L. L. . . L i veces Ejemplo: Dado L 1 = { 0, 1} entonces L² = { 00, 01, 10, 11 }
Más Operaciones con Lenguajes Unión Resta Dados lenguajes L 1 y L 2, su unión L 1 L 2 contendrá todas las palabras que pertenezcan a cualquiera de los dos lenguajes, L 1 L 2 = { x tal que x ε L 1 ó x ε L 2 } Ejemplo: Dados L 1 = { nana, napa, lana} y L 2 = { , nana, napa, pana, palabra, papa, pala} L 1 L 2 = { , nana, napa, lana, palabra, papa, pala } Si L 1 y L 2 son lenguajes la resta de L 1 y L 2, L 1 - L 2, contendrá todas las palabras que pertenezcan a L 1 y no pertenezcan a L 2 , L 1 - L 2 = { x tal que x L 1 y x L 2 } Ejemplo: Dados L 1 = { nana, napa, lana} y L 2 = { , nana, napa, pana, palabra, papa, pala} L 1 - L 2 = { napa, lana } L 2 - L 1 = { , pana, palabra, papa, pala } Intersección Dados lenguajes L 1 y L 2, su intersección L 1 L 2 contendrá todas las palabras que pertenezcan a los dos lenguajes; L 1 L 2 = { x tal que x ε L 1 y x ε L 2 } Ejemplo: Dados L 1 = { nana, napa, lana} y L 2 = { , nana, napa, pana, palabra, papa, pala} L 1 L 2 = { nana, napa } Más Operaciones
Más Operaciones con Lenguajes Clausura de Kleene: 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. i L * = 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 = Ejemplos i Ejercicios
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, 110, 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, 110, 111} U. . .
Complejidad Media 1. 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)
Complejidad Media 1. Sean V = {1, 2, 3} , a=111 ε V; b=312 ε V Concatenar ab y ba e Indicar v. R y w. R , con v = ab y w = ba. 2. ¿Es conmutativa la operación concatenación? 3. Sea V = {0, 1}, w = 0101010, hallar w con potencia 0, 1, 2 y 3, dar las longitudes de dichas palabras. Complejidad Alta 1. Probar que la concatenación en V* es un semigrupo. 2. Probar utilizando inducción matemática en a, que: long wª = a long w. 3. Sea w ε V*, indicar los valores de: => (w. R ) R => λR
Complejidad Media 1. Dados lenguajes Lı = {abc, aa, aba} y L 2 = {bbb, aaaa, abc} Hallar Lı* y L 2*, Lı+ y L 2+. 2. Dados lenguajes Lı = {10, 00} y L 2 = {10, 0000}. Indicar si ¿Lı* = L 2*? Y ¿ Lı+ = L 2+? Complejidad Alta 1. Sea el lenguaje L = {111, 000} mostrar que la concatenación es cerrada en L*.
Gramáticas Algunos Conceptos ¿Cómo se genera una gramática? Clasificación de Gramáticas Ejercicios
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
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 a. B S b. A A a. S A b. AA B b. S B a. BB 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.
¿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”. i. Se comienza con el símbolo inicial s. ii. 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 Acc. A 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).
Ejemplo Sea G = {(0, 1, 2)}; (a, b); P; 0} con las siguientes producciones: 0 => a 2 / b 1 1 => a / a 0 / b 11 2 => b / b 0 / a 22 Entonces algunas de las palabras del lenguaje L(G) son: 0 => a 2 => ab ε L(G) Árbol de derivación 0 => a 2 => ab 0 => aba 2 => abab ε L(G) Árbol de derivación
Gramática Tipo 0 Gramática Tipo III üSin restricciones üGenera lenguajes recursivamente numerables üEjemplos ü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 ü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 ü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
Ejemplos Gramáticas Tipo 0 1. S a. SBC | a. BC CB BC a. B ab b. B bb b. C bc c. C cc 2. G = ({0, 1}; {A, B, S}, S, P), donde P: S A 0 1 B 1 1 A 0 B 0 B 1 B 0 El lenguaje generado por esta gramática es: L(G) = {11, 101, 111}
Ejemplos Gramáticas Tipo 1 1. S abc | a. Abc Ab b. A Ac Bbcc b. B Bb a. B aa | aa. A 2. G = ({0, 1}; {A, B}, A, P), donde P: A 1 B 1 A 11 1 B 1 101 1 B 1 111 El lenguaje generado por esta gramática es: L(G) = {11, 101, 111}
Ejemplos Gramáticas Tipo 2 1. S a. Sb | ab 2. L = {ak bk tal que k 1} es un lenguaje de tipo 2, pues puede especificarse mediante la gramática de tipo 2: A a. Ab A ab 3. Sea G = ({0, 1}, {A, B}, A, P), donde P = {( A 1 B 1), (A 11), (B 0)} Esta gramática G, genera a L(G) = {11, 101, 111}
Ejemplos Gramáticas Tipo 3 1. A a. B | a | 2. Sea la gramática G = ({ a, b, c }; {0, 1}; P; a ) con P dada por: a b 1 | c 1 b b 0 | c | 0 3. Sea la gramática G = ({ a, b, c }; {0, 1}; P; a ) con P dada por: a 1 b | 1 c b 0 b | c | 0
El lenguaje generado por una gramática G se denomina L(G). Una gramática genera un lenguaje. G L(G) Dos gramáticas G 1 y G 2 son equivalentes si L(G 1) = L(G 2); 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, G 3 G 2 G 1 G 0 Algunos Comentarios
Complejidad Media Complejidad Alta Ejercicios
Complejidad Media 1. 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 0 B A 2 B 0 A 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 L 2(V 2 ) = { x | x V 2 } Definir los lenguajes Lı U L 2, Lı. L 2 y (L 1. L 2)² Ejercicios
Complejidad Alta 1. 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 ơ*, ơ* a. A, a a ơ*, A b. A, A a, ơ* b, y símbolo inicial ơ*. b. T = { a, b } , N = { ơ*, A, B }, con composiciones: ơ* b ơ*, ơ* AAB, Aa ABa, a a. A, Bb ABb, 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
Complejidad Media 1. 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
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.
Complejidad Alta 1. ¿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.
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.
Complejidad Media 1. Sean V = {1, 2, 3} , a=111 ε V; b=312 ε V Concatenar ab y ba e Indicar v. R y w. R con v = ab y w = ba. Rta: ab = 111312 ba = 312111 v. R = 213111 w. R = 111213
Complejidad Media 2. ¿Es conmutativa la operación concatenación? Rta: la concatenación no es conmutativa. Contraejemplo: a=111 ; b=312 ab = 111312 ba = 312111
Complejidad Media 3. Sea V = {0, 1}, w = 0101010, hallar w con potencia 0, 1, 2 y 3, dar las longitudes de dichas palabras. Rta: wº = λ | wº | = 0 w¹ = w = 0101010 | w¹ | = 7 w² = w. w = 0101010 | w² | = 14 w³ = w. w. w = 0101010 | w³ | = 21
Complejidad Alta 1. Probar que la concatenación en V* es un semigrupo. Sean x = x 1 x 2 x 3. . . Xn V* y t = t 1 t 2 t 3. . . tr V* entonces: x. t = x 1 x 2 x 3. . . xn t 1 t 2 t 3. . . 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 = x 1 x 2 x 3. . xm V* y = y 1 y 2. . yn V* z = z 1 z 2. . . zt V*, entonces x. (y. z) 0 (x 1 x 2 x 3. . xm). [y 1. . ym z 1. . zt] = = x 1 x 2 x 3. . xm y 1. . . yn z 1. . . zt = = (x 1 x 2 x 3. . xm y 1. . . yn). ( z 1. . . 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 = x 1 x 2. . xm se verifica λ. x = λ x 1 x 2. . . xmλ = 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.
Complejidad Alta 2. 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.
Complejidad Alta 3. Sea w ε V*, indicar los valores de: Þ (w. R) R Rta: (w. R) R = w Sea w = w 1 w 2. . . wt entonces y en virtud de la definición de inversión de w: w. R = wt. . . w 2 w 1 (w. R) R = ( wt. . w 2 w 1) R (w. R) R = w 1 w 2. . . wt (w. R) R = w => λR = λ por la definición de la palabra nula.
Complejidad Media 1. Dados lenguajes L 1 = {abc, aa, aba} y L 2 = {bbb, aaaa, abc}. Hallar L 1* y L 2*, L 1+ y L 2+. L 1* = L 1º U L 1¹ U L 1² U L 1³ U. . U L 1 n L 1* = U { abc, aa, aba } U { abcabc, abcaa, abcaba, aaabc, aaaba, abaabc, abaaa} U. . . L 1+ = L 1¹ U L 1² U L 1³ U. . U L 1 n L 1+ = { abc, aa, aba } U { abcabc, abcaa, abcaba, aaabc, aaaba, abaabc, abaaa} U. . . L 2 * = L 2º U L 2¹ U L 2² U L 2³ U. . U L 2 n L 2 * = U { bbb, aaaa, abc } U { abcabc, abcaa, abcaba, aaabc, aaaba, abaaba, abaabc, abaaa} U. . . L 2+ = L 2¹ U L 2² U L 2³ U. . U L 2 n L 2+ = { bbb, aaaa, abc } U { bbbbbb, bbbaaaa, bbbabc, aaaaaaaa, aaaabbb, aaaaabc, abcbbb, abcaaaa } U. . .
Complejidad Media 3. Dados lenguajes Lı = {10, 00} y L 2 = {10, 0000}. Indicar si ¿Lı * = L 2*? Y ¿ Lı+ = L 2+ ? Lı* = Lıº U Lı¹ U Lı² U Lı³ U. . U Lın Lı* = U { 10, 00 } U { 1010, 1000, 0010, 0000} U { 101010, 101000, 100010, 100000, 001010, 001000, 000010, 000000} U. . . Lı+ = Lı¹ U Lı² U Lı³ U. . U Lın Lı+ = { 10, 00 } U { 1010, 1000, 0010, 0000} U { 101010, 101000, 100010, 100000, 001010, 001000, 000010, 000000} U. . . L 2* = L 2º U L 2¹ U L 2² U L 2³ U. . U L 2 n L 2* = U { 10, 0000 } U { 1010, 1000000, 0010, 000000, 000010, 000000, 0000 } U. . . L 2+ = L 2¹ U L 2² U L 2³ U. . U L 2 n L 2+ = { 10, 0000 } U { 1010, 1000000, 0010, 000000, 000010, 00000000 } U. . .
Complejidad Alta 1. 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*.
Complejidad Media 1. 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 0 B A 2 B 0 A 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 0 B 00 A 002 0001: A 0 B 0001 Los árboles de derivación aparecen la figura siguiente: Más
Complejidad Media 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 0 B –> 01 A 0 B –> 00 A 002 A 0 B –> 00 A 000 B 0001 A 0 B –> 00 A 000 B 0000 A 00002 Por lo tanto, puede aparecer un 2 precedido de un número par de 0 s ó un 1 precedido por un número impar de 1 s. Si se define un lenguaje Lı como: Lı = { 0 n 2 | n = 2. x } y un lenguaje L 2 = { 0ª 1 | a = 2. y + 1 } Entonces, el lenguaje generado por la gramática se puede definir como L(G) = Lı U L 2, o lo que es lo mismo: L(G) = { 0 n 2 U 0ª 1 | n = 2. x y a = 2. y +1 }
Complejidad Alta 1. 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 L 2 (V 2 ) = { x | x V 2 } Definir los lenguajes Lı U L 2, Lı. L 2 y (Lı . L 2)² Lı U L 2 = { x | x Vı ó x V 2} = { 1, 2, 3, 4, 5, 6, 7, 8, a, b, c, d, e, f, g, h } Lı. L 2 = { xy | x Vı e y V 2 } = { 1 a, 2 a, . . . , 8 a, 1 b, 2 b, . . , 8 b, . . , 1 h, . . , 8 h } 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ı. L 2 representaría todas las casillas de ajedrez. (Lı. L 2)² = { x ² = x. x | x (Lı. L 2) } = = { 1 a 1 a, . . . , 1 a 8 a, 1 a 1 b, . . . , 1 b 1 a, . . . , 8 h 8 h } El número de palabras del lenguaje resultante sería | (Lı . L 2)² | = 8ˆ4. Ejercicios
Complejidad Alta 1. 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 ơ*, ơ* a. A, a a ơ*, A b. A, 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 a. A, Bb ABb, 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>. Regular, libre de contexto, sensible de contexto. Ejercicios
Lenguajes y Gramáticas Regulares Autómatas ¿Qué relación hay entre ellos? Gramáticas Regulares Equivalentes Genera Lenguajes Autómatas Regulares Finitos Reconoce
Lenguajes 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: 1. es un lenguaje regular. 2. { } es un lenguaje regular. 3. a Vı, {a} es un lenguaje regular. 4. Si Lı y L son dos lenguajes regulares entonces: 5. Lı L , Lı L y Lı* son lenguajes regulares. 6. 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
Ejemplos Lenguaje Regular 1. Sea V = {a, b} los siguientes lenguajes son regulares: Lı = { ab, ba } L = { bb } Lı L = { ab, ba, bb } L 3 = V* 2. Todos los números binarios que comienzan con un número par de 1 s y terminan con un 0, es un lenguaje regular infinito. 2 n L = { 1 0 con n 0 }
Autómatas Finitos Determinísticos Autómatas Diferencia Entre ambos Autómatas Finitos No Determinísticos
Autómatas Finitos Determinísticos A = (Q; V; ; q; F) con = Q x V Q Ejemplos Un autómata finito es un modelo matemático de un sistema que determina para 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: i) Q = {q 1, q 2, . . . , qn } es el conjuntofinito de estados de la máquina. ii) V es el alfabeto de entrada. iii) δ: Q x V Q es la relación de transición. iv) q Q y se dice estado inicial. v) F Q es el conjunto de estados finales. Algunos Comentarios Ejercicios
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
Ejemplo de Máquinas de Estado Finito como reconocedoras de Lenguaje. El autómata A = ( {0, 1}; {q , q 1 }; f; q ; { q }), donde f se define como: f (q , 0) = q f (q , 1) = q 1 f (q 1, 0) = q 1 f (q 1, 1) = q Si la palabra de entrada es 0110, el autómata pasará por los siguientes estados: 0 1 1 0 q q q 1 q q Vamos a armar la tabla de transiciones: v. En las filas estarán los estados q Q v. El estado inicial se precederá del símbolo v. Cada estado final se precederá del símbolo * v. En las columnas estarán los símbolo de entrada a V v. En la posición (q, a) estará el estado que determine f(q, a) Sigue
δ 0 1 q q q 1 q 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: 0 1 q 0 q 1 1 Otro Ejemplo
0 1 A 1 0 C B 1 D 0 0 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.
Complejidad Media Complejidad Alta Ejercicios
Complejidad Media Determine cuáles son las palabras aceptadas por los siguientes autómatas: 0 0 1. 1 * 1 q 2 q 1 q 1 a. 011 b. 1010 c. 00010 2. * q 1 0 q 1 0 a. 00011011100 b. 010110 c. 100 1 q 2
Complejidad Alta 1. Indique si el siguiente autómata finito es o no determinístico. Justifique. 0 * q 0 1 q 2 1 q 3 1 2. Sea el autómata finito A = ({q , q 1, q 2 }; {a, b}; ; q ; { q }), con dada por I a b * q q 1 q 2 q 1 q q 1 q 2 q Dibuje el digrama de transición.
Complejidad Media Determine cuáles son las palabras aceptadas por los siguientes autómatas: 0 0 1. 1 * 1 q 2 q 1 q Rta. a. 011 Verdadero 1 b. 1010 Verdadero c. 00010 Falso 2. * Rta. 1 a. q 00011011100 Falso b. 010110 Verdadero c. 100 Verdadero 0 q 1 0 1 q 2
Complejidad Alta 1. Indique si el siguiente autómata finito es o no determinístico. Justifique. 0 * q 0 1 q 2 1 q 3 1 Rta: no corresponde a un A. F. D. pues para el estado q hay dos aristas etiquetadas con 0
Complejidad Alta 2. Sea el autómata finito A = ({q , q 1, q 2 }; {a, b}; ; q ; { q }), con dada por a b q 2 * q q 1 q 2 q Dibuje el digrama de transición. Rta. * b a q b determinístico completo q 1 a Es un autómata finito b q 2 a
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.
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, 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 1 s. Son palabras de este lenguaje: 1, 0, 11, 01, 111, 011, . .
Autómatas Finitos No Determinísticos A = (Q; V; ; q; F) con = Q x (V { }) P(Q) Ejemplo 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
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
Ejemplos Autómatas Regulares No Determinísticos Sea A = ( {q , q 1, q 2 , q 3, q 4 }; { 0, 1}; ; q ; {q 2 , q 4 }), con dada por (q ; ) = {q 1, q 3 } (q 1; 0) = { q 2 } (q 3; 1) = { q 4 } (q 2; 0) = { q 2 } (q 4; 1) = { q 4 } El diagrama de transición correspondiente es: 0 * q 2 q q 1 q 3 1 0 q 4 1
Complejidad Media Complejidad Alta Ejercicios A. F. N
Complejidad Media Grafique los diagramas de transición de los autómatas finitos no determinísticos 1. A = ( {q , q 1, q 2 }; { 0}; ; {q 2}), con dada por la siguiente tabla de transición: 0 * q q 1 q 2 2. A = ( {q , q 1, q 2, q 3}; { 0, 1 }; q ; {q 3}), con dada por: (q ; 0) = {q } y (q ; 0) = {q 1 } (q ; 0) = {q , q 1 } (q ; 1) = {q } (q 1; 1) = {q 2 } (q 2; 1) = {q 3 }
Complejidad Alta Grafique los diagramas de transición de los autómatas finitos no determinísticos 1. A = ( {q , q 1, q 2, q 3, q 4 }; { 0, 1}; ; q ; {q 2, q 4}), con dada por: (q ; ) = {q 1, q 3 } (q 1; 0) = {q 2 } (q 3; 1) = {q 4 } (q 2; 0) = {q 2 } (q 4; 1) = {q 4 } 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 }
Complejidad Media 1. Grafique el diagrama de transición del autómata finito no determinístico 2. A = ( {q , q 1, q 2 }; { 0}; ; {q 2}), con dada por la siguiente tabla de transición: 0 * q q 1 q 2 Rta. q 0 q 1 0 q 2
Complejidad Media Grafique los diagramas de transición de los autómatas finitos no determinísticos 2. A = ( {q , q 1, q 2, q 3}; { 0, 1 }; q ; {q 3}), con dada por: (q ; 0) = {q } y (q ; 0) = {q 1 } (q ; 0) = {q , q 1 } (q ; 1) = {q } (q 1; 1) = {q 2 } (q 2; 1) = {q 3 } 0 * 1 q 0 1 q 2 1 q 3
Complejidad Alta Grafique los diagramas de transición de los autómatas finitos no determinísticos 1. A = ( {q , q 1, q 2, q 3, q 4 }; { 0, 1}; ; q ; {q 2, q 4}), con dada por: (q ; ) = {q 1, q 3 } (q 1; 0) = {q 2 } (q 3; 1) = {q 4 } 0 (q 2; 0) = {q 2 } (q 4; 1) = {q 4 } * q 1 0 q 2 q 1 q 3 1 q 4
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 * 0 a b 0 1 1 0 c
- Fe
- Cómo nos comunicamos con dios? (daniel 9 3)
- Nos relacionamos con el mundo por medio del lenguaje
- Lenguaje algebraico ecuaciones lineales
- 50 ejemplos de lenguaje algebraico
- Lenguaje verbal (a-b)2
- Expresiones algebraicas 2 eso
- De nos montagnes et nos vallées
- Nos diferenciamos pero también nos parecemos
- Arme nos bras arme nos coeurs
- Deus se compadeça de nós e nos dê a sua benção
- Xxxi domingo do tempo comum ano b
- Nenhum de nós sozinho é tão bom quanto todos nós juntos
- O pai que pelo espírito dais vida e santidade
- Quando chega o verao nos humanos nos sentimos
- Quando chega o verao nos humanos nos sentimos
- Lo que nos debemos los unos a los otros
- Vicios semanticos del lenguaje
- Tu cabello sombrío cuál negra y larga carcajada
- Lenguaje estándar ejemplos palabras
- Forma musical que consta de dos secciones a y b
- Etapas del desarrollo del lenguaje
- Joinpd.cmo
- Pregunta central
- Ssdt customs
- Classroom.google.cmo
- Cmo cisco
- Sequential pay cmo
- Transitive motivating operations
- Porno qu
- Cto ceo cmo
- Rmo and cmo
- Cmo sacar el porcentaje
- Cmo supply chain
- Cap real ideal y factible
- Present perfect spanish reflexive
- Hudson county cmo
- Cmo proyectos
- Cmo d
- Cmo m
- Cmo formulario
- Example of cmo-r
- Metroset2
- Remic vs cmo
- Hotel.cmo
- Cmo papel
- Cmo citar
- Cita directa cita indirecta
- Cmo r examples
- Cmo
- Welcome on your first day
- Consulta cmo
- Cmo 55 s. 2016
- Cmo wiki
- Cmo te llamas
- Cmo serie a
- Cmo te llamas
- An mbb differs from a cmo or a pass-through in that
- Empresa cmo
- Cmo test
- Title cmo
- Duolingo cmo
- Cmo te llamas
- Xxx cmo
- Cmo citar
- Modelo ta 0521
- Texto espectacular ejemplos
- Lenguaje dramático
- Tipos de personajes
- Poema objetivo
- Espirilo
- Me te se nos les
- Los medios que nos dan gracia santificante son