Orlp memberikan solusi menggunakan kata-kata ruang, yang merupakan bit ruang (dengan asumsi untuk kesederhanaan bahwa ). Sebaliknya, mudah untuk menunjukkan bahwa bit ruang diperlukan dengan mengurangi keterikatan pada masalah Anda.O(n)O(nlogn)n=mΩ(n)
Misalkan Alice memegang vektor biner dan Bob memegang vektor biner , dan mereka ingin tahu apakah ada indeks sedemikian rupa sehingga . Mereka menjalankan algoritme Anda untuk matriks yang barisnya dan . Setelah baris pertama dibaca, Alice mengirimkan Bob serta konten memori, sehingga Bob dapat menyelesaikan algoritme dan membandingkan dengan jumlah komponen yang terhubung. Jika kedua angka cocok, kedua vektor tersebut terpisah (tidak ada indeksx1,…,xny1,…,ynixi=yi=12×(2n−1)x1,0,x2,0,…,0,xny1,0,y2,0,…,0,yn∑ixi∑i(xi+yi)i), dan sebaliknya. Karena protokol apa pun untuk set disjointness membutuhkan bit (bahkan jika itu bisa keliru dengan probabilitas konstan kecil), kami menyimpulkan batas bawah , yang berlaku bahkan untuk protokol acak yang diizinkan untuk melakukan kesalahan dengan beberapa probabilitas konstan kecil.Ω(n)Ω(n)
Kita dapat memperbaiki solusi Orlp dengan menggunakan partisi noncrossing . Kami membaca baris demi baris matriks. Untuk setiap baris, kita ingat 1s mana yang terhubung melalui jalur yang melewati baris sebelumnya. Partisi yang sesuai adalah noncrossing, dan karenanya dapat dikodekan menggunakan bit (karena partisi noncrossing dihitung oleh angka Catalan, yang laju pertumbuhannya eksponensial daripada faktorial). Saat membaca baris berikut, kami mempertahankan representasi ini, dan menambah penghitung kapan saja semua ujung beberapa bagian tidak terhubung ke baris saat ini (penghitung mengambil bit ). Seperti dalam solusi Orlp, kami menambahkan deretan angka nol terakhir untuk menyelesaikan pemrosesan matriks. Solusi ini menggunakanO(n)O(logn)O(n) bit, yang asimtotik optimal mengingat batas bawah kami.