Test per positività invece di uguaglianza


14

Alice e Bob hanno stringhe n-bit e vogliono capire se sono uguali mentre fanno poca comunicazione. La soluzione randomizzata standard è quella di trattare le stringhe n-bit come polinomi di grado e quindi valutare i polinomi su alcuni elementi scelti a caso da un campo di dimensioni maggiori di . Ciò richiede la comunicazione .nnO(log|F|)

Supponiamo invece di fissare un ordinamento lessicografico sulle stringhe e vogliamo invece determinare quale stringa è "più grande", il che equivale a trovare il bit più a sinistra in cui le stringhe differiscono.

Esiste un protocollo randomizzato simile per fare questo, o un limite inferiore noto? Ciò sembra correlare al test della positività dei polinomi.

ps Mentre l'ordine lessicografico sembra il più ovvio, sto bene con altri ordini: per lo scopo a cui sono interessato, tutto ciò di cui abbiamo bisogno è un certo ordine.


1
Ho pensato che la soluzione randomizzata standard fosse quella di scegliere una combinazione lineare casuale di bit e di inviare la parità risultante, che richiede solo la comunicazione ? O(1)
Joshua Grochow,

@JoshuaGrochow Penso che dipenda dalla natura della casualità - pubblica o privata. Il protocollo che menzioni usa casualità pubblica.
Sasho Nikolov,

1
Per fare un confronto, vale forse la pena ricordare che la complessità deterministica è , quindi il protocollo banale è ottimale. Questo dà un bel divario esponenziale tra soluzioni deterministiche / esatte e randomizzate, dimostrando che (almeno nella complessità della comunicazione), la casualità può davvero aiutare. n+1
András Salamon,

1
um ... si. Quanta comunicazione è necessaria per un algoritmo che non fornisce mai la risposta sbagliata e, per tutte le coppie di input, FORSE a quella coppia di input con probabilità al massimo 1/2?

1
Forse vale la pena ricordare che la complessità della comunicazione -round maggiore di è Ω ( n 1 / k k - 2 ) in particolare, cioè è lineare per k = 1 , vedere arxiv.org/abs/cs/0309033 . È un bel documento :)KΩ(n1/KK-2)K=1
Marc Bury

Risposte:


11

Questo problema è noto come maggiore della complessità della comunicazione. Esiste un algoritmo con complessità di comunicazione (Esercizio 3.18 nel libro di Nisan-Kushilevitz).O(logn)

Modifica: l'algoritmo è dovuto a Nisan (pagina 10): http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.57.6891&rep=rep1&type=pdf

Utilizza l'approccio suggerito da @Sasho Nikolov di seguito --- eseguendo una ricerca binaria usando test di uguaglianza con errore costante per fare i confronti. Questo può essere fatto con le query usando l'algoritmo di ricerca binaria rumorosa di Feige, Peleg, Raghavan e Upfal: http://cs.brown.edu/~eli/papers/SICOMP23FRPU.pdfO(logn)

Per ottenere un protocollo di casualità privato (non esplicito) è possibile applicare il risultato di Newman: http://pdf.aminer.org/000/933/113/private_vs_common_random_bits_in_communication_complexity.pdf


5
lognO(1)

2
O(lognloglogn)O(1/logn)O(loglogn)

2
@SashoNikolov Ok, immagino che qualcosa del genere possa essere usato come una "ricerca binaria rumorosa", che tollera una frazione costante di errori in modo da poter usare una probabilità di errore costante nei test di uguaglianza: dl.acm.org/citation.cfm? id = 167129
Grigory Yaroslavtsev

1
vero. Intendevo una ricerca binaria in cui ogni confronto poteva dare il risultato sbagliato con una probabilità bassa e costante. Penso che questo documento dia il risultato necessario, ad esempio: dl.acm.org/citation.cfm?id=100230
Nikolov

Spostato la discussione nella risposta.
Grigory Yaroslavtsev

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.