Unidad 1 Introducción

Documentos relacionados
Teoría de la Computación y Leguajes Formales

Temas. Objetivo. Símbolo, alfabeto. Hileras y operaciones con hileras. Operaciones con lenguajes

CAPITULO 2: LENGUAJES

Tema 1: Introducción. Teoría de autómatas y lenguajes formales I

1. Cadenas EJERCICIO 1

Expresiones regulares, gramáticas regulares

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica

Expresiones regulares, gramáticas regulares Unidad 3

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

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:

Alfabetos, cadenas y lenguajes

Unidad 1 Lenguajes Formales

LENGUAJES Y GRAMÁTICAS

Sumario: Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 1: Conceptos básicos (parte 1) Tema 1: Conceptos básicos

Lenguajes, Gramáticas y Autómatas Conceptos

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica

CONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

Lenguajes y Gramáticas

ESPECIFICACIÓN DE SÍMBOLOS

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

14 Lenguajes y gramáticas II

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

Sumario: Teoría de Autómatas y Lenguajes Formales. Capítulo 2: Lenguajes Formales. Capítulo 2: Lenguajes Formales

Expresiones Regulares

SSL Guia de Ejercicios

Examen de Teoría de Autómatas y Lenguajes Formales

LENGUAJES Y GRAMÁTICAS

Los modelos abstractos de cómputo. Tema 1: Introducción. El modelo transductor. El modelo reconocedor. ordenador. datos. Modelo Abstracto de Cómputo

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

Tema 2: Lenguajes Formales. Informática Teórica I

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS

06 Análisis léxico II

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES

Generalidades sobre lenguajes.

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Lenguajes formales y autómatas

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ.

Capítulo 1 Lenguajes formales 6

AUTÓMATAS DE ESTADO FINITO

Alfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación:

Lenguajes (gramáticas y autómatas)

Matemáticas discretas II

Expresiones regulares y derivadas

Jerarquía de Chomsky. 1. Clasificación de gramáticas. 2. Clasificación de lenguajes. 3. Gramáticas regulares. 5. Gramáticas dependientes del contexto

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

Teoría de Lenguajes - Primer Parcial

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

Víctor J. Díaz Madrigal y Fernando Enríquez de Salamanca Ros. 2.1 Límites de los lenguajes regulares Teorema de Myhill-Nerode Lema del bombeo

10 Análisis léxico VI Compiladores - Profr. Edgardo Adrián Franco Martínez

Soluciones a los ejercicios

Coordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012

Teoría de la Computación y Lenguajes Formales

Unidad 1 Teoría de autómatas y Lenguajes Formales

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas

Sintaxis y Semántica. Tema 3. Sintaxis y Semántica. Expresiones y Lenguajes Regulares. Dr. Luis A. Pineda ISBN:

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.

si w=ay por tanto a Σ e y Σ*

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

Procesadores de Lenguaje

MODELOS DE COMPUTACIÓN CRISTIAN ALFREDO MUÑOZ ALVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACON PEÑA EDUARDO GONZALES PULGARIN

Máquina de estado finito con salida sin salida

Lenguajes Incontextuales

3 Propiedades de los conjuntos regulares 3.1 Lema de Bombeo para conjuntos regulares

TEORÍA DE AUTÓMATAS Y LENGUAJES

INAOE. Expresiones Regulares. Operadores y Operandos. Equivalencia de Lenguajes de FA y Lenguajes RE. Leyes Algebraicas de las. Expresiones Regulares

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

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.

Máquinas de Turing. Definición 2

DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES

Autómata finito y Expresiones regulares A* C. B

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Máquinas Secuenciales, Autómatas y Lenguajes Tema 5: Propiedades de los Lenguajes Regulares. Luis Peña

Autómatas de Pila y Lenguajes Incontextuales

Clase 03: Alfabetos, símbolos y cadenas

Máquinas de Turing, recordatorio y problemas

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores

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

Sea G = (V N, V T, S, P) una gramática libre de contexto, un árbol es un árbol de derivación para G si:

2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total.

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

Clase 04: Lenguajes. Solicitado: Ejercicios 02: Lenguajes

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

Autómatas Finitos Deterministicos (DFA)

Multiplicación de Polinomios. Ejercicios de multiplicación de polinomios. José de Jesús Angel Angel.

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003

Transcripción:

Unidad 1 Introducción

Contenido 1.1 La importancia de estudiar los autómatas y lenguajes formales 1.2 Símbolos, alfabetos y cadenas 1.3 Operaciones sobre cadenas 1.4 Definición de lenguaje y operaciones sobre lenguajes 1.5 La jerarquía de Chomsky: Clasificación de gramáticas y lenguajes

Conceptos básicos Símbolo es una representación distinguible de cualquier información. Los símbolos pueden ser cualesquiera, como w, 9, #, etc., Un símbolo es una entidad indivisible. Alfabeto Un alfabeto es un conjunto finito no vacío de símbolos. Ejemplos:

Conceptos básicos Cardinalidad del alfabeto (número de elementos del alfabeto): >0 y < Palabras Una secuencia finita de símbolos de un alfabeto es una palabra sobre dicho alfabeto. Escribimos la palabra vacía, es decir, la palabra que no contiene ningún símbolo, como ɛ. Definición, ɛ =0

La longitud de una palabra sobre un alfabeto es el número de símbolos que contiene.

* denota el conjunto de todas las cadenas que se pueden construir a partir del alfabeto. Por ejemplo, {a}* = {ɛ, a, aa, aaa, aaaa, } {a,b}*= {ɛ, a, b, aa, ab, ba, bb, aaa, aab, } Notación {a}* = {a n n >= 0}

Convención Ø* = {ɛ}, ø denota al conjunto vacío. Si Ø entonces * es un conjunto infinito de cadenas cada una de ellas de longitud finita. Observación: {a, b} = {b, a} pero ab ba {a, a, b} = {a, b} pero aab ab Ø {ɛ} ɛ Ø conjunto sin elementos {ɛ} conjunto con un elemento ɛ cadena, no es un conjunto

Operaciones sobre cadenas Concatenación Si u, v A*, u=a 1 a n, v=b 1 b n, se llama concatenación de u y v a la cadena uv dada por a 1 a n b 1 b m. Propiedades uv = u + v, u, v A* u(vw) = (uv)w, u, v, w A* uɛ= ɛu = u, u A*

Ejemplos Sean u=aab, v=abab, z=bba, entonces uv=aababab, mientras que vu=ababaab (uv)z= (aababab)bba = aabababbba u(vz) = aab(ababbba) = aabababbba (a m )(a n ) = a (n+m) para cualquier, m,n >=0. Ejemplos: a 5 =aaaaa, a 1 =a, a 0 =ɛ

Definición Si u A* entonces u 0 = ɛ u i+1 = u i u i >= 0 Si u=a 1 a n A*, entonces, la cadena inversa de u -1 = a n a 1 A*.

Operaciones sobre conjuntos A, B, C denotan conjuntos de cadenas (Subconjuntos de *). Complemento en * ~A = {x * x A} Concatenación AB = { xy x A y y B} Potencia n-ésima A n de un conjunto A: A 0 = {ɛ} A (n+1) = AA n Es decir, A n se forma concatenando n copias de A consigo misma. A m A n = A m+n

Ejemplos {ab, aab} 0 = {ɛ} {ab, aab} 1 = {ab, aab} {ab, aab} 2 = {abab, abaab,aabab,aabaab} {ab, aab} 3 = {ababab, ababaab,abaabab,abaabaab, aababab, aababaab,aabaabab,aabaabaab} De igual forma: {a,b} n = {x {a,b}* x =n} Que son todas las cadenas tomadas del alfabeto {a,b} de longitud n.

Cerradura de Kleene: A* es la unión de todas las posibles potencias finitas de A: También se define como: Cuando n=0 entonces está siempre en A* para cualquier A. Ejemplo: {aab, baa}*= {ɛ, aabbaa, aabaab, }

Cerradura positiva: A+ para un conjunto A es la unión de todas las potencias de A distintas de cero:

Ejercicios Sea el alfabeto = {a, b, c} y los conjuntos A={aab, bba}, B={aa,aaaa,ab}; obtenga: * + A U B A B ~A AB BA A 2 B 2

La unión, intersección y concatenación son asociativas: (A U B ) U C = A U (BUC) (A B ) U C = (A B) C) (AB)C = A(BC) Conmutatividad en unión e intersección A U B = B U A A B = B A El conjunto ø es aniquilador para concatenación: A ø = øa = ø

La concatenación se distribuye sobre la unión: La concatenación de conjuntos no se distribuye con respecto a la intersección. Ejercicio: A={a, ab}, B={b}, C={ɛ}, calcule A(B C) y AB AC.

La cerradura Kleene satisface las siguientes propiedades:

Ejercicios

1.4 Definición de lenguaje y operaciones sobre lenguajes Llamamos lenguaje sobre el alfabeto a cualquier subconjunto de *. *, ø, y pueden considerarse como lenguajes. Un lenguaje es tan sólo una clase especial de conjunto, podemos especificar un lenguaje finito por extensión enumerando sus elementos entre llaves. {aba, czr, d, f} es un lenguaje sobre el alfabeto {a, b, c,..., z} Pero la mayoría de los lenguajes de interés son infinitos. En este caso podemos especificar un lenguaje por comprensión de la siguiente forma: L = {w * w cumple la propiedad P}

Ejemplo L = {w {0, 1} * ceros(w) = unos(w)}, palabras que tienen el mismo número de ceros que de unos.

Operaciones del algebra de conjuntos Sean L 1 y L 2 dos lenguajes definidos sobre el alfabeto. Se define la unión de estos dos lenguajes como el lenguaje L sobre que se especifica como: L = L 1 L 2 = {w * (w L 1 ) (w L 2 )} De forma análoga a la unión se pueden definir otras operaciones del álgebra de conjuntos como la intersección, diferencia, y complemento de lenguajes. Por ejemplo, el complemento del lenguaje L sobre el alfabeto V será: L = V* L

Concatenación, potencia e inversión de lenguajes Sean L 1 y L 2 dos lenguajes definidos sobre el alfabeto, la concatenación de estos dos lenguajes es otro lenguaje L definido como: L 1 L 2 = {x y * (x L 1 ) (y L 2 )} La definición anterior sólo es válida si L 1 y L 2 contienen al menos un elemento. ø L = L ø = ø

Concatenación de lenguajes Dados los lenguajes A,B,C sobre un alfabeto V, la concatenación de lenguajes es distributiva con respecto a la unión, esto es, se cumple que: 1. A (B C) = (A B) (A C) 2. (B C) A = (B A) (C A)

Potencia n-ésima Consiste en concatenar el lenguaje consigo mismo n veces. La definición inductiva es: 1. L 0 = {λ} = {ɛ} 2. L n = L L n 1, n > 0 Ejemplo: Si L = {ab, c} es un lenguaje sobre el alfabeto {a, b, c} entonces, L 0 = {λ} L 1 = L = {ab, c} L 2 = L L 1 = {abab, abc, cab, cc} L 3 = L L 2 = {ababab, ababc, abcab, abcc, cabab, cabc, ccab, ccc}

Lenguaje inverso de L: L R ={w R w L} Cerradura positiva L Cerradura L * n1 n0 L L n n

1.5 La jerarquía de Chomsky, 1956 Gramática Lenguaje Modelo matemático Tipo 0: sin restricción Tipo 1: dependiente del contexto Tipo 2: independiente del contexto Tipo 3: regular Recursivamente enumerable (Nivel pragmático) Dependiente del contexto (Nivel semántico) Independiente del contexto (Nivel sintáctico) Regular (Nivel léxico) Máquina de Turing (MT) Autómata linealmente limitado (ALL) Autómata de pila (AP) Autómata finito (AF)

1.5 La jerarquía de Chomsky