Prueba de positividad en lugar de igualdad

14

Alice y Bob tienen cadenas de n bits, y quieren averiguar si son iguales mientras hacen poca comunicación. La solución aleatoria estándar es tratar las cadenas de n bits como polinomios de grado luego evaluar los polinomios sobre algunos elementos elegidos al azar de un campo de tamaño mayor que n . Esto toma comunicación O ( log | F | ) .nnO(log|F|)

Supongamos, en cambio, que arreglamos un orden lexicográfico sobre las cadenas y queremos determinar qué cadena es "más grande", lo que equivale a encontrar el bit más a la izquierda donde las cadenas difieren.

¿Existe un protocolo aleatorio similar para hacer esto, o un límite inferior conocido? Esto parece estar relacionado con la prueba de positividad de polinomios.

ps Si bien el orden lexicográfico parece ser el más obvio, estoy de acuerdo con otros ordenamientos: para el propósito que me interesa, todo lo que necesitamos es algún orden.

Suresh Venkat
fuente
1
Pensé que la solución aleatoria estándar era elegir una combinación lineal aleatoria de los bits y simplemente enviar la paridad resultante, que solo requiere comunicación . O(1)
Joshua Grochow
@JoshuaGrochow Creo que eso depende de la naturaleza de la aleatoriedad, pública o privada. El protocolo que menciona utiliza aleatoriedad pública.
Sasho Nikolov
1
A modo de comparación, quizás valga la pena mencionar que la complejidad determinista es , por lo que el protocolo trivial es óptimo. Esto da una buena brecha exponencial entre las soluciones deterministas / exactas y aleatorias, lo que demuestra que (al menos en la complejidad de la comunicación), la aleatoriedad realmente puede ayudar. n+1
András Salamon
1
um ... si ¿Cuánta comunicación se necesita para un algoritmo que nunca da la respuesta incorrecta y, para todos los pares de entrada, puede dar MAYBE a ese par de entrada con una probabilidad máxima de 1/2?
1
Quizás valga la pena mencionar que la complejidad de comunicación around mayor que es Ω ( n 1 / k k - 2 ) en particular, es decir, es lineal para k = 1 , consulte arxiv.org/abs/cs/0309033 . Es un buen artículo :)kΩ(n1/kk2)k=1
Marc Bury

Respuestas:

11

O(logn)

Editar: El algoritmo se debe a Nisan (página 10): http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.57.6891&rep=rep1&type=pdf

O(logn)

Para obtener un protocolo de aleatoriedad privado (no explícito) se puede aplicar el resultado de Newman: http://pdf.aminer.org/000/933/113/private_vs_common_random_bits_in_communication_complexity.pdf

Grigory Yaroslavtsev
fuente
55
lognO(1)
2
O(Iniciar sesiónnorteIniciar sesiónIniciar sesiónnorte)O(1/logn)O(loglogn)
2
@SashoNikolov Ok, supongo que algo como esto puede usarse como una "búsqueda binaria ruidosa", que tolera una fracción constante de errores para que podamos usar la probabilidad de error constante en las pruebas de igualdad: dl.acm.org/citation.cfm? id = 167129
Grigory Yaroslavtsev
1
cierto. Me refería a la búsqueda binaria donde cada comparación puede dar el resultado incorrecto con una probabilidad pequeña y constante. Creo que este documento da el resultado necesario, por ejemplo: dl.acm.org/citation.cfm?id=100230
Sasho Nikolov
Trasladó la discusión a la respuesta.
Grigory Yaroslavtsev