430 likes | 1.01k Views
CONJUNTOS. El fundamento mas importante para el estudio de los lenguajes y autómatas es la Teorıa de Conjuntos. En efecto, siempre que hablemos de “formalizar” una nocion, estaremos diciendo en realidad “expresar en terminos de la Teorıa de Conjuntos”. La idea de un conjunto .
E N D
CONJUNTOS • El fundamento mas importante para el estudio de los lenguajes y autómatas es la Teorıa de Conjuntos. En efecto, siempre que hablemos de “formalizar” una nocion, estaremos diciendo en realidad “expresar en terminos de la Teorıa de Conjuntos”. La idea de un conjunto .
Las relaciones de inclusion entre conjuntos se acostumbran representar graficamente mediante • los llamados “diagramas de Venn”, que denotan mediante ´areas cerradas (por ejemplo elipses) los conjuntos. Por ejemplo, en la figura se ilustra la situacion donde un conjunto A es subconjunto de B, y B es subconjunto de C.
Sean A y B conjuntos. Se definen las siguientes operaciones con los conjuntos: • Union de conjuntos, denotada por A [ B, que contiene los elementos del conjunto A y tambien los del conjunto B, es decir, A [ B = {x|x 2 A o x 2 B}. Por ejemplo, • {1, 2, 3} [ {3, 4} = {1, 2, 3, 4}. La unión de conjuntos es conmutativa,
Interseccion de conjuntos, escrita A \ B, que contiene los elementos que pertenecen simultaneamente al conjunto A y al conjunto B, es decir, A \B = {x|x 2 A y x 2 B}. • Por ejemplo, {1, 2, 3} \ {3, 4} = {3}. La interseccion es conmutativa y asociativa.
Diferencia de conjuntos, A − B, que contiene los elementos de A que no estan en B, esto es, A − B = {x|x 2 A y x 62 B}. Por ejemplo, {1, 2, 3} − {3, 4} = {1, 2}. La resta o diferencia de conjuntos no siempre le “quita” elementos al primer conjunto; por ejemplo {1, 2, 3}−{4, 5} = {1, 2, 3}. La diferencia de conjuntos no es ni asociativa ni conmutativa
Complemento de un conjunto, es un caso particular de la diferencia, cuando el primer • conjunto es considerado como el “universo” que contiene todos los elementos posibles. • Sea U un universo, entonces el complemento del conjunto A, denotada por AC contiene • los elementos del universo que no están en A. Por ejemplo, si el universo son los • números naturales {1, 2, 3, . . .}, complemento de los números pares son los números • nones: {2, 4, 6, . . .}c = {1, 3, 5, . . .}. Claramente A [ Ac = U, para todo conjunto A.
Potencia de un conjunto A, denotada como 2A, contiene como elementos a todos los subconjuntos • de A, esto es, 2A = {x|x A}. En otras palabras, 2A es un conjunto de • conjuntos. Por ejemplo, 2{1,2,3} = {;, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}. Recu • ´erdese que el conjunto vac´ıo siempre forma parte de todo conjunto potencia. La • notaci´on “2A” recuerda que el tama˜no del conjunto potencia de A es 2 elevado a la • potencia del tama˜no de A, esto es, |2A| = 2|A|.
Producto Cartesiano de dos conjuntos, A × B, es el conjunto de pares ordenados (a, b) • tales que a 2 A y b 2 B. Por ejemplo,{1, 2} × {3, 4, 5} = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)} El tamaño de un producto cartesiano A×B es |A| multiplicado por |B|, como se puede verificar en el ejemplo anterior. El producto cartesiano no es conmutativo, pues no es lo mismo un par (a, b) que uno (b, a), ni asociativo, pues no es lo mismo (a, (b, c)) que ((a, b), c).
Fundamentos Matemáticos Cadenas y Lenguajes El producto cartesiano de dos conjuntos A y B consta de las parejas ordenadas cuyo primer elemento está en A y cuyo segundo elemento está en B. Usaremos la notación de yuxtaposición para denotar al producto cartesiano:
Monoide de Cadenas OPERACIÓN DE CONCATENACION Creamos el diccionario de un alfabeto de la operación de concatenación: ,
Alfabeto, cadena de caracteres Un alfabeto es un conjunto no vació de símbolos. Así, el alfabeto del idioma español, E = {a, b, c, . . . , z}, es sólo uno de tantos alfabetos posibles. En general utilizaremos la notación para representar un alfabeto. Con los símbolos de un alfabeto es posible formar secuencias o cadenas de caracteres, tales como gegerte, sg536egdsge, r, etc. 4 Las cadenas de caracteres son llamadas también palabras.
POTENCIA: de un conjunto A, denotada como 2A, contiene como elementos a todos los subconjuntos • de A, esto es, 2A = {x|x A}. En otras palabras, 2A es un conjunto de • conjuntos. Por ejemplo, 2{1,2,3} = {;, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}. Recu • ´erdese que el conjunto vac´ıo siempre forma parte de todo conjunto potencia. La • notaci´on “2A” recuerda que el tama˜no del conjunto potencia de A es 2 elevado a la • potencia del tama˜no de A, esto es, |2A| = 2|A|.
GRAMATICAS • SON SISTEMAS DE MANIPULACION SIMBOLICA QUE PERMITEN GENERAR CADENAS DE SIMBOLOS LLAMADAS POR ESTO BIEN FORMADAS, O BIEN RECONOCER CUANDO UNA CADENA DADA ESTA EN EFECTO BIEN FORMADA.
REGLAS DE TRANSFORMACION MAI : Modos Mecánico, Anti e Inteligente (Zen) Los caracteres griegos representan a palabras en el alfabeto . La primera regla dice que a toda palabra que termina con i puede añadírsele una a, la segunda, que toda palabra que comience con m puede repetir su ``resto'', la tercera, que cualquier cadena de tres i-es consecutivas puede cambiarse por una a, y, finalmente, que cualesquiera dos a-es consecutivas pueden ser suprimidas.
Ejemplo: Derivaciones en el sistema MAI.
KENNINGS (Poesía antigua islandesa) Este es un género de poesía islandesa de los siglos IX-XIII, construido mediante el reemplazo de frases sustantívales por otras equivalentes. Los kennings pueden ser bellas metáforas o irresolubles acertijos. Ciertamente, esta poesía posee dos tipos de encantos: Uno sintáctico y otro semántico, y, por su naturaleza, ambos se mezclan indisolublemente.
Ejemplos: En un primer ejemplo, ilustramos la sustitución reiterada que se hace en los kennings, y en el segundo citamos un poema mucho más acabado. • guerrero • lanzador de espadas • lanzador del fuego de la batalla • lanzador del fuego de la tormenta de arpones • lanzador del fuego de la tormenta de lunas de barcos • lanzador del fuego de la tormenta de lunas de bridones de olas . . . Fonéticamente, en castellano es muy desagradable la repetición de la conjunción de seguida de un artículo casi obligatorio. En los lenguajes nórdicos esto no aparece pues concatenando los vocablos, los sustantivos pueden realizar funciones de adjetivos, tal como sucede en inglés.
ALGORITMO DE MARKOV Estos sistemas formalizan procedimientos de cálculo. Los algoritmos de Markov son equivalentes a otros sistemas de transformación como son las gramáticas formales irrestrictas, las funciones recursivas y las máquinas de Turing.
Formalización de gramáticas Sea T un conjunto de símbolos terminales y sea V un conjunto de símbolos variables. La unión de ellos, , es un alfabeto de gramática. A* es el diccionario sobre A y consta de todas las palabras, de longitud finita, con símbolos en A. A+ coincide con A*, salvo en que no posee a la palabra vacía, nil .
JERARQUIA DE CHOMSKY En función de la forma de sus producciones, se puede caracterizar qué tan compleja es una gramática formal. Noam Chomsky mostró que esta caracterización clasifica jerárquicamente a las gramáticas formales: Gramáticas en un nivel están incluidas en los siguientes niveles y la inclusión entre niveles es propia. Se puede dar varios refinamientos de la Jerarquía de Chomsky
Autómatas Los autómatas vienen a ser mecanismos formales que ``realizan'' derivaciones en gramáticas formales. La manera en que las realizan es mediante la noción de reconocimiento. Una palabra será generada en una gramática si y sólo si la palabra hace transitar al autómata correspondiente a sus condiciones terminales. Por esto es que los autómatas son analizadores léxicos (llamados en inglés ``parsers'') de las gramáticas a que corresponden
Autómatas Regulares Estos son los autómatas finitos más sencillos. Se construyen a partir de un conjunto de estadosQ y de un conjunto de símbolos de entradaT. Su funcionamiento queda determinado por una función de transición t: q x T-- Q . Si t(q,s)=p esto se interpreta como que el autómata transita del estado q al estado p cuando arriba el símbolo s. En todo autómata finito se cuenta con un estado inicial q0 € Q y un conjunto de estados finales F C Q.
Autómatas de Pila Estos autómatas finitos cuentan con un dispositivo de memoria muy elemental, del tipo pila, el cual es un almacenamiento lineal que funciona bajo el principio PEUS: Primero en Entrar, Ultimo en Salir. La función de transición es de la forma t: Q x T x V → Q x V*, donde la relación t(q,a,v)=(p,v) se interpreta: ``Si se está en el estado q, arriba el símbolo a y en el tope de la pila está el símbolo b entonces se pasa al estado p y se empila la palabra v ''. Un autómata de pila reconoce a una palabra si, tras haberla leído, termina con su pila vacía
Autómatas de Pila Consideremos el autómata de pila cuyas componentes son las siguientes: Q={Seguir, Éxito, Fracaso} : estados, T={a,b,c}:símbolos de entrada,V={A,C} :símbolos de Pila, q0=Seguir :símbolo inicial, Y cuya función de transición actúa como sigue: (seguir,a,y)→(Seguir,Ay) empila paréntesis que abren (seguir,c,A)→(seguir,nil) suprime paréntesis empatados t: (seguir,c,nil)→(fracaso,C) no hay equilibrio, (seguir,b,A)→(fracaso,A) no hay equilibrio, (seguir,b,nil)→(Éxito,nil) equilibrio verificado
Autómatas finitos El término maquina evoca algo hecho en metal, usualmente ruidoso y grasoso, que ejecuta tareas repetitivas que requieren de mucha fuerza o velocidad o precisión. Ejemplos de estas máquinas son las embotelladoras automáticas de refrescos.
Autómatas Lineales Los autómatas lineales son autómatas de pila deterministas que a lo largo de su computación sólo hacen un ``cambio de turno''. A grandes rasgos, esto significa que toda computación consiste de un procedimiento de empilar consecutivamente para después pasar a desempilar.
Relaciones De Orden ORDEN DE PREFIJO Primeramente presentamos condiciones necesarias y suficientes para comparar cadenas y subcadenas. ORDEN LEXICOGRAFICO Sea ∑*un alfabeto dotado de un orden”≤” ejemplo, para el alfabeto ASCII consideramos el orden usual. Extendemos el orden “≤” de ∑ a un orden de ∑*.
Homomorfismos Sean (S1,*1,u1) y (S2,*2,u2) dos monoides con operaciones respectivas *1 y *2 y unidades u1 y u2. Una función es un homomorfismo si En otras palabras, un homomorfismo es una correspondencia entre monoides que preserva las operaciones.
Relaciones de Equivalencia En un conjunto A, una relación de equivalenciaR es un subconjunto tal que es • reflexiva: , , • simétrica: ,y • transitiva: .
Lenguajes La noción más primitiva es la de símbolo, que es simplemente una representación distinguible de cualquier información. Los símbolos pueden ser cualesquiera, como w, 9, #, etc.,pero nosotros vamos a utilizar las letras a,b,c, etc. Un símbolo es una entidad indivisible.
Lenguajes, operaciones con lenguajes Un lenguaje es simplemente un conjunto de palabras. Así, {abracadabra} es un lenguaje (de una sola palabra), {ali, baba, y, sus, cuarenta, ladrones} es otro, es otro, etc.
GRAMATICAS FORMALES Una gramática es una estructura G = (V, T, P So,) donde las siguientes letras representan: “V: Símbolos Variables” “T: Símbolos Terminales” “P: Producciones o reglas sintácticas” “So: Símbolo Inicial”
PROPOSICIONES CORRECTAMENTE FORMADAS • Las proposiciones se construyen a partir de un conjunto de variables proposicionales que siguen un conjunto de reglas gramaticales: • Una variable proposicional es una proposición • La negación de una proposición es una proposición también • La conjunción, la disyunción, la implicación y la equivalencia de dos proposiciones es también una proposición • Las proposiciones solo se obtiene mediante la aplicación sucesiva de las reglas anteriores
Para describir esta construcción mediante una grámatica formal, podemos considerar como un conjunto de símbolos terminales a conjunto unión de los siguientes : • Tabla de proridades de los conectivos: • La prioridad de los conectivos da de izquierda a derecha
TERCETAS DE IGUAL LONGITUD • En este lenguaje consta de tres bloques consecutivos a’s, b’s y c’s de igual longitud, sus reglas de producción son las siguientes:
GRAMATICA: • Toda palabra generada en ella tiene un longitud de múltiplos de 3 • Toda la palabra generada es de la forma ak,bk y ck para algún k ≥ 0 • En general la grámatica utlizada es : • L(gramática) = L3
PAREJAS DE IGUAL LONGITUD • Esta grámatica es paracida a la gramática de tercetas de igual longitud solo que se suprime el último bloque c’s. Sus reglas de producción son las siguientes:
PALABRAS DOBLES • En este lenguaje consta de la palabras formadas por la repetición de una partícula en el alfabeto {0,1}, su gramática es:
De las reglas de producción se podemos considerar los siguientes símbolos: • “S: Símbolo Inicial” • “A: Delimitador derecho del primer bloque” • “B: ‘cursor’ para seguir añadiendo símbolos en los bloques generados” • “C: Delimitador derecho del segundo bloque” • “D: Recordatorio de que sea generado un 0” • “E: Recordatorio que se ha generado un 1”
ELEVACION AL CUADRADO • Esta gramática se construye a partir de las cadenas de 1’s cuya longitud es el cuadrado de un número positivo. Ya que para todo nodo n, (n+1)2, y al incio, 12 = 1, la gramática, una vez que genere una cadena de longitud n2 ha de concatenar con una de longitud n y otra de longitud n + 1.