¿Ha habido intentos de demostrar que la aleatoriedad de Kolmogorov sería suficiente para RP ? ¿La probabilidad utilizada en el enunciado "Si la respuesta correcta es SÍ, entonces (la máquina probabilística de Turing) devuelve SÍ con probabilidad ..." siempre estaría bien definida en ese caso? ¿O solo habría límites superior e inferior para esa probabilidad? ¿O solo habrá siempre una máquina de Turing probabilística, para la cual las probabilidades estarían bien definidas (o al menos el límite inferior que debería ser mayor que 1/2)?
La clase RP aquí es relativamente arbitraria, y uno también podría hacer esta pregunta para nociones más débiles de (pseudo-) aleatoriedad que la aleatoriedad de Kolmogorov. Pero la aleatoriedad de Kolmogorov parece ser un buen punto de partida.
Darle sentido a la palabra "probabilidad" sería parte de un intento de demostrar que la aleatoriedad de Kolmogorov funciona para RP. Sin embargo, permítanme tratar de describir un posible enfoque, para aclarar lo que podría significar y por qué hablé sobre los límites superior e inferior:
Vamos ser una cadena (Kolmogorov al azar). Sea la máquina de Turing probabilística dada correspondiente a un lenguaje de RP. Ejecute con como fuente de bits aleatorios veces, continuando consumiendo bits previamente no consumidos de uno tras otro.A A s n s
Para , deje que y . Observe que y están bien definidos para una cadena dada , aunque no sería aleatorio. Pero uno puede preguntarse si en caso de que sea aleatorio de Kolmogorov, o si para dos cadenas arbitrarias arbitrarias de Kolmogorov y . O si existe un tal que para cualquier cadena aleatoria de Kolmogorov p s + :=lim supn→∞p s n p s - :=lim infn→∞p s n p s + p s - sp s + =p s - sp s 1 - =p s 2 - s1s2p≥1/2p≤ s .
fuente
Respuestas:
Creo que la pregunta que se hace aquí es más o menos " ¿hay algún sentido en el que podamos reemplazar la secuencia de bits aleatorios en un algoritmo con bits extraídos de manera determinista de una cadena aleatoria de Kolmogorov adecuadamente larga? " Esta es al menos la pregunta que intentaré ¡responder! (La respuesta corta es "Sí, pero solo si amplifica primero la probabilidad de error")
Si...
Ciertamente podemos decir algo aquí. Sea un lenguaje y sea A un algoritmo que tome como entrada xy una cadena aleatoria r ∈ U f ( | x | ) (la distribución uniforme sobre { 0 , 1 } f ( | x | ) ) st Pr [ A ( x , r ) = L ( x ) ] > 1 - ϵ ( x )L A x r∈Uf(|x|) {0,1}f(|x|) Pr [ A ( x , r ) = L ( x )]>1−ϵ(x) . En otras palabras, es un algoritmo que erra con probabilidad como máximo ϵ ( ⋅ ) .A ϵ(⋅)
Observe ahora que si da la respuesta incorrecta en ( x , r ) , es decir, A ( x , r ) ≠ L ( x ) , esto nos da algunos medios para describir r , en particular, podemos describirlo como el i -ésimo cadena que hace que A erre en x . Para hacer esto, simplemente hacemos la máquina que tiene codificados x , A , i , y un bit b = 1A (x,r) A ( x , r )≠L(x) r i A x. x A i , y simplemente enumera las opciones de r ′ desde { 0 , 1 } f ( | x | ) hasta que encuentre la i -ésima opción de r ′ tal que A ( x , r ′ ) ≠ b .b=1⟺x ∈ L r′ { 0 , 1 }F( | x | ) yo r′ A ( x , r′) ≠ b
Entonces, ahora que sabemos que podemos aprovechar la mala elección de una cadena aleatoria en una descripción, observemos algunas condiciones que son suficientes para convertir nuestra descripción de en una compresión. Para describir r , requerimos suficientes bits para describir x , i , b , y luego el código para nuestro procedimiento (el código para A y la rutina que describimos), dando una descripción de la longitud | x | + | yo | + O ( 1 ) = | x | + log 2 ( 2 fr r X yo si UNA
Recuerde que es longitud f ( | x | ) , por lo que esta es una compresión de r si log ( 1 / ϵ ( x ) ) = | x | + Ω ( 1 ) , por ejemplo, cuando ε ( x ) = 1 / 2 2 | x | .r F( | x | ) r
Finalmente, observe que si fuera una cadena aleatoria de Kolmogorov, entonces no podríamos tener tal compresión, por lo que mientras la probabilidad de error de A sea suficientemente pequeña, una cadena aleatoria de Kolmogorov en lugar de la secuencia de bits aleatorios hará que A responda ¡correctamente!r UNA UNA
Tenga en cuenta que lo único que aprovechamos sobre es que su probabilidad de error es pequeña. No nos importa si A tiene un tiempo de ejecución extremadamente largo o si A tiene un error de uno o dos lados.UNA UNA UNA
Llevar esto a la cuestión de (o C O R P o B P P ), esto dice que mientras que amplifican la probabilidad de error de nuestros algoritmos, podemos utilizar cadenas aleatorias Kolmogorov en lugar de sus bits aleatorios.R P c o R P B PPAG
... Pero solo si amplificamos primero.
Una pregunta de seguimiento puede ser "¿puedo hacer esto sin amplificar la probabilidad de error?" Considere el algoritmo siguiente que decide { 0 , 1 } * y tiene probabilidad de error de 1 / 2 n .UNA { 0 , 1 }∗ 1 / 2norte
En la entrada :X
Una nota sobre la fuente: no estoy seguro de si algo de esto es novedoso, pero incluí el primer argumento en mi escrito para mi examen de calificación que finalmente estará disponible en línea después de que termine de revisarlo.
fuente