Lenguajes Formales y Autómatas 1. Introducción TEMA 1. Introducción 1. Símbolo, alfabeto, palabra y lenguaje 2. Operaciones con palabras 3. Operaciones con lenguajes 4. Clasificación y descripción de los lenguajes 5. Generación y reconocimiento de los lenguajes 1 Lenguajes Formales y Autómatas 1. Introducción 1. Símbolo, alfabeto, palabra y lenguaje - Alfabeto: conjunto no vacío de símbolos (∑ i ) Ejemplo: ∑ 1 = {a, b} ∑ 2 = {0,1} ■ - Palabra: secuencia de símbolos de un alfabeto • Longitud: número de símbolos que forman una palabra. • λ ≡ palabra vacía - Universo de un alfabeto: al universo pertenecen todas las palabras que se pueden formar con un alfabeto (∑ *i ) • - λ siempre está en el universo de cualquier alfabeto Lenguaje: cualquier subconjunto del universo del alfabeto ∑ i Ejemplo: L1 = {aa, bb, b} L2 = {λ, a} ■ - Lenguaje vacío: es aquel lenguaje que no contiene ninguna palabra. LΦ = {} - Lenguaje que contiene la palabra vacía L λ = { λ} 2. Operaciones con palabras - Concatenación Sean x, y dos palabras. El resultado de concatenar x con y (x·y) da como resultado las dos palabras seguidas. x, y x·y = xy Se trata de una operación interna. • • • 2 Asociativa No conmutativa, en general (será conmutativa para palabras iguales y para λ) Elemento neutro: λ Lenguajes Formales y Autómatas - 1. Introducción Potencia La potencia i-ésima de una palabra x es el resultado de concatenar esa palabra consigo misma i veces xi=x···x • - i veces x0= λ Reflexión La reflexión es la inversión de la palabra, es decir, invertir el orden de los símbolos. x-1 Ejemplo: x = ab x-1 = ba ■ 3. Operaciones con lenguajes - Unión Sean L1 y L2 definidos para el mismo alfabeto, la unión será: L1 U L2 = {x | x ∈ L1 ó x ∈ L2 } Ejemplo: L1 = {a, b} L2 = {b, c} L1 U L2 = {a, b, c} ■ • • • • - Operación cerrada Asociativa Idempotente ( L U L = L) Elemento neutro L U LΦ = LΦ U L = L Intersección L1 I L2 = {x | x ∈ L1 y x ∈ L2 } Ejemplo: L1 = {a, b} L2 = {b, c} L1 I L2 = {b} ■ 3 Lenguajes Formales y Autómatas - 1. Introducción Resta L1 – L2 = { x | x ∈ L1 y x ∉ L2 } Ejemplo: L1 = {a, b} L1 − L2 = {a} L2 = {b, c} L2 − L1 = {c} ■ - Concatenación L1 ·L2 = {x. y | x ∈ L1 , y ∈ L2 } • • • • Operación cerrada Asociativa No conmutativa, en general Elemento neutro ( L·{λ} = {λ}·L = L ) , ( L·LΦ = LΦ ·L = LΦ ) Ejemplo: L1 = {a, aa} L2 = {b, ab} L1 ·L2 = {ab, aab, aaab} ■ - Potencia Li = L···L • i veces L0 = {λ} Ejemplo: L13 = {0,1} L3 = {0,1} L23 = {00,01,10,11} L23 = {000,001,010,011,100,101,110,111} ■ - Clausura positiva o cierre positivo Se trata de la unión infinita de todas las potencias del lenguaje, excluyendo la potencia 0. ∞ L = U Li = L1 U L2 U L3 U··· + i =1 4 Lenguajes Formales y Autómatas 1. Introducción Ejemplo: L3 = {0,1} L+3 = {0,1,00,01,10,11,000,001,010,011,100,101,110,111} ■ - Clausura de Kleene estrella Se trata de la unión infinita de todas las potencias del lenguaje. ∞ L* = U Li = L0 U L1 U L2 U··· i =0 • L* = L+ U {λ} • L·L* = L+ Ejemplo: L3 = {0,1} L3 = {λ ,0,1,00,01,...} ■ - Reflexión Se aplica el operador reflexión a cada una de las palabras del lenguaje. L−1 = {x −1 | x ∈ L} Ejemplo: Sean los lenguajes L1, L2 y el alfabeto ∑ ∑ ={1,2,3, a, b, c} L1 = {1,2, a, b} L2 = {1, b,3, c} 1) L1 U L2 = {1,2,3, a, b, c} 2) L1 I L2 = {1, b} 3) L1 − L2 = {2, a} 4) L1 ·L2 = {11,1b,13,1c,21,2b,23,2c, a1, ab, a3, ac, b1, bb, b3, bc} 5)( L1 ·L2 ) 2 = {1111,111b,1113,...} 6) L*1 ·L+2 = 7) L1−1 = ■ 5 Lenguajes Formales y Autómatas 1. Introducción Ejemplo: DNI L1 = {0,1,2,3,4,5,6,7,8,9} L2 = { A, B, C , D,..., Z } L3 = {a, b, c, d ,..., z} DNI’s con letras mayúsculas: L81 ·{−}·L2 DNI’s con letras mayúsculas y minúsculas: ( L81 ·{−}·L2 ) U ( L81 ·{−}·L3 ) ■ 4. Clasificación y descripción de los lenguajes - Lenguajes regulares: Contienen un número finito de palabras - Lenguajes independientes del contexto: contiene a los regulares - Lenguajes dependientes del contexto: contiene a los independientes del contexto - Lenguajes con estructura de frase: contiene a los dependientes del contexto. L.E.F L.D.C L.I.C Lenguajes regulares 5. Generación y reconocimiento de lenguajes 6