Orlp fornisce una soluzione usando parole di spazio, che sono O ( n log n ) bit di spazio (supponendo per semplicità che n = m ). Viceversa, è facile dimostrare che Ω ( n ) bit di spazio sono necessari riducendo la disunione impostata al problema.O ( n )O ( n logn )n = mΩ ( n )
Supponiamo che Alice detenga un vettore binario e Bob detenga un vettore binario y 1 , ... , y n e che vogliano sapere se esiste un indice i tale che x i = y i = 1 . Eseguono il tuo algoritmo per la matrice 2 × ( 2 n - 1 ) le cui righe sono x 1 , 0 , x 2 , 0 , ... ,X1, ... , xny1, ... , ynioXio= yio= 12 × ( 2 n - 1 ) ed y 1 , 0 , y 2 , 0 , ... , 0 , y n . Dopo aver letto la prima riga, Alice invia Bob ∑ i x i così come i contenuti della memoria, in modo che Bob possa completare l'algoritmo e confrontare ∑ i ( x i + y i ) con il numero di componenti collegati. Se i due numeri corrispondono, i due vettori sono disgiunti (non vi è alcun indice i ) e viceversa. Dal momento che qualsiasi protocollo per impostare le esigenze di disgiunzioneX1, 0 , x2, 0 , … , 0 , xny1, 0 , y2, 0 , … , 0 , ynΣioXioΣio( xio+ yio)io bit (anche se può errare con una piccola probabilità costante), deduciamo unlimite inferiore di Ω ( n ) , che vale anche per i protocolli randomizzati a cui è consentito errare con qualche piccola probabilità costante.Ω ( n )Ω ( n )
O ( n )O ( logn )O ( n )