Вы находитесь на странице: 1из 8

LENGUAJES Alfabeto, S: Conjunto no vaco finito de smbolos Palabra o Cadena: secuencia finita de smbolos de un alfabeto Longitud de Palabra, |x|:

Dada una palabra x formada por smbolos de un alfabeto, su longitud es el n de smbolos del alfabeto que la forman Palabra vaca, l: palabra de longitud 0, es decir, no contiene ningn smbolo Universo de un Alfabeto, W(S): Todas las palabras que se pueden formar con smbolos del alfabeto S. Contiene un n infinito de palabras. La palabra vaca pertenece a todos los universos Lenguaje sobre un Alfabeto, L(S): es todo subconjunto de W(S). Como W(S) es infinito L(S) es infinito Operaciones con palabras Concatenacin: Sean x e y palabras. La concatenacin xy (o xy), es una palabra formada por los smbolos de x seguidos de los de y Potencia: La potencia i-sima de una palabra x, xi, se forma por la concatenacin i veces de x. Por definicin, x0 = Reflexin: La palabra inversa de x, x-1, se forma invirtiendo el orden de los smbolos en la palabra. Unin: L1 L2 contendr a todas las palabras que pertenezcan a cualquiera de los 2 lenguajes. L1 L2 = {x / xL1 xL2} Interseccin: L1 L2 contendr a todas las palabras que pertenezcan a los 2 lenguajes. L1 L2 = {x / xL1 y xL2} Resta: L1 - L2 contendr a todas las palabras que pertenezcan a L1 y no pertenezcan a L2. L1 - L2 = {x / xL1 y xL2} Concatenacin: L1 L2 contendr a todas las palabras que se pueden formar por la concatenacin de una palabra de L1 y otra de L2. L1 L2 = {xy / xL1 e yL2} Potencia: La potencia i-sima de un lenguaje L, Li, se forma por la concatenacin i veces del lenguaje con el mismo. Por definicin, L0 = {}. Ejemplo: Si L(S)={0,1} L2={00,01,10,11} Clausura positiva: Se forma por la unin de todas las potencias del lenguaje, excluyendo la potencia 0. L+ = i=1 Li += W() { } Iteracin, cierre o Clausura. Unin de la palabra vaca con la clausura positiva. L*=L+{ } Reflexin: La reflexin de un lenguaje L est formada por la aplicacin de la reflexin a cada una de las palabras del lenguaje. L-1 = {x-1 / xL } Produccin o Regla, (x::=y): Es un par ordenado de palabras (x,y), x,y *. Si se encuentra x como parte de cualquier palabra v, se puede sustituir x por y en v, lo que permite transformar palabras en otras. Derivacin directa, vw: Aplicacin de una produccin a una palabra v para convertirla en otra palabra w, donde v=zxu, y w=zyu, donde v,w,z,u * Derivacin, v *w: Aplicacin de una secuencia de producciones a una palabra Derivacin ms a la izquierda (derecha): Si se utiliza en cada derivacin directa la produccin aplicada a los smbolos ms a la izquierda(derecha) de la palabra

Operaciones con Lenguajes: Si L1 y L2 son lenguajes:

Otras definiciones:

GRAMTICAS FORMALES Son descripciones estructurales de las sentencias de los lenguajes, tanto formales como naturales. Las definiciones proporcionadas anteriormente, son extensionales, es decir, para describir el lenguaje se enumeran las palabras que lo forman. Las gramticas permiten describir de forma intencional a los lenguajes mediante una serie de elementos. Se dir que una gramtica genera y describe un lenguaje. Gramtica Formal, G: Se define como una cudrupla: G =( t, n, S, P ), donde: o t es el alfabeto de los denominados smbolos terminales o n es el alfabeto de los denominados smbolos no terminales, cumplindose que = t n y t n = o S n, y se denomina axioma de la gramtica o P es un conjunto finito de reglas (o producciones) que tienen como nica restriccin que en la parte izquierda de las producciones debe haber al menos un smbolo no Terminal Forma sentencial: x es forma sentencial si existe una derivacin desde el axioma hasta esa palabra, es decir, S *x Sentencia: x es sentencia si es forma sentencial y todos sus smbolos pertenecen al alfabeto de smbolos no terminales, es decir, S *x y x t* Lenguaje generado por una gramtica, L(G): es el conjunto de todas las sentencias de la gramtica, es decir, todas las palabras que se pueden obtener a partir del axioma de la gramtica por la aplicacin de derivaciones. L(G) = {x / S *x y xt* } Equivalencia entre gramticas: Dos gramticas G1 y G2 son equivalentes, denotado G1EG2, si L(G1)=L(G2), es decir, si generan el mismo lenguaje. Regla compresora: aquella cuya parte derecha est formada por menos smbolos que la parte izquierda (a1 ::= a2, |a1|>|a2| ). Transforman la palabra en otra de menor longitud. Tipos de Gramticas Chomsky defini 4 tipos de gramticas formales, que se diferencian en los tipos de producciones de la gramtica. Esta clasificacin, permite introducir al mismo tiempo, una clasificacin en los lenguajes que las gramticas generan y, tambin, una clasificacin en los autmatas que reconocen los lenguajes generados por las gramticas Tipo 0 (Sin restricciones): En la parte izquierda tiene que haber al menos un smbolo no Terminal. En la parte derecha no hay restricciones. P = { u::=v / u=xAy, u+ , v,x,y*, An } Ej: P={S::=A0; A0::=1B1; B::= ,} Tipo 1 (Dependientes/Sesibles al contexto): Las partes izquierda y derecha tienen que tener una parte comn y slo admite como regla compresora a la regla S::= . Se denominan dependientes del contexto porque se tiene en cuenta lo que viene antes y despus del smbolo que se sustituye. Las derivaciones producidas por aplicacin de sus reglas cumplen que las palabras siempre tienen longitud mayor o igual que las anteriores en la derivacin P = { (S::= ) (xAy ::= xvy) / x,y*, An, v+ } Tipo 2 (Independientes del contexto): La parte izquierda de las producciones slo puede tener un smbolo no Terminal. Se denominan de contexto libre porque a la hora de transformar una palabra en otra, el smbolo no Terminal que se transforma no depende de los que estn a la izquierda o a la derecha. As, cuando se realicen derivaciones en las que se transforme el smbolo A de la frmula anterior, no hace falta saber que hay alrededor de l P = { (S::= ) (A::=v) / An, v+ }

Tipo 3 (Regulares o Lineales): Son las ms restrictivas. Pueden ser de 2 tipos: - Lineales por izquierda: P={ (S::= )(A::=Ba)(A::=a) /A,Bn, vt} - Lineales por derecha: P={ (S::= )(A::=aB)(A::=a) /A,Bn, vt}

Existe adems una jerarqua entre los tipos de gramticas tal que las gramticas del tipo i son ms generales que las del tipo i+1: G3G2G1G0 RBOLES DE DERIVACIN Son una forma de representar las derivaciones. Slo se utilizan para G1, G2 o G3. Aqu: El axioma es la raz del rbol Los nodos hojas del rbol son smbolos terminales de la gramtica Los nodos intermedios son smbolos no terminales de la gramtica Las derivaciones se representan creando tantos sucesores del smbolo no Terminal de la izquierda de las producciones como smbolos aparezcan en la parte derecha de las producciones AMBIGEDAD Palabra: Una palabra es ambigua si se puede generar por distintas derivaciones Gramtica: Es ambigua si tiene al menos una sentencia (palabra) ambigua Lenguaje: Es ambiguo si existe una gramtica ambigua que lo genera. Si todas las gramticas que generan un lenguaje son ambiguas, el lenguaje es inherentemente ambiguo RECURSIVIDAD Produccin recursiva: Si el mismo smbolo no Terminal aparece en ambos lados de la produccin Gramtica recursiva: Si existe al menos una produccin recursiva dentro de su conjunto de producciones Recursividad por izquierda/derecha: Si el smbolo no Terminal aparece el primero/ltimo en la parte derecha de la produccin

MQUINAS SECUENCIALES Representan un tipo de autmata que es capaz de, dada una palabra de entrada, generar otra palabra de salida. Para ello, se definen un conjunto de estados que memorizan la parte de la palabra de entrada leda en cada momento y generan, al mismo tiempo que transitan entre estados, una salida. Se pueden ver como un autmata que tiene 2 cintas asociadas: una por la que va leyendo las palabras de entrada, y otra de salida, en la que va generando la salida. Mquina finita de Mealy: ME = (E, S, Q, f, g), donde:

E es el alfabeto de smbolos de entrada S es el alfabeto de smbolos de salida Q es el conjunto finito no vaco de estados f : Q x E Q, es la funcin de transicin g : Q x E S es la funcin de salida

Supone velocidad de proceso infinita, ya que estas mquinas generan una salida inmediatamente despus de recibir la entrada Mquina finita de Moore: MO = (E, S, Q, f, g), donde la diferencia con la de Mealy es: g : Q S es la funcin de salida

Suponen una velocidad finita, ya que la respuesta slo depende del estado en el que se encuentre la mquina despus de realizar cada transicin. Representacin Tablas de Transicin y de salida: f_Mealy = f_Moore Q 0 1 g_Mealy Q q0 q1 0 p i 1 i p g_Moore Q q0 q1 S p i

q 0 q0 q1 q 1 q1 q0

Tabla nica de transicin y de salida: Se juntan las dos tablas y se separa los datos con una / Diagramas de transicin

AUTMATAS FINITOS DETERMINISTAS (AFD)

Se pueden considerar como una subclase de las mquinas secuenciales. La principal diferencia est en que la salida, en cada momento, est limitada a 2 valores: aceptada la palabra de entrada, o no aceptada. Al igual que las mquinas secuenciales, los autmatas finitos transitan entre estados de un conjunto de estados segn reciben los smbolos que forman la palabra de entrada. En los autmatas, hay 3 tipos de estados: Estado Inicial: permite empezar la ejecucin del autmata Estados Finales: Permiten realizar la salida de aceptacin de la palabra de entrada en el caso de que no haya mas smbolos en la entrada Estados intermedios: Equivalentes a los estados de las Mquinas secuenciales

Definicin Se define un Autmata Finito Determinista como: AFD = (, Q, f, q0, F) donde, - es el alfabeto de smbolos de entrada - Q es el conjunto de estados - f: Q x es la funcin de transicin entre estados - q0Q es el estado inicial - F Q, es el conjunto de estados finales El comportamiento comienza en el estado inicial, y segn se van recibiendo los smbolos de la entrada, transita entre los estados de acuerdo con la funcin de transicin f. Si en un determinado momento se encuentra en un estado de aceptacin, reconoce como vlida la palabra formada por los smbolos de entrada ledos hasta ese momento, Si no, no es aceptada. Representacin Por tabla de transiciones: En las filas estarn los estados (qQ), y en las columnas los smbolos de entrada (a). El estado inicial se preceder con el smbolo , y el/los finales con *. En la posicin (q,a) estar el estado que determine f(q,a) Diagrama de transiciones: En los nodos estarn los estados. El estado inicial tendr un arco entrante no etiquetado. Los estados finales estarn rodeados de doble crculo. Habr un arco etiquetado con a entre el nodo qi y el nodo qj , si f(qi ,a) = qj

f *q0 q1

0 q0 q1

1 q1 q0

Conceptos relativos a AFDs Extensin a palabras: dado que la f slo transita cuando recibe un smbolo de entrada, se puede generalizar para cuando se recibe una palabra formada por ms de un smbolo o por la palabra vaca. En este caso, se debine la funcin de transicin f como: f: Q x * Q, donde: f (q,ax) = f(f(q,a),x) f(q,) = q a, x*, qQ Aceptacin de palabras: Si se parte del estado inicial y se recibe la palabra de entrada x, se transita a un estado que pertenece al conjunto de estados finales o de aceptacin. Lenguaje Reconocido por un AFD: Es el conjunto de palabras aceptadas por un AFD. LAFD = { x / x* y f(q0,x)F } As se conprueba la relacin que existe entre autmatas y lenguajes, de forma que cada autmata reconoce un determinado lenguaje. Para cada lenguaje regular, hay un AF que reconozca palabras de ese lenguaje y no reconoce ninguna palabra que no pertenezca a l Accesibilidad entre estados: pQ es accesible desde qQ si existe una palabra x* tal que f(q,x)=p. Todos aquellos estados no accesibles desde el inicial se pueden borrar Autmatas conexos: Un AFD es conexo si para cada estado qQ, q es accesible desde q0

AUTMATAS FINITOS NO DETERMINISTAS (AFND) Es otro tipo de autmatas en los que puede existir ms de una transicin por cada par (estado; entrada) o ninguna transicin por cada par, de forma que, en cada momento, el autmata puede realizar varias transiciones diferentes entre las que deber optar o no poder realizar ninguna. Adems, los AFND permiten realizar transiciones de un estado a otro sin leer ningn smbolo de entrada, mediante las denominadas transiciones- Definicin Un Autmata Finito No Determinista se define igual que un AFD: AFND = (, Q, f, q0, F) donde slo vara la funcin de transicin f: Q x ( } ) P(Q), donde P(Q) es el conjunto de partes de Q. En la entrada se permite la palabra vaca (se permite transitar sin leer nada de la entrada), y se permite transitar a ms de un estado desde el mismo estado. Representacin f q0 * q1 q2 q3 AUTMATA FINITO ASOCIADO A UNA G3 Una de las aplicaciones ms importantes de los AF consiste en la aceptacin de lenguajes generados por Gramticas de tipo 3 o regulares. La forma de convertir es la siguiente: AF a G3: Si el autmata es AFND, primero se pasa a AFD. Luego, se construye la gramtica equivalente lineal por derecha G3 = (, Q, q0, P), donde: - Si f(q,a) = p entonces q ::= ap, (a; q,pQ) - Si f(q,a) = p y pF, entonces q ::= a - Si q0F entonces q0 ::= G3 a AF: Sea la gramtica lineal por derecha, se construye el Autmata A = ( T, N {F}, f , S ,{F}) donde F es un nuevo smbolo no terminal, y f se construye: Si A ::= aB, entonces f(A,a) = B Si A ::= a, entonces f(A,a) = F Si S ::= , entonces f(s, ) = F EXPRESIONES REGULARES Resumen la descripcin exhaustiva de un lenguaje. Expresin Regular sobre un Alfabeto: Ej: 01*: Representa el lenguaje formado por palabras que empiezan en 0 seguido de ningn, uno o ms unos (0+1)*: Representa una plabra formada por cero, uno o ms dgitos que pueden ser 0 1 Lenguaje Representado por una Expresin Regular: Ej: L (01*) = L(0) L(1*) = {0}{,1,11,111,} = {0,01,011,0111,.} L( (0+1)* ) = [L(0+1)]* = [L(0) + L(1)]* = [{0,1}]* = {,0,1,00,01,10,11,.} Propiedades 0*=* = 0.a=a.0=0 a*.a* = + a.a* = a* (a*.b*)* = (a+b)* = (a*.b)* q0 q2 0 1 {q1, q2} {q0, q1} q3 q2

AUTMATAS A PILA (AP) Los Autmata a Pila permiten analizar palabras para reconocer si pertenecen o no a los lenguajes de tipo 2, independientes de contexto. Tienen la misma estructura que los Autmatas finitos, pero se les aade una pila (memoria auxiliar) para poder guardar informacin que podr ser til en momentos posteriores de anlisis Definicin AP = (, T, Q, A0, q0, f, F) donde, - es el alfabeto de smbolos de entrada, que pueden aparecer en la cinta de entrada - T es el alfabeto de smbolos de pila, que pueden aparecer en la pila. Puede tener smbolos en comn con el alfabeto de entrada - Q es el conjunto de estados - A0T es el smbolo inicial de pila, que aparece en la base de la pila - q0Q es el estado inicial - f: Q x ( } ) x T P(Q x T*) es la funcin de transicin entre estados. Es decir, por cada estado, smbolo de entrada o palabra vaca, y smbolo en la cima de la pila, determina la transicin a otro estado y decide qu se debe escribir en la pila - F Q, es el conjunto de estados finales Funcionamiento Se dispone como entrada de una cinta con los smbolos que forman la palabra de entrada que hay que aceptar o no (ai). El autmata tiene una cabeza lectora posicionada en cada momento en un smbolo de entrada. Esta cabeza lectora slo puede moverse hacia la derecha y termina de moverse cuando llega al final de la cinta. Tambin puede quedarse parada un tiempo (transiciones-). Este autmata lleva un control del estado en el que est (qiQ) donde los estados marcados con un * son estados finales, y puede leer y escribir en la pila los smbolos AiT. El control del autmata lo lleva la funcin de transicin f que, en cada momento, a partir del estado actual, el smbolo actual de la entrada y el smbolo de la cima de la pila, determina el siguiente estado y la siguiente configuracin de pila. Los movimientos se describen mediante una terna: x,y/z, donde: - x*, es lo que se lee de la cinta de entrada - yT*, es el smbolo que se lee de la pila - zT*, es el smbolo que se escribe en la pila Es decir, cada transicin ocurre si se lee un smbolo x de la cinta, un smbolo y de la pila; si ocurre, se escribe el smbolo z en la pila Lenguaje Aceptado por un AP Por vaciado de Pila: El lenguaje aceptado es el conjunto de palabras que permiten transitar desde el estado inicial hasta una descripcin instantnea en la que tanto la entrada como la pila estn vacas Por estado final: Todas las palabras que permitan pasar del estado inicial al final, independientemente del contenido de la pila.

Los AP por vaciado de pila y por estado final son equivalentes. Autmatas a Pila Deterministas Hasta recin, es han dado las caractersticas de los APND. Un AP es determinista si hay alguna transicin dados un estado q y un smbolo de pila A, entonces no puede haber transicin con ningn smbolo de entrada, y adems, no puede haber ms de una transicin dados el mismo estado q y un smbolo de pila en la cima de la pila A, incluyendo las transiciones .

MQUINAS DE TURING Son el autmata ms general, capaz de reconocer los lenguajes generados por las gramticas menos restrictivas, las de tipo 0. Este autmata permite mover la cabeza de lectura en las 2 direcciones (izquierda y derecha), adems de permitir escribir sobre la cinta de entrada (que ser ahora de entrada/salida) Definicin MT = (T, , b, Q, q0, f, F), donde - T es el alfabeto de smbolos de cinta - T es el alfabeto de smbolos de entrada. Como la Mquina de Turing puede escribir en la cinta, es diferente el alfabeto de los smbolos que pueden aparecer en la cinta a los que se pueden escribir - bT, b es un smbolo de la cinta de entrada especial que representa el espacio en blanco - Q es el conjunto de estados - q0Q es el estado inicial - f: Q x T Q x T x {I, D, P} es la funcin de transicin entre estados, donde I=izquierda, D=derecha, y P=Parar - F Q, es el conjunto de estados finales Caractersticas La cinta es infinita, por lo que a ambos lados de la informacin que aparezca en la entrada, habr espacios en blanco representados por b Inicialmente, contiene un n finito de smbolos de , precedidos y seguidos de infinitos b Se representan por la tabla de transicin igual que los otros autmatas.

Movimiento Los movimientos se describen mediante una terna: (x,y,z), donde: x, es lo que se lee de la cinta en la posicin i y, es lo que se escribe en la cinta en la posicin i (sobre-escribe) z, es el indicador de movimiento (I=Izquierda, D=Derecha, P=Parar)

Lenguaje reconocido por una MT Una palabra es reconocida por una mquina de Turing se, dispuesta inicialmente en la cinta de entrada, con la cabeza de lectura en el primer smbolo de la palabra, y la MT en el estado inicial, la mquina es capaz de transitar a un estado final y pararse.

Вам также может понравиться