Thuật toán ngẫu nhiên cho 3SAT


8

Có một thuật toán ngẫu nhiên rất đơn giản, được đưa ra 3SAT, tạo ra một phép gán thỏa mãn ít nhất 7/8 mệnh đề (theo kỳ vọng): chọn một phép gán ngẫu nhiên. Một phép gán ngẫu nhiên thỏa mãn từng mệnh đề với xác suất 7/8 và do đó, độ tuyến tính của kỳ vọng cho thấy phần mệnh đề của các mệnh đề được thỏa mãn bởi một phép gán ngẫu nhiên là 7/8.

Điều này có thể được thực hiện một cách xác định? Nếu vậy, tại sao chúng ta quan tâm đến thuật toán ngẫu nhiên?

Câu trả lời:


6

Thuật toán gán ngẫu nhiên có thể được khử từ (được xác định) bằng phương pháp kỳ vọng có điều kiện.

Hãy để dụ 3SAT bao gồm các điều khoản C1,,Cm . Trong thuật toán, chúng tôi sẽ gán giá trị cho các biến. Các điểm của một điều khoản C được xác định như sau:

  • Nếu C hài lòng thì điểm của nó là 1.
  • Nếu C không hài lòng và có k chữ không được gán thì điểm của nó là 12k .

Ban đầu số điểm của mỗi khoản là 123=7/8 , và do đó tổng số điểm là (7/8)m . Chúng tôi hiện giá trị gán cho biến x1,,xn theo thứ tự. Giả sử chúng ta đã gán giá trị cho biến x1,,xi1 , và tổng số điểm hiện nay là S=S(C1)++S(Cm) . ĐặtS0,S1 tổng số điểm nếu chúng ta gán các giá trị0,1 (tương ứng) choxi . Tôi khẳng định rằngS0(C)+S1(C)=2S(C) đối với bất kỳ khoảnC , và do đóS0+S1=2S . Thật:

  • Nếu C được thỏa mãn (chỉ cho x1,,xi1 ) hoặc không chứa xi sau đó S0(C)+S1(C)=2S(C) .
  • Giả sử C chứa k chữ chưa được gán, bao gồm xi . Khi đó S(C)=12k , S0(C)=12(k1)S1(C)=1 . Do đó
    S0(C)+S1(C)=[122k]+1=2(12k)=2S(C).
  • Một đối số tương tự hoạt động khi C chứa x¯i .

Kể từ khi S0+S1=2S , hoặc S0S hoặc S1S (có thể cả hai). Do đó có một số nhiệm vụ để S như rằng sau khi chuyển nhượng, số điểm mới là ít nhất S .

Điểm số ban đầu là (7/8)m và các thuật toán Đảm bảo rằng điểm số không bao giờ giảm. Cuối cùng, điểm của mệnh đề C là 1 nếu nó được thỏa mãn và 120=0 nếu không. Do đó, nhiệm vụ đáp ứng chính thức ít nhất (7/8)m mệnh đề.

Cho rằng có một thuật toán xác định, tại sao chúng ta quan tâm đến thuật toán ngẫu nhiên? Có một số lý do:

  1. Thuật toán ngẫu nhiên đơn giản hơn nhiều.
  2. Thuật toán ngẫu nhiên có khả năng nhanh hơn.
  3. Thuật toán ngẫu nhiên có thể được chuyển đổi thành một thuật toán xác định bằng cách sử dụng phương pháp kỳ vọng có điều kiện; chúng ta có thể nghĩ về nó như một công thức để xây dựng một thuật toán xác định.

Tổng quát hơn, người ta phỏng đoán rằng mọi thuật toán đa thời gian ngẫu nhiên cho một vấn đề quyết định đều có thể bị biến dạng (đây là phỏng đoán P=BPP ). Các thuật toán ngẫu nhiên vẫn sẽ thú vị cho tất cả các lý do được liệt kê ở trên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.