Máquinas de Turing. Complexity D.Moshkovitz

Documentos relacionados
Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

El Autómata con Pila

Introducción a la Teoría de Autómatas, Lenguajes y Computación

MÁQUINAS DE TURING Y LENGUAJES ESTRUCTURADOS POR FRASES

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 2: Autómatas Finitos

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

Equivalencia Entre PDA y CFL

Máquinas de Turing, recordatorio y problemas

Modelos de Informática Teórica Capítulo 2 - Clases de Complejidad

Autómata de Pila (AP, PDA) Tema 18

Máquinas de Turing, programas y tesis de Turing-Church

La Jerarquía Polinomial

Introducción a la indecidibilidad

13.3. MT para reconocer lenguajes

Máquinas de Turing Definición y descripción

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA)

Motivación: Problemas de optimización

Computabilidad y Lenguajes Formales: Autómatas Finitos

Departamento de Tecnologías de la Información. Tema 4. Máquinas de Turing. Ciencias de la Computación e Inteligencia Artificial

Ciencias de la Computación I

Departamento de Tecnologías de la Información. Tema 5. Decidibilidad. Ciencias de la Computación e Inteligencia Artificial

Traductores Push Down

PRACTICA 5: Autómatas Finitos Deterministas

Máquinas de Turing. 18 de junio de 2015

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

Clases de complejidad

7. Máquinas de Turing.

Unidad 4. Autómatas de Pila

Problemas de Decisión

Introducción. Máquinas de Turing. Turing restringidas. Turing y Computadoras INAOE (INAOE) 1 / 49

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Tema 6: Máquina de Turing

Autómatas Deterministas. Ivan Olmos Pineda

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009

Las Gramáticas Formales

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos

Autómatas de Pila y Lenguajes Incontextuales

Unidad 4. Autómatas de Pila

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.

DATOS DE IDENTIFICACIÓN DEL CURSO

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

1. Probar pertenencia a Lenguajes libres de contexto

ALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Procesadores de Lenguaje

Computabilidad y Lenguajes Formales: Autómatas de Pila

5. Propiedades de los Lenguajes Recursivamente Enumerables y de los Lenguajes Recursivos.

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

8. Complejidad Computacional

Tema: Autómata de Pila

Una (muy) breve introducción a la teoría de la computación

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

Curso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional

Curso Básico de Computación

Igualdad de cadenas. Las nociones de sufijo y prefijo de cadenas sobre un alfabeto son análogas a las que se usan habitualmente.

La máquina de Turing

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

Clases 18 y 19:Máquina de Turing. M. en C. Edgardo Adrián Franco Martínez

Análisis y Diseño de Algoritmos

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta.

Computabilidad y lenguajes formales: Sesión 17. Equivalencia entre Expresiones Regulares y Autómatas Finitos

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN

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

Máquinas de Estados Finitos

El Autómata con Pila: Transiciones

Autómatas de Estados Finitos

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

Problemas indecidibles

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

Complejidad computacional (Análisis de Algoritmos)

Algoritmo para la obtención de los estados accesibles

UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS

Lenguaje de programación S (Davis/Sigal/Weyuker) Lógica y Computabilidad. Ejemplo 1. Ejemplo 2

Tema: Autómatas de Estado Finitos

TRADUCTORES E INTERPRETADORES

Teoría de autómatas. Un enfoque práctico. Recortables. Thelma Cantú María Gpe. Mendoza

Clases de complejidad computacional: P y NP

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas

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

7 Máquina de Turing. 7.1 Introducción. 7.2 El modelo de la Máquina de Turing

Curso Básico de Computación

Problemas fáciles, difíciles e imposibles

ESCUELA: UNIVERSIDAD DEL ISTMO

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

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

Expresiones Regulares y Derivadas Formales

Tema 2: Los Autómatas y su Comportamiento

Autómatas Finitos INAOE. Introducción a. Autómatas. Definición formal de un. Finito Determinístico. Finito No- Finitos y Lenguajes Formales

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

Ciencias de la Computación I

Propiedades de Lenguajes Regulares

Problemas NP-completos

Problemas computacionales, intratabilidad y problemas NP completos. Febrero Facultad de Ingeniería. Universidad del Valle

Introducción a los Autómatas Finitos

Transcripción:

Máquinas de Turing 1

Motivación Nuestra meta, en este curso, es analizar problemas y clasificarlos de acuerdo a su complejidad. 2

Motivación Nos hacemos preguntas como: Cuánto tiempo tarda en computarse algo? 3

Motivación Para poder resolver estas cuestiones debemos definir formalmente un modelo de computación. 4

Introducción Objetivos: Introducir el modelo de computación denominado Máquina de Turing. Resumen: Máquinas de Turing deterministas (MTD) Máquinas de Turing con varias cintas (MTVC) Máquinas de Turing no deterministas (MTND) La tesis de Church-Turing 5

Esquema de una MT Aquí hay una b! cabeza: lee/escribe movimientos: izda/dcha a cinta infinita 6

SIP 128-129 Definición formal de la MT Una máquina de Turing determinista es una tupla formada por varios objetos. 7

Definición formal de la MT 1. Q un conjunto finito de estados. 8

Definición formal de la MT 2. Σ - El alfabeto de entrada: un conjunto finito de símbolos que no contiene al símbolo blanco. 9

Definición formal de la MT 3. Γ - el alfabeto de cinta, tal que: Σ Γ y en símbolo _ está en Γ. 10

Definición formal de la MT 4. δ:q Γ Q Γ {I,D} la función de transición. q 0 q 0 a 11

Definición formal de la MT 5. q 0 Q el estado inicial 12

Definición formal de la MT 6. q si Q el estado aceptador. 13

Definición formal de la MT 7. q no Q el estado no aceptador. q no q si. 14

Definición formal de la MT Resumen 1. Q el conjunto de estados. 2. Σ - el alfabeto de entrada. 3. Γ - el alfabeto de cinta. 4. δ:q Γ Q Γ {I,D} la función de transición. 5. q 0 Q el estado inicial. 6. q si Q el estado aceptador. 7. q no Q el estado que rechaza. 15

Ejecución de un MTD La configuración inicial estado inicial q 0 cabeza: en la casilla más a la izda La entrada: a partir de la casilla más a la izda 16

Ejecución de un MTD Ejemplo δ(q 0,a)=(q 0,b,D) q 0 q 0 b Nota: La cabeza no se puede mover más a la izda de esta casilla! 17

Ejecución de un MTD La configuración aceptadora q si Si la ejecución alcanza el estado aceptador, para. 18

Ejecución de un MTD La configuración rechazadora q no Si la ejecución alcanza el estado que rechaza, también para. Nota: La máquina podría ciclar y no alcanzar ninguno de los estados aceptador y rechazador! 19

Lenguaje aceptado por una MT Una MT acepta su entrada si, partiendo de la configuración inicial, durante el cómputo alcanza la configuración aceptadora. El conjunto de entradas aceptadas por un MT se denomina su lenguaje. 20

Configuraciones Cuántas configuraciones distintas puede alcanzar una MT que use N casillas? Γ N N Q El contenido de la cinta La posición de la cabeza El estado 21

Construcción de una MTD para un lenguaje L = { a n b n c n n 0 } Ejemplos: Miembros de L: No miembros de L: aaabbbccc aaabbcccc 22

La máquina de Turing determinista 1. Q = {q 0,q 1,q 2,q 3,q 4,q sit,q no } 2. Σ = {a,b,c} 3. Γ = {a,b,c,_,x,y,z} 4. δ especificada mediante diagrama. 5. q 0 Q el estado inicial. 6. q si Q el estado aceptador. 7. q no Q el estado que rechaza. 23

La función de transición _ _, D q ac q 0 _ _, D a a, D Y Y, D a X,D q 1 X X, D Y Y, D q 4 b Y,D q 3 q 2 c Z,I b b, D Z Z, D b b, I a a, I Y Y, I Z Z, I Las transiciones a estado q no no se especifican. Y Y, D Z Z, D 24

Lenguaje aceptado {a n b n c n n 0 } a a, D Y Y, D a X,D q 1 b Y,D b b, D Z Z, D q 2 _ _, D q si q 0 Y Y, D _ _, D X X, D q 4 q 3 c Z,I Z Z, I b b, I Y Y, I a a, I Y Y, D Z Z, D Xa Yb Zc... 25

Modelos equivalentes Las máquinas de Turing deterministas tienen mucho poder de computación. Podemos simular con ellas otros modelos, aparentemente más poderosos, con un coste polinómico. A continuación vemos un ejemplo. 26

Máquinas de Turing con varias cintas La entrada se escribe en la primera cinta SIP 136-138 a a b a b b _... b b b b b... b a a b a... 27

Máquinas de Turing con varias cintas 1. Q el conjunto de estados. 2. Σ - el alfabeto de entrada. 3. Γ - el alfabeto de cinta. 4. δ:q Γ k Q (Γ {I,D}) k la función de transición, donde k (el número de cintas) es una constante. 5. q 0 Q el estado inicial. 6. q si Q el estado aceptador. 7. q no Q el estado que rechaza. 28

Robustez del modelo Las máquinas de Turing con varias cintas son polinómicamente equivalentes (en cuanto a tiempo) a las que tienen una sola cinta. Podemos afirmar algo mucho más importante sobre la robustez del modelo de máquina de Turing: 29

La Tesis de Church-Turing Noción (intuitiva) de de algoritmos Máquinasde Turing 30

Qué más? Definimos otro modelo de computación menos realista, que puede ser simulado por las MTDs. Sin embargo, con un coste exponencial de tiempo. 31

Máquinas de Turing no deterministas MTND 1. Q el conjunto de estados. 2. Σ - el alfabeto de entrada. 3. Γ - el alfabeto de cinta. 4. δ:q Γ P(Q Γ {I,D}) la función de transición. 5. q 0 Q el estado inicial. 6. q si Q el estado aceptador. 7. q no Q el estado que rechaza. Partes de P(A)={B B A} 32

Ejecución de un MTND cómputo determinista Árbol de cómputo no determinista tiempo. acepta si alguna rama alcanza la configuración aceptadora Nota: el tamaño de un árbol es exponencial en su profundidad 33

Descripción alternativa Una máquina de Turing no determinista adivina el camino correcto y luego comprueba que efectivamente es correcto. 34

Ejemplo Una MTND que decide si dos vértices de un grafo están conectados puede simplemente adivinar un camino entre ellos. A continuación necesita verificar que efectivamente el camino es válido (existe). 35

SIP 138-140 Simulación de una MTND por una MTD Describimos una MTD con 3-cintas que simula una MTND dada. 36

Simulación de una MTND por una MTD cinta de entrada... cinta simuladora... cinta de direcciones... 37

Direcciones 1 111 1 2 3 computación no determinista 1 1 2 1 1 2 1 1 2 1312 1 1 1 2 38

Simulación 1. Escribe 111 1 en la cinta de direcciones. 2. Copia la entrada en la cinta simuladora. 3. Simula la MTND: usa la elección dictada por la cinta de direcciones (si es válida). 4. Si se acepta acepta y termina. 5. Cambia la dirección por la siguiente en orden lexicográfico. Si no hay más rechaza. 6. Ir al paso 2. 39

Resumen Presentamos dos modelos de computación: la máquina de Turing determinista frente a la máquina de Turing no determinista. Simulamos las MTNDs por MTDs con un coste exponencial en tiempo. 40

Resumen La Tesis de Church-Turing: Las máquinas de Turing deterministas son equivalentes a nuestra idea intuitiva de algoritmo. Hay que tener en cuenta que normalmente describiremos los algoritmos en pseudocódigo y no con MTDs 41