Pregunta

Dado un conjunto $ s \ subesteq \ {0,1 \ span} ^ * $ , el algoritmo $ a $ es un generador para $ s $ si se le da $ n $ bits aleatorios $ x \ in \ {0,1 \} \ {0,1 \ span>, $ a $ genera un elemento de $ s $ de tamaño $ n $ , y $ a $ Puede generar al menos $ \ frac {2} {3} $ miembros de $ s $ de tamaño $ n $ (para todos $ n $ ). $ A $ no tiene que ser uniforme.

¿Hay un conjunto $ s $ de modo que existe un algoritmo eficiente $ a $ tal que Para todos $ n $ , $ a $ genera al menos $ \ frac {2} {3} $ miembros de $ s $ (de tamaño $ n $ < / span>), pero cualquier algoritmo eficiente para $ s ^ c $ solo puede generar en la mayoría de $ \ frac {1} {3} $ elementos de $ s ^ c $ de tamaño $ n $ (bajo ¿Asubiones de complejidad)?

¿Fue útil?

Solución

Podemos construir $ s $ de tal que los generadores de tiempo polinomial para $ A $ existen, mientras que No existe ningún generador para $ s ^ {c} $ . Elija $ s $ de tal que todas las cuerdas que comienzan con $ 1 $ están en ella, y exactamente la mitad de todas las cadenas A partir de $ 0 $ están en ella.

un muestreador que establece el primer bit de $ x $ a $ 1 $ y salidas que siempre genera un elemento en $ s $ , y genera exactamente $ \ frac {2} {3} $ de la elementos en $ s $ .

Sin embargo, el muestreo del complemento de $ s $ en el caso general es aún más difícil de lo que necesita: existen conjuntos $ S $ tal que no existe una máquina de turaje que le dio $ n, x= 0 ^ {n} $ A medida que la entrada sale cualquier cadena en $ s $ de longitud $ n $ comenzando con $ 1 $ . Además, podemos construir explícitamente un conjunto de este tipo $ s $ .

Esto es fácil de probar por un argumento de diagonalización. Deje que $ k_ {w, n} $ sea el conjunto de cadenas de longitud $ n $ comenzando con < Span Class="Math-contenedor"> $ W $ . Hay un número contable de máquinas de Turing, por lo que deja $ m_ {i} $ be the $ i $ Turing Machine. Para $ n \ geq 2 $ , si $ m_ {n-1} $ en la entrada $ n, x= 0 ^ {n} $ no detiene ni sale una cadena en $ k_ {00, n} $ < / SPAN>, Set $ s_ {n}= k_ {1, n} \ taza k_ {00, n} $ . De lo contrario, establecer $ s_ {n}= k_ {1, n} \ taza k_ {01, n} $ . Luego, $ s={\ epsilon, 1 \ \ \ \ copa \ bigcup_ {i= 2} ^ {\ infty} s_ {i} $ es uno de estos juegos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a cs.stackexchange
scroll top