unad autómatas de pila (pushdown automatón). lenguajes, gramÁticas y autÓmatas lenguajes...

18
UNAD Autómatas de Pila (Pushdown Automatón)

Upload: aaron-gonzalez-valdez

Post on 02-Feb-2016

269 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras

UNAD

Autómatas de Pila(Pushdown Automatón)

Page 2: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras

LENGUAJES, GRAMÁTICAS Y AUTÓMATAS

Lenguajes naturales y lenguajes artificiales. Conjunto de palabras (cadenas o sentencias) que

están formadas por símbolos de un alfabeto. Lenguajes formales (reglas) y naturales

(evolucionan). Gramática da cuenta de la estructura de un

lenguaje. Gramática formal establece las REGLAS que rigen un

lenguaje formal. Una máquina abstracta o autómata es un dispositivo

teórico capaz de recibir y transmitir información. Esta máquina reconoce o genera un lenguaje formal de acuerdo a una gramática formal establecida.

Page 3: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras

Conexiones entre lenguaje, gramática y autómata

Gramática Autómata

Lenguaje

describegenera

reconocegenera

equivale

Page 4: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras

Relación entre Lenguaje, Gramática y Autómata

Gramática Lenguaje Máquina

Tipo 0: Gramática sin Restricciones

Recursivamente enumerable / Sin

restricciones

Máquina de Turing

Tipo 1: Gramática Sensible al Contexto

Dependiente del Contexto

Autómata Linealmente

Acotado (ALA)

Tipo 2: Gramática de Libre Contexto

Independiente del Contexto

Autómata a Pila (AP)

Tipo 3: Gramática Regular

Regular Autómata Finito (AF)

Page 5: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras

Gramática Libre de Contexto

Una gramática libre de contexto en lingüística e informática es una gramática formal en la que cada regla de producción es de la forma:V → w

Donde V es un símbolo no terminal y w es una cadena de terminales y/o no terminales. El término libre de contexto se refiere al hecho de que el no terminal V puede siempre ser sustituido por w sin tener en cuenta el contexto en el que ocurra. Un lenguaje formal es libre de contexto si hay una gramática libre de contexto que lo genera.

Las gramáticas libres de contexto permiten describir la mayoría de los lenguajes de programación, de hecho, la sintaxis de la mayoría de lenguajes de programación está definida mediante gramáticas libres de contexto.

Page 6: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras

Gramática Independientes de Contexto

Page 7: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras
Page 8: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras

Autómata de Pila

Este modelo posee dos cintas con celdas iniciales a la izquierda e infinitas celdas a la derecha. Una de sus cintas es para almacenar los símbolos de entrada o palabra a ser analizada y solo se realizan lecturas sobre ella. La otra cinta funciona como una pila (primer símbolo en entrar, último en salir) sobre ella se introducen y extraen símbolos especiales, a partir de un cabezal de lectura / escritura. Los cabezales están vinculados a una unidad de control.

  Inicialmente la cinta de entrada contiene blancos, al igual que la cinta de tipo pila. Se coloca los símbolos que representan la palabra a ser analizada a partir del extremo izquierdo de la cinta de entrada. El cabezal de la cinta de entrada se encuentra, como Estado Inicial sobre el primer símbolo del extremo izquierdo. El cabezal de la cinta de tipo pila se posiciona sobre el tope de la pila o extremo izquierdo de la misma.

Page 9: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras

En primer Lugar el lenguaje de los paréntesis bien balanceados, que se sabe es propiamente un LLC (lenguaje Libre de contexto,Qué máquina se requiere para distinguir las palabras de paréntesis bien balanceados de las que tienen los paréntesis desbalanceados?

Una primera idea podría ser la de una máquina que tuviera un registro aritmético que le permitiera contar los paréntesis; dicho registro sería controlado por el control finito, quien le mandaría símbolos I para incrementar en uno el contador y D para decrementarlo en uno. A su vez, el registro mandaría un símbolo Z para indicar que está en cero, o bien N para indicar que no está en cero. Entonces para analizar una palabra con paréntesis lo que haríamos sería llevar la cuenta de cúantos paréntesis han sido abiertos pero no cerrados; en todo momento dicha cuenta debe ser positiva o cero, y al final del cálculo debe ser exactamente cero. Por ejemplo, para la palabra (())() el registro tomaría sucesivamente los valores 1, 2, 1, 0, 1, 0.

Como segundo ejemplo, considérese el lenguaje de los palíndromos (palabras que se leen igual al derecho y al revés, como ANITALAVALATINA). Aquí la máquina contadora no va a funcionar, porque se necesita recordar toda la primera mitad de la palabra para poder compararla con la segunda mitad. Más bien pensaríamos en una máquina que tuviera la capacidad de recordar cadenas de caracteres arbitrarias, no números.

Page 10: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras
Page 11: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras
Page 12: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras
Page 13: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras
Page 14: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras
Page 15: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras

Ejercicios en JFlap

Page 16: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras
Page 17: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras
Page 18: UNAD Autómatas de Pila (Pushdown Automatón). LENGUAJES, GRAMÁTICAS Y AUTÓMATAS  Lenguajes naturales y lenguajes artificiales.  Conjunto de palabras