En la teoría de la computabilidad , el teorema de Rice-Shapiro es una generalización del teorema de Rice , que lleva el nombre de Henry Gordon Rice y Norman Shapiro . Este teorema establece que cuando una propiedad semidecidible de funciones computables parciales se cumple en una determinada función parcial , se puede extraer una subfunción finita tal que la propiedad siga siendo cierta.
La idea informal del teorema es que la "única forma general" de obtener información sobre el comportamiento de un programa es ejecutarlo, y dado que un cálculo es finito, solo se puede probar el programa con un número finito de entradas.
Un teorema estrechamente relacionado es el teorema de Kreisel-Lacombe-Shoenfield-Tseitin (o teorema KLST ), que fue obtenido independientemente por Georg Kreisel , Daniel Lacombe y Joseph R. Shoenfield [ 1 ] , y por Grigori Tseitin [ 2 ] .
Declaración formal
Teorema de Rice-Shapiro. [ 3 ] : 482 [ 4 ] [ 5 ] Seasea un conjunto de funciones computables parciales tales que el conjunto de índices de(es decir, el conjunto de índicesde tal manera que, para alguna numeración admisible fija) es semidecidible . Entonces, para cualquier función parcialmente computable, sostiene quecontienesi y solo sicontiene una subfunción finita de(es decir, una función parcial definida en un número finito de puntos, que toma los mismos valores quesobre esos puntos).
Teorema de Kreisel-Lacombe-Shoenfield-Tseitin. [ 3 ] : 362 [ 1 ] [ 2 ] [ 6 ] [ 7 ] [ 8 ] : 440 Seasea un conjunto de funciones computables totales tales que el conjunto de índices dees decidible con la promesa de que la entrada es el índice de una función computable total (es decir, hay una función computable parcial)que, dado un índicede tal manera quees total, devuelve 1 siy 0 en caso contrario;no es necesario definirlo sino es total). Decimos que dos funciones totales,"aceptar hasta" sise aplica a todos. Entonces, para cualquier función computable total, existede tal manera que para toda función computable totallo cual concuerda conhasta, tenemos.
Ejemplos
Según el teorema de Rice-Shapiro, no es ni semidecidible ni cosemidecidible si un programa dado:
- Termina en todas las entradas ( problema de parada universal );
- Finaliza con un número finito de entradas;
- Es equivalente a otro programa fijo.
Según el teorema de Kreisel-Lacombe-Shoenfield-Tseitin, es indecidible si un programa dado, que se supone que siempre termina ,
- Siempre devuelve un número par ;
- Es equivalente a otro programa fijo que siempre termina;
- Siempre devuelve el mismo valor.
Discusión
Los dos teoremas están estrechamente relacionados y también se relacionan con el teorema de Rice . Específicamente:
- El teorema de Rice se aplica a conjuntos decidibles de funciones computables parciales , concluyendo que deben ser triviales.
- El teorema de Rice-Shapiro se aplica a conjuntos semidecidibles de funciones parcialmente computables , concluyendo que solo pueden reconocer elementos basándose en un número finito de valores.
- El teorema de Kreisel-Lacombe-Shoenfield-Tseitin se aplica a conjuntos decidibles de funciones computables totales , con una conclusión similar a la del teorema de Rice-Shapiro.
Es natural preguntarse qué se puede decir acerca de los conjuntos semidecidibles de funciones computables totales . Quizás sorprendentemente, estos no necesitan verificar la conclusión de los teoremas de Rice-Shapiro y Kreisel-Lacombe-Shoenfield-Tseitin. El siguiente contraejemplo se debe a Richard M. Friedberg . [ 9 ] [ 8 ] : 444
Dejarsea el conjunto de funciones computables totalesde tal manera queno es la función cero constante y, definiendoser el índice máximo tal quees cero, existe un programa de códigode tal manera queestá definido y es igual apara cada. Dejarser el conjuntocon la función de cero constante añadida.
Por un lado,contiene la función cero constante por definición, sin embargo no hayde tal manera que si un total computablecoincide con la función cero constante hastaentonces. De hecho, dado, podemos definir una función totalal establecera algún valor mayor que cadaparade tal manera quese define ypara. La funciónes cero excepto en el valor, por lo tanto computable, coincide con la función cero hasta, pero no pertenece apor construcción.
Por otro lado, dado un programay una promesa de quees total, es posible decidir parcialmente simediante la integración, ejecutando una tarea para decidir parcialmente., lo cual claramente se puede hacer, y otra tarea es decidir parcialmente sia pesar deEsto es correcto porque la función cero es detectada por la segunda tarea y, a la inversa, si la segunda tarea devuelve verdadero, entonces o bienes cero, oes solo cero hasta un índice, que debe satisfacer, que por definición deimplica que.
Demostración del teorema de Rice-Shapiro
DejarSea un conjunto de funciones parcialmente computables con un conjunto de índices semidecidible. Demostramos las dos implicaciones por separado.
Cierre hacia arriba
Primero demostramos que sies una subfunción finita deyentonces. La hipótesis de queEs finito, de hecho, no sirve para nada.
La demostración utiliza un argumento diagonal típico de los teoremas de computabilidad. Construimos un programa.de la siguiente manera. Este programa toma una entrada. Utilizando una técnica de ensamblaje estándar ,ejecuta dos tareas en paralelo.
- La primera tarea ejecuta un semialgoritmo que semidecideenél mismo (puede obtener acceso a su propio código fuente mediante el teorema de recursión de Kleene ). Si esto finalmente devuelve verdadero, entonces esta primera tarea continúa ejecutando un semialgoritmo que semicalculaen(la entrada a), y si eso termina, entonces la tarea hacecomo un todo regresa.
- La segunda tarea ejecuta un semialgoritmo que semicalculaenSi esto devuelve verdadero, entonces la tarea realizacomo un todo regresa.
Si, la primera tarea nunca puede terminar, por lo tanto el resultado deestá totalmente determinado por la segunda tarea, por lo tantoes simplemente, una contradicción. Esto demuestra que.
Por lo tanto, ambas tareas son relevantes; sin embargo, debido aes una subfunción dey la segunda tarea regresacuandose define, mientras que la primera tarea devuelvecuando se define, el programa de hecho calcula, es decir,y por lo tanto.
Extracción de una subfunción finita
Por el contrario, demostramos que sicontiene una función computable parcial, entonces contiene una subfunción finita deVamos a arreglarlo.Construimos un programaque toma entraday ejecuta los siguientes pasos:
- Correrpasos de cálculo de un semialgoritmo que semidecide, conél mismo como entrada. Si este semialgoritmo termina y devuelve verdadero, entonces entra en un bucle indefinido.
- De lo contrario, semicomputacióneny si esto termina, devuelve el resultado..
Supongamos que. Esto implica que el semialgoritmo para la semidecisiónutilizado en el primer paso nunca devuelve verdadero. Luego,calculay esto contradice la suposiciónPor lo tanto, debemos tenery el algoritmo para la semidecisióndevuelve verdadero endespués de un cierto número de pasos. La función parcialsolo se puede definir en las entradasde tal manera quey regresaen tales entradas, por lo que es una subfunción finita deque pertenece a.
Prueba del teorema de Kreisel-Lacombe-Shoenfield-Tseitin
Preliminares
Una función totalSe dice que es en última instancia cero si siempre toma el valor cero excepto para un número finito de puntos, es decir, existede tal manera quea pesar deTenga en cuenta que dicha función siempre es computable (se puede calcular simplemente comprobando si la entrada está en una lista predefinida determinada y, en caso contrario, devolviendo cero).
Nosotros arreglamosuna enumeración computable de todas las funciones totales que en última instancia son cero, es decir,es tal que:
- A pesar de, la funciónen última instancia es cero;
- Para toda la función totalque en última instancia es cero, existede tal manera que;
- La funciónes en sí mismo totalmente computable.
Podemos construirmediante técnicas estándar (por ejemplo, para aumentar, enumerar funciones que en última instancia son cero y que están acotadas pory cero en entradas mayores que).
Aproximación mediante funciones que terminan siendo cero
Dejarsea como en el enunciado del teorema: un conjunto de funciones computables totales tales que existe un algoritmo que, dado un índicey una promesa de quees total, decide si.
Primero demostramos un lema: Para toda función computable totaly para todos los enteros, existe una función que en última instancia es cerode tal manera queestá de acuerdo conhasta, y.
Para demostrar este lema, fijemos una función computable total.y un número enteroy dejarser el booleano. Crea un programaque toma entraday toma las siguientes medidas:
- Siluego regresar;
- De lo contrario, correpasos de cálculo del algoritmo que decideeny si esto regresa, entonces devuelve cero;
- De lo contrario, devuelva.
Claramente,siempre termina, es decir,es total. Por lo tanto, la promesa deseguir corriendose cumple.
Supongamos por contradicción que uno deypertenece ay el otro no, es decir,. Entonces vemos quecalcula, desdeno regresaensin importar la cantidad de pasos. Por lo tanto, tenemos, contradiciendo el hecho de que uno deypertenece ay el otro no. Este argumento demuestra que. Luego, el segundo paso hacedevolver cero para suficientemente grande, de este modoes en última instancia cero; y por construcción (debido al primer paso),está de acuerdo conhastaPor lo tanto, podemos tomary el lema queda demostrado.
Prueba principal
Con el lema anterior, ahora podemos demostrar el teorema de Kreisel-Lacombe-Shoenfield-Tseitin. Nuevamente, fijemoscomo en el enunciado del teorema, seasea una función totalmente computable y dejemos queser el booleano "". Construye el programaque toma entraday ejecuta estos pasos:
- Correrpasos de cálculo del algoritmo que decideen.
- Si esto regresaen un cierto número de pasos(que es como máximo), luego buscar en paralelode tal manera queestá de acuerdo conhastay. Tan pronto como talSe encuentra, regresa.
- De lo contrario (sino regresóenenpasos), regresar.
Primero demostramos quedevolucionesenSupongamos por contradicción que este no es el caso (devoluciones, ono termina). Entoncesrealmente calcula. En particular,es total, por lo que la promesa decuando se ejecuta ense cumple ydevuelve el valor booleano, que es, es decir,, lo cual contradice la suposición.
Dejarsea el número de pasos quetarda en regresarenAfirmamos quesatisface la conclusión del teorema: para toda función computable totallo cual concuerda conhasta, sostiene queSupongamos por contradicción que existetotal computable que concuerda conhastay tal que.
Aplicando el lema nuevamente, existede tal manera queestá de acuerdo conhastay. Dado que ambosyestar de acuerdo conhasta,también está de acuerdo conhastay desde entoncesy, tenemos. Por lo tanto,satisface las condiciones del paso de búsqueda paralela en el programa, a saber:está de acuerdo conhastayEsto demuestra que la búsqueda en el segundo paso siempre termina. Lo solucionamos.ser el valor que encuentra.
Observamos queDe hecho, cualquiera de los dos pasos es el segundo paso dedevolucioneso el tercer paso regresa, pero este último caso solo ocurre paray sabemos queestá de acuerdo conhasta.
En particular,es total. Esto hace la promesa deseguir corriendocumplido, por lo tantodevolucionesen.
Hemos encontrado una contradicción: por un lado, el booleanoes el valor de retorno deen, que esy por otro lado, tenemosy sabemos que.
Perspectiva desde la topología efectiva
Para cualquier función unaria finitaen enteros, seadenotan el 'tronco de tronco' de todas las funciones recursivas parciales que están definidas y coinciden con, endominio de.
Equipar el conjunto de todas las funciones recursivas parciales con la topología generada por estos troncos como base . Nótese que para cada tronco, el conjunto de índiceses recursivamente enumerable. De manera más general, se cumple para cada conjunto. de funciones parcialmente recursivas:
es recursivamente enumerable si y solo si es una unión recursivamente enumerable de troncos de pirámide.
Aplicaciones
El teorema de Kreisel-Lacombe-Shoenfield-Tseitin se ha aplicado a problemas fundamentales en la teoría de la elección social computacional (más ampliamente, en la teoría de juegos algorítmica ). Por ejemplo, Kumabe y Mihara [ 10 ] [ 11 ] aplican este resultado a una investigación de los números de Nakamura para juegos simples en la teoría de juegos cooperativos y la teoría de la elección social .
Notas
- 1 2 Kreisel, Georg ; Lacombe, Daniel ; Shoenfield, Joseph R. (1959). "Funcionales recursivos parciales y operaciones efectivas". En Heyting, Arend (ed.). Constructividad en matemáticas . Estudios de lógica y fundamentos de las matemáticas. Ámsterdam: North-Holland. pp. 290–297 .
- 1 2 Tseitin, Grigori (1959). "Operadores algorítmicos en espacios métricos separables completos constructivos". Doklady Akademii Nauk . 128 : 49-52.
- 1 2 Rogers Jr., Hartley (1987). Teoría de las funciones recursivas y la computabilidad efectiva . MIT Press. ISBN 0-262-68052-1.
- ↑ Cutland, Nigel (1980). Computabilidad: una introducción a la teoría de funciones recursivas . Cambridge University Press.; Teorema 7-2.16.
- ↑ Odifreddi, Piergiorgio (1989). Teoría clásica de la recursión . North Holland.
- ↑ Moschovakis, Yiannis N. (junio de 2010). "El asombroso segundo teorema de recursión de Kleene" (PDF) . The Bulletin of Symbolic Logic . 16 (2): 189– 239. doi : 10.2178/bsl/1286889124 .
- ↑ Royer, James S. (junio de 1997). "Semántica vs. Sintaxis vs. Computaciones: Modelos de máquinas para funcionales de tiempo polinomial acotado de tipo 2" . Journal of Computer and System Sciences . 54 (3): 424–436 . doi : 10.1006/jcss.1997.1487 .
- 1 2 Longley, John; Normann, Dag (2015). Computabilidad de orden superior . Teoría y aplicaciones de la computabilidad. Springer. doi : 10.1007/978-3-662-47992-6 . ISBN 978-3-662-47991-9.
- ^ Friedberg, Richard M. (1958). "Un contraejemplo relativo a funciones recursivas". Cuentas de resultados de la Academia de Ciencias . 247 : 852–854 .
- ↑ Kumabe, M.; Mihara, HR (2008). "Los números de Nakamura para juegos simples computables" . Social Choice and Welfare . 31 (4): 621. arXiv : 1107.0439 . doi : 10.1007/s00355-008-0300-5 . S2CID 8106333 .
- ↑ Kumabe, M.; Mihara, HR (2008). "Computabilidad de juegos simples: una caracterización y aplicación al núcleo" . Journal of Mathematical Economics . 44 ( 3–4 ): 348–366 . arXiv : 0705.3227 . doi : 10.1016/j.jmateco.2007.05.012 . S2CID 8618118 .
- Teoremas en los fundamentos de las matemáticas
- Teoremas en teoría de la computación