Decibilidad y Reducibilidad
-
Upload
sandra-vazquez -
Category
Documents
-
view
225 -
download
0
Transcript of Decibilidad y Reducibilidad
-
7/29/2019 Decibilidad y Reducibilidad
1/17
DECIBILIDAD
En lgica, el trmino decidible se refiere a la existencia de un mtodoefectivo para determinar si un objeto es miembro de un conjunto defrmulas.
Un sistema lgico o teora es decidible sintcticamente si el conjunto detodas las frmulas vlidas en el sistema es decidible. Es decir, existe unalgoritmo tal que para cada frmula del sistema es capaz de decidir en unnmero finito de pasos si la frmula es vlida o no en el sistema.Por otra parte, una teora decidible semnticamente, es un sistemaaxiomtico donde existe un mtodo para evidenciar que toda proposicinverdadera en un modelo es decidible o no en el sistema en concreto.
Ejemplo: La Lgica proposicional es decidible, porque existe para ella unalgoritmo; la tabla de verdad tal que para cada frmula que combina Mformulas atmicas, hay un nmero mximo N = 2M de pasos tal que trascompletar estos N pasos el algoritmo siempre decidir si la frmula esvlida o no. Cada "paso" del algoritmo ha sido definido como una lnea dela 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 decidiblesintcticamente. Por otro lado, toda teora que incluya aritmtica bsica esno decidible sintcticamente.
Lenguajes Decidibles
Existen problemas que no pueden ser resueltos por una computadora,dado que las computadoras solamente pueden ejecutar algoritmos, estoes secuencia de instrucciones universalmente precisas y entendibles queresuelven cualquier instancia de problemas computacionales definidosrigurosamente.
http://es.wikipedia.org/wiki/Sistema_axiom%C3%A1ticohttp://es.wikipedia.org/wiki/Sistema_axiom%C3%A1ticohttp://es.wikipedia.org/wiki/L%C3%B3gica_proposicionalhttp://es.wikipedia.org/wiki/Tabla_de_verdadhttp://es.wikipedia.org/wiki/L%C3%B3gica_de_primer_ordenhttp://es.wikipedia.org/w/index.php?title=C%C3%A1lculo_de_predicados_mon%C3%B3dicos&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Teor%C3%ADa_completa&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Recursivamente_enumerable&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Recursivamente_enumerable&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Teor%C3%ADa_completa&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=C%C3%A1lculo_de_predicados_mon%C3%B3dicos&action=edit&redlink=1http://es.wikipedia.org/wiki/L%C3%B3gica_de_primer_ordenhttp://es.wikipedia.org/wiki/Tabla_de_verdadhttp://es.wikipedia.org/wiki/L%C3%B3gica_proposicionalhttp://es.wikipedia.org/wiki/Sistema_axiom%C3%A1ticohttp://es.wikipedia.org/wiki/Sistema_axiom%C3%A1tico -
7/29/2019 Decibilidad y Reducibilidad
2/17
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 problemasde 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 (entrminos 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.
Lenguaje decidible: es aquel lenguaje L para el cual existe unamquina de Turing que puede aceptar cualquier cadena wL y
rechazar cualquier cadena wL.
Lenguaje aceptable: es aquel lenguaje L para el cual no existeninguna mquina de Turing que puede aceptar cualquier cadena w
L y rechazar cualquier cadena wL.
Lenguajes recursivamente enumerables: lenguajes estructuradospor frases.
Lenguajes recursivos: lenguajes decidibles por una mquina deTuring.
El problema del paro o de Halting
-
7/29/2019 Decibilidad y Reducibilidad
3/17
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 MTh capaz de determinar si cualquier otra
mquina se va a detener o no.
Es conocido que el problema del alto es indecidible. Para demostrar que el
problema del alto es indecidible tenemos que probar la siguiente
afirmacin:
NO existe una mquina MT NO existe una mquina MTh h que tomando
como entrada cualquier mquina MT0, termine despus de un tiempo
finito y responda S cuando MT0termine y NO cuando MT0 no termine.
Si MTh existe el problema es decidible.
Cuando MT0 termina
MT0
Cuando MT0 no termina
Si MTh NO existe el problema es indecidible
Por contradiccin demostraremos que no existe una mquina MTh que
resuelva el problema del alto.
Hiptesis:
Supondremos que existe MTh.
MTh
MT0 termina?
SI
NO
-
7/29/2019 Decibilidad y Reducibilidad
4/17
Al final llegaremos a una contradiccin derivada de esta hiptesis.
Construyamos una nueva mquina MTs que se comporte de la siguiente
manera:
La nueva mquina MTs tomar como entrada una mquina dadaMT0.
MTs ejecutar la mquina MTh y le dar como entrada la mquinaMT0. Por hiptesis, MTh terminar en algn momento y responder
S o NO (segn MT0 termine o no).
Si MTh dice S, entonces MTs entra en un ciclo infinito y no termina. Si MTh dice NO, entonces MTs se detiene inmediatamente (la salida
no importa).
MT MTs termina cuando es la entrada de s misma.
-
7/29/2019 Decibilidad y Reducibilidad
5/17
Por hiptesis, MTh responder S ya que supusimos que MTs termina.
-
7/29/2019 Decibilidad y Reducibilidad
6/17
Una vez que MTh responde S, comienza un ciclo infinito.
Esto implica que la suposicin de que MTs termina al aplicarse a s misma,
implica que MTs no termina!
-
7/29/2019 Decibilidad y Reducibilidad
7/17
|
REDUCIBILIDAD
Se dice que un problema L1 se reduce en tiempo polinomial determinstico
a otro problema L2, si asumiendo que existe un algoritmo A2 en P que
resuelve L2 es posible construir un algoritmo A1 en P que resuelva L1.
Escribiremos L1 W L2 para significar que L1 se reduce a L2. Intuitiva: Unaproblema P1 se reduce polinomialmente a otro problema P2, si existe un
algoritmo que transforme una instancia del problema P1 en una instancia
del problema P2 en tiempo polinomial determinstico.
Problemas insolubles para la teora de lenguajes.
Sea el problema Palguna el siguiente problema:
Pacept: Existe un procedimiento efectivo capaz de determinar si unamquina de Turing se detiene sobre alguna cadena?
Para demostrar que Palguna no es soluble, comenzaremos suponiendo
que lo es, llegando de esta manera a un absurdo. Este absurdo tendr
-
7/29/2019 Decibilidad y Reducibilidad
8/17
lugar debido a que la solubilidad de Palguna implica la solubilidad de Pdet.
Expresado de otra manera, demostramos que Pdet se reduce a Palguna.
Demostracin:
Supongamos que Palguna es un problema de decisin soluble. Al ser un
problema soluble, entonces existe un procedimiento efectivo (o mquina
universal de Turing), Alguna, que resuelve Palguna. Alguna toma como
datos de entrada la descripcin de una mquina de Turing T y determina en
un tiempo finito si T se detiene sobre alguna cadena o no. Es decir alguna
recibe como entrada (T) y retorna un 1 si T se detiene para alguna cadena,
mientras que devuelve la salida 0 si T no se detiene para ninguna cadena.
Construyamos a partir de Alguna, un procedimiento efectivo (o mquina
universal de Turing) Detencin.
La mquina Detencin recibe como entrada un par (T,), el problema
Palguna solo tiene como entrada una mquina de Turing, por lo que
necesitamos un proceso adicional que combine T y de manera que las
respuestas de Alguna, respondan el problema de la detencin. Este
proceso adicional se lleva a cabo en la mquina universal X que realiza lo
siguiente:
-
7/29/2019 Decibilidad y Reducibilidad
9/17
a) Recibe como dato de entrada la mquina de Turing T y la cadena .b)Construye una mquina de Turing T tal que:
i. Para la cadena se comporta como la mquina de Turing T.ii. Para toda cadena que no sea la nueva mquina T nunca se
detiene o cicla indefinidamente.
Combinando las mquinas universales Alguna y X, tenemos la mquina
universal Detencin que tiene el siguiente comportamiento:
1. Detencin recibe como entrada el par (T, ).2. La mquina universal Detencin utiliza X, la cual a partir de T y
construye la nueva mquina de Turing T.
3. La mquina de Turing T obtenida en el paso anterior es ingresada a lamquina universal Alguna.
4. Si la respuesta de Alguna es 1 entonces T se detiene para algunacadena. De la manera en la que construimos T esa cadena
necesariamente es la cadena (ya que para el resto sabemos que la
mquina siempre cicla) como el comportamiento de T frente a la
cadena es el mismo que tiene la mquina T entonces podemos
afirmar que T se detiene sobre y que por lo tanto Detencin emite
un 1.5. Si la respuesta de Alguna es 0 entonces T no se detiene para ninguna
cadena. De la manera en la que construimos T la nica cadena sobre
la que T poda detenerse era y que el comportamiento frente a
esta cadena era el mismo que el de la mquina T. Podemos
entonces afirmar, que la mquina de Turing T tampoco se detiene
frente a la cadena y que por lo tanto la respuesta que emite
Detencin es igual a 0.
Conclusin:
La mquina universal Detencin retorna 1 (T se detiene sobre ) siAlguna retorna 1 (T se detiene sobre alguna cadena).
La mquina universal Detencin retorna 0 (T no se detiene sobre )si Alguna retorna 0 (T se detiene sobre ninguna cadena).
-
7/29/2019 Decibilidad y Reducibilidad
10/17
Hemos mostrado como construir la mquina universal Detencin que
resuelve el problema de la detencin a partir de la mquina universal
Alguna que resuelve un problema que supusimos soluble. Sabemos por
hiptesis que el problema de la detencin es un problema insoluble, por lo
tanto la solucin encontrada mediante la mquina universal Detencin no
puede existir. Lo que implica que alguna de sus componentes no puede
existir, es decir o bien Alguna, o bien X no existe. Como por construccin
X existe, luego Alguna no puede existir. Podemos entonces concluir que
Palguna es un problema no-soluble.
Un problema simple Insoluble.
Sea el problema Pacept el siguiente problema:
Pacept: Existe un procedimiento efectivo capaz de determinar si unamquina de Turing acepta una determinada cadena ?
Otra manera de formular el problema sera:
Pacept: Existe un procedimiento efectivo capaz de determinar si unadeterminada cadena, , pertenece al lenguaje que reconoce lamquina de Turing T?
Para demostrar que Pacept no es soluble, comenzaremos suponiendo que
lo es, llegando de esta manera a un absurdo. Este absurdo tendr lugar
debido a que la solubilidad de Pacept implica la solubilidad de Pdet.
Expresado de otra manera, demostramos que Pdet se reduce a Pacept.
Demostracin:
Supongamos que Pacept es un problema de decisin soluble. Al ser un
problema soluble, entonces existe un procedimiento efectivo (o mquina
universal de Turing), X, que resuelve
-
7/29/2019 Decibilidad y Reducibilidad
11/17
Pacept. X toma como datos de entrada la descripcin de una mquina de
Turing T y una cadena y determina en un tiempo finito si T acepta o no a
la cadena . Es decir X recibe como entrada al par (T,) y retorna un 1 si T
acepta , mientras que devuelve la salida 0 si T no acepta .
Construyamos a partir de X, un procedimiento efectivo (o mquina
universal de Turing) Y
La mquina Y recibe como entrada un par (T,), la cadena de ambos
problemas es la misma, lo que necesitamos es un proceso adicional que
modifique T de manera que las respuestas de X, respondan el problema de
la detencin. Este proceso adicional se lleva a cabo en la mquina universalX que realiza lo siguiente:
a) Recibe como dato de entrada la mquina de Turing T.b)Modifica T manteniendo su definicin de quntuplas pero indicando
que todos los estados son aceptadores.
-
7/29/2019 Decibilidad y Reducibilidad
12/17
c) Retorna la mquina modificada con el nombre T.Combinando las mquinas X y X, tenemos la mquina universal Y que
tiene el siguiente comportamiento:
1. Y recibe como entrada el par (T, ).2. La mquina universal Y utiliza X, la cual a partir de T construye T.3. El par (T, ) es ingresado a la mquina universal X.4. Si la respuesta de X es 1 entonces T acepta pero entonces T se
detiene sobre . Dado que T se comporta como T solo que siempre
que se detiene acepta, podemos afirmar que T se detiene sobre y
que por lo tanto Y emite un 1.
5. Si la respuesta de X es 0 entonces T no acepta pero entonces T nose detiene sobre . Dado que T tiene a todos sus estados como
aceptadores, significa que para no aceptar la cadena, la nica
posibilidad es que T no se haya detenido. Como T se comporta como
T, podemos afirmar que esta tampoco se detiene y por lo tanto Y
emite un 0, ya que T no se detiene sobre .
Conclusin:
La mquina universal Yretorna 1 (
Tse detiene sobre ) siX retorna 1
(Tacepta ).
La mquina universal Y retorna 0 (T no se detiene sobre ) si Xretorna 0 (Tno acepta ).
Hemos mostrado como construir la mquina universal Y que resuelve el
problema de la detencin a partir de la mquina universal X que resuelve
un problema que supusimos soluble.
Sabemos por hiptesis que el problema de la detencin es un problemainsoluble, por lo tanto la solucin encontrada mediante la mquina
universal Y no puede existir. Lo que implica que alguna de sus
componentes no puede existir, es decir o bien X, o bien X no existe.
Como por construccin X existe, luego X no. Podemos entonces concluir
que Pacept es un problema no-soluble.
-
7/29/2019 Decibilidad y Reducibilidad
13/17
Funcin computable
Las funciones computables son el objeto bsico de estudio de la teora de
la computabilidad y consisten en las funciones que pueden ser calculadas
por una mquina de Turing. Las funciones computables son una
formalizacin de la nocin intuitiva de algoritmo y segn la Tesis de
Church-Turing son exactamente las funciones que pueden ser calculadas
con una mquina de clculo. La nocin de la computabilidad de una
funcin puede ser relativizada a un conjunto arbitrario de nmeros
naturales A, o equivalentemente a una funcin arbitraria f de los naturalesa los naturales, por medio de mquinas de Turing extendidas con un
orculo por A o f. Tales funciones puede ser llamados A-computable o f-
computable respectivamente. Antes la definicin precisa de una funcin
computable los matemticos usaban el trmino informal efectivamente
computable. Las funciones computables son usadas para discutir
computabilidad sin referirse a ningn modelo de computacin concreto,
como el de la mquina de Turing o el de la mquina de registros. Los
axiomas de Blum pueden ser usados para definir una teora de complejidad
computacional abstracta sobre el conjunto de funciones computables.
Las funciones computables son las que se calculan por programas-while .
Si P es un programa-while y es la lista de variables en P entonces
consideraremos a las primeras variables como variables de entrada y a las
ltimas como de salida, de manera slo un poco ms precisa, para
consideraremos
-
7/29/2019 Decibilidad y Reducibilidad
14/17
El programa Pcalcula, o computa, a la funcin
donde
En este caso definimos,
En adelante omitiremos los subndices n,m y k. escomputable si existe un programa-while tal que f=fP.
Segn la Tesis de Church-Turing, la clase de funciones computables es
equivalente a la clase de funciones definidas por funciones recursivas,
clculo lambda, o algoritmos de Markov.
Alternativamente se pueden definir como los algoritmos que pueden ser
calculados por una mquina de Turing, una mquina de Post, o una
mquina de registros.
En teora de la complejidad computacional, el problema de determinar la
complejidad de una funcin computable esta conocido como un problema
de funciones.
-
7/29/2019 Decibilidad y Reducibilidad
15/17
Una funcin parcial
se llama parcialmente computable si el grfico de f es un
conjunto recursivamente enumerable. El conjunto de funciones
parcialmente computables con un parmetro es normalmente escritoo si el nmero de parmetros puede deducirse del contexto.
Una funcin total
se llama computable si el grfico de f es un conjunto recursivo.
El conjunto de funciones totalmente computables con un parmetro
normalmente se escribe o
Una funcin computable f se llama predicado computable si es una funcin
con valor booleano, es decir .
Propiedades
El conjunto de las funciones computables es numerable. Si f y g son funciones computables entonces f + g, fg y fog son
funciones computables.
Las funciones computables son definibles aritmticamente. Una funcin con valor booleano f es un predicado computable si y
slo si el lenguaje es recursivo.
Otra aportacin remarcable fue la definicin de una Mquina Universal(MU):
Una Mquina de Turing que emula el comportamiento de cualquier otra
MT. La MU lee de la cinta la descripcin finita de la mquina a emular M y
una entrada para dicha mquina. Entonces produce la misma salida que M
-
7/29/2019 Decibilidad y Reducibilidad
16/17
-
7/29/2019 Decibilidad y Reducibilidad
17/17
existen, en la esperanza de que no fueran completos respecto reducciones
de Turing. La idea era procurar que los complementarios fueran lo ms
delgados posible en cierto sentido intuitivo: en un inmune no cabe un
recursivamente enumerable y en un hiperinmune (complementario de un
hipersimple) el siguiente elemento esta siempre demasiado lejos para loque puede lograr enumerar una funcin recursiva. Sin embargo ms
adelante se estableci que existen hiper-hipersimples que son T completos
e incluso que existen recursivamente numerables maximales respecto a la
inclusin, y por tanto con complementario lo ms delgado posible en
este sentido intuitivo, y que son T completos.
La solucin finalmente requiri un concepto tcnico nuevo, las
construcciones por mtodos de prioridad, que extendieron otra de las
varias contribuciones de Post. Merece la pena comentar que actualmente
existen varias demostraciones diferentes, algunas de las cuales pueden
considerarse la culminacin del programa estructural de Post; pese a lo
cual, los mtodos de prioridad han de verse como el camino apropiado de
solucin.