SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Autómatas de Pila
Rafael Taveras 16-0391
Rawel Luciano 16-0511
Índice
● Objetivos
● Introducción
● Máquina de Turing
● Autómatas con Pila
● ¿Qué son los LLC?
● Funcionamiento de los Autómatas de Pila
● Diseño de los Autómatas de Pila
● Combinación modular de AP
● Formalización de los AP
● Ejemplos Prácticos
Objetivos
→ Resumir de qué manera surgen los autómatas de pilas (AP).
→ Conocer los conceptos relacionados a los AP.
→ Explicar las condiciones para diseñar un AP.
→ Describir el funcionamiento de los AP.
→ Analizar y comprender ejercicios de AP.
Introducción
● Puesto que los autómatas finitos no son suficientemente poderosos para
aceptar los LLC, cabe preguntarnos. Qué tipo de autómata se necesitaría
para aceptar los LLC.?
→ Una idea es agregar algo a los AF de manera que se incremente su poder
de cálculo.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5
Ejemplos
● Para ser más concretos, tomemos por ejemplo el lenguaje de los
paréntesis bien balanceados, que sabemos que es propiamente LLC.
● ¿Qué máquina se requiere para distinguir las palabras de paréntesis bien
balanceados de las que tienen los paréntesis desbalanceados?
→ Por ejemplo, para la palabra (())() el registro tomaría nuevamente los
valores 1,2,1,0,1,0.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5
Ejemplos
→ Como un segundo ejemplo, considérese el lenguaje de los palíndromos
(palabras que se leen igual al derecho y al revés, como ANITALAVALATINA).
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5
Autómatas con Pila
● Estos surgen como una alternativa para la creación de autómatas capaces
de aceptar los LLC (Lenguajes Libre de Contexto).
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5.1
¿Qué son los LLC?
● Son los lenguajes formales que engloban a los lenguajes regulares y
constituyen los mecanismos de representación y reconocimiento de los
lenguajes de programación desde el punto de vista sintáctico.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5.2
Ejemplo - Máquina de Turing
● Es un dispositivo de reconocimientos de lenguaje, es más general que
cualquier autómata finito y cualquier autómata de pila, debido a que ellas
pueden reconocer tanto los lenguajes regulares, como los lenguajes
independientes de contexto y además muchos otros tipos de lenguajes.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 6
Funcionamiento de los Autómatas de Pila
● La pila funciona de manera que el último carácter que se almacena en ella es
el primero en salir (“LIFO por las siglas en inglés), como si apilamos platos uno
encima de otro, y naturalmente el primero que quitaremos es el último que
hemos colocado.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5.1
Funcionamiento de los Autómatas de Pila
Al igual que los AF, los AP tienen estados finales, que permiten distinguir cuando
una palabra de entrada es aceptada.
De hecho, para que una palabra de entrada sea aceptada en un AP se deben
cumplir todas las condiciones siguientes:
→ La palabra de entrada se debe haber agotado (consumido totalmente).
→ El AP se debe encontrar en un estado final.
→ La pila debe estar vacía.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .1
Diseño de los Autómatas de Pila
En resumen, a la hora de diseñar un AP tenemos que repartir lo que requiere ser “recordado”
entre los estados y la pila. Distintos diseños para un mismo problema pueden tomar
decisiones diferentes en cuanto a que recuerda cada cual.
Ejemplo: Diseñar un AP que acepte exactamente el lenguaje con palabras de la forma an
bn
,
para cualquier número natural n.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .2
Diseño de los Autómatas de Pila
Ejemplo: Proponer un AP que acepte el lenguaje de los palíndromos con un número par de
sımbolos, esto es, palabras que se leen igual de izquierda a derecha y de derecha a izquierda,
y que tienen por tanto la forma wwR
, donde wR
es el reverso de w (esto es, invertir el orden),
en el alfabeto {a, b}. Por ejemplo, las palabras abba, aa y bbbbbb pertenecen a este lenguaje,
mientras que aab y aabaa no.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .2
Ejemplos Prácticos
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .3
Combinación Modular de AP
En los AP también es posible aplicar métodos de combinación modular de
autómatas, como hicimos con los autómatas finitos. En particular, es posible
obtener AP que acepte la unión y concatenación de los lenguajes aceptados
por dos AP dados.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5.2.1
Ejemplo - Combinación Modular de AP
En el caso de la unión, dados dos AP M1 y M2 que aceptan respectivamente
los lenguajes L1 y L2, podemos obtener un AP que acepte la unión, L1∪L2,
introduciendo un nuevo estado inicial s0 con transiciones ε/ε/ε a los dos
antiguos estados iniciales s1 y s2, como se ilustra en la figura.
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5.2.1
Formalización de los AP
Un autómata de pila es un séxtuplo (K,Σ,Γ,∆,s,F), donde:
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .3
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .4
Teorema
● Todo lenguaje aceptado por un AF es también aceptado por un AP
● Este resultado debe quedar intuitivamente claro, puesto que los AP son
una extensión de los AF.
Relación entre AF y AP
Relación entre AP y LLC
→ Ahora vamos a establecer el resultado por el que iniciamos el estudio de
los AP, es decir, verificar si son efectivamente capaces de aceptar los LLC.
Teorema
Los autómatas de pila aceptan exactamente los LLC. La prueba de este
teorema se puede dividir en dos partes:
1. Si M es un AP, entonces L(M) es un LLC
2. Si L es un LLC, entonces hay un AP M tal que L(M) = L
Video
Ejemplos Prácticos
Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .3
Automatas de pila

Weitere ähnliche Inhalte

Was ist angesagt?

Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesHumano Terricola
 
La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.Emmanuel Colon
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosHumano Terricola
 
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministaClase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministamvagila
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contextoVerónica Es'Loo
 
3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registrosMeztli Valeriano Orozco
 
Aplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesAplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesMoises Benzan
 
Autómata de pila (AP)
Autómata de pila (AP)Autómata de pila (AP)
Autómata de pila (AP)Rodrigo GC
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2Humano Terricola
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De TuringRicardo Quintero
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turingAnel Sosa
 

Was ist angesagt? (20)

Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.La maquina de Turing, sus tipos y aplicaciones.
La maquina de Turing, sus tipos y aplicaciones.
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Autómatas Finitos
Autómatas FinitosAutómatas Finitos
Autómatas Finitos
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Automatas de pila
Automatas de pilaAutomatas de pila
Automatas de pila
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministaClase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito determinista
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contexto
 
3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros
 
Aplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesAplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes Formales
 
Autómata de pila (AP)
Autómata de pila (AP)Autómata de pila (AP)
Autómata de pila (AP)
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Compiladores, Analisis Lexico
Compiladores, Analisis LexicoCompiladores, Analisis Lexico
Compiladores, Analisis Lexico
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De Turing
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turing
 
Autómatas de pila
Autómatas de pila Autómatas de pila
Autómatas de pila
 

Ähnlich wie Automatas de pila

Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladoresCJAO
 
Marina aguilar historiay_tiposdelenguajesdeprogramacion
Marina aguilar historiay_tiposdelenguajesdeprogramacionMarina aguilar historiay_tiposdelenguajesdeprogramacion
Marina aguilar historiay_tiposdelenguajesdeprogramacionJesus Cocom
 
Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019DanielRosero23
 
Taller de Compiladores flx y bsn
Taller de Compiladores flx y bsnTaller de Compiladores flx y bsn
Taller de Compiladores flx y bsnDanielRosero23
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.LuiS YmAY
 
Práctica #3 estructura if (traducción c to asm)
Práctica #3  estructura if (traducción c to asm)Práctica #3  estructura if (traducción c to asm)
Práctica #3 estructura if (traducción c to asm)Anibal Ulibarri
 
Análisis semántico
Análisis semánticoAnálisis semántico
Análisis semánticoAndres Pozo
 
Gramatica
GramaticaGramatica
Gramaticasdarky
 

Ähnlich wie Automatas de pila (14)

Automátas de Pila
Automátas de PilaAutomátas de Pila
Automátas de Pila
 
Automatas finitos
Automatas finitosAutomatas finitos
Automatas finitos
 
Historia Lenguajes y sus Tipos
Historia Lenguajes y sus TiposHistoria Lenguajes y sus Tipos
Historia Lenguajes y sus Tipos
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladores
 
Trabajo maxi unidad i
Trabajo maxi unidad iTrabajo maxi unidad i
Trabajo maxi unidad i
 
Marina aguilar historiay_tiposdelenguajesdeprogramacion
Marina aguilar historiay_tiposdelenguajesdeprogramacionMarina aguilar historiay_tiposdelenguajesdeprogramacion
Marina aguilar historiay_tiposdelenguajesdeprogramacion
 
Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019
 
Taller de Compiladores flx y bsn
Taller de Compiladores flx y bsnTaller de Compiladores flx y bsn
Taller de Compiladores flx y bsn
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.
 
Práctica #3 estructura if (traducción c to asm)
Práctica #3  estructura if (traducción c to asm)Práctica #3  estructura if (traducción c to asm)
Práctica #3 estructura if (traducción c to asm)
 
Algorimos
AlgorimosAlgorimos
Algorimos
 
Ensayo
EnsayoEnsayo
Ensayo
 
Análisis semántico
Análisis semánticoAnálisis semántico
Análisis semántico
 
Gramatica
GramaticaGramatica
Gramatica
 

Kürzlich hochgeladen

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Kürzlich hochgeladen (11)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Automatas de pila

  • 1. Autómatas de Pila Rafael Taveras 16-0391 Rawel Luciano 16-0511
  • 2. Índice ● Objetivos ● Introducción ● Máquina de Turing ● Autómatas con Pila ● ¿Qué son los LLC? ● Funcionamiento de los Autómatas de Pila ● Diseño de los Autómatas de Pila ● Combinación modular de AP ● Formalización de los AP ● Ejemplos Prácticos
  • 3. Objetivos → Resumir de qué manera surgen los autómatas de pilas (AP). → Conocer los conceptos relacionados a los AP. → Explicar las condiciones para diseñar un AP. → Describir el funcionamiento de los AP. → Analizar y comprender ejercicios de AP.
  • 4. Introducción ● Puesto que los autómatas finitos no son suficientemente poderosos para aceptar los LLC, cabe preguntarnos. Qué tipo de autómata se necesitaría para aceptar los LLC.? → Una idea es agregar algo a los AF de manera que se incremente su poder de cálculo. Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5
  • 5. Ejemplos ● Para ser más concretos, tomemos por ejemplo el lenguaje de los paréntesis bien balanceados, que sabemos que es propiamente LLC. ● ¿Qué máquina se requiere para distinguir las palabras de paréntesis bien balanceados de las que tienen los paréntesis desbalanceados? → Por ejemplo, para la palabra (())() el registro tomaría nuevamente los valores 1,2,1,0,1,0. Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5
  • 6. Ejemplos → Como un segundo ejemplo, considérese el lenguaje de los palíndromos (palabras que se leen igual al derecho y al revés, como ANITALAVALATINA). Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5
  • 7. Autómatas con Pila ● Estos surgen como una alternativa para la creación de autómatas capaces de aceptar los LLC (Lenguajes Libre de Contexto). Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5.1
  • 8. ¿Qué son los LLC? ● Son los lenguajes formales que engloban a los lenguajes regulares y constituyen los mecanismos de representación y reconocimiento de los lenguajes de programación desde el punto de vista sintáctico. Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5.2
  • 9. Ejemplo - Máquina de Turing ● Es un dispositivo de reconocimientos de lenguaje, es más general que cualquier autómata finito y cualquier autómata de pila, debido a que ellas pueden reconocer tanto los lenguajes regulares, como los lenguajes independientes de contexto y además muchos otros tipos de lenguajes. Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 6
  • 10. Funcionamiento de los Autómatas de Pila ● La pila funciona de manera que el último carácter que se almacena en ella es el primero en salir (“LIFO por las siglas en inglés), como si apilamos platos uno encima de otro, y naturalmente el primero que quitaremos es el último que hemos colocado. Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5.1
  • 11. Funcionamiento de los Autómatas de Pila Al igual que los AF, los AP tienen estados finales, que permiten distinguir cuando una palabra de entrada es aceptada. De hecho, para que una palabra de entrada sea aceptada en un AP se deben cumplir todas las condiciones siguientes: → La palabra de entrada se debe haber agotado (consumido totalmente). → El AP se debe encontrar en un estado final. → La pila debe estar vacía. Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .1
  • 12. Diseño de los Autómatas de Pila En resumen, a la hora de diseñar un AP tenemos que repartir lo que requiere ser “recordado” entre los estados y la pila. Distintos diseños para un mismo problema pueden tomar decisiones diferentes en cuanto a que recuerda cada cual. Ejemplo: Diseñar un AP que acepte exactamente el lenguaje con palabras de la forma an bn , para cualquier número natural n. Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .2
  • 13. Diseño de los Autómatas de Pila Ejemplo: Proponer un AP que acepte el lenguaje de los palíndromos con un número par de sımbolos, esto es, palabras que se leen igual de izquierda a derecha y de derecha a izquierda, y que tienen por tanto la forma wwR , donde wR es el reverso de w (esto es, invertir el orden), en el alfabeto {a, b}. Por ejemplo, las palabras abba, aa y bbbbbb pertenecen a este lenguaje, mientras que aab y aabaa no. Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .2
  • 14. Ejemplos Prácticos Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .3
  • 15. Combinación Modular de AP En los AP también es posible aplicar métodos de combinación modular de autómatas, como hicimos con los autómatas finitos. En particular, es posible obtener AP que acepte la unión y concatenación de los lenguajes aceptados por dos AP dados. Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5.2.1
  • 16. Ejemplo - Combinación Modular de AP En el caso de la unión, dados dos AP M1 y M2 que aceptan respectivamente los lenguajes L1 y L2, podemos obtener un AP que acepte la unión, L1∪L2, introduciendo un nuevo estado inicial s0 con transiciones ε/ε/ε a los dos antiguos estados iniciales s1 y s2, como se ilustra en la figura. Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5.2.1
  • 17. Formalización de los AP Un autómata de pila es un séxtuplo (K,Σ,Γ,∆,s,F), donde: Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .3
  • 18. Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .4 Teorema ● Todo lenguaje aceptado por un AF es también aceptado por un AP ● Este resultado debe quedar intuitivamente claro, puesto que los AP son una extensión de los AF. Relación entre AF y AP
  • 19. Relación entre AP y LLC → Ahora vamos a establecer el resultado por el que iniciamos el estudio de los AP, es decir, verificar si son efectivamente capaces de aceptar los LLC. Teorema Los autómatas de pila aceptan exactamente los LLC. La prueba de este teorema se puede dividir en dos partes: 1. Si M es un AP, entonces L(M) es un LLC 2. Si L es un LLC, entonces hay un AP M tal que L(M) = L
  • 20. Video
  • 21. Ejemplos Prácticos Brena, R. (2003, 07). Lenguajes Libres de Contexto y sus Máquinas. Obtenido 02, 2016, de Autómatas y Lenguajes: Capítulo 5 .3