P vs NP. Frank Vega Delgado 1

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

Download "P vs NP. Frank Vega Delgado 1"

Transcripción

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 not in, is sufficient evidence to prove that doesn t equal. If a language is not recursive it can not belong to the complexity class, hence it is proved that if a language is in and is not recursive then this also implies that doesn t equal. A problem with this feature it s shown in this paper if we assume the hypothesis =. That s why it can confirm by reduction ad absurdum the opposite: is unequal to. The new problem, discovered when we formulated this hypothesis, is to find a possible input given an algorithm (which resolve a problem of ) and an output. This can be solved by a Turing s machine, its complement doesn t. 1 Introducción La pregunta =? ha motivado el desarrollo en el campo de la lógica matemática y de la tecnología electrónica durante la mitad del siglo XX y comienzo del XXI. Es considerado en este momento como unos de los problemas más importantes en la Matemática y la Ciencia de la Computación. En la primera mitad del siglo XX se trabajó en formalizar el conocimiento sobre los algoritmos, usando el modelo teórico descrito por las máquinas de Turing y se encontraron ciertos problemas que no eran algorítmicamente solucionables. Por esa fecha surgieron las primeras computadoras y los matemáticos intentaron modelar las capacidades y limitaciones de tales dispositivos, germinando precisamente lo que hoy se conoce como la Ciencia de la Complejidad Computacional. Desde temprano las computadoras agilizaron muchas tareas que el hombre no podía hacer, pero en ocasiones se encontraban problemas difíciles y lentos de resolver por las más veloces computadoras de la época. La única manera de evitar tales demoras era encontrar un método de evadir la búsqueda exhaustiva que venía acompañada de la fuerza bruta. La pregunta =? consiste en saber si existe algún método de impedir esta demora existente. Si los problemas que se pueden verificar rápidamente tuvieran una solución rápida, entonces se podría prescindir en múltiples casos de la ineficiente fuerza bruta. Esta pregunta ha atraído la atención considerable de los especialistas y del mundo en general. 1 Licenciado en Ciencia de la Computación, Ciudad de la Habana, Cuba. 1

2 Church y Turing en su trabajo de Entschiedungsproblem mostraron la existencia de problemas sin solución algorítmica e importantes herramientas que lo prueban. En este artículo se intenta dar respuesta a esta interrogante usando esas mismas herramientas que hoy en día se siguen empleando dentro de la Teoría de la Computabilidad y en la Complejidad Computacional. 2 Definiciones básicas La tesis formulada por Alan Turing y Alonzo Church, de forma independiente a mediados del siglo XX, prueba matemáticamente que para cualquier programa de computadora es posible crear una máquina de Turing equivalente. Eso implica que las máquinas de Turing realmente capturan la noción de lo que es un algoritmo o un procedimiento efectivo llevado a cabo por un humano o por una máquina. Una máquina de Turing posee un conjunto finito de estados donde es el estado inicial y un conjunto finito de símbolos que se le llama el alfabeto de. El alfabeto contiene símbolos especiales como el símbolo inicial. El funcionamiento de una máquina de Turing se basa en una función de transición, que recibe el estado inicial con una cadena de caracteres pertenecientes al alfabeto. Luego se va leyendo las celdas de una o varias cintas donde se encuentran ubicadas las cadenas de caracteres formadas por los símbolos del alfabeto, comenzando con la entrada (la inicial). Al mismo tiempo se borran y escriben en cada paso esos símbolos para finalmente avanzar a la izquierda, a la derecha o permanecer en el mismo lugar (por cada celda a la vez), repitiendo esto según se indique en la función de transición. Por último, se detiene en un estado final que puede ser de aceptación "sí" o de rechazo " ", terminando con una cadena de salida. A la función de transición se le conoce también como el programa de la máquina de Turing y se representa como un trío (, ) =(,, ) por cada estado actual y símbolo actual del alfabeto, con como próximo estado, el símbolo que sobrescribe a y {,, } sería la dirección en la que se mueve el cursor. Cuando existe más de una cinta, sigue decidiendo el próximo estado pero puede sobrescribir símbolos diferentes y moverse en diferentes direcciones sobre cada cinta. Se definen las operaciones realizadas por una máquina de Turing usando una configuración que contiene una completa descripción del estado actual en que se encuentra la máquina. Una configuración es un trío (,, ) donde es el estado actual y, son cadenas sobre el alfabeto que muestran a la cadena a la izquierda del cursor (incluyendo al símbolo escaneado) y a la cadena a la derecha del cursor respectivamente, durante cualquier instante en el que se transite por ; en ocasiones cuando se encuentra vacía alguna de estas cadenas se pone el símbolo. La definición de configuración se puede extender a múltiples cintas utilizando sus respectivos cursores. 2

3 Las cadenas de entrada de un algoritmo definen a un lenguaje. Existen distintos tipos de lenguaje clasificados según su comportamiento en las máquinas de Turing. Ejemplo de ello es el lenguaje recursivo, un tipo de lenguaje formal que también es llamado decidible o Turing-decidible, que se caracteriza porque existe una máquina de Turing que decide al lenguaje (acepta cualquier palabra del lenguaje o de lo contrario rechaza). En caso de que nunca termine en vez de rechazar la palabra se dice que el lenguaje es recursivamente enumerable. Existe una máquina de Turing capaz de simular el comportamiento de otras máquinas de Turing para una determinada entrada y se le nombra como máquina universal de Turing. Realizando una codificación de las máquinas de Turing se puede construir el alfabeto que utiliza esta máquina universal. Alan Turing descubrió por primera vez un problema que era recursivamente enumerable pero no era recursivo, le llamó HALTING (el problema de parada) y es el lenguaje que contiene a todas las máquinas de Turing con entrada codificadas según la máquina universal tal que llega a parar con. Las máquinas de Turing se dividen en dos importantes categorías según la cantidad de posibles ejecuciones en cada paso de su programa. Si en los pasos de una máquina de Turing existe a lo sumo una posibilidad de ejecución, se dice que es una máquina de Turing determinista, mientras que en el caso de que exista más de una posible combinación de actuaciones se trata de una máquina de Turing no determinista. Las máquinas de Turing pueden computar sus cadenas de entrada en una cantidad de pasos constante o en una proporción que dependa del tamaño de la entrada. Un lenguaje es decidido en tiempo polinómico, si existe alguna máquina de Turing que decide a en una cantidad de pasos acotado por la función ( ) =, en la cual es el tamaño de la entrada y N (esto es equivalente a decir que la máquina de Turing decide al lenguaje en un orden ( )). Las máquinas de Turing deterministas y no deterministas, junto con el tiempo de corrida polinómico, caracterizan a dos principales clases de complejidades: las clases y. Una clase de complejidad es un conjunto de lenguajes agrupados por diferentes medidas de complejidad como el tiempo de corrida, la memoria utilizada, etc. La clase es el conjunto de lenguajes que representan a los problemas rápidos de resolver por una computadora. De ahí que tenga tanta importancia dentro de la Ciencia de la Computación. Esta clase está relacionada intrínsecamente con las máquinas de Turing deterministas y también con el tiempo de corrida polinómico en que se ejecutan esas máquinas de Turing para los lenguajes de. La clase al contrario de la clase, resulta difícil encontrarle una solución veloz para muchos de los lenguajes que contiene y se define por aquellos que son decididos por alguna máquina de Turing no determinista en tiempo polinómico. También se puede definir a la clase de 3

4 complejidad como los lenguajes que pueden ser verificados rápidamente por una máquina de Turing determinista. A la cadena que permite la verificación de forma rápida se le conoce con el nombre de certificado y su tamaño es polinómico con relación a la entrada. Ha existido una interrogante que no ha encontrado respuesta dentro de la comunidad científica hasta ahora, y es el hecho de saber si se pueden resolver rápidamente los problemas que son fácilmente verificables. Se intenta resolver más adelante esa interrogante usando los conocimientos descritos en este capítulo, definiendo por hipótesis que =, para luego deducir todo lo contrario a través de la regla por reducción al absurdo. También se define un conjunto de máquinas de Turing capaces de ejecutar rápidamente a los problemas de la clase de complejidad, si esa hipótesis fuera cierta. Luego se expone un problema que permite deducir que la hipótesis inicial era incorrecta y que precisamente. 3 Hipótesis y máquinas de Turing Certificadas Se define la siguiente hipótesis: =. En base a esta hipótesis se llegará a una contradicción, demostrándose por reducción al absurdo lo contrario que es precisamente el resultado que persigue este documento:. Se empieza definiendo un conjunto de maquinas de Turing deterministas que deciden polinómicamente a los lenguajes de la clase. Definición 3.1: Una máquina de Turing Certificada cumple: es una máquina de Turing de -cintas que a) es determinista y decide en tiempo polinómico a un lenguaje. b) El estado inicial de se usa solamente para leer el símbolo de comienzo de cada cinta y avanzar de este modo hacia otros estados en la función de transición de. c), de las -cintas, posee una cinta para la entrada y otra para la salida que serán la primera y última respectivamente. d) Cuando acepte la cadena de entrada, se dice que ( ) =" í" y su configuración final será ( í,,,,,,,,, ), es decir, que en todas las cintas se encuentra el cursor posicionado en el símbolo de comienzo y a excepción de la cinta de salida, todas las demás quedan vacías (esta aseveración no toma en cuenta al símbolo de comienzo). En la cinta de salida se finaliza poniéndose la cadena que es el certificado para la cadena. e) El tamaño del certificado en siempre será mayor o igual que el de la cadena de entrada, o sea. 4

5 El conjunto de las máquinas de Turing Certificadas se representa abreviadamente conjunto se plantea lo siguiente:. De este Proposición 3.1: Para cualquier máquina de Turing de -cintas que decide en tiempo polinómico a un lenguaje, existe otra máquina de Turing de ( +2)-cintas con cintas de entrada y salida que simula a con el mismo orden y. La máquinas y coinciden en el inciso a) de la definición de debido a la propia descripción que se hizo de en la proposición y que se tomará como premisa. Se asume que el inciso b) se puede resolver adicionando de antemano un nuevo estado inicial en. Para los incisos restantes de la definición de se va a utilizar la siguiente demostración constructiva: La máquina de Turing comienza copiando la entrada contenida en la primera cinta sobre la segunda y luego simula las cintas de en las enumeradas desde la 2 hasta la ( +1). Cuando termina, vacía todas las cintas que simulaban a después de copiar la cadena de salida de en la cinta ( +2) y luego regresa todos los cursores hacia el símbolo de comienzo de cada cinta. Si se detiene aceptando, entonces su cadena de salida será el certificado de la entrada. En ese caso, si el certificado de es más pequeño que la entrada, se rellena con ceros en la cinta de salida de hasta que ambas cadenas tengan el mismo tamaño (no se modifica la cadena de salida si es mayor o se rechaza). Después en se borra la cinta de entrada y se finaliza en un estado correspondiente con el que terminó (de aceptación o de rechazo). La cadena de salida producida cuando termina aceptando será el certificado para la cadena de entrada, ya que sigue siendo de tamaño polinómico con relación a la entrada y además puede ser verificada en tiempo polinómico a través de la misma máquina de Turing Certificada. Las máquinas de Turing que decidan en tiempo polinómico a los lenguajes en podrán garantizar la ejecución rápida de esa clase de complejidad, por consiguiente, las máquinas de Turing Certificadas cumplen esa misma función a pesar de contener estas particularidades en su definición. 4 El lenguaje CERTIFICANDO Se define un problema llamado CERTIFICANDO de la siguiente manera: Dada una máquina de Turing Certificada y {0,1}, existe {0,1} tal que ( ) =" í" en orden ( ), con la cadena de salida? 2 2 Se tomó el exponente 3 arbitrariamente, pero en principio podría ser mayor. 5

6 Definición 4.1: CERTIFICANDO (abreviadamente ) es un lenguaje sobre el alfabeto de la máquina universal de Turing definido como: ={ ; :, ( ) ="sí" en orden ( ) } El lenguaje demuestra que precisamente la cadena {0,1} es salida de alguna cadena cuando, ejecutándose en una máquina de Turing Certificada con un orden ( ). De esta definición se deduce una importante proposición: Proposición 4.1: El lenguaje pertenece a la clase. Dada cualquier instancia de este lenguaje ( ; ), esta puede ser verificada polinómicamente una vez hallada {0,1}, simplemente evaluando en y comprobando que el orden no sobrepasa a ( ) y la salida coincide con. Como se definió que en las máquinas de Turing Certificadas y el orden a lo sumo es ( ), se concluye que el tamaño del certificado de es polinómico en relación con su entrada, pues < < ; >. Para demostrar que el problema CERTIFICANDO tiene solución en una computadora es necesario que al menos sea aceptado por alguna máquina de Turing. Proposición 4.2: es recursivamente enumerable. Se necesita diseñar una máquina de Turing que acepte a. Para ello se construye para cualquier máquina de Turing de -cintas donde, otra máquina de Turing de 2 -cintas que cumpla que: - El alfabeto de es el mismo que el de. - Se construye los estados y el programa de a partir de la función de transición y los estados de. Si se tiene que (,,,, ) =,,,,,,, entonces para todos los estados de en que (,,,, ) = (,,,,,,, ), se adiciona en el siguiente paso utilizando y : (,,,,,,,, ) =,,,,,,,,,,,,,, donde se cumpla que ( = ) ( = ) ( = ) ( = ) ( = ) ( = ) deba ser verdadero para 1 y =. En el caso 6

7 particular en que = se debe aplicar la modificación en solo si (,,, ) (,,, ). - El estado inicial en se remplaza por el estado final í de, mientras que el estado de rechazo de se mantiene igual en. - El estado de aceptación í de se convierte en el estado inicial en y para cualquier estado que aparezca relacionado con el estado de aceptación de usado en de esta manera (,,,, ) =( í,,,,,,, ), se construye en lo siguiente: (,,,, )=(,,,,,,,,,,,,,, ) donde = y =. - La máquina de Turing ubica su entrada en la -ésima cinta y su salida en la primera cinta. Se deducen varios corolarios a partir de la definición anterior que describen algunas particularidades de esta máquina de Turing. Corolario 4.1: Si no acepta la entrada entonces nunca termina. A través de la construcción de se aprecia que es imposible alcanzar el estado de rechazo desde el estado inicial de. Corolario 4.2: puede ser no determinista. Es suficiente con que en la función de transición de se llegue al estado de aceptación a través de al menos otros dos para que deje de ser una función. La cualidad más relevante de esta máquina de Turing es la que se presenta a continuación: Proposición 4.3: Si es una máquina de Turing de -cintas donde y se cumple que ( ) =" í" con el certificado, entonces ( ) =" í" y su cadena de salida será. En la construcción de sobre se logra que en todos los estados, excepto los estados de parada y el de inicio, se cambien aquellos símbolos que se leen en las cintas por los símbolos que sobrescriben a estos durante los pasos en la función de transición de y viceversa. Se puede además comprobar que es prácticamente un espejo de y transita al revés por los estados de hacia los antecesores que aparecen en la función de transición, cambiando así, la dirección en el movimiento de las -cintas de simulándola hacia atrás. Esto es posible porque las cintas +1 hasta la 2 de permiten que se respete la correspondencia con la secuencia de pasos del programa de, pero en modo inverso. 7

8 Como empieza con la salida de en su cinta de entrada se pudiera alcanzar, dirigiéndose en reverso por los estados de, la configuración ( í,,,,,,,,, ), que prácticamente coincide con la configuración inicial de 3. Por lo tanto se puede concluir que el lenguaje es recursivamente enumerable, pues para cualquier y {0,1}, existe una máquina de Turing que se construye a partir de y si acepta a, entonces se demuestra que (, ). 5 CERTIFICANDO y la clase P Este capítulo comienza con la siguiente pregunta: Pertenece el lenguaje a la clase? La no recursividad del problema CERTIFICANDO podría ser tomado como punto de partida para responder a esta pregunta. Teorema 5.1: El lenguaje no es recursivo. Si se supone que exista una máquina de Turing que decida al lenguaje y se toma a la máquina universal de Turing que acepta al lenguaje HALTING 4 (abreviadamente ), entonces esquemáticamente se puede definir a la máquina de Turing como: (, ) (, ) ="sí" ( ) (, ) Con esta solución se concluye que la recursividad de mediante implicaría de cierta manera que decida también al lenguaje, lo cual resulta imposible dada la naturaleza de este lenguaje 5. El resultado anterior determina al siguiente teorema a modo de conclusión: Teorema 5.2:. Se demostró que, sin embargo no es recursivo, propiedad que cumplen todos los lenguajes que pertenecen a por ser decididos por máquinas de Turing deterministas. Por lo tanto se ha llegado a una contradicción con respecto a la hipótesis inicialmente planteada, por ende, es razonable concluir con la siguiente respuesta:. 3 Exceptuando que tiene -cintas de más y que el estado inicial de se remplazó por el estado í en. 4 El problema de parada descrito por Alan Turing. 5 El lenguaje no es recursivo. 8

9 Bibliografía - Christos H. P. (1994). Computational Complexity. Sand Diego: Addison-Wesley. - Thomas H. C., Charles E. L., Ronald L. R. y Clifford S. (2001). Introduction to Algorithms (2da ed.). Massachusetts: MIT Press. - Michael R. G. y David S. J. (1979). Computers and Intractability. A Guide to the Theory of NP-Completeness. Bell Telephone Laboratories. - Harry R. L. y Christos H. P. (1998). Elements of the Theory of Computation (2da ed.). New Jersey: Prentice-Hall. - Michael S. The History and Status of the P versus NP Question. Massachusetts. 9

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

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

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

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

PROGRAMA DE CURSO. Horas de Trabajo Personal Horas de Cátedra. Resultados de Aprendizaje

PROGRAMA DE CURSO. Horas de Trabajo Personal Horas de Cátedra. Resultados de Aprendizaje Código Nombre CC3102 Teoría de la Computación Nombre en Inglés Theory of Computation SCT es Docentes PROGRAMA DE CURSO Horas de Cátedra Horas Docencia Auxiliar Horas de Trabajo Personal 6 10 3 1.5 5.5

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

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

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

Coordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012 Coordinación de Ciencias Computacionales INAOE Teoría de Autómatas y Lenguajes Formales Temario detallado para examen de ingreso 2012 1. Autómatas 1.1. Por qué estudiar la teoría de autómatas? 1.1.1. Introducción

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

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

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

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

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

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

Introducción a la complejidad computacional

Introducción a la complejidad computacional Introducción a la complejidad computacional definida sobre anillos arbitrarios 18 de junio de 2016 Fuente: http://www.utmmcss.com/ Por qué otro modelo? Continuo vs discreto. Intuición interiorizada del

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO LENGUAJES FORMALES Y AUTÓMATAS 1670 6 09 Asignatura Clave Semestre Créditos Ingeniería Eléctrica Ingeniería en Computación

Más detalles

IN34A - Optimización

IN34A - Optimización IN34A - Optimización Complejidad Leonardo López H. lelopez@ing.uchile.cl Primavera 2008 1 / 33 Contenidos Problemas y Procedimientos de solución Problemas de optimización v/s problemas de decisión Métodos,

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

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

Prof. Sven Dickinson. Catedrático y director del Departamento de Ciencias de la Computación Universidad de Toronto Canadá.

Prof. Sven Dickinson. Catedrático y director del Departamento de Ciencias de la Computación Universidad de Toronto Canadá. Nominador Prof. Sven Dickinson Catedrático y director del Departamento de Ciencias de la Computación Universidad de Toronto Canadá Prof. Stephen Arthur Cook Catedrático Departamento de Ciencias de la Computación

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

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

Carrera: SCM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Carrera: SCM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos. 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Teoría de la computación Ingeniería en Sistemas Computacionales SCM - 0434 3-2-8

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

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

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

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

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

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

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

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

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

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

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

Aprendizaje Computacional y Extracción de Información

Aprendizaje Computacional y Extracción de Información Aprendizaje Computacional y Extracción de Información Inferencia Gramatical Jose Oncina oncina@dlsi.ua.es Dep. Lenguajes y Sistemas Informáticos Universidad de Alicante 26 de septiembre de 2007 J. Oncina

Más detalles

Clase 07: Autómatas. Solicitado: Ejercicios 05: Autómatas

Clase 07: Autómatas. Solicitado: Ejercicios 05: Autómatas Solicitado: Ejercicios 05: Autómatas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfranco@ipn.mx 1 Contenido Autómata Teoría de Autómatas Definición

Más detalles

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS 1. DATOS INFORMATIVOS MATERIA: DISEÑO DE LENGUAJES Y AUTOMATAS: CARRERA: INGENIERÍA DE SISTEMAS NIVEL:

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

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

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

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

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

TEORÍA DE LA COMPUTACIÓN Y VERIFICACIÓN DE PROGRAMAS FUNDAMENTACIÓN

TEORÍA DE LA COMPUTACIÓN Y VERIFICACIÓN DE PROGRAMAS FUNDAMENTACIÓN TEORÍA DE LA COMPUTACIÓN Y VERIFICACIÓN DE PROGRAMAS Año 2017 Carrera/ Plan: Licenciatura en Informática Planes 2003/07-2012-2015 Año: 4º Régimen de Cursada: Semestral Carácter: Obligatoria Correlativas:

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

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

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

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

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

Carácter Modalidad Horas de estudio semestral (16 semanas)

Carácter Modalidad Horas de estudio semestral (16 semanas) PROGRAMA DE ESTUDIOS: TEORÍA DE LA COMPUTACIÓN PROTOCOLO Fechas Mes/año Clave Semestre 5 o Elaboración 05-2010 Nivel Licenciatura X Maestría Doctorado Aprobación Ciclo Integración Básico Superior Aplicación

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

Complejidad Computacional. Andrés Abeliuk Estudiante de Ciencias de la computación U. de Chile

Complejidad Computacional. Andrés Abeliuk Estudiante de Ciencias de la computación U. de Chile Complejidad Computacional Andrés Abeliuk Estudiante de Ciencias de la computación U. de Chile Números infinitos por cantor Es una de las creaciones matemáticas más sorprendentes y atrevidas de toda la

Más detalles

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

09 Análisis léxico V Compiladores - Profr. Edgardo Adrián Franco Martínez 2 Contenido Autómata Definición formal de autómata Representación de un autómata Mediante tablas de transiciones Mediante diagramas de estados Autómata finito Definición formal de autómata finito Lenguaje

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

Análisis y Complejidad de Algoritmos. Completitud NP

Análisis y Complejidad de Algoritmos. Completitud NP Análisis y Complejidad de Algoritmos Completitud NP Arturo Díaz Pérez Sección de Computación Departamento de Ingeniería Eléctrica CINVESTAV-IPN Av. Instituto Politécnico Nacional No. 2508 Col. San Pedro

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

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR AREA DE CONOCIMIENTO DE CIENCIAS DEL MAR DEPARTAMENTO DE SISTEMAS COMPUTACIONALES

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR AREA DE CONOCIMIENTO DE CIENCIAS DEL MAR DEPARTAMENTO DE SISTEMAS COMPUTACIONALES CLAVE LDC847 NOMBRE TEORÍA DE LA COMPUTACIÓN. ÁREA DE CONOCIMIENTO INTERACCIÓN HOMBRE MÁQUINA. SEMESTRE 8 TEÓRICAS 4 PRÁCTICAS 0 CRÉDITOS 8 CARÁCTER DE LA MATERIA OPTATIVA. Teórica SERIACIÓN LDC740 INTRODUCCIÓN

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

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

8. Complejidad Computacional

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

Más detalles

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES UNIVERSIDAD FERMIN TORO VICE RECTORADO ACADEMICO UNIVERSIDAD FACULTAD DE INGENIERIA ESCUELA DE MANTENIMIENTO MECÁNICO ESCUELA DE TELECOMUNICACIONES ESCUELA DE ELÉCTRICA ESCUELA DE COMPUTACIÓN PROGRAMA

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

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

Facultad de Ingeniería de Sistemas 1.5 Carrera: Ingeniería de Sistemas 1.6 Código: ISI 1.7 Nivel: Pregrado

Facultad de Ingeniería de Sistemas 1.5 Carrera: Ingeniería de Sistemas 1.6 Código: ISI 1.7 Nivel: Pregrado 1. Identificación del curso 1.1 Escuela / Departamento: Ciencias Naturales e Ingeniería 1.3 Programa: 1.2 Código: CN 1.4 Código: FAC-ISI Facultad de Ingeniería de Sistemas 1.5 Carrera: Ingeniería de Sistemas

Más detalles

Teoría Matemática de la Computación Primer Problemario Prof. Miguel A. Pizaña 22 de Febrero de 2007

Teoría Matemática de la Computación Primer Problemario Prof. Miguel A. Pizaña 22 de Febrero de 2007 Teoría Matemática de la Computación Primer Problemario Prof. Miguel A. Pizaña 22 de Febrero de 2007 I Tareas 1. Dudar de todo, al menos una vez en la vida. 2. Qué emociones le produce el teorema de Cantor,

Más detalles

Maquina de Turing. 5. Fundamentos de algoritmos. Turing TURING TURING 10/08/2010. MI Elizabeth Fonseca Chávez

Maquina de Turing. 5. Fundamentos de algoritmos. Turing TURING TURING 10/08/2010. MI Elizabeth Fonseca Chávez Maquina de Turing 5. Fundamentos de algoritmos MI Elizabeth Fonseca Chávez matemático inglés Alan Turing Turing Definición de algoritmo: conjunto ordenado de operaciones que permite hallar la solución

Más detalles

Teoremas: Condiciones Necesarias, Condiciones Suficientes y Condiciones Necesarias y Suficientes

Teoremas: Condiciones Necesarias, Condiciones Suficientes y Condiciones Necesarias y Suficientes FUNCIONES DE VARIABLE COMPLEJA 1 Teoremas: Condiciones Necesarias, Condiciones Suficientes y Condiciones Necesarias y Suficientes Lógica Matemática Una prioridad que tiene la enseñanza de la matemática

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

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

Lógica - Conjuntos inductivos

Lógica - Conjuntos inductivos Lógica - Conjuntos inductivos Matemática discreta y Lógica I Mayo de 2017 Las transparencias son tomadas del curso de Lógica del instituto de computación de Facultad de Ingeniería. Inducción - Plan Conjuntos

Más detalles

Carrera: ELX-04XX Participantes Representante de las academias de ingeniería Mecatrónica de los Institutos Tecnológicos.

Carrera: ELX-04XX Participantes Representante de las academias de ingeniería Mecatrónica de los Institutos Tecnológicos. 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Programación en tiempo real ELX-04XX 2-4-8 2.- HISTORIA DEL PROGRAMA Lugar y fecha

Más detalles

COMPUTABILIDAD Y COMPLEJIDAD

COMPUTABILIDAD Y COMPLEJIDAD COMPUTABILIDAD Y COMPLEJIDAD Año 2017 Carrera: Licenciatura en Informática Plan 2007-2012-2015 Año: 3 Duración: Semestral Profesor: Fernando G. Tinetti FUNDAMENTACION: Se presentan las ideas básicas de

Más detalles

Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I

Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I Tema 3: Gramáticas regulares 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

Más detalles

PROYECTO DOCENTE ASIGNATURA: "Computabilidad y Complejidad"

PROYECTO DOCENTE ASIGNATURA: Computabilidad y Complejidad PROYECTO DOCENTE ASIGNATURA: "Computabilidad y Complejidad" Grupo: Grupo de CLASES TEORICAS de COMPUTABILIDAD Y COMP.(86578) Titulacion: INGENIERO EN INFORMÁTICA ( Plan 97 ) Curso: 211-212 DATOS BÁSICOS

Más detalles

Programa de Asignatura

Programa de Asignatura Departamento de Ingeniería Industrial Programa: Ingeniería Mecatrónica Plan 007- Asignatura: Tópicos de Matemáticas Discretas Clave: 9938 Semestre: II Tipo: Obligatoria H. Teoría: H Práctica: HSM: 4 Créditos:

Más detalles

Fundamentos de la Computación TC4001

Fundamentos de la Computación TC4001 Fundamentos de la Computación TC4001 Centro de Manufactura / Centro de Sistema Inteligentes ITESM TC4001 - p. 1/11 Hasta ahora se han abordado problemas que en su mayoría pueden resolverse en tiempo polinomial.

Más detalles

MODELOS AVANZADOS DE COMPUTACIÓN

MODELOS AVANZADOS DE COMPUTACIÓN Página 1de 9 GUIA DOCENTE DE LA ASIGNATURA MODELOS AVANZADOS DE COMPUTACIÓN MÓDULO MATERIA CURSO SEMESTRE CRÉDITOS TIPO FORMACIÓN DE ESPECIALIDAD 1: COMPUTACIÓN Y SISTEMAS INTELIGENTES MODELOS DE COMPUTACIÓN

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

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I Tema 4: Gramáticas independientes del contexto 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.

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

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE INTRODUCCIÓN Y TEORÍA DE LA COMPUTACIÓN

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE INTRODUCCIÓN Y TEORÍA DE LA COMPUTACIÓN CENTRO UNIVERSITARIO DE TECNOLOGÍA Y ARTE DIGITAL PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE INTRODUCCIÓN Y TEORÍA DE LA COMPUTACIÓN 1. DATOS DE IDENTIFICACIÓN DE LA ASIGNATURA. Título: Facultad:

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

Matemáticas Discretas TC1003

Matemáticas Discretas TC1003 Matemáticas Discretas TC1003 Módulo I: s Válidos Departamento de Matemáticas ITESM Módulo I: s Válidos Matemáticas Discretas - p. 1/50 En matemáticas y en lógica un argumento no es una disputa. Más bien,

Más detalles

Indice COMPUTABILIDAD Y COMPLEJIDAD. Introducción. Introducción

Indice COMPUTABILIDAD Y COMPLEJIDAD. Introducción. Introducción COMPUTABILIDAD Y COMPLEJIDAD Belén Pérez Lancho Dpto. Informática y Automática 12-Enero-2006 Computabilidad Introducción Modelos de computación Máquinas de Turing Funciones Recursivas Parciales Conclusiones

Más detalles

LOGICA MATEMATICA. Utilizando esas definiciones y las leyes de lógica matemática, demostrar las siguientes tautologías:

LOGICA MATEMATICA. Utilizando esas definiciones y las leyes de lógica matemática, demostrar las siguientes tautologías: LOGICA MATEMATICA Utilizando esas definiciones y las leyes de lógica matemática, demostrar las siguientes tautologías: 1 ) q p q p ( q ) p ( Definición ) q p ( Doble Negación ) p q ( Conmutatividad ) (

Más detalles

Enfoques computacionales de la memoria humana: un estado del arte. Renato Garita Figueiredo PROIFED

Enfoques computacionales de la memoria humana: un estado del arte. Renato Garita Figueiredo PROIFED Enfoques computacionales de la memoria humana: un estado del arte Renato Garita Figueiredo PROIFED Revisión bibliográfica En total se revisaron 35 artículos. Categorización: - Aplicaciones de interacción

Más detalles

Teorema de incompletitud de Gödel

Teorema de incompletitud de Gödel Teorema de incompletitud de Gödel Theorem (Gödel) Th(N) es una teoría indecidible. IIC2213 Teorías 79 / 109 Teorema de incompletitud de Gödel Theorem (Gödel) Th(N) es una teoría indecidible. Corolario

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

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

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

MODELOS AVANZADOS DE COMPUTACIÓN

MODELOS AVANZADOS DE COMPUTACIÓN Página 1de 11 GUIA DOCENTE DE LA ASIGNATURA MODELOS AVANZADOS DE COMPUTACIÓN MÓDULO MATERIA CURSO SEMESTRE CRÉDITOS TIPO FORMACIÓN DE ESPECIALIDAD 1: COMPUTACIÓN Y SISTEMAS INTELIGENTES MODELOS DE COMPUTACIÓN

Más detalles

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

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página Web: www.matematicas.unam.mx/fhq

Más detalles

Nombre de la asignatura : Lenguajes y Autómatas. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB- 9324

Nombre de la asignatura : Lenguajes y Autómatas. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB- 9324 . D A T O S D E L A A S I G N A T U R A Nombre de la asignatura : Lenguajes y Autómatas Carrera : Ingeniería en Sistemas Computacionales Clave de la asignatura : SCB- 9 Horas teoría-horas práctica-créditos

Más detalles

RECURSIVIDAD. Ángeles Martínez Sánchez Curso 2016/2017 DMATIC ETSISI

RECURSIVIDAD. Ángeles Martínez Sánchez Curso 2016/2017 DMATIC ETSISI RECURSIVIDAD Conjuntos definidos recursivamente Fórmulas en lógica de proposiciones Los números naturales Listas Correspondencias recursivas Definición de correspondencia y de función recursiva Árbol de

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

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

Convertir un AFND a un AFD

Convertir un AFND a un AFD Convertir un AFND a un AFD Existe una equivalencia entre los AFD y AFN, de forma que un autómata M es equivalente a un autómata M' si L(M) ) L(M'). Ejemplo: Los autómatas de la siguiente figura son equivalentes.

Más detalles