Lenguajes y Atomatas

38
UNIVERSIDAD POLITÉCNICA DEL VALLE DE MÉXICO Lenguajes y autómatas Salvador Contreras Hernández Enero 2015

description

Clase 1 de la materia Lenguajes y Automatas

Transcript of Lenguajes y Atomatas

  • UNIVERSIDAD POLITCNICA DEL

    VALLE DE MXICO

    Lenguajes y autmatas

    Salvador Contreras Hernndez

    Enero 2015

  • Lenguajes y autmatas

    Objetivo

    Analizar las aplicaciones de un autmata en la vida

    real, as como desarrollar una y que dependiendo

    de la cadena de entrada realice alguna accin en

    particular.

  • Lenguajes y autmatas

    Resultados de aprendizaje:

    Plan de asignatura.

    Plan de evaluacin.

    (Nicenet Link Sharing)

  • Lenguajes y autmatas

    Evaluacin:

    Se promedian las actividades de aprendizaje de

    cada unidad.

    Se deben aprobar todas las unidades para acreditar

    la asignatura.

    Se asignar una fecha de entrega de las evidencias

    de cada unidad para alumnos que no la acrediten.

  • Historia (I)

    En 1930s, A. Turing desarroll una mquina abstracta

    denominada Mquina de Turing para el estudio de la

    computabilidad.

    En 1940s y 1950s, se desarrollan mquinas simples, en

    cuanto su funcionamiento, que fueron conocidas como

    autmatas finitos, para modelar el funcionamiento del

    cerebro.

    Tambin en los 1950s, N. Chomsky comienza el estudio

    formal de las gramticas (generadoras de lenguajes).

  • Historia (II)

    En 1969, Stephen Cook extiende el estudio de Turing. Cook

    separa aquellos problemas que pueden ser solucionados

    de aquellos que en principio pueden ser solucionados pero

    que en la prctica toman demasiados recursos.

    Autmatas finitos y ciertas clases de gramticas formales

    son usadas en el diseo y construccin de software.

    La Mquina de Turing ayuda a comprender que es lo que

    podemos esperar de nuestro software.

  • Por qu estudiar Lenguajes y

    Autmatas?

    Autmatas Finitos son modelos tiles para muchos elementos

    hardware y software:

    Software para disear y chequear la conducta de circuitos digitales.

    El analizador lxico de un compilador.

    Software para escanear grandes volmenes de texto para

    encontrar patrones.

    Software para verificar sistemas que tengan un nmero finito de

    estados, tales como protocolos de comunicacin o de intercambio

    seguro de informacin.

  • Por qu estudiar Lenguajes y

    autmatas?

    Autmatas son esenciales para el estudio de los lmites de

    la computacin:

    Qu puede hacer una computadora? Problema de la decibilidad.

    Qu puede hacer una computadora eficientemente? Problema de

    la tratabilidad.

  • Por qu estudiar Lenguajes y

    Autmatas?

    Los lenguajes nos permiten comunicarnos con la mquina,

    parte de lo que puede hacer la mquina depende del

    poder descriptivo del lenguaje.

    Compiladores.

    Traductores.

    Diseo de lenguajes de alto nivel.

  • Mquinas abstractas

    Autmatas Finitos.

    Autmatas de Pila.

    Autmatas linealmente acotados.

    Mquina de Turing.

  • Definicin informal de autmata

    Son sistemas que en todo momento se encuentran en uno de un

    conjunto finito de estados.

    El propsito de un estado es recordar la historia del sistema.

    Puesto que el nmero de estados es finito, el sistema debe ser

    diseado para recordar aquello que es importante y olvidar lo

    que no.

    La ventaja de tener un nmero finito de estados es que el

    sistema podr ser implementado con un conjunto fijo de recursos.

  • Ejemplo de AF

    Sistema: Interruptor.

    El sistema recuerda si est

    conectado (ON) o desconectado

    (OFF).

    El usuario lo presiona.

    Si est en OFF y es presionado

    pasa al estado ON.

    Si est en ON y es presionado

    pasa al estado OFF.

    Presin

    off on

    Presin

    Comienzo

  • Gramticas Formales

    Gramtica regulares.

    Gramticas independientes de contexto.

    Gramticas sensibles al contexto.

    Gramtica sin restricciones o de estructura de

    frase.

  • Definicin informal de Gramtica

    Es el mecanismo empleado para establecer la estructura de un

    lenguaje, es decir las sentencias que lo forman.

    Consiste de un conjunto de reglas sintcticas que establecen la

    forma en la que se pueden combinar los smbolos del alfabeto:

    ORACION es un SUJETO y un PREDICADO.

    SUJETO es una FRASE NOMINAL.

    FRASE NOMINAL es un GRUPO NOMINAL y un CALIFICATIVO que puede o

    no estar.

    GRUPO NOMINAL es un ARTICULO que puede no estar y un NOMBRE.

    CALIFICATIVO es un ADJETIVO o una CONJUNCIN y una ORACION.

  • Tipos de Gramticas

    N. Chomsky clasifica las gramticas en cuatro tipos:

    Gramticas sin restricciones o gramticas de estructura de frases

    (Tipo 0).

    Gramticas sensibles al contexto (Tipo 1).

    Gramticas independientes de contexto (Tipo 2).

    Gramticas regulares (Tipo 3).

    Tipo 0 Tipo 1 Tipo 2 Tipo 3

  • Tipos de Lenguajes

    Conforme a la clasificacin de N. Chomsky, los lenguajes se

    clasifican en cuatro tipos:

    Lenguajes sin restricciones (Tipo 0).

    Lenguajes sensibles (o dependientes) al contexto (Tipo 1).

    Lenguajes independientes de contexto (Tipo 2).

    Lenguajes regulares (Tipo 3).

    Tipo 0 Tipo 1 Tipo 2 Tipo 3

  • Teora de Autmatas - Lenguajes Formales

    (Mquinas abstractas - Gramticas Formales)

    equivale

    Gramtica

    Lenguajes

    describe

    genera

    Mquina

    reconoce

    genera

  • Teora de Autmatas - Lenguajes Formales

    (Mquinas abstractas - Gramticas Formales)

    Gramticas Lenguajes Mquinas

    Sin restricciones o de

    Tipo 0

    Sin restricciones o de

    Tipo 0

    Mquina de Turing

    Sensible al contexto

    o de Tipo 1

    Sensible al contexto

    o de Tipo 1

    Autmata

    linealmente acotado

    Libre de contexto o

    de Tipo 2

    Libre de contexto o

    de Tipo 2

    Autmata a pila

    Regular o de Tipo 3 Regular o de Tipo 3 Autmata Finito

  • Cadenas, alfabetos y lenguajes

    Un smbolo es una entidad abstracta que no

    definiremos. Las letras y los dgitos son ejemplos de

    smbolos.

    Una cadena o palabra es una secuencia finita de

    smbolos.

    Por ejemplo a, b y c son smbolos y abcb es una

    cadena.

  • Cadenas, alfabetos y lenguajes

    La longitud de una cadena w es el nmero de

    smbolos que componen la cadena y se denota por

    |w|. Por ejemplo abcb tiene longitud 4.

    La cadena vaca se denota por y tiene cero smbolos. La longitud de , | | es 0.

  • Cadenas, alfabetos y lenguajes

    La concatenacin de dos cadenas es la cadena que se

    forma al unir dos cadenas. La cadena vaca es la

    identidad para el operador de concatenacin, es

    decir, w=w=w para toda cadena w.

  • Cadenas, alfabetos y lenguajes

    Alfabeto. Es un conjunto finito de smbolos.

    Un lenguaje formal es un conjunto de cadenas de

    smbolos tomados de algn alfabeto.

  • Cadenas, alfabetos y lenguajes

    El conjunto vaco y el conjunto formado por la

    cadena vaca {} son diferentes, ntese que el segundo conjunto tiene un elemento mientras que el

    primero no tiene ninguno.

  • Cadenas, alfabetos y lenguajes

    El conjunto de palndromos sobre el alfabeto {0,1} es

    un lenguaje infinito.

    Algunos elementos de este lenguaje son: , 0,1,00,11,010 y 110011.

  • Cadenas, alfabetos y lenguajes

    Otro lenguaje es el conjunto de cadenas sobre un

    alfabeto fijo . Denotamos a este lenguaje como *. Por ejemplo si ={a}, entonces *={,a,aa,aaa,}.

    Si ={0,1}, entonces *={,0,1,00,01,10,11,000,..}

  • Grafos

    Un grafo se denota por G=(V,E), y consiste en un

    conjunto finito de vrtices (o nodos) V y un conjunto

    de pares de vrtices E llamados aristas.

    Considere los siguientes datos y construya el grafo, en

    el cual, V={1,2,3,4,5} y E={(n,m)|n+m=4 o

    n+m=7}

  • Grafos

    Figura. Grafo

  • Grafos

    Una trayectoria en grafo es una secuencia de vrtices

    v1,v2,,vk, k1, tal que existe una arista (vi,vi+1)

    para cada i, 1 i k.

    La longitud de la trayectoria es k-1. Por ejemplo

    1,3,4 es una trayectoria en el grafo de la figura

    anterior, como tambin lo es 2 por si mismo. Si

    vi=vk, la trayectoria es un ciclo.

  • Grafos

    Un grafo dirigido (o digrafo), que tambin se denota

    como G=(V,E), consiste en un conjunto finito de

    vrtices V y un conjunto de pares ordenados de

    vrtices E, llamados arcos. Denotamos un arco de v

    a w como v w.

  • Grafos

    Una trayectoria en un digrafo es una secuencia de

    vrtices v1,v2,,vk, k

  • rboles

    Un rbol es un digrafo que posee las propiedades

    siguientes:

    1. Existe un vrtice, llamado raz, que no tiene

    predecesores y del cual parte una trayectoria

    hacia cada vrtice.

    2. Cada vrtice, diferente de la raz, tiene

    exactamente un predecesor.

    3. Los sucesores de cada vrtice estn ordenados a

    partir de la izquierda.

  • Conjuntos

    Los conjuntos que pueden ponerse en correspondencia

    con los enteros se dice que son infinitos contables.

    Los nmeros racionales y el conjunto * de las

    cadenas de longitud finita, formadas con el

    alfabeto , son infinitos contables. El conjunto de

    todos los subconjuntos * y el conjunto de todas las

    funciones que transforman a los enteros {0,1} son

    de la misma cardinalidad de los reales, y no son

    contables.

  • Relaciones

    Una relacin binaria es un conjunto de pares. El primer

    componente de cada par se toma de un conjunto

    llamado dominio y el segundo componente pertenece

    a un conjunto (tal vez distinto del primero) llamado

    contradominio.

    En las relaciones donde el dominio y el contradominio

    son el mismo conjunto S, diremos que la relacin es

    sobre S.

    Si R es una relacin y (a,b) un par entonces podemos

    expresar aRb para indicar que a est relacionada

    con b.

  • Relaciones

    Propiedades de las relaciones:

    1. Reflexiva si aRa para toda a en S

    2. Irreflexiva si aRa es falsa para toda a en S

    3. Transitiva si aRb y bRc implican aRc

    4. Simtrica aRb implica bRa

    5. Asimtrica si aRb implica que bRa es falsa

  • Relaciones

    Ejemplo.

    La relacin < sobre el conjunto de enteros es

    transitiva, asimtrica e irreflexiva.

    Transitiva: Si a

  • Relaciones de equivalencia

    Se dice que una relacin R que es reflexiva, simtrica y

    transitiva es una relacin de equivalencia.

    Una propiedad importante de una relacin de

    equivalencia R sobre S es que R divide a S en clases

    de equivalencia no vacas disjuntas. Esto significa que

    S=S1U S2 U , en donde para cada i y j, i j:

    1. Si interseccin Sj=;

    2. Para cada a y b en Si, aRb es verdadera;

    3. Para cada a y b en Sj, a Rb es falsa.

  • Tarea

    Reporte por escrito de investigacin sobre Autmatas

    finitos.

    Nicenet.