Distribuciones de probabilidad y complejidad computacional

9

Esta pregunta es sobre la intersección de la teoría de la probabilidad y la complejidad computacional. Una observación clave es que algunas distribuciones son más fáciles de generar que otras. Por ejemplo, el problema

Dado un número n , devuelve un número uniformemente distribuido i con 0i<n .

Es fácil de resolver. Por otro lado, el siguiente problema es o parece ser mucho más difícil.

Dado un número n , devuelve un número i tal que i (el número de Gödel de) sea una prueba válida de longitud n en la aritmética de Peano. Además, si el número de tales pruebas es pr(n) , entonces la probabilidad de obtener cualquier prueba específica de longitud n debería ser 1pr(n) .

Esto me sugiere que las distribuciones de probabilidad vienen con una noción de complejidad computacional. Además, esta complejidad probablemente esté estrechamente relacionada con los problemas de decisión subyacentes (ya sea sub-recursiva, por ejemplo , P , EXP , recursiva, recursivamente enumerable o peor).

Mi pregunta es: ¿cómo se define la complejidad computacional de las distribuciones de probabilidad, especialmente cuando el problema de decisión subyacente no es decidible? Estoy seguro de que esto ya se ha investigado, pero no estoy seguro de dónde buscar.

Martin Berger
fuente
1
Otro ejemplo interesante (pero que es decidible) es la transformación cuántica de Fourier. Dado devuelve un número tal que la probabilidad de sea ​​proporcional a, . l [ 0 , N ] l | F ( l ) | F ( l ) = N k = 0 f ( k ) e - 2 π i k l / NF(k)=unakmodificaciónsil[0 0,norte]lEl |F(l)El |F(l)=k=0 0norteF(k)mi-2πyokl/ /norte
Wandering Logic
1
Ambos ejemplos son distribuciones uniformes discretas. Me imagino que las diferentes complejidades estarían en lo difícil que es contardonde es el soporte. χEl |χEl |χ
Nicholas Mancuso
1
@NicholasMancuso Estoy de acuerdo en que siempre se puede usar el conteo + la opción de forma. Entonces, en cierto sentido, da un límite superior. ¿Es esto todo lo que se puede decir? ¿En qué parte de la literatura se ha investigado esto?
Martin Berger
1
@NicholasMancuso Los ejemplos que doy son distribuciones uniformes. Pero uno puede hacer la misma pregunta sobre distribuciones no uniformes. También se puede preguntar acerca de las distribuciones en . En cuanto a las distribuciones discretas: prima facie, el conteo no parece ser suficiente en general, también debe ser capaz de generar el elemento , después de haber elegido uniformemente . Dicho esto, podría ser el caso que contar es el núcleo del problema. i iRyoyo
Martin Berger
1
@NikosM. Gracias, pero ese enlace tampoco dice nada sobre la complejidad de la distribución subyacente. La referencia habla de una transformación en la distribución uniforme. Pero esa transformación puede ser difícil / o computacionalmente fácil. ϕ
Martin Berger

Respuestas:

2

La complejidad de las distribuciones de probabilidad surge particularmente en el estudio de problemas de distribución como DistNP en la teoría de Levin de la teoría de la complejidad de casos promedio .

Una distribución es P-computable si su función de densidad acumulativa se puede evaluar en tiempo polinómico.

Una distribución es P-muestrable si podemos tomar muestras de ellos en tiempo polinómico.

Si una distribución es P-computable, entonces es P-sampable. Lo contrario no es cierto si existen ciertas funciones unidireccionales.

Puede extender las definiciones a otras clases de complejidad.

Oded Goldreich tiene unas bonitas notas introductorias sobre el tema que quizás desee consultar.

Kaveh
fuente
Gracias, creo que una teoría de distribuciones muestrables de es algo como lo que he estado buscando. Pero no hay razón para restringir la atención a , se puede definir distribuciones -samplable para cualquier clase de complejidad . Con el reciente aumento de los lenguajes de programación probabilísticos que se está volviendo vital. P C CPAGSPAGSCC
Martin Berger
@ Martin, sí. Hubo un tutorial sobre programación probabilística ( diapositivas , el video también se publicará) en NIPS 2015. Escuché que las personas que asistieron lo encontraron muy interesante. Es bueno ver gente trabajando en la intersección de ML / Stats y PL. :)
Kaveh
Sí, y el principal problema es que dichos lenguajes (= muestreadores genéricos, programables) son lentos. ¿Cómo podemos acelerarlos?
Martin Berger