You are on page 1of 8

Introduccin En el desarrollo del siguiente trabajo abordaremos temas como Lenguajes decidibles los problemas de Halting, y a decibilidad de teoras

lgicas los cuales nos permitirn reforzar nuestros conocimientos en el rea de Lenguajes y teora de autmatas, adems el contenido nos permitir profundizar en el tema de la maquina de Turing abordando diferentes aspectos de los comportamientos que se nos podran presentar en el desarrollo de un autmata o de una maquina de Turing.

Unidad V Decibilidad
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. 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. Decimos que un lenguaje L es decidible si L= (M) para una maquina de Turing M tal que: 1.- Si w pertenece a L, entonces M acepta (y por lo tanto se para). 2.- Si w no pertenece a L, entonces M termina parndose, aunque nunca llega a un estado de aceptacin.
Los lenguajes decidibles son cadenas de palabras calculables mediante funciones recursivas por lo cual tambin se les llamas lenguajes recursivos.

Un posible alfabeto sera, {a, b} , y una cadena cualquiera sobre este alfabeto sera, ababba.

Esos son algunos ejemplos de problemas de decisin expresados como lenguajes:


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

Lenguaje decidible     La mquina dice si una cadena pertenece al lenguaje o no. Implica reconocer el complemento del lenguaje. Existen lenguajes aceptables que no son decidibles, Un lenguaje es aceptable pero su complemento no.

Una MT de este tipo se corresponde con nuestro concepto informal de algoritmos, una secuencia bien definida de pasos que siempre termina y genera una respuesta. Si pensamos en el lenguaje L como en un problema, lo que ser frecuente, entonces se

dice que el problema L es decidible si es un lenguaje recursivo, y se dice que es indecidible si no es un lenguaje recursivo. La existencia o no existencia de un algoritmo para resolver un problema a menudo tiene ms importancia que la existencia de una MT que resuelva el problema. Las maquinas de Turing que no garantizan la parada no pueden proporcionarnos la suficiente informacin como para concluir que una cadena no pertenece al lenguaje, por lo que en cierto sentido no resuelven el problema. Por tanto, dividir los problemas entre los lenguajes decidibles (aquellos que se resuelven mediante un algoritmo) e indecidibles, a menudo es mas importante que la divisin entre lenguajes recursivamente e numerables (aquellos para los que existen maquinas de Turing de alguna clase) y lenguajes no recursivamente e numerables (aquellos para los que no existe ninguna MT).relacin entre estas tres clases de lenguajes. 1. Los lenguajes recursivos 2. Los lenguajes que no son recursivamente e numerables. Lenguajes recursivos y recursivamente e numerables. Los lenguajes aceptados por la maquina de Turing son recursivamente e numerables (RE) y el subconjunto de los lenguajes RE que son aceptados por una MT que siempre se para se denominan lenguajes recursivos. Decibilidad e indecibilidad. Decidible es sinnimo de Recursivo, aunque se suele decir que los lenguajes son recursivos y los problemas (que son los lenguajes interpretados como una cuestin) son decidibles. Si un lenguaje no es recursivo, entonces decimos que el problema expresado por dicho lenguaje es indecidible.

5.2 Los Problemas de Halting (Indecidible) 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). Para el problema de Halting no existe un algoritmo que pueda decidir si un programa arbitrario se detendr o no. Su demostracin se realiza por contradiccin/absurdo.

Suponemos que existe una funcin Halt (En nuestro caso particular, escrita en Pascal) que resuelve el problema de Halting: True: Cuando el programa analizado termina. False Cuando el programa analizado no termina. y Suponemos: Est escrita en Pascal Da respuesta en un tiempo finito Sus respuestas son True y False El cdigo que analiza Halt est guardado en el archivo dato_p. Pseudo-Cdigo de nuestro programa:

program test; Var siempre: Boolean; Function Halt: Boolean; Begin ... End; Begin Siempre:= False; If Halt Then Repeat Siempre:= false Until siempre else Writeln (Este programa Termina) End.

Veamos qu ocurre si en dato. p se coloca el cdigo del programa test... Se pueden analizar los siguientes dos casos: 1. Si Halt es TRUE, entonces, de acuerdo a lo supuesto, el programa analizado (TEST) termina luego, TEST termina. Por otro lado, mirando el cdigo de test, si halt es true entra en ciclo infinito, por lo que test NO termina (Contradiccin) 2. Si Halt es False, entonces, de acuerdo a lo supuesto, el programa analizado (TEST) no termina; luego, Test NO termina. Por otro lado, mirando el cdigo de test, test escribe un mensaje y termina; esto significara que Halt termina (Contradiccin) Ya que en ambos casos se producen contradicciones, se asegura que la funcin HALT NO EXISTE El problema de Halting enfocado a las maquinas de Turing. 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 indecidible, es decir, demostr que haba problemas que una maquina no poda resolver. Por todo esto el problema de Halting es un diagnostico que indica que un problema de decisin no es decidible. Al problema de Halting tambin se le puede llamar problema de la parada o problema de la detencin para mquinas de Turing es el ejemplo de problema irresoluble ms conocido. Este fue el primer problema que se demostr formalmente que no tena solucin. Cul es la diferencia entre un problema resoluble y uno irresoluble? Se dice que los problemas de decisin son resolubles si existe un algoritmo que es capaz de responder si o no a cada uno de dichos casos. El concepto de problema indecidible o irresoluble se aplica a problemas de decisin, es

deci lemas a l s que podemos deci si tienen soluci n o no. Dent o deestos problemas, existe un conjunto al que no le podemos asi nar una respuesta, ni afirmati a ni negati a: no existe un algoritmo que nos permita determinar si el problema tiene soluci n. Ejempl # : lema de Hal i Suponemos que tenemos una mquina llamada HM, que recibe como entrada el cdigo de una mquina m y una cadena w. HM aceptara cuando m se detiene y acepta a w, caso contrario HM rechaza. Para probar la reduccin al absurdo, supondremos que HM es decidible.

Ahora bien, supongamos que tenemos otra mquina llamada BM, esta mquina contiene a HM y lo nico que hace es aceptar si HM ha rechazado y entrar en un ciclo infinito cuando HM ha aceptado. O sea que nuestra mquina BM solo negar la salida de HM. Diremos tambi n que HM es representado por la diagonal principal de la tabla donde hay una cantidad infinita de mquinas de Turing. La diagonalizacin radica en que HM es la diagonal de nuestra tabla y aseguramos que en nuestra tabla existe la negacin de HM, o sea que hay una mquina que co ntiene los valores dela negacin de HM. En esta tupla hay un valor que concuerda con la diagonal principal, este elemento representa la aceptacin o rechazo del cdigo de BM. Una vez hechas todas estas afirmaciones, proponemos darle a BM su propio cdigo como Entrada. Qu suceder cuando HM revise el cdigo? Pueden suceder dos cosas: 1. HM determina que BM se detendr, por lo tanto acepta. 2. HM determina que BM entrar en un ciclo infinito, por lo tanto rechaza. En el primer caso HM acepta, por lo tanto BM entra en un ciclo infinito. Cmo pude ser posible que BM entre en un ciclo infinito si HM determin que se detendra? Para tener una respuesta certera analicemos el segundo caso: HM determina que BM entra en un ciclo infinito y rechaza, dado que HM ha rechazado, entonces BM no entra en un ciclo infinito y solo acepta. Ahora si podemos afirmar que lo que tenemos frente a nosotros es una contradiccin. De esta manera hemos probado que HM en realidad es indecidible.

5.3 Decibilidad de Teoras lgicas. A partir de que se define una teora lgica? 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 del 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. 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.

Decibilidad de las teoras lgicas. El desarrollo de la teora de la computabilidad ha ido ntimamente ligado al desarrollo de la lgica matemtica. Esto ha sido as porque la decibilidad de los distintos sistemas lgicos es una cuestin fundamental. Es bastante fcil ver que el clculo proposicional es decidible. Church y Turing demostraron en 1936 que el clculo de predicados no era decidible. Por otro lado, para cada una de las distintas teoras se ha ido estudiando su posible decibilidad. Como ejemplo ms ilustrativo, Tarski demostr que la teora de los nmeros reales era decidible. Por otro lado, son muchos los problemas interesantes que se han demostrado computables. Todas las funciones construidas por recursividad primitiva o minimalizacin a partir de funciones calculables resultan ser calculables como consecuencia de los trabajos de Church y Turing. Pero adems, otras funciones ms complejamente definidas tambin son computables, siendo el resultado ms significativo en relacin con esta cuestin el dado por el siguiente teorema:

Primer teorema de Recursin. Todo operador entre funciones calculables que sea recursivo (esto es que se defina la imagen de f mediante una funcin calculable en trminos de una parte finita de f), tiene una funcin parcial computable que es el menor punto fijo, es decir, esta funcin es un punto fijo y cualquier otro punto fijo del operador es una extensin de esa funcin. Este teorema recibe su nombre porque podemos definir una funcin mediante una ecuacin recursiva ms general que la permitida por la recursividad primitiva, a saber donde es un operador recursivo. El primer teorema de recursin nos dice que esta definicin es posible; hay una funcin recursiva que satisface esta ecuacin. Como en matemticas se requiere que la definicin sea unvoca, se dice que dicha ecuacin define el menor punto fijo del operador. As, y de acuerdo al primer teorema de recursin, la clase de las funciones calculables es cerrada bajo una muy general forma de definicin por recursin. A menudo se utiliza la tcnica de reducir un problema a otro para comprobar si tiene o no solucin efectiva. La estrategia en el caso de la respuesta negativa es la siguiente, si se reduce de forma efectiva un problema sin solucin efectiva a otro problema (mediante una funcin calculable), entonces este nuevo problema tampoco tendr solucin efectiva. La razn es muy simple, si tuviese solucin efectiva, componiendo el algoritmo solucin con el algoritmo de transformacin obtendramos una solucin para el problema efectivamente irresoluble. En sentido inverso, si se reduce un problema a otro para el que se conoce una solucin efectiva, entonces componiendo se obtiene una solucin para el primer problema. Esta tcnica es muy til y se utiliza a menudo. Por otro lado, esta misma tcnica es muy empleada en el campo de la complejidad algortmica. Para asegurarse de que un problema est en una clase de complejidad, basta reducir el problema a otro de dicha clase sin ms que asegurarse que la reduccin se realiza en la correspondiente clase de complejidad.

Conclusin En este documento se hablo acerca de decibilidad, esta se refiere a la existencia de un mtodo efectivo para determinar si un objeto es miembro de un conjunto. Un sistema es decidible si el conjunto de todas las formulas validas pertenecen al conjunto, es decir, existe un algoritmo tal que para cada formula del sistema es capaz de decidir en un cierto numero de pasos, si la formula es valida o no . Pudimos observar que la decibilldad no es un tema aparte del de la Maquina de Turing, sino que se complementan. Este es un tema importante para conocer al momento de estudiar el lenguaje de una computadora para nosotros como Ingenieros en Sistemas, ya que en un momento dado hasta podramos mejorar la forma de comunicarnos con las maquinas (computadora), tal como lo han hecho todos aquellos quienes en su tiempo revolucionaron la tecnologa al desarrollar los lenguajes existentes. Asi que en resumen, la decibilidad solo se refiere a la toma de decisiones acerca de si es o no es un objeto, basndose en algo ya preestablecido.

Bibliografa Introduccin a la teora de autmatas lenguajes y computacin Tercera edicion John E. hopcroft Cornell university Rajeev Montawani Stanford University Jeffrey D. Ullman Stanford University ..Ed Prearson
http://www.mitecnologico.com/Main/DecidibilidadTeoriasLogicas http://sistemas.itlp.edu.mx/tutoriales/teoriadelacomputacion/t53.htm