Introducción a la Lógica y la Computación

Documentos relacionados
Introducción a la Lógica y la Computación

Introducción a la Lógica y la Computación

La Ambigüedad en el Parsing

Procesadores de Lenguaje

El lema de bombeo y los lenguajes no regulares

Computabilidad y lenguajes formales: Sesión 18. Lema de bombeo (Pumping lemma)

Hacia las Gramáticas Propias II

LENGUAJES Y GRAMÁTICAS

La Representación de las Gramáticas

Capítulo 9. Introducción a los lenguajes formales. Continuar

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Teoría de la Computación puesta en Práctica

Expresiones Regulares y Derivadas Formales

Terminaremos el capítulo con una breve referencia a la teoría de cardinales.

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores

Tres versiones de Pal. Sesión 19. Una máquina para aceptar Pal El lenguaje: Tabla de transición para Pal. Más de un siguiente estado.

Límite superior y límite inferior de una sucesión

ÁLGEBRA MODERNA. Índice 1. El grupo de permutaciones y el grupo alternante 1

Tema 1. Introducción

Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores

Clase 14: Gramáticas libres de contexto

Las Gramáticas Formales

Nivel del ejercicio : ( ) básico, ( ) medio, ( ) avanzado.

Tres versiones de Pal. Tema 19. Una máquina para aceptar Pal. Tabla de transición para Pal. Transición. Más de un siguiente estado

Divisibilidad de un número real entre otro

Lenguajes Libres del Contexto

Modelos del Lenguaje. Qué es un ML? Modelos basados en N-gramas Modelos basados en Gramáticas Propuesta de T.D

Teoría de la Computación Lenguajes Regulares (LR) - Propiedades

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Expresiones Regulares y Gramáticas Regulares

Gramáticas tipo 0 o Estructura de frase En este tipo de gramáticas no hay restricción en su producciones y tienen la forma siguiente.

Estructuras Discretas. Teoremas. Técnicas de demostración. Reglas de Inferencia. Reglas de Inferencia Ley de Combinación.

Semana02[1/23] Conjuntos. 9 de marzo de Conjuntos

Demostración Contraejemplo. Métodos Indirectos

Construcción Formal de Programas en Teoría de Tipos

Otras propiedades de los lenguajes regulares

El lema de bombeo para lenguajes regulares

Apuntes de Lógica Matemática I

Teoría de la Computabilidad

Operaciones lineales en R n y sus propiedades

Teorema de Hahn-Banach

Un tercer ejemplo: verificación de primalidad

A continuación daremos algunos teoremas de unicidad para un problema de valores iniciales de la siguiente forma x = f (t, x) (3.1)

58 7. ESPACIOS COCIENTE

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña

Expresiones regulares, gramáticas regulares

El Grupo de los Enteros p-ádicos

Lógica Proposicional IIC1253. IIC1253 Lógica Proposicional 1/64

Teorema de Lagrange. En esta sección demostramos algunos hechos básicos sobre grupos, que se pueden deducir de la definición

Algoritmos y programas. Algoritmos y Estructuras de Datos I

CLAVE DE EXAMEN Matemática para computación 1 código de curso: 960

Propiedades de lenguajes independientes del contexto

Gramáticas independientes del contexto TEORÍA DE LA COMPUTACIÓN LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Conjunto R 3 y operaciones lineales en R 3

Expresiones regulares, gramáticas regulares Unidad 3

CIENCIAS FORMALES CIENCIAS FÁCTICAS

13.3. MT para reconocer lenguajes

LEMA DE LA SERPIENTE

Paréntesis: Una aplicación en lenguajes formales

Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares

Capítulo 2: Inducción y recursión Clase 2: El principio de Inducción Fuerte

DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES

LógicaS Modales. Ricardo Oscar Rodríguez Departamento de Computación, Fac. Ciencias Exactas y Naturales, Universidad de Buenos Aires, Argentina.

Sea Σ un alfabeto y L el lenguaje de los palíndromos sobre Σ. Sean a, b dos elementos de Σ. Se demuestra por reducción al absurdo que L no es regular:

Estructuras algebraicas. Departamento de Álgebra. Apuntes de teoría

2.7 Aplicaciones del Teorema de Jordan

Lenguaje Regular. Sumario. Lenguaje Regular. Autómatas y Lenguajes Formales. Capítulo 8: Propiedades de los Lenguajes Regulares

Intersección y suma de subespacios

Nombre de la asignatura: Lenguajes y Autómatas I. Créditos: Aportación al perfil

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas

Máquinas de Turing, recordatorio y problemas

1. Define que es un Autómatas finitos determinanticos y cuáles son sus elementos constitutivos (explique cada uno de ellos).

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES

Solución Primer Parcial Matemática

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014

Lógicas Modales Computacionales Clase # 5: Usos de Bisimulaciones

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

Extensiones finitas.

Clase práctica 3: Consecuencia Lógica

Operaciones extendidas de conjuntos

Lógica I (curso ) - 23 de enero de 2006 (modelo de respuestas)

Continuidad y monotonía

Continuidad y monotonía

Clase 11: Gramáticas. Solicitado: Ejercicios 09: Gramáticas

Ciencias de la Computación I

Departamento de Ingeniería Matemática - Universidad de Chile

Semana 5: La composición como una operación

ÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales.

Equivalencia Entre PDA y CFL

Sucesiones monótonas Monotonía. Tema 6

Teoría de Lenguajes. Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014

GRAMATICAS LIBRES DEL CONTEXTO

Alfabetos, cadenas y lenguajes

Aprendizaje Computacional y Extracción de Información

Formulación del problema de la ruta más corta en programación lineal

Lógica Proposicional. Del conjunto de hipótesis Γ se deduce α?

RSA: Autentificación y firma digitales

Entscheidungsproblem I TEORÍA DE LA COMPUTACIÓN MÁQUINAS DE TURING Y DECIDIBILIDAD. Máquinas de Turing (TM) Procedimiento efectivo

Lenguajes No Regulares

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I

Transcripción:

Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 12 de Noviembre de 2014 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/11

Lenguajes Regulares vs. Lenguajes No Regulares Hasta ahora estudiamos la teoría de los lenguajes regulares, y diferentes formalismos para definirlos...(cuales?). Pero también mencionamos que había diferentes lenguajes que no son regulares. Sabemos cómo definir LR, pero no sabemos cómo decidir cuando un lenguaje no es regular. Vamos a ver un lema que nos va a ayudar. Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 2/11

Pumping Lemma Proposición Sea L un lenguaje regular. Entonces existe un número k > 0 tal que para toda cadena α L con α k, existen cadenas β 1, β 2, γ con β 1 γ k, γ > 0 que satisfacen: 1. α = β 1 γβ 2, 2. β 1 γ n β 2 L, para todo n 1. Demostración:...al pizarrón. Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 3/11

Pumping Lemma vs. Lenguajes No Regulares Vimos el Pumping Lemma como una propiedad de los lenguajes regulares. Dijimos que lo íbamos a introducir como una herramienta para demostrar que un lenguaje no es regular. Entonces, cómo lo usamos? Fácil! haciendo demostraciones por el absurdo, suponiendo que un lenguaje es regular. Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 4/11

Pumping Lemma vs. Lenguajes No Regulares - Ejemplo Ejemplo Demostremos que el lenguaje L = {a n b n n > 1} no es regular. Demostración: Vamos a hacer la demostración por el absurdo, suponiendo que L es regular, y usando el Pumping Lemma para llegar a una contradicción. Tenemos que elegir α L de tal forma de obtener la contradicción que buscamos. Elegimos α = a k b k. Por el Pumping Lemma, existen β 1, γ, β 2 con β 1 γ k, γ > 0, que satisfacen α = β 1 γβ 2 y β 1 γ n β 2 L para todo n 1. Como β 1 γ k, γ es de la forma a s, con s > 0, luego α = a r a s a t b k, con r + s + t = k y s > 0. Además, a r a s.n a t b k L, para todo n 1. Pero r + s.n + t > k, para n > 1, entonces a r a s.n a t b k L! Lo cual es una contradicción (que vino de suponer que L era regular). Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 5/11

Pumping Lemma - Esquema de demostración El Pumping Lemma es utilizado para detectar si un lenguaje es regular con la siguiente estrategia: 1. Seleccionar el lenguaje L que se desea verificar que no es regular. 2. Suponer que es regular y por lo tanto existe k como en el lema. 3. Seleccionar una cadena α L de longitud mayor que k. La elección de la cadena no es arbitraria, y depende del lenguaje dado. 4. Descomponer la cadena de acuerdo al Pumping Lemma y generar nuevas cadenas en L, inflando en el centro (es decir, las cadenas β 1 γ n β 2 ). 5. Verificar que las cadenas infladas no pertencen a L. Esto genera una contradicción provenientede suponer que L era regular. Observación Nótese que la estrategia anterior puede no funcionar! De todas maneras, que no podamos aplicar el Pumping Lemma a un lenguaje, no implica que éste sea regular. Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 6/11

Lenguajes no regulares Vimos como demostrar que un lenguaje no es regular. Antes vimos también, que hay diferentes tipos de lenguajes no regulares (recordar jerarquía de Chomsky). Entonces, nos interesa algún tipo particular de lenguajes? Si! Queremos bajar un poco las restricciones del lenguaje, pero no tanto... Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 7/11

Lenguajes libres de contexto Por qué nos interesan estos lenguajes en particular? La respuesta es que, hay lenguajes interesantes en las ciencias de la computación, que pueden ser definidos en esta clase. Son lenguajes que poseen el equilibrio (que buscamos, al menos) entre expresividad y buen comportamiento. Vamos a ver ejemplos de lenguajes muy simples (pero a su vez muy útiles para nosotros) que no son regulares, pero sí son libres de contexto. Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 8/11

Gramáticas libres de contexto - Ejemplo Consideremos por ejemplo los números enteros. La gramática que define a los enteros puede ser: entero entero con signo entero sin signo entero con signo + entero sin signo entero sin signo entero sin signo digito digito entero sin signo digito 0 1 2 3 4 5 6 7 8 9 Esta gramática claramente no es regular. Pero es libre de contexto, como buscábamos. Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 9/11

BNF (Backus-Naur Form) Consideremos por ejemplo los números enteros. La gramática que define a los enteros puede ser: entero ::= entero con signo entero sin signo entero con signo ::= + entero sin signo entero sin signo entero sin signo ::= digito digito entero sin signo digito ::= 0 1 2 3 4 5 6 7 8 9 Las BNF son usualmente utilizadas para definir, por ejemplo, la sintaxis de los lenguajes de programación (C, Pascal, Java, etc). Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 10/11

Gramáticas libres de contexto - Ejemplo 2 Consideremos el lenguaje visto en la parte de Lógica de la materia. Una gramática libre de contexto que define ese leguaje puede ser: F (F F ) (F F ) (F F ) (F F ) (F ) A A p 1... p n. Podemos derivar la expresión ((p 1 p 2 ) ): F (F F ) (F A) (F ) ((F F ) ) ((F A) ) ((F p 2 ) ) ((A p 2 ) ) ((p 1 p 2 ) ) Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 11/11