Máquinas de Turing. Complexity D.Moshkovitz

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Máquinas de Turing. Complexity D.Moshkovitz"

Transcripción

1 Máquinas de Turing 1

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

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

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

5 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

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

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

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

9 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

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

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

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

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

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

15 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

16 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

17 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

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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

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

28 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

29 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

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

31 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

32 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

33 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

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

35 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

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

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

38 Direcciones computación no determinista

39 Simulación 1. Escribe 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

40 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

41 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

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

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing 300CIG007 Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Máquina

Más detalles

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

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 42 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

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

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 45 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

El Autómata con Pila

El Autómata con Pila El Autómata con Pila Una Generalización del Autómata Finito Universidad de Cantabria Esquema 1 2 3 4 Los autómatas son abstracciones de maquinas de calcular, como hemos visto. Los más sencillos no tienen

Más detalles

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

Introducción a la Teoría de Autómatas, Lenguajes y Computación Introducción a la Teoría de Autómatas, Lenguajes y Computación Gustavo Rodríguez Gómez y Aurelio López López INAOE Propedéutico 2010 1 / 53 Capítulo 2 Autómatas Finitos 2 / 53 1 Autómatas Finitos Autómatas

Más detalles

MÁQUINAS DE TURING Y LENGUAJES ESTRUCTURADOS POR FRASES

MÁQUINAS DE TURING Y LENGUAJES ESTRUCTURADOS POR FRASES Máquinas de Turing y lenguajes estructurados por frases -1- MÁQUINAS DE TURING Y LENGUAJES ESTRUCTURADOS POR FRASES MÁQUINAS DE TURING - Son máquinas teóricas capaces de aceptar lenguajes generados por

Más detalles

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

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 2: Autómatas Finitos Teoría de Autómatas y Compiladores [ICI-445] Capítulo 2: Autómatas Finitos Dr. Ricardo Soto [ricardo.soto@ucv.cl] [http://www.inf.ucv.cl/ rsoto] Escuela de Ingeniería Informática Pontificia Universidad

Más detalles

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

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo Autómatas Mínimos Encontrar el autómata mínimo. Universidad de Cantabria Introducción Dado un lenguaje regular sabemos encontrar un autómata finito. Pero, hay autómatas más sencillos que aceptan el mismo

Más detalles

Equivalencia Entre PDA y CFL

Equivalencia Entre PDA y CFL Equivalencia Entre PDA y CFL El Lenguaje aceptado por un Autómata con Pila Universidad de Cantabria Esquema 1 Introducción 2 3 Lenguaje Aceptado por un Autómata Como en los autómatas finitos, se puede

Más detalles

Máquinas de Turing, recordatorio y problemas

Máquinas de Turing, recordatorio y problemas Máquinas de Turing, recordatorio y problemas Elvira Mayordomo, Universidad de Zaragoza 5 de diciembre de 2014 1. Recordatorio de la definición de máquina de Turing Una máquina de Turing, abreviadamente

Más detalles

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

Modelos de Informática Teórica Capítulo 2 - Clases de Complejidad Modelos de Informática TeóricaCapítulo 2 - Clases de Complejidad p. 1/40 Modelos de Informática Teórica Capítulo 2 - Clases de Complejidad Serafín Moral Callejón Departamento de Ciencias de la Computación

Más detalles

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

Autómata de Pila (AP, PDA) Tema 18 Tema Autómata de Pila (Pushdown Automata Autómata de Pila (AP, PDA Un AP es una máquina que acepta el lenguage generado por una GLC Consiste en un NFA- aumentado con una pila (stack. Dr. Luis A. Pineda

Más detalles

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

Máquinas de Turing, programas y tesis de Turing-Church Máquinas de Turing, programas y tesis de Turing-Church Elvira Mayordomo, Universidad de Zaragoza Ilustraciones: Costas Busch, Rensselaer Polytechnic Institute 1 Máquinas de Turing 2 La jerarquía de lenguajes

Más detalles

La Jerarquía Polinomial

La Jerarquía Polinomial La Jerarquía Polinomial IIC3810 IIC3810 La Jerarquía Polinomial 1/18 La noción de oráculo Qué tienen en común los problemas CROM y EQUIV? IIC3810 La Jerarquía Polinomial 2/18 La noción de oráculo Qué tienen

Más detalles

Introducción a la indecidibilidad

Introducción a la indecidibilidad Introducción a la indecidibilidad José M. empere Departamento de istemas Informáticos y Computación Universidad Politécnica de Valencia Lenguajes y problemas Un problema será considerado cualquier cuestión

Más detalles

13.3. MT para reconocer lenguajes

13.3. MT para reconocer lenguajes 13.3. MT para reconocer lenguajes Gramática equivalente a una MT Sea M=(Γ,Σ,,Q,q 0,f,F) una Máquina de Turing. L(M) es el lenguaje aceptado por la máquina M. A partir de M se puede crear una gramática

Más detalles

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

Máquinas de Turing Definición y descripción Capítulo 12 Máquinas de Turing 12.1. Definición y descripción Definición 1 Se llama máquina de Turing a toda séptupla M = (Γ,Σ,,Q,q 0,f,F), donde: Γ es el alfabeto de símbolos de la cinta. Σ Γ es el alfabeto

Más detalles

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY Para el estudio de este tema es necesario analizar dos tipos de gramáticas de la clasificación de Chomsky, las regulares y las independientes de contexto, las

Más detalles

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA) Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica Fa.M.A.F., Universidad Nacional de Córdoba 22//4 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes y computación.

Más detalles

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA) Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica y la Computación Fa.M.A.F., Universidad Nacional de Córdoba 26/0/6 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes

Más detalles

Motivación: Problemas de optimización

Motivación: Problemas de optimización Motivación: Problemas de optimización Un tour π en un grafo G es una secuencia de arcos (a 1,a 2 ),..., (a k 1,a k ), (a k,a 1 ) en G tal que: a i a j para cada i j, {a 1,...,a k } es el conjunto de nodos

Más detalles

Computabilidad y Lenguajes Formales: Autómatas Finitos

Computabilidad y Lenguajes Formales: Autómatas Finitos 300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. No Determinismo Hasta ahora cada

Más detalles

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

Departamento de Tecnologías de la Información. Tema 4. Máquinas de Turing. Ciencias de la Computación e Inteligencia Artificial Departamento de Tecnologías de la Información Tema 4 Máquinas de Turing Ciencias de la Computación e Inteligencia Artificial Índice 4.1 Límites de los autómatas 4.2 Definición de Máquina de Turing 4.3

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Autómatas Linealmente Acotados Máquinas de Turing Motivación - Es posible diseñar un AP que reconozca el lenguaje L 1? L 1 = { a n b n c n / n > 0 } Ejemplo una estrategia

Más detalles

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

Departamento de Tecnologías de la Información. Tema 5. Decidibilidad. Ciencias de la Computación e Inteligencia Artificial Departamento de Tecnologías de la Información Tema 5 Decidibilidad Ciencias de la Computación e Inteligencia Artificial Índice 5.1 Lenguajes reconocibles y decidibles 5.2 Problemas decidibles sobre lenguajes

Más detalles

Traductores Push Down

Traductores Push Down Push Down Extensión de Autómatas Universidad de Cantabria Outline El Problema 1 El Problema 2 3 El Problema Hemos estudiado anteriormente los autómatas con pila y hemos visto su relación con los lenguajes

Más detalles

PRACTICA 5: Autómatas Finitos Deterministas

PRACTICA 5: Autómatas Finitos Deterministas E. T. S. DE INGENIERÍA INFORMÁTICA Departamento de Estadística, I.O. y Computación Teoría de Autómatas y Lenguajes Formales PRACTICA 5: Autómatas Finitos Deterministas 5.1. Requisito de codificación Cada

Más detalles

Máquinas de Turing. 18 de junio de 2015

Máquinas de Turing. 18 de junio de 2015 Máquinas de Turing 18 de junio de 2015 1. Introducción Hasta ahora hemos visto clases de lenguajes relativamente simples. Lo que vamos a ver ahora es preguntarnos qué lenguajes pueden definirse por cualquier

Más detalles

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

Capítulo 9. Introducción a los lenguajes formales. Continuar Capítulo 9. Introducción a los lenguajes formales Continuar Introducción Un lenguaje es un conjunto de símbolos y métodos para estructurar y combinar dichos símbolos. Un lenguaje también recibe el nombre

Más detalles

Clases de complejidad

Clases de complejidad Análisis de Algoritmos Clases de complejidad Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Clases de complejidad p. 1 Clase de complejidad Los requisitos para definir una clase: fijar

Más detalles

7. Máquinas de Turing.

7. Máquinas de Turing. 7. Máquinas de Turing. Araceli Sanchis de Miguel Agapito Ledezma Espino José A. Iglesias Mar

Más detalles

Unidad 4. Autómatas de Pila

Unidad 4. Autómatas de Pila Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0 n 1 n } debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje

Más detalles

Problemas de Decisión

Problemas de Decisión Problemas de Decisión La motivación de este capítulo puede estar dado por lo siguiente: Dado un conjunto Σ de fórmulas proposicionales en L(P ), existe un algoritmo general para determinar si Σ = ϕ Qué

Más detalles

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

Introducción. Máquinas de Turing. Turing restringidas. Turing y Computadoras INAOE (INAOE) 1 / 49 y Computadoras INAOE (INAOE) 1 / 49 Contenido y Computadoras 1 2 3 4 y Computadoras (INAOE) 2 / 49 y Computadoras Hasta ahora hemos visto clases de lenguajes relativamente simples Lo que vamos a ver ahora

Más detalles

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

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen

Más detalles

Tema 6: Máquina de Turing

Tema 6: Máquina de Turing Tema 6: Máquina de Turing Departamento de Sistemas Informáticos y Computación http://www.dc.upv.es p.1/28 Tema 6: Máquina de Turing La Máquina de Turing. Máquinas de Turing como aceptores Otros modelos

Más detalles

Autómatas Deterministas. Ivan Olmos Pineda

Autómatas Deterministas. Ivan Olmos Pineda Autómatas Deterministas Ivan Olmos Pineda Introducción Los autómatas son una representación formal muy útil, que permite modelar el comportamiento de diferentes dispositivos, máquinas, programas, etc.

Más detalles

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009 MÁQUINAS DE TURING Las máquinas de Turing, así como los AF y los AP se utilizan para aceptar cadenas de un lenguaje definidas sobre un alfabeto A. El modelo básico de máquina de Turing, tiene un mecanismo

Más detalles

Las Gramáticas Formales

Las Gramáticas Formales Definición de Las Como definir un Lenguaje Formal Universidad de Cantabria Esquema Motivación Definición de 1 Motivación 2 Definición de 3 Problema Motivación Definición de Dado un lenguaje L, se nos presenta

Más detalles

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos 300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Qué es un computador? Todos lo sabemos!!!

Más detalles

Autómatas de Pila y Lenguajes Incontextuales

Autómatas de Pila y Lenguajes Incontextuales Autómatas de Pila y Lenguajes Incontextuales Elvira Mayordomo Universidad de Zaragoza 5 de noviembre de 2012 Contenido de este tema 1. Introducción a los autómatas de pila 2. Definiciones 3. Equivalencia

Más detalles

Unidad 4. Autómatas de Pila

Unidad 4. Autómatas de Pila Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0n1n} debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje

Más detalles

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.

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. Tres versiones de Pal Sesión 19 Autómata de pila determinístico Pal marca = {xcx r x {0, 1} * } 0110c0110 Pal par = {xx r x {0, 1} * } 00111100 Pal = {x x = x r {0, 1} * } 00111100 001101100 Una máquina

Más detalles

DATOS DE IDENTIFICACIÓN DEL CURSO

DATOS DE IDENTIFICACIÓN DEL CURSO DATOS DE IDENTIFICACIÓN DEL CURSO DEPARTAMENTO: Ciencias Computacionales ACADEMIA A LA QUE PERTENECE: Estructuras y Algoritmos NOMBRE DE LA MATERIA: Teoría de la Computación CLAVE DE LA MATERIA: CC209

Más detalles

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

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones 1 Curso Básico de Computación 5 Autómatas de pila 5.1 Descripción informal Un autómata de pila es esencialmente un autómata finito que controla una cinta de entrada provista de una cabeza de lectura y

Más detalles

1. Probar pertenencia a Lenguajes libres de contexto

1. Probar pertenencia a Lenguajes libres de contexto Tarea 3 Curso : Teoría de la Computación Codigo : CC3102-1 Fecha : 8 de noviembre de 2017 Autor : Bastián Mail : mail@gmail.com 1. Probar pertenencia a Lenguajes libres de contexto 1.1. L 1 = {a m b n

Más detalles

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

ALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 ALGORITMOS DIGITALES II Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 OBJETIVOS Conocer los principios básicos de los algoritmos. Establecer paralelos entre los algoritmos, los programas y las

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales

Más detalles

Computabilidad y Lenguajes Formales: Autómatas de Pila

Computabilidad y Lenguajes Formales: Autómatas de Pila 300CIG007 Computabilidad y Lenguajes Formales: Autómatas de Pila Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Basado en [SIPSER, Chapter 2] Autómatas

Más detalles

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

5. Propiedades de los Lenguajes Recursivamente Enumerables y de los Lenguajes Recursivos. 5. Propiedades de los Lenguajes Recursivamente Enumerables y de los Lenguajes Recursivos. 5.1 Esquemas de representación de áquinas de Turing. 5.2 Propiedades de cierre. 5.3 Codificación de áquinas de

Más detalles

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

Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares Autómata = Lógica Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares Pero antes: Vamos a hacer un breve repaso sobre

Más detalles

8. Complejidad Computacional

8. Complejidad Computacional 8. Complejidad Computacional Araceli Sanchis de Miguel Agapito Ledezma Espino José A. Iglesias Mar

Más detalles

Tema: Autómata de Pila

Tema: Autómata de Pila Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas

Más detalles

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

Una (muy) breve introducción a la teoría de la computación Una (muy) breve introducción a la teoría de la computación Marcelo Arenas M. Arenas Una (muy) breve introducción a la teoría de la computación 1 / 48 Ciencia de la computación Cuál es el objeto de estudio

Más detalles

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

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 Tres versiones de Pal Tema Autómata de pila determinístico Dr. Luis A. Pineda ISBN: --- Pal marca = {xcx r x {, } * } c Pal par = {xx r x {, } * } Pal = {x x = x r {, } * } Dr. Luis A. Pineda, IIMAS, UNAM,.

Más detalles

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

Curso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional Curso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay dictado semestre 2-2009

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación Autómatas finitos y expresiones regulares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) Autómatas

Más detalles

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

Igualdad de cadenas. Las nociones de sufijo y prefijo de cadenas sobre un alfabeto son análogas a las que se usan habitualmente. Igualdad de cadenas Si w y z son palabras, se dice que w es igual a z, si tiene la misma longitud y los mismos símbolos en la misma posición. Se denota por w = z. Las nociones de sufijo y prefijo de cadenas

Más detalles

La máquina de Turing

La máquina de Turing La máquina de Turing José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia David Hilbert (1862, Rusia 1943, Alemania) Matemático que aportó diversos resultados

Más detalles

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

Lenguaje Regular. Sumario. Lenguaje Regular. Autómatas y Lenguajes Formales. Capítulo 8: Propiedades de los Lenguajes Regulares Lenguaje Regular Capítulo 8: Propiedades de los Lenguajes Regulares José Miguel Buenaposada Josemiguel.buenaposada@urjc.es Definición 1 (Lenguaje Regular) Un lenguaje L se denomina regular si y sólo si

Más detalles

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

Clases 18 y 19:Máquina de Turing. M. en C. Edgardo Adrián Franco Martínez Clases 18 y 19:Máquina de Turing M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfranco@ipn.mx 1 Contenido Máquinas de Turing Definición formal de la

Más detalles

Análisis y Diseño de Algoritmos

Análisis y Diseño de Algoritmos Análisis y Diseño de Algoritmos Teoría NP-Completeness DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Problemas de Decisión Teoría de NP-Completeness Diseñada para aplicarse solo a problemas

Más detalles

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

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta. Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta. (a) Es posible aceptar por stack vacío el lenguaje {0 i 1 j i = j o j = 2i} con un AA determinístico.

Más detalles

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

Computabilidad y lenguajes formales: Sesión 17. Equivalencia entre Expresiones Regulares y Autómatas Finitos Computabilidad y lenguajes formales: Sesión 17. Equivalencia entre Expresiones Regulares y Autómatas Finitos Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia

Más detalles

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN G r a m á t i c a s UNIVERSIDAD DE SONORA DEPARTAMENTO DE MATEMÁTICAS LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN Dra. María de Guadalupe Cota Ortiz Lenguaje

Más detalles

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

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Examen IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Este examen tiene

Más detalles

Máquinas de Estados Finitos

Máquinas de Estados Finitos Máquinas de Estados Finitos Breve Introducción Jorge Alejandro Gutiérrez Orozco Escuela Superior de Cómputo 22 de agosto de 2008 Resumen Hablaremos de algunas de las más comunes Máquinas de Estados Fintos,

Más detalles

El Autómata con Pila: Transiciones

El Autómata con Pila: Transiciones El Autómata con Pila: Transiciones El Espacio de Configuraciones Universidad de Cantabria Esquema Introducción 1 Introducción 2 3 Transiciones Necesitamos ahora definir, paso por paso, como se comporta

Más detalles

Autómatas de Estados Finitos

Autómatas de Estados Finitos Asignatura: Teoría de la Computación Unidad 1: Lenguajes Regulares Tema 1: Autómatas de Estados Finitos Autómatas de Estados Finitos Definición de Autómatas de estados finitos: Tipo Lenguaje Máquina Gramática

Más detalles

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

Entscheidungsproblem I TEORÍA DE LA COMPUTACIÓN MÁQUINAS DE TURING Y DECIDIBILIDAD. Máquinas de Turing (TM) Procedimiento efectivo Entscheidungsproblem I TEORÍA DE LA COMPUTACIÓN MÁQUINAS DE TURING Y DECIDIBILIDAD Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página

Más detalles

Problemas indecidibles

Problemas indecidibles Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas

Más detalles

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

Teoría de la Computación puesta en Práctica Teoría de la Computación puesta en Práctica Marcelo Arenas M. Arenas Teoría de la Computación puesta en Práctica 1 / 24 Problema a resolver WiMAX (Worldwide Interoperability for Microwave Access): estándar

Más detalles

Complejidad computacional (Análisis de Algoritmos)

Complejidad computacional (Análisis de Algoritmos) Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución

Más detalles

Algoritmo para la obtención de los estados accesibles

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 SEGUNDO CURSO, SEGUNDO CUATRIMESTRE TEORÍA DE AUTÓMATAS

Más detalles

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

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 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 SEGUNDO CURSO, SEGUNDO CUATRIMESTRE TEORÍA DE AUTÓMATAS

Más detalles

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

Lenguaje de programación S (Davis/Sigal/Weyuker) Lógica y Computabilidad. Ejemplo 1. Ejemplo 2 Lógica y Computabilidad Verano 2011 Departamento de Computación - FCEyN - UBA Computabilidad - clase 4 Lenguaje S, estado, descripción instantánea, cómputo, funciones parciales computables, minimización

Más detalles

Tema: Autómatas de Estado Finitos

Tema: Autómatas de Estado Finitos Compiladores. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Autómatas de Estado Finitos Contenido En esta guía se aborda la aplicación de los autómatas en el campo de

Más detalles

TRADUCTORES E INTERPRETADORES

TRADUCTORES E INTERPRETADORES TRADUCTORES E INTERPRETADORES Clase 9: Autómatas de Pila Agenda Autómatas de Pila Tipos de Aceptación para Autómatas de Pila Determinismo vs. No Determinismo Equivalencia entre Autómatas de Pila y Gramáticas

Más detalles

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

Teoría de autómatas. Un enfoque práctico. Recortables. Thelma Cantú María Gpe. Mendoza Teoría de autómatas. Un enfoque práctico Recortables Thelma Cantú María Gpe. Mendoza 1.1 Búsqueda de lenguajes Alumno: 1 Nombre del lenguaje Alfabeto: Dónde se utiliza? Cuál es el beneficio para la humanidad?

Más detalles

Clases de complejidad computacional: P y NP

Clases de complejidad computacional: P y NP 1er cuatrimestre 2006 La teoría de Se aplica a problemas de decisión, o sea problemas que tienen como respuesta SI o NO (aunque es sencillo ver que sus implicancias pueden extenderse a problemas de optimización).

Más detalles

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y CONTENIDO Reconocedores [HMU2.1]. Traductores [C8]. Diagramas de Estado [HMU2.1]. Equivalencia entre AF deterministas y no deterministas [HMU2.2-2.3]. Expresiones [HMU3]. Propiedades de [HMU4]. Relación

Más detalles

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

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50 INAOE (INAOE) 1 / 50 Contenido 1 2 3 4 (INAOE) 2 / 50 Pushdown Automata Las gramáticas libres de contexto tienen un tipo de autómata que las define llamado pushdown automata. Un pushdown automata (PDA)

Más detalles

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

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas Tema 3.1: Autómatas Finitos Deterministas Luis Peña luis.pena@urjc.es http://www.ia.urjc.es/cms/es/docencia/ic-msal Sumario Tema 3.1: Autómatas Finitos Deterministas. 1. Concepto de AFD 2. Equivalencia

Más detalles

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

Máquinas Secuenciales, Autómatas y Lenguajes Tema 5: Propiedades de los Lenguajes Regulares. Luis Peña Máquinas Secuenciales, Autómatas y Lenguajes Tema 5: Propiedades de los Lenguajes Regulares Luis Peña Lenguaje Regular Definición 1 (Lenguaje Regular) Un lenguaje L se denomina regular si y sólo si existe

Más detalles

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

7 Máquina de Turing. 7.1 Introducción. 7.2 El modelo de la Máquina de Turing 1 Curso Básico de Computación 7 Máquina de Turing Es este capítulo introducimos la Máquina de Turing que es, un modelo matemático simple de una computadora. 7.1 Introducción Hasta ahora no se ha podido

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 8 Indecibilidad Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 8 Indecibilidad 2010 1 / 58 8 Indecibilidad

Más detalles

Problemas fáciles, difíciles e imposibles

Problemas fáciles, difíciles e imposibles Problemas fáciles, difíciles e imposibles La computadora lo resuelve todo? Santiago Figueira Departamento de Computación FCEyN, UBA Semana de la Computación 2015 1 Qué son los métodos efectivos? Intuitivamente

Más detalles

ESCUELA: UNIVERSIDAD DEL ISTMO

ESCUELA: UNIVERSIDAD DEL ISTMO 1.-IDENTIFICACIÓN ESCUELA: UNIVERSIDAD DEL ISTMO CLAVE: 3041 GRADO: ING. EN COMPUTACIÓN, CUARTO SEMESTRE TIPO DE TEÓRICA/PRÁCTICA ANTECEDENTE CURRICULAR: 3033.- OBJETIVO GENERAL Proporcionar al alumno

Más detalles

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

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007. Universidad de Puerto Rico Recinto de Mayagüez Facultad de Artes y Ciencias DEPARTAMENTO DE CIENCIAS MATEMÁTICAS Programa de Autómata y Lenguajes Formales Curso: Autómata y Lenguajes Formales Codificación:

Más detalles

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

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen

Más detalles

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

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.

Más detalles

Expresiones Regulares y Derivadas Formales

Expresiones Regulares y Derivadas Formales y Derivadas Formales Las Derivadas Sucesivas. Universidad de Cantabria Esquema 1 2 3 Derivadas Sucesivas Recordemos que los lenguajes de los prefijos dan información sobre los lenguajes. Derivadas Sucesivas

Más detalles

Tema 2: Los Autómatas y su Comportamiento

Tema 2: Los Autómatas y su Comportamiento Departamento de Computación Universidade da Coruña Bisimulación y procesos concurrentes Tema 2: Los Autómatas y su Comportamiento Carmen Alonso Montes carmen@dc.fi.udc.es Noelia Barreira Rodríguez noelia@dc.fi.udc.es

Más detalles

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

Autómatas Finitos INAOE. Introducción a. Autómatas. Definición formal de un. Finito Determinístico. Finito No- Finitos y Lenguajes Formales los s s s s INAOE (INAOE) 1 / 58 Contenido los s s 1 los s 2 3 4 s 5 (INAOE) 2 / 58 los s los s los s s : Conjunto de estados + Control Cambio de estados en respuesta a una entrada. Tipo de Control: :

Más detalles

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

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila. 0 Temas Definición de autómata de pila Autómata de pila determinístico y no determinístico Objetivo Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2)

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Autómatas Finitos No Determinísticos Minimización de Autómatas Finitos Determinísticos Agosto 2007 Autómatas Finitos Determinísticos Para cada estado y para cada símolo se

Más detalles

Propiedades de Lenguajes Regulares

Propiedades de Lenguajes Regulares de INAOE (INAOE) 1 / 44 Contenido 1 2 3 4 (INAOE) 2 / 44 Existen diferentes herramientas que se pueden utilizar sobre los lenguajes regulares: El lema de : cualquier lenguaje regular satisface el pumping

Más detalles

Problemas NP-completos

Problemas NP-completos Análisis de Algoritmos Problemas NP-completos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Problemas NP-completos p. 1 Problemas NP-completos La clase NP contiene numerosos problemas

Más detalles

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

Problemas computacionales, intratabilidad y problemas NP completos. Febrero Facultad de Ingeniería. Universidad del Valle Complejidad Complejidad, in NP completos Facultad de Ingeniería. Universidad del Valle Febrero 2017 Contenido Complejidad 1 2 3 Complejidad computacional Complejidad Introducción En ciencias de la computación

Más detalles

Introducción a los Autómatas Finitos

Introducción a los Autómatas Finitos Teoría de Introducción a los Un modelo de Computación. Universidad de Cantabria Esquema Introducción Teoría de 1 Introducción 2 Teoría de 3 4 5 El Problema Introducción Teoría de Nuestro objetivo en este

Más detalles