TRADUCTORES E INTERPRETADORES

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

Download "TRADUCTORES E INTERPRETADORES"

Transcripción

1 TRADUCTORES E INTERPRETADORES Clase 15: Tipos de Máquinas de Turing

2 Agenda Reconocedores vs. Decididores Computadores Enumeradores

3 Agenda Reconocedores vs. Decididores Computadores Enumeradores No existe en el castellano, pero no importa

4 Reconocedores vs. Decididores Como vimos la clase pasada, una Máquina de Turing es un autómata aumentado con una cinta que puede recorrerse arbitrariamente.

5 Reconocedores vs. Decididores Como vimos la clase pasada, una Máquina de Turing es un autómata aumentado con una cinta que puede recorrerse arbitrariamente. Una máquina de Turing puede comportarse de 3 maneras diferentes dada una entrada en particular:

6 Reconocedores vs. Decididores Como vimos la clase pasada, una Máquina de Turing es un autómata aumentado con una cinta que puede recorrerse arbitrariamente. Una máquina de Turing puede comportarse de 3 maneras diferentes dada una entrada en particular: Terminar su ejecución y Aceptar.

7 Reconocedores vs. Decididores Como vimos la clase pasada, una Máquina de Turing es un autómata aumentado con una cinta que puede recorrerse arbitrariamente. Una máquina de Turing puede comportarse de 3 maneras diferentes dada una entrada en particular: Terminar su ejecución y Aceptar. Terminar su ejecución y Rechazar.

8 Reconocedores vs. Decididores Como vimos la clase pasada, una Máquina de Turing es un autómata aumentado con una cinta que puede recorrerse arbitrariamente. Una máquina de Turing puede comportarse de 3 maneras diferentes dada una entrada en particular: Terminar su ejecución y Aceptar. Terminar su ejecución y Rechazar. No terminar su ejecución.

9 Reconocedores vs. Decididores El lenguaje reconocido por una Máquina de Turing son todas aquellas frases que, al ser usadas como entrada, hacen que la Máquina termine y acepte.

10 Reconocedores vs. Decididores El lenguaje reconocido por una Máquina de Turing son todas aquellas frases que, al ser usadas como entrada, hacen que la Máquina termine y acepte. Nótese que esta definición no dice nada sobre las frases que no estén en el Lenguaje.

11 Reconocedores vs. Decididores El lenguaje reconocido por una Máquina de Turing son todas aquellas frases que, al ser usadas como entrada, hacen que la Máquina termine y acepte. Nótese que esta definición no dice nada sobre las frases que no estén en el Lenguaje. En cualquier otro caso la Máquina puede terminar rechazando, pero también puede continuar ejecutándose infinitamente.

12 Reconocedores vs. Decididores Si una Máquina de Turing termina siempre, entonces decimos que dicha Máquina es un Decididor.

13 Reconocedores vs. Decididores Si una Máquina de Turing termina siempre, entonces decimos que dicha Máquina es un Decididor. Si una Máquina de Turing puede o no terminar, entonces decimos que dicha Máquina es un Reconocedor.

14 Reconocedores vs. Decididores Si una Máquina de Turing termina siempre, entonces decimos que dicha Máquina es un Decididor. El Lenguaje cuyas frases hacen que la máquina acepte es el lenguaje decidido por el Decididor. Si una Máquina de Turing puede o no terminar, entonces decimos que dicha Máquina es un Reconocedor. El Lenguaje cuyas frases hacen que la máquina acepte es el lenguaje reconocido por el Reconocedor.

15 Reconocedores vs. Decididores La clase de Lenguajes para los cuales existe un Decidor que los decida, se denominan: RECURSIVOS

16 Reconocedores vs. Decididores La clase de Lenguajes para los cuales existe un Decidor que los decida, se denominan: RECURSIVOS La clase de Lenguajes para los cuales existe un Reconocedor que los reconozca, se denominan: RECURSIVAMENTE ENUMERABLES

17 Reconocedores vs. Decididores Se le ocurre algún Lenguaje Recursivo?

18 Reconocedores vs. Decididores Se le ocurre algún Lenguaje Recursivo? Todos los Lenguajes Regulares son Recursivos. Todos los Lenguajes Libres de Contexto son Recursivos.

19 Reconocedores vs. Decididores Se le ocurre algún Lenguaje Recursivo? Todos los Lenguajes Regulares son Recursivos. Todos los Lenguajes Libres de Contexto son Recursivos. p { 1 p es primo}

20 Reconocedores vs. Decididores Se le ocurre algún Lenguaje Recursivo? Todos los Lenguajes Regulares son Recursivos. Todos los Lenguajes Libres de Contexto son Recursivos. p { 1 p es primo} { w n w { a, b} * n 0}

21 Reconocedores vs. Decididores Se le ocurre algún Lenguaje Recursivo? Todos los Lenguajes Regulares son Recursivos. Todos los Lenguajes Libres de Contexto son Recursivos. p { 1 p es primo} { w n w { a, b} Y muchos otros * n 0}

22 Reconocedores vs. Decididores Se le ocurre algún Lenguaje Recursivo? Todos los Lenguajes Regulares son Recursivos. Todos los Lenguajes Libres de Contexto son Recursivos. p { 1 p { w n es primo} w { a, b} Y muchos otros * n 0} Se les ocurre algún Lenguaje Recursivamente Enumerable? Y que no sea Recursivo también?

23 Reconocedores vs. Decididores Se le ocurre algún Lenguaje Recursivo? Todos los Lenguajes Regulares son Recursivos. Todos los Lenguajes Libres de Contexto son Recursivos. p { 1 p { w n es primo} w { a, b} Y muchos otros * n 0} Se les ocurre algún Lenguaje Recursivamente Enumerable? Y que no sea Recursivo también? El problema de la parada

24 Se les ocurre algún Lenguaje que NO sea Recursivamente Enumerable?

25 Se les ocurre algún Lenguaje que NO sea Recursivamente Enumerable? El complemento del problema de la parada (pertenece a la clase de Lenguaje Co-Recursivamente Enumerables)

26 Se les ocurre algún Lenguaje que NO sea Recursivamente Enumerable? El complemento del problema de la parada (pertenece a la clase de Lenguaje Co-Recursivamente Enumerables) Habrá algún Lenguaje que no sea Recursivamente Enumerable, ni Co-Recursivamente Enumerable?

27 Se les ocurre algún Lenguaje que NO sea Recursivamente Enumerable? El complemento del problema de la parada (pertenece a la clase de Lenguaje Co-Recursivamente Enumerables) Habrá algún Lenguaje que no sea Recursivamente Enumerable, ni Co-Recursivamente Enumerable? Conjuntos incontables al rescate!

28 Computadores Dado que las Máquinas de Turing pueden aceptar o rechazar, independientemente del contenido final de su cinta Por qué no usar el estado final de la cinta para describir algo útil? Por ejemplo, para calcular el resultado de una función.

29 Computadores Dado que las Máquinas de Turing pueden aceptar o rechazar, independientemente del contenido final de su cinta Por qué no usar el estado final de la cinta para describir algo útil? Por ejemplo, para calcular el resultado de una función. Si la función calculada siempre arroja un resultado (la máquina siempre termina), se dice que la función es computable.

30 Computadores Dado que las Máquinas de Turing pueden aceptar o rechazar, independientemente del contenido final de su cinta Por qué no usar el estado final de la cinta para describir algo útil? Por ejemplo, para calcular el resultado de una función. Si la función calculada siempre arroja un resultado (la máquina siempre termina), se dice que la función es computable. A la máquina que computa una función se le llama Computador.

31 Computadores Generalmente, los Computadores utilizan al menos dos cintas. Una cinta de entrada. Una cinta de salida.

32 Computadores Generalmente, los Computadores utilizan al menos dos cintas. Una cinta de entrada. Una cinta de salida. De todas formas, vimos que una Máquina de Turing de varias cintas es equivalente a una Máquina de Turing de una sola cinta.

33 Computadores Un momento Las Máquinas de Turing sirven para reconocer Lenguajes. Pero ahora vemos que también sirven para computar funciones. Computar funciones es equivalente a reconocer lenguajes?

34 Computadores Un momento Las Máquinas de Turing sirven para reconocer Lenguajes. Pero ahora vemos que también sirven para computar funciones. Computar funciones es equivalente a reconocer lenguajes? De aquí unos de los principios mas importantes de la computación TODO ES UN LENGUAJE! (Clase 0)

35 Computadores Toda solución a un problema en particular tiene una codificación. Resolver un problema es equivalente a conseguir un conjunto de codificaciones válidas para el mismo.

36 Computadores Toda solución a un problema en particular tiene una codificación. Resolver un problema es equivalente a conseguir un conjunto de codificaciones válidas para el mismo. Por ejemplo: Es G un grafo planar? Pertenece la codificación de G al conjunto de codificaciones de grafos, tal que los mismos son planares?

37 Computadores Toda solución a un problema en particular tiene una codificación. Resolver un problema es equivalente a conseguir un conjunto de codificaciones válidas para el mismo. Por ejemplo: Es G un grafo planar? Pertenece la codificación de G al conjunto de codificaciones de grafos, tal que los mismos son planares? Conclusión: Reconocer lenguajes es equivalente a resolver problemas.

38 Computadores Ejemplo: Dado un número en binario, calcular su sucesor:

39 Computadores Ejemplo: Dado un número en binario, calcular su sucesor: Se recorre la frase de entrada hasta alcanzar un blanco, copiando el contenido de la cinta de entrada en la cinta de salida.

40 Computadores Ejemplo: Dado un número en binario, calcular su sucesor: Se recorre la frase de entrada hasta alcanzar un blanco, copiando el contenido de la cinta de entrada en la cinta de salida. Se retrocede una casilla en ambas cintas.

41 Computadores Ejemplo: Dado un número en binario, calcular su sucesor: Se recorre la frase de entrada hasta alcanzar un blanco, copiando el contenido de la cinta de entrada en la cinta de salida. Se retrocede una casilla en ambas cintas. Si la casilla apuntada es 0 o, se coloca un 1 y la Máquina acepta.

42 Computadores Ejemplo: Dado un número en binario, calcular su sucesor: Se recorre la frase de entrada hasta alcanzar un blanco, copiando el contenido de la cinta de entrada en la cinta de salida. Se retrocede una casilla en ambas cintas. Si la casilla apuntada es 0 o, se coloca un 1 y la Máquina acepta. Si la casilla apuntada es un 1, se coloca un cero y se retrocede una casilla.

43 Computadores Ejemplo: Dado un número en binario, calcular su sucesor: Se recorre la frase de entrada hasta alcanzar un blanco, copiando el contenido de la cinta de entrada en la cinta de salida. Se retrocede una casilla en ambas cintas. Si la casilla apuntada es 0 o, se coloca un 1 y la Máquina acepta. Si la casilla apuntada es un 1, se coloca un cero y se retrocede una casilla. El autómata les queda de ejercicio a ustedes.

44 Enumeradores Los Lenguajes Recursivamente Enumerables deben su nombre a que sus frases pueden enumerarse. Esto es, es posible realizar una biyección de dicho Lenguaje con un subconjunto de los números naturales.

45 Enumeradores Los Lenguajes Recursivamente Enumerables deben su nombre a que sus frases pueden enumerarse. Esto es, es posible realizar una biyección de dicho Lenguaje con un subconjunto de los números naturales. Esto también induce un orden sobre las frases del Lenguaje.

46 Enumeradores Los Lenguajes Recursivamente Enumerables deben su nombre a que sus frases pueden enumerarse. Esto es, es posible realizar una biyección de dicho Lenguaje con un subconjunto de los números naturales. Esto también induce un orden sobre las frases del Lenguaje. Una Máquina de Turing que genere cada frase de un Lenguaje, en algún determinado orden, se conoce como un Enumerador.

47 Enumeradores Los Reconocedores y Decididores, cuando aceptan o rechazan, ignoran el estado actual de la cinta.

48 Enumeradores Los Reconocedores y Decididores, cuando aceptan o rechazan, ignoran el estado actual de la cinta. Los Computadores, cuando aceptan o rechazan, dejan en la cinta información de utilidad que puede ser consultada luego.

49 Enumeradores Los Reconocedores y Decididores, cuando aceptan o rechazan, ignoran el estado actual de la cinta. Los Computadores, cuando aceptan o rechazan, dejan en la cinta información de utilidad que puede ser consultada luego. Los Enumeradores, pueden terminar o no, pero en todo momento, la información de la cinta es relevante y puede ser consultada.

50 Enumeradores Los Reconocedores y Decididores, cuando aceptan o rechazan, ignoran el estado actual de la cinta. Los Computadores, cuando aceptan o rechazan, dejan en la cinta información de utilidad que puede ser consultada luego. Los Enumeradores, pueden terminar o no, pero en todo momento, la información de la cinta es relevante y puede ser consultada. Es útil una Máquina que nunca termine?

51 Enumeradores Generalmente, los Enumeradores utilizan al menos tres cintas. Una cinta de entrada. Una cinta de trabajo. Una cinta de salida.

52 Enumeradores Generalmente, los Enumeradores utilizan al menos tres cintas. Una cinta de entrada. Una cinta de trabajo. Una cinta de salida. La cinta de salida siempre es relevante, por lo que los cálculos intermedio deben hacerse en la cinta de trabajo. La cinta de salida contiene los elementos del lenguaje que se desea enumerar, separados por algún símbolo adicional.

53 Enumeradores Ejemplo: Enumerar todos los números binarios que son primos.

54 Enumeradores Ejemplo: Enumerar todos los números binarios que son primos. Se pueden usar máquinas ya hechas y componerlas: Computador que sabe generar sucesores. Decididor para el Lenguaje de los números primos.

55 Enumeradores Ejemplo: Enumerar todos los números binarios que son primos. Se pueden usar máquinas ya hechas y componerlas: Computador que sabe generar sucesores. Decididor para el Lenguaje de los números primos. Se comienza con la frase 10 en la cinta de trabajo.

56 Enumeradores Ejemplo: Enumerar todos los números binarios que son primos. Se pueden usar máquinas ya hechas y componerlas: Computador que sabe generar sucesores. Decididor para el Lenguaje de los números primos. Se comienza con la frase 10 en la cinta de trabajo. Repetir: Decidir si la frase en la cinta de trabajo corresponde a un número primo. Si es primo, copiar a la cinta de salida junto con un separador. Generar el sucesor y reemplazarlo en la cinta de trabajo.

57 Enumeradores En conclusión, hay diferentes tipos de Máquina de Turing, diseñadas para cumplir diferentes propósitos.

58 Enumeradores En conclusión, hay diferentes tipos de Máquina de Turing, diseñadas para cumplir diferentes propósitos. Resolver problemas algorítmicos viene a ser un caso particular de reconocimiento de Lenguajes.

59 Enumeradores En conclusión, hay diferentes tipos de Máquina de Turing, diseñadas para cumplir diferentes propósitos. Resolver problemas algorítmicos viene a ser un caso particular de reconocimiento de Lenguajes. Esto clasifica los problemas como se clasifican los Lenguajes? Estudiar esta relación nos lleva al tema de la complejidad de algoritmos.

60 Enumeradores En conclusión, hay diferentes tipos de Máquina de Turing, diseñadas para cumplir diferentes propósitos. Resolver problemas algorítmicos viene a ser un caso particular de reconocimiento de Lenguajes. Esto clasifica los problemas como se clasifican los Lenguajes? Estudiar esta relación nos lleva al tema de la complejidad de algoritmos. Comenzaremos a estudiarlo la clase que viene

61 Enumeradores En conclusión, hay diferentes tipos de Máquina de Turing, diseñadas para cumplir diferentes propósitos. Resolver problemas algorítmicos viene a ser un caso particular de reconocimiento de Lenguajes. Esto clasifica los problemas como se clasifican los Lenguajes? Estudiar esta relación nos lleva al tema de la complejidad de algoritmos. Comenzaremos a estudiarlo la clase que viene Insensibles u_u Estas son las máquinas maaaaas bonitas que he implementado

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

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

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN PROGRAMA DE LA MATERIA CORRESPONDIENTE A LA INGENIERÍA EN CIENCIAS DE LA COMPUTACIÓN. Coordinación: NOMBRE DE LA MATERIA: Clave:

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Nociones básicas de Computabilidad Problemas y Lenguajes Un problema se describe con un lenguaje Cuanto más formal el lenguaje, más precisa la formulación del problema Los

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

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 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

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

Modelos Avanzados de Computación

Modelos Avanzados de Computación UNIVERSIDAD DE GRANADA Departamento de Ciencias de la Computación e Inteligencia Artificial Modelos Avanzados de Computación Práctica 2 Máquinas de Turing Curso 2014-2015 Doble Grado en Ingeniería Informática

Más detalles

Máquina de estado finito con salida sin salida

Máquina de estado finito con salida sin salida Máquina de estado finito con salida sin salida Máquina de estado finito Máquinas de estados finitos se utilizan ampliamente en aplicaciones en ciencias de la computación y redes de datos. Por ejemplo,

Más detalles

Teoría Matemática de la Computación Segundo Problemario Prof. Miguel A. Pizaña 13 de julio de 2016

Teoría Matemática de la Computación Segundo Problemario Prof. Miguel A. Pizaña 13 de julio de 2016 Teoría Matemática de la Computación Segundo Problemario Prof. Miguel A. Pizaña 13 de julio de 2016 I Máquinas de Turing. 1. Qué es un a Máquina de Turing? Cómo se define? Cómo se llaman las teorías que

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

Fundamentos de Ciencias de la Computación

Fundamentos de Ciencias de la Computación Fundamentos de Ciencias de la Computación Clase 16: Problema de Primer Cuatrimestre de 2005 Departamento de Cs. e Ing. de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Un problema

Más detalles

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

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 Jerarquía de Chomsky 1. Clasificación de gramáticas 2. Clasificación de lenguajes 3. Gramáticas regulares 4. Gramáticas independientes del contexto 5. Gramáticas dependientes del contexto 6. Gramáticas

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

Temas. Objetivo. Que el estudiante logre:

Temas. Objetivo. Que el estudiante logre: 0 Temas Objetivo Que el estudiante logre: 1) Formalizar problemas de decisión. 2) Identificar conceptos constructivos de la Teoría de la Computabilidad. 1 2 TEORÍA DE LA COMPLEJIDAD COMPUTACIONAL TEORÍA

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

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

Máquinas de Turing. Definición 2

Máquinas de Turing. Definición 2 Definición 1 La Máquina de Turing (MT) es el modelo de autómata com máxima capacidad computacional: la unidad de control puede desplazarse a izquierda o derecha y sobreescribir símbolos en la cinta de

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

Máquinas de estado finito y expresiones regulares

Máquinas de estado finito y expresiones regulares Capítulo 3 Máquinas de estado finito y expresiones regulares En este tema definiremos y estudiaremos máquinas de estado finito, llamadas también máquinas de estado finito secuenciales o autómatas finitos.

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

Teoría de la Computación y Leguajes Formales

Teoría de la Computación y Leguajes Formales y Leguajes Formales Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve hildac.teoriadelacomputacion@gmail.com Contenido Tema 0: Introducción y preliminares: Conocimientos matemáticos

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

7. ( ) Describe una máquina de Turing que acepte el siguiente lenguaje: L = {a n b n n>0}. L = {a n b n c n n>0}. L = {xcx x {a, b} + }.

7. ( ) Describe una máquina de Turing que acepte el siguiente lenguaje: L = {a n b n n>0}. L = {a n b n c n n>0}. L = {xcx x {a, b} + }. Universidad Rey Juan Carlos Curso 2010 2011 Teoría de Autómatas y Lenguajes Formales Ingeniería Técnica en Informática de Sistemas Hoja de Problemas 13 Máquinas de Turing Nivel del ejercicio : ( ) básico,

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

Introducción a las Ciencias de la Computación

Introducción a las Ciencias de la Computación Introducción a las Ciencias de la Computación Colaboratorio de Computación Avanzada (CNCA) 2015 1 / 22 Contenidos 1 Computación e Informática Caracterización Áreas relacionadas 2 Antecedentes Orígenes

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

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

Teoría de Autómatas y Lenguajes Formales.

Teoría de Autómatas y Lenguajes Formales. Teoría de Autómatas y Lenguajes Formales Prueba de Evaluación de Lenguajes Regulares, Autómatas a Pila y Máquinas de Turing. Autores: Araceli Sanchis de Miguel Agapito Ledezma Espino Jose A. Iglesias Martínez

Más detalles

Máquinas de Turing. Gálvez Martínez Ernesto Sánchez Sandoval David Isaac Villegas Rosales Erik Salazar Santiago Juan Carlos

Máquinas de Turing. Gálvez Martínez Ernesto Sánchez Sandoval David Isaac Villegas Rosales Erik Salazar Santiago Juan Carlos Máquinas de Turing Gálvez Martínez Ernesto Sánchez Sandoval David Isaac Villegas Rosales Erik Salazar Santiago Juan Carlos El modelo de Máquina de Turing Una Máquina de Turing Es un dispositivo que manipula

Más detalles

Diseño estructurado de algoritmos. Sesión 8: Estructuras Algorítmicas

Diseño estructurado de algoritmos. Sesión 8: Estructuras Algorítmicas Diseño estructurado de algoritmos Sesión 8: Estructuras Algorítmicas Contextualización A qué crees se refiere el término estructura? Como recordaremos, un algoritmo puede ser aplicado en todo, con el único

Más detalles

MODELOS DE COMPUTACION Y COMPLEJIDAD

MODELOS DE COMPUTACION Y COMPLEJIDAD GUÍA DOCENTE MODELOS DE COMPUTACION Y COMPLEJIDAD Coordinación: MIRET BIOSCA, JOSE MARIA Año académico 2017-18 Información general de la asignatura Denominación MODELOS DE COMPUTACION Y COMPLEJIDAD Código

Más detalles

Turing Machines and their applications

Turing Machines and their applications Reporte de Caso páginas: Máquinas 31-39 de Turing y sus ISSN: aplicaciones 2415-2323 Iluminate vol. 8, Noviembre de 2016 14 31 Turing Machines and their applications Cristian Fernando Vilca Gutierrez crisfer.4217@gmail.com

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

Temas finales de Teoría de Autómatas y Lenguajes Formales II Curso

Temas finales de Teoría de Autómatas y Lenguajes Formales II Curso Temas finales de Teoría de Autómatas y Lenguajes Formales II Curso 2002-2003 M. Luisa González Díaz Departamento de Informática Universidad de Valladolid 2. Máquinas de Turing 2.1. 2.1.1. Definición, representación

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

Matemática computable

Matemática computable Conjuntos computables - Combinatoria - Álgebra Antonio Montalbán. U. de Chicago Coloquio Uruguayo de Matemática. Diciembre, 2009 Conjuntos computables - Combinatoria - Álgebra 1 Conjuntos computables 2

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

Problemas recursivamente enumerables

Problemas recursivamente enumerables Problemas recursivamente enumerables Definición Un problema L es recursivamente enumerable si existe una máquina de Turing M tal que L = L(M). Nótese que M en la definición no necesariamente se detiene

Más detalles

Máquinas de Turing. Complexity D.Moshkovitz

Máquinas de Turing. Complexity D.Moshkovitz 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

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

Universidad de Valladolid

Universidad de Valladolid Universidad de Valladolid Departamento de Informática Teoría de autómatas y lenguajes formales. 2 o I.T.Informática. Gestión. Examen de primera convocatoria. 18 de junio de 29 Apellidos, Nombre... Grupo:...

Más detalles

Problemas recursivamente enumerables

Problemas recursivamente enumerables Problemas recursivamente enumerables Definición Un problema L es recursivamente enumerable si existe una máquina de Turing M tal que L = L(M). Nótese que M en la definición no necesariamente se detiene

Más detalles

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

CONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle CONJUNTOS REGULARES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 19 de Octubre de 2008 Contenido Expresiones regulares Teorema de Kleene Autómatas

Más detalles

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Reducibilidad

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Reducibilidad 300CIG007 Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Reducibilidad Pontificia niversidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Reducibilidad

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

AUTÓMATAS, GRAMÁTICAS Y LENGUAJES

AUTÓMATAS, GRAMÁTICAS Y LENGUAJES ASIGNATURA DE GRADO: AUTÓMATAS, GRAMÁTICAS Y LENGUAJES Curso 2010/2011 (Código:71901089) 1.PRESENTACIÓN DE LA ASIGNATURA La asignatura Autómatas, Gramáticas y Lenguajes se ocupa del estudio de las máquinas

Más detalles

Computabilidad y aleatoriedad

Computabilidad y aleatoriedad Computabilidad y aleatoriedad Santiago Figueira Grupo de Investigación en Lógica y Computabilidad Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires VI Jornadas

Más detalles

Hablemos de las prácticas

Hablemos de las prácticas Hablemos de las prácticas Viernes de 11:00 a 12:30 Se debe de terminare en la hora y media de laboratorio. Si no acaban se obtiene 50% de la calificación, y 50 % al entregar el mismo viernes a mas tardar

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

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

Teoría de la Computación y Lenguajes Formales

Teoría de la Computación y Lenguajes Formales Teoría de la Computación y Lenguajes Formales Máquinas de Turing Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve hildac.teoriadelacomputacion@gmail.com Máquinas de Turing Contenido

Más detalles

L = {a n b n n>0}. L = {a n b n c n n>0}. L = {xcx x {a, b} + }.

L = {a n b n n>0}. L = {a n b n c n n>0}. L = {xcx x {a, b} + }. Universidad Rey Juan Carlos Curso 2010 2011 Teoría de Autómatas y Lenguajes Formales Ingeniería Técnica en Informática de Sistemas Hoja de Problemas 13 Máquinas de Turing Nivel del ejercicio : ( ) básico,

Más detalles

Teoría de Lenguajes y Autómatas Conceptos y teoremas fundamentales

Teoría de Lenguajes y Autómatas Conceptos y teoremas fundamentales Se prohíbe la reproducción total o parcial de este documento, excepto para uso privado de los alumnos de la asignatura Teoría de Autómatas I de la UNED y los alumnos de asignaturas equivalentes de otras

Más detalles

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

Los modelos abstractos de cómputo. Tema 1: Introducción. El modelo transductor. El modelo reconocedor. ordenador. datos. Modelo Abstracto de Cómputo Tema 1: Introducción Preliminares Los Modelos Abstractos de Cómputo El principio de inducción Palabras y Lenguajes Palabras Operadores sobre palabras Predicados sobre palabras Lenguajes Operadores sobre

Más detalles

CLASES DE PROBLEMAS. 1) Introducción 2) Problemas de decisión, Lenguajes, Codificación. y la clase NP-Completa. 6) Otras clases de problemas NP-

CLASES DE PROBLEMAS. 1) Introducción 2) Problemas de decisión, Lenguajes, Codificación. y la clase NP-Completa. 6) Otras clases de problemas NP- CLASES DE PROBLEMAS 1) Introducción 2) Problemas de decisión, Lenguajes, Codificación. y la clase NP-Completa. 6) Otras clases de problemas Computers and Intractability NP- guide to the theory of 1. Introducción:

Más detalles

8 Indecibilidad. 8.1 Problemas

8 Indecibilidad. 8.1 Problemas Curso Básico de Computación 8 Indecibilidad Ahora se considera la clase de lenguajes recursivos y recursivamente enumerables. El aspecto más interesante de este estudio trata de lenguajes cuyas cadenas

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

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

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

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

Tema 1: Introducción. Teoría de autómatas y lenguajes formales I Tema 1: Introducción Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison Wesley.

Más detalles

Introducción: historia de las Ciencias de la Computación. Informática Teórica I: Tema 1

Introducción: historia de las Ciencias de la Computación. Informática Teórica I: Tema 1 Introducción: historia de las Ciencias de la Computación Informática Teórica I: Tema 1 Ciencias de la Computación:... Teoría de Lenguajes, Gramáticas, Autómatas, Redes de Neuronas, Complejidad... Informática

Más detalles

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

Teoría de la Computación Lenguajes Regulares (LR) - Propiedades Teoría de la Computación Lenguajes Regulares (LR) - Propiedades Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve http://webdelprofesor.ula.ve/ingenieria/hyelitza Objetivo Lenguajes

Más detalles

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

Temas. Objetivo. Símbolo, alfabeto. Hileras y operaciones con hileras. Operaciones con lenguajes 0 1 Temas Símbolo, alfabeto Hileras y operaciones con hileras Operaciones con lenguajes Objetivo Que el estudiante logre conocer, comprender y manejar conceptos vinculados con la Teoría de Lenguajes Formales

Más detalles

Diseño Estructurado de Algoritmo

Diseño Estructurado de Algoritmo Diseño Estructurado de Algoritmo 1 Sesión No. 8 Nombre: Estructuras Algorítmicas. Primera parte. Objetivo de la sesión: Al concluir la sesión el estudiante identificará las características y usos de las

Más detalles

Tema 4. Autómatas Finitos

Tema 4. Autómatas Finitos Tema 4. Autómatas Finitos 4.1. Autómatas finitos. 4.1.1. Introducción. 4.1.2. Máquinas secuenciales. 4.2. Autómatas finitos deterministas (A.F.D.). 4.2.1. Introducción. 4.2.2. Definición AFD. Representación.

Más detalles

Teoría de Autómatas y Lenguajes Formales Equivalencia de Conjuntos Pruebas por Inducción

Teoría de Autómatas y Lenguajes Formales Equivalencia de Conjuntos Pruebas por Inducción y Lenguajes INAOE y (INAOE) 1 / 40 Contenido y 1 2 3 4 5 6 y (INAOE) 2 / 40 Objetivo General Proporcionar al estudiante los fundamentos de la teoría de autómatas así como los de lenguajes formales. También

Más detalles

14 Lenguajes y gramáticas II

14 Lenguajes y gramáticas II 2 Contenido Lenguaje generado por una gramática (Derivaciones) Ejemplo Jerarquía de Chomsky Gramáticas tipo 3 Gramáticas tipo 2 Gramáticas tipo 1 Gramáticas tipo 0 Descripción de las gramáticas Ejercicios

Más detalles

1 De niciones básicas

1 De niciones básicas Universidad Simón Bolívar Dpto. de Computación y Tecnología de la Información CI3721 - Traductores e Interpretadores Abril-Julio 2008 Profesor Luis astorga Apuntes sobre problemas de decisión y reducción

Más detalles

Teoría de la Computación y Lenguajes Formales

Teoría de la Computación y Lenguajes Formales y Lenguajes Formales Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve hildac.teoriadelacomputacion@gmail.com Teoría de la Computación? Introducción Qué es una teoría? Polisémico (uso

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

MODELOS DE COMPUTACIÓN Y COMPLEJIDAD

MODELOS DE COMPUTACIÓN Y COMPLEJIDAD MODELOS DE COMPUTACIÓN Y COMPLEJIDAD Grado de Ingeniería Informática. Tecnologías Informáticas Mario de J. Pérez Jiménez Grupo de investigación en Computación Natural Dpto. Ciencias de la Computación e

Más detalles

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

Examen de Teoría de Autómatas y Lenguajes Formales Examen de Teoría de Autómatas y Lenguajes Formales TAL 16 de Septiembre de 2008 (I) CUESTIONES: (Justifique formalmente las respuestas) 1. Pronúnciese acerca de la veracidad o falsedad de los siguientes

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

P vs NP. Frank Vega Delgado 1

P vs NP. Frank Vega Delgado 1 P vs NP Frank Vega Delgado 1 Abstract: The relationship between the complexity classes and is a question that has not been answered by the theory of computation. The existence of a language in that is

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

la máquina de Turing (MT) como sustituto formal del concepto de algoritmo 0 0 r 1

la máquina de Turing (MT) como sustituto formal del concepto de algoritmo 0 0 r 1 la máquina de Turing (MT) como sustituto formal del concepto de algoritmo 0 0 r 1 0 1 1 0 l h 0 1 1 1 0 0 índice de materias fundamentos matemáticos introducción histórica modelos de cálculo lenguajes

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

TRADUCTORES E INTERPRETADORES

TRADUCTORES E INTERPRETADORES TRADUCTORES E INTERPRETADORES Clase 11: Analizadores Sintácticos Descendentes Agenda Analizadores Recursivos Descendentes. Análisis Predictivo. Analizadores LL(1). Analizadores LL(k) y LL(*). Analizadores

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

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

si w=ay por tanto a Σ e y Σ* EJERCICIOS: LENGUAJES Y GRAMÁTICAS FORMALES Y MÁQUINAS DE TURING 1.- Prefijos de una cadena x son las cadenas que se pueden obtener de x suprimiendo 0 o más caracteres del final de x. Prefijos propios

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

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

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

MODELOS DE COMPUTACIÓN CRISTIAN ALFREDO MUÑOZ ALVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACON PEÑA EDUARDO GONZALES PULGARIN MODELOS DE COMPUTACIÓN CRISTIAN ALFREDO MUÑOZ ALVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACON PEÑA EDUARDO GONZALES PULGARIN LENGUAJES Y GRAMÁTICAS La sintaxis de un lenguaje natural en lenguajes como

Más detalles

Lenguajes y Compiladores Análisis Léxico

Lenguajes y Compiladores Análisis Léxico Facultad de Ingeniería de Sistemas Lenguajes y Compiladores Análisis Léxico 1 Análisis léxico La tarea del análisis léxico es reconocer símbolos dentro de la cadena de caracteres que es el programa fuente.

Más detalles

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Decidibilidad

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Decidibilidad 300CIG007 Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Decidibilidad Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Lo indecidible

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

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

Alfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación: Alfabetos y cadenas (1) 0 b b 0 1 Alfabeto: Un alfabeto Σ es un conjunto finito y no vacío de símbolos. Cadena sobre un alfabeto Σ: Es una sucesión de caracteres tomados de Σ. Cadena vacía: Cadena sin

Más detalles

1. Programas y funciones computables

1. Programas y funciones computables Computabilidad 1 Índice 1. Programas y funciones computables 3 1.1. El lenguaje S........................................... 3 1.2. Programas de S......................................... 3 1.3. Macros...............................................

Más detalles

Análisis asintótico de algoritmos

Análisis asintótico de algoritmos Algoritmos y problemas Análisis asintótico de algoritmos! Cada algoritmo resuelve a un problema particular! Hay varias maneras de resolver un problema! Algunas maneras son buenas y otras son malas! El

Más detalles

Diseño estructurado de algoritmos. Sesión 1: Conceptos de algoritmos

Diseño estructurado de algoritmos. Sesión 1: Conceptos de algoritmos Diseño estructurado de algoritmos Sesión 1: Conceptos de algoritmos conceptos de algoritmos Tienes idea de por qué el tema de los algoritmos es tan importante para todos? Debes saber que los algoritmos

Más detalles

como les va con las practicas?

como les va con las practicas? como les va con las practicas? Problemas NP-completos y Estructuras de datos básicas (representación de datos) mat-151 1 Una maquina de Turing Aceptation state Una maquina de Turing Maquina de Turing Determinística,

Más detalles

f(x, y) = 2xy (2xy + 1)... (2xy + y) 4. Demostrar que existe una funcion primitiva recursiva g(u,v) tal que

f(x, y) = 2xy (2xy + 1)... (2xy + y) 4. Demostrar que existe una funcion primitiva recursiva g(u,v) tal que Relación Ampliada de Problemas de Modelos de Computación II 1. Sea h 1 (x, 0) = 2x, h 2 (x, 0) = x 2 h 1 (x, t + 1) = 3x + h 1 (x, t) + 2h 2 (x, t)), h 2 (x, t + 1) = 2 h2(x,t). Demostrar que h 1 y h 2

Más detalles

Propiedad esencial de los LR. Tema 12. Propiedad esencial de los LR. Las clases de cadenas. Perdón el terreno es resbaladizo!

Propiedad esencial de los LR. Tema 12. Propiedad esencial de los LR. Las clases de cadenas. Perdón el terreno es resbaladizo! Tema 2 Autómata Mínimo Dr. Luis A. Pineda ISBN: 97-32-2972-7 Propiedad esencial de los LR Teorema de Kleene: Un lenguaje es regular si y sólo si existe una ER que lo denota y un FA que lo acepta. Pero,

Más detalles

22/09/2010. Autómata Mínimo

22/09/2010. Autómata Mínimo 22/9/2 Sesión 2 Autómata Mínimo Propiedad esencial de los LR Teorema de Kleene: Un lenguaje es regular si y sólo si existe una ER que lo denota y un FA que lo acepta. Pero, qué tal si tenemos un lenguaje

Más detalles