You are on page 1of 48

INSTITUTO TECNOLOGICO DE ACAPULCO

INGENIERIA EN SISTEMAS COMPUTACIONALES 5TA UNIDAD DESARROLLADA


MATERIA: TEORIA DE LA COMPUTACION CATEDRATICO: ING. JUAN BAOS

INDICE
5.1 Lenguajes Decidibles

5.2 El Problemas de Halting


5.3 Decidibilidad Teoras Lgicas

5.1 lenguajes decidibles


Los lenguajes decidibles son cadenas de palabras calculables mediante funciones recursivas por lo cual tambin se les llamas lenguajes recursivos. Un posible alfabeto sera, digamos, {a, b} , y una cadena cualquiera sobre este alfabeto sera, por ejemplo, ababba . Un lenguaje sobre este alfabeto, que incluyera esta cadena, sera: el conjunto de todas las cadenas que contienen el mismo nmero de smbolos que , por ejemplo La palabra vaca (esto es, la cadena de longitud cero) se permite en este tipo de lenguajes, notndose frecuentemente A diferencia de que ocurre con el alfabeto (que es un conjunto finito) y con cada palabra (que tiene una longitud tambin finita), un lenguaje puede estar compuesto por un nmero infinito de palabras.

EJEMPLOS

Las frases sobre el alfabeto {a, b} que contienen alternadas las letras a y b. Las frases sobre el alfabeto {a, b, c} que contienen igual nmero de letras a y b.

EJEMPLOS
Las frases que describen un grafo con aristas etiquetadas con nmeros naturales que indican su longitud, dos vrtices del grafo y un camino en el grafo que es el camino ms corto entre esos dos vrtices.

Las frases que describen una mquina de Turing y una cinta de entrada para esta mquina tal que la mquina se para en un tiempo finito al procesar esa entrada.

5.1 lenguajes decidibles


Existen problemas que no pueden ser resueltos por una computadora, dado que las computadoras solamente pueden ejecutar algoritmos, esto es secuencia de instrucciones universalmente precisas y entendibles que resuelven cualquier instancia de problemas computacionales definidos rigurosamente. No es una sorpresa que esta idea intuitiva de algoritmo pueda ser definida formalmente. El correspondiente modelo matemtico se llama mquina de Turing (Alan Turing, 1936). La teora de computabilidad tiene como objetivo el estudio de problemas de decisin, con el fin de determinar si los mismos son tericamente decidibles. Los problemas se pueden clasificar desde el punto de vista de la teora de computabilidad en resolubles y no resolubles. Los problemas resolubles son objeto de estudio de la teora de complejidad computacional. En el contexto de complejidad computacional, el inters est centrado en establecer una medida de la cantidad de recursos computacionales (en trminos de tiempo y/o espacio) necesarios para resolver un determinado problema o equivalentemente reconocer un lenguaje. Los problemas resolubles se subdividen en tratables e intratables. Los problemas tratables son aquellos para los cuales existe un algoritmo eficiente que los resuelve. Los intratables son aquellos para los cuales no se conoce (o tal vez no exista) un algoritmo eficiente que los resuelva.

EJEMPLO
Un lenguaje L es decidible en tiempo polinomial si existe una Mquina de Turing estndard M, tal que M acepta L con tcM = O(nr) con r un nmero natural independiente de n.

EJEMPLO
Un lenguaje L se llama NPduro si para todo Q NP, Q es reducible a L en tiempo polinomial. Un lenguaje NPduro que est tambin en NP se llama NPcompleto.

5.1 lenguajes decidibles


Un lenguaje decidible es aquel lenguaje L para el cual existe una maquina de Turing que le puede aceptar cualquier cadena w L. Hay lenguajes formados por cadenas tales que una maquina de Turing logra un estado final con las cadenas que reconoce y acepta, solamente. En este caso se dice que la maquina de Turing semidecide al lenguaje. Los lenguajes semidecididos por una MT se llaman recursivos numerables. Las gramticas sin restricciones son las que generan los lenguajes recursivos numerables. De aqu en adelante ser suficiente referirse a los lenguajes recursivos numerables, pues estos generalizan a los lenguajes recursivos, los cuales generalizan a los lenguajes libres de contexto, y estos a los lenguajes regulares. Lo anterior tiene relacin directa con que los autmatas de Turing generalizan a los de la pila y estos a su vez a los autmatas finitos. Por otro lado, pese a que lenguajes formales ms generales que los recursivos numerables no son reconocidos por un automata de Turing, no existe hasta el momento ningn autmata ms poderoso capaz de reconocerlos.

EJEMPLO
Ejemplo: Muestre que la coleccin de lenguajes decidibles por maquina de Turing para un alfabeto cualquiera es infinita, pero contable. Solucin: {Lenguajes independientes de contexto} es infinito {Lenguajes independientes de contexto} * {Lenguajes decidibles por Turing} 1 {Lenguajes decidibles por Turing} 1 {Lenguajes estructurados por frases} es contable {Lenguajes decidibles por Turing} {Lenguajes estructurados por frases} 2 { Lenguajes decidibles por Turing} es contable

5.2.- El problema de Halting.

El problema de Halting es el primer problema indecidible mediante maquinas de Turing. Equivale a construir un programa que te diga si un problema de ordenador finaliza alguna vez o no (entrando a un bucle infinito, por ejemplo) Bsicamente, Turing defini las bases de las computadoras modernas y planteo un problema sobre ellas, llegando a la conclusin de que no hay ningn algoritmo que lo resuelva. Es el problema de la detencin (Halting problem); el problema de saber si un problema se cuelga cuando corre en la computadora. Turing demostr que el problema de la detencin es indicidible, es decir, demostr que haba problemas que una maquina no poda resolver. Es meritorio el hecho que gracias a la equivalencias de maquinas de Turing y computadoras, se haya determinado que existen clculos que no pueden ser detenidos en un tiempo razonable en ninguna computadora imaginable, o incluso, que no puede resolverse en lo absoluto, por ejemplo el problema de correspondencia de Post o el problema de predecir si una maquina de Turing cualquiera va a llegar a un estado final (conocido como el problema de Halting en ingles, o problema de la parada). Por todo esto el problema de Halting es un diagnostico que indica que un problema de decisin no es decidible.

Definicin: Sea M una mquina de Turing arbitraria con un alfabeto de entrada . Sea . Puede decidirse si la mquina M se detendr con la entrada w? Solucin: La respuesta a esta pregunta es negativa. No se puede determinar si una mquina de Turing se detiene con una entrada arbitraria.

El problema del paro consiste en determinar si una mquina de Turing cualquiera se detendr ante cualquier entrada dada. Es decir, si existe una mquina MThcapaz de determinar si cualquier otra mquina se va a detener o no. Es conocido que elproblema del altoesindecidible.

Definicin

Para demostrar que el problema del alto es indecidible tenemos que probar la siguiente afirmacin: NO existe una mquina MT que tomando como entrada cualquier mquina MT0, termine despus de un tiempo finito y responda Scuando MT0termine y NOcuando MT0no termine.MTh

Demostracin

Si MThexiste existe el problema es decidible MThSNOMT0termina? MT0 Cuando MT0no termina Si MThNO existe NO el problema es indecidible

Funcionamiento de la mquina hipottica MT MTh

El problema de la parada o problema de la detencin para Mquinas de Turing consiste en lo siguiente: dada una Mquina de Turing M y una palabra w, determinar si M terminar en un nmero finito de pasos cuando es ejecutada usando w como dato de entrada. Alan Turing, en su famoso artculo "On Computable Numbers, with an Application to the Entscheidungsproblem" (1936), demostr que el problema de la parada de la Mquina de Turing es indecidible, en el sentido de que ninguna mquina de Turing lo puede resolver.

5.3 Dicibilidad teoras lgicas


se tiene una presentacin detallada de la Lgica de Primer Orden. En esta seccin recordaremos los conceptos necesarios para establecer la relacin de una teora lgica en general con los Autmatas de Turing, y en general con la disciplina de Computacin. Una teora lgica (TL) se define a partir de un conjunto de enunciados dados llamados axiomas, unas reglas de inferencia y un esquema de derivacin. A partir de los axiomas y aplicando las reglas de inferencia y el esquema de derivacin se infieren los teoremas de la teora. El conjunto de teoremas de la teora forman un lenguaje formal.

EJEMPLO
Si es posible definir una mquina de Turing tal que reconozca al lenguaje de los teoremas, este lenguaje es decidible y la teora tambin lo es en consecuencia. Dicho en otras palabras, si el conjunto de teoremas visto como un lenguaje es reconocido por una mquina de Turing, entonces la TL es decidible. Y viceversa.

5.3 Dicibilidad teoras lgicas


En trminos de una teora lgica (TL) se tiene lo siguiente. Una TL se define a partir de un conjunto de enunciados dados llamados axiomas y unas reglas de inferencia. A partir de los axiomas y aplicando las reglas de inferencia se derivan los teoremas de la teora. Ahora bien, el conjunto de teoremas de la teora forman un lenguaje. Si es posible definir una mquina de Turing tal que reconozca a todos los teoremas de la teora, se dice que la teora es decidible. Es decir, si el conjunto de teoremas visto como un lenguaje es reconocido por una mquina de Turing, entonces la TL es decidible. Y viceversa. Puede hablarse entonces, indistintamente, de teoras lgicas o de lenguajes, ambos decidibles, como aquellos para los que existe una mquina de Turing capaz de reconocerlos

EJEMPLO
el Clculo Lambda de Alonzo Church (1933) y el sistema de producciones de Emil Post (1943), son formalismos con los cuales puede comprenderse, tambin, cualquier proceso computable. Luego, ambos son traducibles en trminos de mquinas de Turing, y viceversa respectivamente. Actualmente se han planteado formalismos con la pretensin de generalizar el paradigma computacional de mquinas de Turing, tales como las Mquinas de Gurevich, entre otros. Sin embargo, son teoras que an no han sido confirmadas en lo general.

5.3 Dicibilidad teoras lgicas


Un sistema lgico o teora es decidible sintcticamente si el conjunto de todas las frmulas vlidas en el sistema es decidible. Es decir, existe un algoritmo tal que para cada frmula del sistema es capaz de decidir en un nmero finito de pasos si la frmula es vlida o no en el sistema. Por otra parte, una teora decidible semnticamente, es un sistema axiomtico donde existe un mtodo para evidenciar que toda proposicion verdadera en un modelo es decidible o no en el sistema en concreto.

EJEMPLO
La Lgica proposicional es decidible, porque existe para ella un algoritmo; la tabla de verdad tal que para cada frmula que combina M formulas atmicas, hay un nmero mximo N = 2M de pasos tal que tras completar estos N pasos el algoritmo siempre decidir si la frmula es vlida o no. Cada "paso" del algoritmo ha sido definido como una lnea de la tabla de verdad.

5.3 Decidibilidad Teoras Lgicas

PRIMER PUNTO DE VISTA

Fuente: http://cmartinez.web.wesleyan.edu/documents/Computable2.pd f

Definicin. (Decidibilidad)
Diremos que un problema de decisin es decidibible por una mquina de Turing s y slo si la mquina responde correctamente cada una de las respuestas a las preguntas instancias asociadas al problema. Por otro lado, usualmente se ilustra un mquina de Turing mediante un grafo dirigido, con ciertas etiquetas, tanto en los Shift Left nodos, como en sus aristas. Se han considerado formas de simplificar la construccin de estas mediante la introduccin de modularidad, esto quiere decir, considerar alguna mquinas elementales a partir de las cuales podremos construir otras de mayor embergadura.

La mquina aqu ilustrada describe la operacin Shift Left que mueve una cadena un lugar a la izquierda, es decir, SC(##ababd##) #ababd###

Intuitivamente podemos interpretar la componente C#B como la ejecucin secuencial de la mquina C# que se mueve al izquierda hasta encontrar el caracter #, y luego ejecutar la segunda B que se mueve un slo lugar a la derecha.

Teoras Lgicas y Mquinas de Turing


se tiene una presentacin detallada de la Lgica de Primer Orden. En esta seccin recordaremos los conceptos necesarios para establecer la relacin de una teora lgica en general con los Autmatas de Turing, y en general con la disciplina de Computacin. Una teora lgica (TL) se define a partir de un conjunto de enunciados dados llamados axiomas, unas reglas de inferencia y un esquema de derivacin. A partir de los axiomas y aplicando las reglas de inferencia y el esquema de derivacin se infieren los teoremas de la teora. El conjunto de teoremas de la teora forman un lenguaje formal. Si es posible definir una mquina de Turing tal que reconozca al lenguaje de los teoremas, este lenguaje es decidible y la teora tambin lo es en consecuencia. Dicho en otras palabras, si el conjunto de teoremas visto como un lenguaje es reconocido por una mquina de Turing, entonces la TL es decidible. Y viceversa.

Puede hablarse entonces de manera indistinta de teoras lgicas o de lenguajes decidibles, como aquellos para los que existe una mquina de Turing capaz de reconocerlos. Luego, la correspondencia entre la sintaxis de una teora lgica (lenguaje formal) y el reconocimiento simblico de la mismo por parte de un autmata queda establecida. Desde el punto de vista semntico, las interpretaciones de las cadenas del lenguaje se realizan ya sea por el intrprete bien por el compilador del lenguaje de programacin en el cual se dan las instrucciones (ver Seccin de Autmatas de Pila). Las cadenas que resultan en instrucciones realizadas por la computadora pueden considerarse interpretadas como verdaderas y por tanto tienen, al menos, un modelo de la Teora Lgica formada por tales cadenas.

En particular, los axiomas se consideran teoremas de la teora, los cuales se derivan aplicando cero veces las reglas de inferencia

La idea de disponer de un algoritmo, o receta para efectuar alguna tarea, ha existido durante miles de aos. Tambin durante muchos aos la gente crey que si cualquier problema poda iniciarse de manera precisa, entonces con suficiente esfuerzo seria posible encontrar una solucin con el tiempo(o tal vez una prueba de que no existe solucin podra proporcionarse con el tiempo). En otras palabras, se crea que no haba problema que fuera tan intrnsicamente difcil que en principio nunca pudiera resolverse. Uno de los grandes promotores de esta creencia fue el famoso matemtico David Hilbert. En cierta ocasin afirmo: Todo problema matemtico definido debe ser necesariamente susceptible de un planteamiento exacto, ya sea en forma de una respuesta real a la pregunta planteada o debido a la constatacin de la imposibilidad de resolverlo, a lo que se debera la falla necesaria de todos los intentos una de las cosas que nos atrae mas cuando nos dedicamos a un problema matemtico es precisamente que dentro de nosotros siempre escuchamos la llamada: e aqu el problema, busca la solucin; puedes encontrarla por pensamiento puro, ya que en matemticas no existe cosa alguna que no pueda conocerse.

5.3 Decidibilidad Teoras Lgicas

SEGUNDO PUNTO DE VISTA

Fuente: http://decsai.ugr.es/~castro/CA/node7.html

Definicin. (Decidibilidad) En lgica, el trmino decidible se refiere a la existencia de un mtodo efectivo para determinar si un objeto es miembro de un conjunto de frmulas.

Un sistema lgico o teora es decidible sintcticamente si el conjunto de todas las frmulas vlidas en el sistema es decidible. Es decir, existe un algoritmo tal que para cada frmula del sistema es capaz de decidir en un nmero finito de pasos si la frmula es vlida o no en el sistema.
Por otra parte, una teora decidible semnticamente, es un sistema axiomtico donde existe un mtodo para evidenciar que toda proposicion verdadera en un modelo es decidible o no en el sistema en concreto.

Se dice que un sistema formal es decidible si existe un algoritmo que diga en tiempo finito si una cadena cualquiera es un teorema o no lo es. El identificar los problemas que son computables y los que no lo son tiene un considerable inters, pues indica el alcance y los lmites de la computabilidad, y as demuestra los lmites tericos de los ordenadores. Adems de las cuestiones sobre algoritmos, se han encontrado numerosos problemas menos generales que han resultado ser no computables. La mayora de las demostraciones de no computabilidad se basan en el mtodo de la diagonal.

Como ejemplos de estos problemas podemos citar:

1.- El problema de la palabra para Grupos.- Dado un subconjunto S de elementos de un grupo G, se trata de decidir si una expresin compuesta por elementos de S y con las operaciones del grupo es igual al elemento neutro del grupo. Durante muchos aos se buscaron ejemplos de grupos finitamente presentados para los que este problema fuese indecidible. La existencia de uno de estos grupos fu encontrada por Novikov en 1955 y por Boone en 1957. En el algebra moderna hay abundantes ejemplos de interesantes problemas no computables; una gran cantidad de ellos sobre propiedades de palabras o generadores semejantes al problema de la palabra para grupos.

2.- Dcimo problema de Hilbert. Una ecuacin diofntica es la ecuacin de los ceros enteros de un polinomio con coeficientes enteros. El dcimo problema de Hilbert, propuesto en 1900, pregunta si hay un procedimiento efectivo que determine si una ecuacin diofntica tiene o no solucin. Y. Matiyasevich demostr en 1970 que este problema no tiene solucin.

Un discpulo suyo, Stockmeyer demostr en 1974 que cualquier circuito Booleano que decida correctamente sobre la verdad o falsedad de una frmula de longitud 616 en ese sistema, deber tener ms de interruptores. Se tom el nmero porque es el nmero de protones que caben en el universo conocido.

Esta es una prueba convincente de intratabilidad!.


Desde Meyer y Stockmeyer se han encontrado una gran cantidad de cotas inferiores para problemas de decidibilidad (ver Stockmeyer, 1979).

Ya que pruebadetencin prueba la terminacin de un programa P para cualesquiera datos D, es posible utilizarlo para construir un algoritmo ms limitado que pruebe la terminacin de P cuando los datos son P mismo. Un programa es una representacin de un algoritmo y simplemente consta de una secuencia de caracteres (tales como letras y dgitos). Cualquier secuencia de caracteres puede ser la entrada a un programa de computadora. Si el programa puede o no hacer algo razonable con la entrada es otro asunto. En realidad existen muchos programas de inters prctico cuya entrada es una secuencia de caracteres que representan otro programa: son ejemplos de esto compiladores y editores.

En lgica, el trmino decidible se refiere a la existencia de un mtodo efectivo para determinar si un objeto es miembro de un conjunto de frmulas. Un sistema lgico o teora es decidible sintcticamente si el conjunto de todas las frmulas vlidas en el sistema es decidible. Es decir, existe un algoritmo tal que para cada frmula del sistema es capaz de decidir en un nmero finito de pasos si la frmula es vlida o no en el sistema Se dice que un sistema formal es decidible si existe un algoritmo que diga en tiempo finito si una cadena cualquiera es un teorema o no lo es. DECIDIBLE: adj. Log .Mat .Dcese de las proposiciones de un sistema axiomtico cuya verdad o falsedad puede demostrarse dentro del sistema. Segn las Definiciones Anteriores, podemos llegar a concluir que se tiene Decibilidad si podemos encontrar una frmula, mtodo o algoritmo que nos permita decidir si cierta cadena pertenece a una estructura. Como ya se haba mencionado, la Decibilidad nos sirve en los lenguajes Formales, por lo tanto veremos cules son los Lenguajes y su Clasificacin:

Los lenguajes decidibles son cadenas de palabras calculables mediante funciones recursivas por lo cual tambin se les llama lenguajes recursivos.

Un lenguaje es recursivo si y solo si el y su complementario son recursivamente enumerables.6 Demostracin. De la doble implicacion que tiene el enunciado, unicamente hay que demostrar que si L y L son recursivamente enumerables, entonces L es recursivo. Para ello, construiremos un algoritmo para L. Como L y L son recursivamente enumerables, existen M1 y M2 maquinas de Turing tales que:

L(M1) = L y L(M2) = L. A partir de M1 y M2 construmos una maquina M tal que lo que hace es correr en paralelo M1 y M2 siguiendo el esquema siguiente:

Es facil ver que M es un algoritmo para L, y por tanto L es recursivo. Como consecuencia de estos teoremas, se tiene que dado un lenguaje L y su complementario L se tiene una de las siguientes afirmaciones: a) Tanto L como L son recursivos. b) Ni L ni L son recursivamente enumerables. c) O bien L o bien L es recursivamente enumerable pero no recursivo; en ese caso, el otro no es recursivamente enumerable.

5.3 Decidibilidad Teoras Lgicas TERCER PUNTO DE VISTA

Fuente: http://www.buenastareas.com/ensayos/Decidibilidad/369694.html

No obstante, las cotas inferiores que se han encontrado para problemas de pequea complejidad son decepcionantes . De hecho, no hay ninguna cota inferior en tiempo que sea no lineal para ningn problema natural en NP, en particular, para ninguno de los 300 problemas listados en Garey y Johnson, 1979. Por supuesto, se puede probar por el mtodo de la diagonal la existencia de problemas en NP que requieren tiempo para cualquier k fijo. En el caso de las cotas inferiores en espacio, ni siquiera se sabe como demostrar la existencia de problemas en NP que no se puedan resolver con espacio sobre una mquina de Turing; y ello a pesar de que la mejor cota superior conocida en muchos problemas naturales es lineal.

Los resultados sobre la jerarqua mencionados anteriormente daban cotas inferiores sobre el tiempo y espacio necesario para computar algunas funciones especficas, pero todas esas funciones parecian artificiales. Por ejemplo, la funcin que da el primer dgito de la salida de la mquina x para la entrada y despues de pasos no puede calcularse en pasos. En 1972, A. Meyer y L. Stockmeyer demostraron que el problema de la equivalencia para expresiones regulares con cuadratura requiere espacio exponencial, y por tanto tiempo exponencial. A partir de este problema puede encontrarse una cota inferior no trivial para un problema "natural" (natural en el sentido que siendo interesante no trate sobre mquinas de cmputo). Poco despues Meyer encontr una cota inferior muy fuerte sobre el tiempo requerido para determinar la verdad de las frmulas en una cierta teora formal decidible. Demostr que cualquier computadora cuyo tiempo de ejecucin estuviese acotado por un nmero fijo de exponenciales ( , , , etc.) no podra decidir correctamente si una frmula era verdadera o no.

Existen muchos problemas que son no computables. Esto es, no hay un algoritmo para resolver tal problema. Este es un enunciado muy fuerte. Se esta afirmando algo mucho mas profundo que cundo se dice que no se conoce un algoritmo para resolver el problema. Se est indicando que nunca se conocer tal algoritmo: que nunca ser posible conocerlo debido a que no existe. Un problema no computable es el de Hilbert y Gdel referente a las superaciones fundamentales con nmeros. A continuacin vamos a describir un problema en apariencia simple de la ciencia de la computacin y se prueba que ningn algoritmo puede resolverlo. Un problema comn entre las instalaciones de computadoras de todo el mundo es que al escribir programas las personas cometen errores que a menudo impiden que los programas terminen. En el habla comn los programadores dicen mi programa entr en un ciclo infinito! Resulta claro que seria beneficioso si los programadores pudieran detectar la existencia de ciclos infinitos en sus programas antes de desperdiciar recursos de la computadora al ejecutarlos. Por lo tanto el problema que sera conveniente resolver es el de determinar si un programa arbitrario contiene un ciclo infinito. Planteando esto de otra forma, el problema consiste en determinar si un programa arbitrario se detiene o no. A esto se le denomina problema de detencin. Su solucin es un algoritmo que, dado un programa arbitrario P y sus datos de entrada D, puedan indicarnos si P con el tiempo se detendr o no al ejecutarse con los datos de entrada D.

Por el momento la solucin al problema de detencin que se utiliza en la mayora de las instalaciones de computadora es registrar el tiempo que tarda cada programa mientras se est ejecutando y abortar de manera forzosa el programa si ste utiliza ms tiempo del que se le asign. Sin embargo, sta es una solucin indeseable por dos razones. En primer lugar, los programas que no terminan desperdiciarn todo el tiempo que se les haya asignado. En segundo lugar, puede suceder en ciertos programas que el programador no pueda calcular el tiempo necesario y por tanto un programa podra abortarse poco antes de que se detuviera con xito de otra manera. Entonces, se podra esperar que las instalaciones en todo el mundo invirtieran considerables esfuerzos intentando plantear un algoritmo para resolver el problema de detencin. Si lo estn haciendo, desperdician su tiempo porque no existe tal algoritmo. El problema de detencin es no computable. Esto puede probarse como sigue. Considrese por el momento que existe un algoritmo para resolver el problema de detencin. Dentese este algoritmo como pruebadetencin. Como se mencion antes, el algoritmo tiene dos entradas P y D de manera que pruebadetencin (P,D) imprimen la respuesta bien si el programa P terminara al ejecutarse con datos de entrada D, e imprime mal de otra manera. En la figura de abajo se ilustra la accin de pruebadetencin.

Ejemplos

Ejemplo 5:
Ejemplo: La Lgica proposicional es decidible, porque existe para ella un algoritmo; la tabla de verdad tal que para cada frmula que combina M formulas atmicas, hay un nmero mximo N = 2M de pasos tal que tras completar estos N pasos el algoritmo siempre decidir si la frmula es vlida o no. Cada "paso" del algoritmo ha sido definido como una lnea de la tabla de verdad La lgica de primer orden es sintcticamente decidible si se limita a predicados con un solo argumento (ver clculo de predicados mondicos). Si se incluyen predicados con dos o ms argumentos, no es decidible. Toda teora completa recursivamente enumerable es decidible sintcticamente. Por otro lado, toda teora que incluya aritmtica bsica es no decidible sintcticamente.

Ejemplo 6: Se denotar como prueba detencin a esta versin limitada dper uebadetencin. Nuevapruebadetencin puede escribirse como Module nuevapruebadetencin(P) {Verificar si el programa P se detiene si se ejecuta con los datos P} pruebadetencin(P,P) Si se considera que existe un algoritmo pruebadetencin y que por tanto existe nuevapruebadetencin, es posible construir el algoritmo que sigue, denominado divertido, que tiene slo una entrada P. Module divertido(P) {A fin de escribir este mdulo se considera que existe pruebadetencin} if nuevapruebadetencin(P) da como salida MAL then detencin else ciclo interminable P divertido Se detiene P(P)? Se detiene divertido(divertido)? S No S No Ciclo interminable detencin ciclo interminable detencin` En la figura de arriba se ilustra la accin del algoritmo divertido .

LINKOGRAFIA

5.1 lenguajes decidibles


http://www.mitecnologico.com/Main/LenguajesDecidibles http://match50.tripod.com/ http://sistemas.itlp.edu.mx/tutoriales/teoriadelacom putacion/t51.htm

LINKOGRAFIA

5.2 EL PROBLEMA DE HALTING


http://sistemas.itlp.edu.mx/tutoriales/teo riadelacomputacion/t52.htm http://antoniojaimes.tripod.com/icc/prese ntaciones/c4-demo-paro.pdf http://es.wikipedia.org/wiki/Problema_de _la_parada

LINKOGRAFIA 5.3 Dicibilidad teoras lgicas


http://www.mitecnologico.com/Main/DecidibilidadTeoriasLogicas http://es.wikipedia.org/wiki/Decidibilidad http://www.filosoficas.unam.mx/~morado/LogicaHoy/alvarado.htm

You might also like