Cmo nos comunicamos A travs del Lenguaje Los

  • Slides: 72
Download presentation
¿Cómo nos comunicamos?

¿Cómo nos comunicamos?

A través del Lenguaje Los hay: Naturales q. Semántica: significado q. Sintaxis: reglas gramaticales.

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

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

¿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

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

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

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

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

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,

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* =

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

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

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 =

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

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

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

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

¿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

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

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.

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

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

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

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

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 Complejidad Alta Ejercicios

Complejidad Media 1. Obtener las derivaciones de las palabras 002 y 0001 a partir

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

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

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

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

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

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

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.

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

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

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

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)

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

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,

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

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

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

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,

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

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

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:

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 Autómatas Diferencia Entre ambos Autómatas Finitos No Determinísticos

Autómatas Finitos Determinísticos A = (Q; V; ; q; F) con = Q x

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

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 =

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:

δ 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

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 Complejidad Alta Ejercicios

Complejidad Media Determine cuáles son las palabras aceptadas por los siguientes autómatas: 0 0

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.

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

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.

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

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

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

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

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

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

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 Complejidad Alta Ejercicios A. F. N

Complejidad Media Grafique los diagramas de transición de los autómatas finitos no determinísticos 1.

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.

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.

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.

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.

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.

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