Trong bài báo "Mã hóa CNF hiệu quả để chọn 1 từ N Đối tượng", các tác giả giới thiệu kỹ thuật "biến chỉ huy" của họ để mã hóa ràng buộc, và sau đó nói về vấn đề chuồng bồ câu.
Vì lỗi của tôi có thể tồn tại trong sự hiểu biết ở cấp độ thấp hơn, hãy để tôi khai báo những gì tôi nghĩ tôi biết trước khi đặt câu hỏi:
Gọi và là số lượng chim bồ câu và lỗ. Mã hóa ngây thơ sử dụng một biến mệnh đề đó là sự thật khi pigeon là để được đặt trong lỗ. Mệnh đề buộc chim bồ câu 1 phải chiếm chính xác một lỗ; mệnh đề giống hệt được thêm cho các con bồ câu khác. Mệnh đề cho rằng không có nhiều hơn một con chim bồ câu chiếm lỗ 1; mệnh đề giống hệt được thêm vào cho các lỗ còn lại.n X i , j i ' t h j ' t h E x một c t l y O n e ( X 1 , 1 , X 1 , 2 , . . . , X 1 , n ) Một t M o s t O n e ( X 1 , 1 , X 2
Khi có nhiều chim bồ câu hơn lỗ (m> n), vấn đề là không thể giải quyết được (rõ ràng đối với con người) nhưng người giải SAT không "nhìn thấy" sự thật này. Khi không thể tìm được cách đặt chim bồ câu nó sẽ tìm kiếm một nỗ lực với chim bồ câu . Nó không hiểu rằng thứ tự của chim bồ câu là không liên quan. Bài báo, trong số những người khác, gọi đây là đối xứng.2 , 1 , 3 , . . . , m
Các trường hợp trong đó được sử dụng như một bài kiểm tra vất vả về khả năng của người giải SAT để phát hiện sự không thỏa mãn.
Bài viết đề xuất phá vỡ tính đối xứng bằng cách thực thi trật tự trên chim bồ câu. Bồ câu phải được đặt vào một lỗ trước lỗ của chim bồ câu (nghĩa là chim bồ câu trong lỗ phải có số lượng nhỏ hơn chim bồ câu trong lỗ ). Sau đó, nó gây thất vọng khi nói: "Do giới hạn về không gian, chúng tôi không mô tả rõ ràng chi tiết về mã hóa theo thứ tự chính tắc, nhưng số mệnh đề được tạo ra là theo thứ tự ".i + 1 j j + 1 O ( n ∗ l o g ( n ) )
Vì vậy, câu hỏi của tôi là: họ đã làm gì để có được những kết quả này?
Tôi muốn coi các biến là chuỗi các bit, bằng số, xác định lựa chọn chim bồ câu đi vào lỗ 1, v.v. Thực hiện theo điều này với so sánh để thực thi đề xuất của bài báo. Xây dựng bộ so sánh ngây thơ của tôi, tuy nhiên, đòi hỏi m mệnh đề, một mệnh đề cho mỗi bit (có kích thước ngày càng xấu). Cứu giúp! :)n - 1