Độ phức tạp của tính toán tính chẵn lẻ của công thức CNF đọc hai lần (


11

Trong công thức CNF đọc hai lần đối lập, mỗi biến xuất hiện hai lần, một lần dương và một lần âm.

Tôi quan tâm đến vấn đề , bao gồm tính toán tính chẵn lẻ của số lượng bài tập thỏa mãn của công thức CNF đọc hai lần.Rtw-Opp-CNF

Tôi không thể tìm thấy bất kỳ tài liệu tham khảo nào về sự phức tạp của vấn đề như vậy. Cái gần nhất tôi có thể tìm thấy là phiên bản đếm là -complete (xem phần 6.3 trong bài viết này ).# P#Rtw-Opp-CNF#P

Cảm ơn trước sự giúp đỡ của bạn.


Cập nhật ngày 10 tháng 4 năm 2016

  • Trong bài báo này , vấn đề được hiển thị là -complete, tuy nhiên công thức được tạo ra bằng cách giảm từ không có trong CNF và ngay khi bạn cố gắng chuyển đổi nó trở lại thành CNF, bạn sẽ có được một công thức đọc ba lần.P 3 SATRtw-Opp-SATP3SAT
  • Phiên bản đơn điệu được hiển thị là -complete trong bài viết này . Trong bài báo như vậy, nhanh chóng được đề cập ở cuối phần 4: Valiant nói rằng nó bị thoái hóa. Tôi không rõ ràng về việc suy thoái chính xác có nghĩa là gì, cũng không có nghĩa gì về độ cứng.P RTW-Opp-CNFRtw-Mon-CNFPRtw-Opp-CNF

Cập nhật ngày 12 tháng 4 năm 2016

Sẽ rất thú vị nếu biết có ai đã từng nghiên cứu về sự phức tạp của vấn đề . Đưa ra một công thức CNF đọc hai lần, bài toán như vậy yêu cầu tính toán sự khác biệt giữa số lượng bài tập thỏa mãn có số lượng biến lẻ ​​được đặt thành đúng và số lượng bài tập thỏa mãn có số lượng biến chẵn được đặt thành đúng. Tôi đã không tìm thấy bất kỳ tài liệu về nó.ΔRtw-Opp-CNF


Cập nhật ngày 29 tháng 5 năm 2016

Như Emil Jeřábek đã chỉ ra trong bình luận của mình, không đúng khi Valiant nói rằng vấn đề bị thoái hóa. Ông chỉ nói rằng một phiên bản hạn chế hơn của vấn đề như vậy, , đã bị thoái hóa. Trong khi đó, tôi tiếp tục không biết chính xác sự thoái hóa có nghĩa là gì, nhưng ít nhất bây giờ có vẻ rõ ràng rằng đó là một từ đồng nghĩa của việc thiếu sức mạnh biểu cảm.Pl-RTW-Opp-3CNFRtw-Opp-CNFPl-Rtw-Opp-3CNF


Rtw-Opp-CNF cũng khó như Rtw-Mon-CNF. Bạn có thể xây dựng tiện ích phủ định: (i0 v x0 v x1) (x1 v x2) (i1 v x0 v x2). Nếu i0 = i1, thì weight = 0 (theo modulo 2). Nếu không thì trọng lượng = 1.

Tôi không thể tìm thấy giảm từ ⊕Rtw-Mon-CNF thành ⊕Rtw-Opp-CNF, nhưng tôi đã tìm thấy thuật toán đa thức để giải Rtw-Opp-CNF. Vì vậy, Rtw-Opp-CNF đơn giản hơn.

Tôi không thể tìm thấy đề cập đến ⊕Rtw-Opp-CNF trong bài báo của Valiant. Ông tuyên bố rằng ⊕Pl-Rtw-Opp-3CNF là "thoái hóa", nhưng điều đó bao gồm một số hạn chế bổ sung.
Emil Jeřábek 3.0

@ EmilJeřábek: Bạn chắc chắn đúng. Tôi đã bị đánh lừa bởi sự thiếu hiểu biết của tôi về ý nghĩa của "thoái hóa" và tôi đã áp dụng cùng một loại lý luận thường được áp dụng khi có kết quả hoàn chỉnh: nếu một vấn đề nào đó được hoàn thành đối với một số lớp, việc loại bỏ các hạn chế khỏi nó rõ ràng sẽ duy trì sự hoàn chỉnh. Ngay cả khi tôi vẫn không biết chính xác "thoái hóa" nghĩa là gì, thì ít nhất tôi cũng rõ ràng rằng thuật ngữ đó bằng cách nào đó là một từ đồng nghĩa của sự yếu đuối (nghĩa là thiếu sức mạnh biểu cảm), do đó không thể áp dụng lý luận đã nói ở trên. Tôi đã sửa câu hỏi cho phù hợp.
Giorgio Camerani

1
@Maciej: Thật sao? Thuật toán đa thức của bạn hoạt động như thế nào?
Giorgio Camerani

Câu trả lời:


3

Nó chỉ ra rằng mọi công thức đọc hai lần đối diện đều có số lượng bài tập thỏa mãn. Đây là một bằng chứng tốt về nó, mặc dù người ta có thể loại bỏ thuật ngữ lý thuyết đồ thị.

Đặt là một công thức CNF ngược lại đọc hai lần. Không mất tính tổng quát, không có mệnh đề nào chứa cả một biến và phủ định của nó.ϕ

Hãy xem xét đồ thị có tập đỉnh của nó là các mệnh đề của và với mỗi biến , chúng ta thêm một cạnh (không xác định) là sự cố trên hai mệnh đề chứa . Giả định WLOG của chúng tôi trong nói rằng biểu đồ này không có vòng lặp. Hơn nữa, hãy nghĩ đến việc dán nhãn cho mỗi cạnh bằng biến xác định nó; bằng cách này chúng ta có thể phân biệt giữa các cạnh song song.φ x x φGϕxxϕ

Một định hướng của là một đồ thị có hướng mà các cạnh được hình thành bằng cách gán một hướng để mỗi cạnh trong . Gọi một hướng của chấp nhận nếu mọi đỉnh của có cạnh đi. Thật dễ dàng để thấy rằng đáp ứng nhiệm vụ để là trong thư song ánh với định hướng chấp nhận của .G G G ϕ GGGG GϕG

Bây giờ tôi khẳng định rằng số lượng định hướng được chấp nhận của là chẵn. Đối số là "by involution": Tôi xây dựng bản đồ với các thuộc tính sau:ΦGΦ

  1. Φ hoàn toàn được xác định (mọi định hướng được chấp nhận được ánh xạ ở đâu đó)
  2. Φ gửi các định hướng được chấp nhận đến các định hướng được chấp nhận
  3. Φ ΦΦ là một sự tham gia ( là danh tính)ΦΦ
  4. Φ không có điểm cố định

Một khi chúng được thành lập, chúng tôi có thể quan sát rằng quỹ đạo của có kích thước 2 và phân vùng định hướng chấp nhận của . Theo sau đó, số lượng định hướng được chấp nhận là chẵn.GΦG

Để xác định , hãy để là một định hướng được chấp nhận và xem xét việc chia thành các thành phần được kết nối mạnh. sau đó gửi đến hướng được hình thành bằng cách đảo ngược tất cả các cạnh trong các thành phần được kết nối mạnh. Các thuộc tính sau đó được kiểm tra đơn giản:G G Φ GΦGGΦG

  1. Mỗi đồ thị có hướng được phân chia thành các thành phần được kết nối mạnh mẽ.
  2. Xem xét "DAG của các thành phần được kết nối mạnh" trong ; gọi nó là đồ thị thương. Lưu ý rằng Φ ( G ) sẽ có cấu trúc thương cùng, vì Φ không ảnh hưởng đến các cạnh giữa SCCS, và đồ thị kết nối mạnh mẽ duy trì kết nối mạnh mẽ khi đảo ngược tất cả các cạnh của họ. Ngoài ra, nếu SCC có nhiều đỉnh, thì tất cả các đỉnh cấu thành của nó đều có cạnh tới. Nếu một SCC chỉ có một đỉnh duy nhất và không phải là nguồn trong thương số, thì tất cả các đỉnh cấu thành của nó đều có cạnh tới. Vì vậy, để hiển thị Φ ( G )GΦ(G)ΦΦ(G)được chấp nhận, điều đó đủ cho thấy rằng các SCC là nguồn trong thương số có nhiều đỉnh. Nhưng điều này xảy ra bởi thực tế là mọi đỉnh trong thành phần đều có cạnh đến, chúng phải đến từ một đỉnh khác trong thành phần vì không có vòng lặp và thành phần là nguồn trong thương số.G
  3. Này xuất phát từ thực tế rằng cấu trúc thương của trùng với cấu trúc thương của G .Φ(G)G
  4. Bằng sự chấp nhận, có một chu kỳ và do đó một số SCC có cạnh bên trong nó.G

Quan sát tốt đẹp! Một cách đơn giản hơn để thấy điều này (như bạn nói, "loại bỏ thuật ngữ lý thuyết đồ thị") là quan sát rằng nếu một phép gán a thỏa mãn F thì phép gán a '(x) = 1-a (x) cũng thỏa mãn F. Điều này có thể được hiển thị dễ dàng bằng cách cảm ứng về số lượng biến của F.
holf

Φ01203101200310

x¬xy¬z¬yz(1,1,1)(0,0,0)

ΦMxyxxyM

@Emil: À đúng rồi, bạn nói đúng. Nếu tôi hiểu đúng đề xuất của bạn, bạn đang nói phá vỡ định hướng thành các thành phần được kết nối mạnh và đảo ngược các cạnh trong các thành phần. Tôi nghĩ rằng điều này làm việc. Tôi sẽ cập nhật câu trả lời của tôi cho phù hợp. Cảm ơn rất nhiều!!
Andrew Morgan

0

Tôi không chắc ý tưởng của mình có dễ hiểu không, vì vậy tôi sẽ giải thích về ví dụ của Giorgio:

(x1x2x3)(¬x1¬x3x4)(¬x4x5)(¬x2¬x5¬x6)

Đầu tiên tôi cần thay đổi điều này trên mẫu DNF:

(x1x2x3)(¬x1¬x3x4)(¬x4x5)(¬x2¬x5¬x6)

Điều này sẽ cho câu trả lời tương tự. Và không có vấn đề gì nếu tôi tính số lượng giải pháp modulo 2 cho việc này:

(x1x2x3)(¬x1¬x3x4)(¬x4x5)(¬x2¬x5¬x6)

hoặc cho điều này:

(x1x2x3)(¬x1¬x3x4)(¬x4x5)(¬x2¬x5¬x6)

Vì vậy, tôi đang chọn thứ hai. Tôi có cấy ghép:

i0(x1x2x3)

i1(¬x1¬x3x4)

i2(¬x4x5)

i3(¬x2¬x5¬x6)

Bây giờ tôi đang xây dựng hệ phương trình:

j0j1=1

j0j3=1

j0j1=1

j2j3=1

j3=1

x6


Nếu suy nghĩ của tôi là ổn, thì câu trả lời là "không". Tất nhiên tôi giả sử rằng biến đó xảy ra một lần trong tích cực và một lần trong phủ định.
Maciej

x4j1j2j3j2j1j0

-1

Rtw-Opp-CNFf(X)g(X)f(X)g(X)f(X)g(X)

i0i1i2...in1

ijx0x1¬x2

2ki0i1i2...in1

i0i1i2...in1

ab=ab(ab)

1) có tất cả các biến,

2) mỗi biến xảy ra một cách kỳ lạ (nếu biến xảy ra hai lần, thì chúng ta có dương và âm trong một cấy ghép, vì vậy điều này sẽ cho là 0).

x0i0x0i1

j0j1=1

j0j1i0i1i0j0j02l


Rtw-Opp-CNF

@AndrewMorgan Nhưng một công thức có mệnh đề duy nhất chứa tất cả các biến chính xác một lần sẽ không phải là công thức đọc hai lần. Hạn chế là chính xác hai lần, không nhiều nhất là hai lần.
Giorgio Camerani

x6(x1x2x3)(¬x1¬x3x4)(¬x4x5)(¬x2¬x5¬x6)x6

(x1x2)(x1¯)(x2¯)(x1x2)(x1¯x2¯)(x1)(x1¯)(x2)(x2¯)

@AndrewMorgan OK, giờ tôi hiểu rồi. Tuy nhiên, hãy xem xét rằng trong gia đình của các trường hợp bạn muốn nói, số lượng bài tập thỏa mãn dường như vẫn giữ nguyên. Câu hỏi được đặt ra bởi Maciej trong bình luận của ông hóa ra là thách thức.
Giorgio Camerani
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.