Câu trả lời này đưa ra thuật toán xác định .O(n polylogn)
Dường như thuật toán của Sariel và David có thể được tạo ra từ một cách tiếp cận tương tự như bài báo này . [2] Trong khi trải qua quá trình tôi thấy có một vấn đề tổng quát hơn bao hàm kết quả này.
Các vấn đề -reconstructionk
Có được ẩn bộ , chúng ta có hai thầy mo và mà phải mất một bộ truy vấn .S i z e S u m QS1,…,Sn⊂{1,…,m}SizeSumQ
- ( | S 1 ∩ Q | , | S 2 ∩ Q | , ... , | S n ∩ Q | )Size(Q) trả về , kích thước của mỗi giao lộ.(|S1∩Q|,|S2∩Q|,…,|Sn∩Q|)
- ( Σ s ∈ S 1 ∩ Q s , Σ s ∈ S 2 ∩ Q s , ... , Σ s ∈ S n ∩ Q s )Sum(Q) lợi nhuận , các tổng các phần tử trong mỗi giao điểm.(∑s∈S1∩Qs,∑s∈S2∩Qs,…,∑s∈Sn∩Qs)
Các vấn đề -reconstruction hỏi một để tìm tập con như vậy mà và cho tất cả .n S ' 1 , ... , S ' n S ' i ⊂ S i | S ' i | = phút ( k , | S i | )knS′1,…,S′nS′i⊂Si|S′i|=min(k,|Si|)i
Gọi là thời gian chạy của các phép lạ và giả sử , sau đó người ta có thể tìm thấy các tập hợp trong thời gian xác định . [1]f = Ω ( m + n ) O ( f k log n p o l y l o g ( m ) )ff=Ω(m+n)O(fklogn polylog(m))
Bây giờ chúng ta có thể giảm vấn đề tìm kiếm nhân chứng thành vấn đề tái cấu trúc . Ở đây trong đó .1S1,…,S2n⊂{1,…,2n}Si={a|a+b=i,a∈A,b∈B}
Xác định đa thức ,χQ(x)=∑i∈QxiIQ(x)=∑i∈Qixi
Hệ số cho trong làvà trong là . Do đó, các nhà tiên tri mất thời gian cho mỗi cuộc gọi.χ Q χ B ( x ) | S i ∩ Q | Tôi Q χ B ( x ) Σ s ∈ S i ∩ Q s O ( n log n )xiχQχB(x)|Si∩Q|IQχB(x)∑s∈Si∩QsO(nlogn)
Điều này cho chúng ta một thuật toán xác định thời gian .O(n polylog(n))
[1] Yonatan Aumann, Moshe Lewenstein, Noa Lewenstein, Dekel Tsur:
Tìm kiếm nhân chứng bằng cách lột da . Giao dịch ACM trên các thuật toán 7 (2): 24 (2011)
[2] Noga Alon, Moni Naor: Derandomization, nhân chứng cho phép nhân ma trận Boolean và xây dựng các hàm băm hoàn hảo . Thuật toán 16 (4-5) (1996)