Công thức 3-CNF tối thiểu không thỏa mãn


19

Tôi hiện đang quan tâm đến việc có được (hoặc xây dựng) và nghiên cứu các công thức 3-CNF không thỏa mãn và có kích thước tối thiểu. Nghĩa là, chúng phải bao gồm càng ít mệnh đề (tốt nhất là m = 8) càng tốt và càng ít biến số riêng biệt (n = 4 trở lên) càng tốt, sao cho việc loại bỏ ít nhất một mệnh đề sẽ khiến công thức đạt yêu cầu.

Chính thức hơn, mọi công thức 3-CNF đủ điều kiện F phải đáp ứng các điều kiện sau:

  1. F không thỏa mãn
  2. F có số lượng tối thiểu (4+) biến số riêng biệt (hoặc phủ định của chúng)
  3. F có số lượng mệnh đề tối thiểu (8+)
  4. mọi tập con thích hợp của F đều thỏa đáng (cho phép loại bỏ bất kỳ mệnh đề hoặc mệnh đề tùy ý nào).
  5. F không có 2 mệnh đề có thể rút gọn thành mệnh đề 2-CNF, ví dụ: (i, j, k) & (i, j, ~k)KHÔNG được phép (chúng giảm xuống (i,j))

Ví dụ: với n = 4, tồn tại nhiều công thức 8 khoản 3-CNF tối thiểu không thỏa mãn. Đối với một người, bằng cách nhìn vào 4 hypercube và cố gắng che nó bằng các cạnh (2 mặt), người ta có thể xây dựng công thức không thỏa mãn sau:

1. (~A,  B,  D)
2. (~B,  C,  D)
3. ( A, ~C   D)
4. ( A, ~B, ~D)
5. ( B, ~C, ~D)
6. (~A,  C, ~D)
7. ( A,  B,  C)
8. (~A, ~B, ~C)

Điều này đủ điều kiện là một công thức 3-CNF tối thiểu không thỏa mãn vì:

  1. Nó không thỏa mãn:

    • Các khoản 1-3 tương đương với: D or A=B=C
    • Khoản 4-6 tương đương với: ~D or A=B=C
    • Họ ngụ ý A=B=C, nhưng theo các khoản 7 và 8, đây là một mâu thuẫn.
  2. Chỉ có 4 biến khác biệt.

  3. Chỉ có 8 mệnh đề.
  4. Loại bỏ bất kỳ điều khoản làm cho nó thỏa đáng.
  5. Không có 2 mệnh đề 'có thể rút gọn' thành mệnh đề 2-CNF.

Vì vậy, tôi đoán các câu hỏi tổng thể của tôi ở đây là, theo thứ tự quan trọng đối với tôi:

  1. Một số công thức tối thiểu nhỏ khác đáp ứng các điều kiện trên là gì? (ví dụ: 4,5,6 biến và 8,9,10 mệnh đề)

  2. Có một số loại cơ sở dữ liệu hoặc "tập bản đồ" của các công thức tối thiểu như vậy?

  3. Những thuật toán không ngẫu nhiên nào tồn tại để xây dựng chúng hoàn toàn, nếu có?

  4. Một số hiểu biết về các đặc điểm của công thức này là gì? Chúng có thể được tính hoặc ước tính, cho n (# biến) và m (# mệnh đề) không?

Cảm ơn bạn trước cho câu trả lời của bạn. Tôi hoan nghênh bất kỳ câu trả lời hoặc bình luận.


Mỗi mệnh đề 3-CNF không cho phép 1/8 các giải pháp có thể. Vì vậy, rõ ràng bạn luôn cần ít nhất 8 mệnh đề hoặc nhiều hơn nếu các bộ giải pháp không được phép trùng nhau. Vì điều kiện 5 của bạn cấm các bộ giải pháp không được chồng chéo cho n = 3, nên bạn cần nhiều hơn 8 mệnh đề cho trường hợp này: lưu ý rằng ví dụ của bạn không tuân theo điều kiện 5.
András Salamon

Vâng, bạn đúng trên tất cả các điểm András. 8 mệnh đề là mức tối thiểu bắt buộc đối với công thức 3-CNF không thỏa mãn và vì vậy điều kiện 5 có thể hơi quá hạn chế cho mục đích của tôi trong việc tìm kiếm / xây dựng các công thức đủ điều kiện. Tôi nhận ra rằng với n = 3, điều kiện 5 phải nhất thiết bị vi phạm, nhưng chỉ được đưa vào cho mục đích minh họa. Tôi hoàn toàn quan tâm đến các công thức đủ điều kiện có kích thước n = 4 + (tức là 4 biến trở lên, nhưng không quá nhiều biến số nữa.). Có lẽ tôi sẽ gãi điều kiện 5.
MAF

Tôi nghĩ rằng ví dụ về cuộc trò chuyện của bạn với n = 3 là khó hiểu thay vì mang tính minh họa, bởi vì (như András đã chỉ ra trong bình luận của anh ấy) nó không thực sự là một ví dụ về những gì bạn đang hỏi về câu hỏi này. Ví dụ với n = 4 là hoàn toàn tốt và minh họa. Tại sao bạn không xóa ví dụ với n = 3?
Tsuyoshi Ito

Điểm tốt, Tsuyoshi. Làm xong.
MAF

1
@MAF: loại bỏ điều kiện 5 dẫn đến một ví dụ tầm thường: bắt đầu với trường hợp không thỏa mãn chứa các mệnh đề { x } , sau đó thay thế mỗi mệnh đề C bằng hai mệnh đề C { v }C { v } cho a biến mới v , và tiếp tục cho đến khi tất cả các mệnh đề có 3 chữ. Điều này mang lại một công thức 7 biến không thỏa mãn với 8 mệnh đề. Đây chỉ là cắt không gian giải pháp thành 8 phần rời rạc, thường không phải là một mã thú vị. {x}{x'}CC{v}C{v'}v
Salamás Salamon

Câu trả lời:


11

Đi theo công thức trong ví dụ của bạn, loại bỏ các khoản và thêm dòng sau 2 mệnh đề: ¬Một¬B¬C2

¬ B ¬ C E¬Một¬B¬E
¬B¬CE

Bạn sẽ nhận được một công thức không thỏa mãn tối thiểu với , m = 9 tuân theo điều kiện 5. n= =5m= =9

tôi1tôi2tôi32

tôi1tôi2v
tôi2tôi3¬v

vnm1r= =mn1nr= =1


Cảm ơn đã trả lời, Walter. Quy trình bạn mô tả thực sự rất hữu ích để tạo ra các công thức không tương tự tối thiểu lớn hơn một chút về cấu trúc 'tương tự', nghĩa là, một khi bạn có một bộ lõi mà bạn thấy có các thuộc tính thú vị.
MAF

@MAF: Bạn rất hoan nghênh. Cảm ơn bạn đã gửi một câu hỏi thú vị như vậy.
Giorgio Camerani

0

Tôi tin rằng điều kiện số 5 không thực sự được giữ trong ví dụ của bạn và không thể được giữ bao giờ.
Đặt các mệnh đề sau tương đương:

( p, q) = (~A,B,D)(A,~B,~D)

Điều này sẽ cho phép chúng ta ánh xạ các mệnh đề của A, B, C và D sang các biến mới p, q, r và s như bảng chân lý sau:

A B C D | p q r s
-----------------
0 0 0 0 | 0 1 0 0
0 0 0 1 | 0 1 0 1
0 0 1 0 | 0 1 1 0
0 0 1 1 | 0 1 1 1
-----------------
0 1 0 0 | 1 0 0 0
0 1 0 1 | 0 0 0 0
0 1 1 0 | 1 0 0 1
0 1 1 1 | 0 0 0 1
-----------------
1 0 0 0 | 0 0 1 0
1 0 0 1 | 1 0 1 0
1 0 1 0 | 0 0 1 1
1 0 1 1 | 1 0 1 1
-----------------
1 1 0 0 | 1 1 0 0
1 1 0 1 | 1 1 0 1
1 1 1 0 | 1 1 1 0
1 1 1 1 | 1 1 1 1
-----------------

Và bây giờ chúng ta có thể diễn đạt các mệnh đề của A, B, C và D theo p, q, r và s:

1. (~A,  B,  D) = ( p, q,~r, s)( p, q,~r,~s)
2. (~B,  C,  D) = (~p, q, r, s)(~p,~q, r, s)
3. ( A, ~C   D) = ( p,~q,~r, s)(~p, q, r,~s)
4. ( A, ~B, ~D) = ( p, q, r, s)( p, q, r,~s)
5. ( B, ~C, ~D) = ( p,~q,~r,~s)(~p, q,~r,~s)
6. (~A,  C, ~D) = (~p, q,~r, s)(~p,~q, r,~s)
7. ( A,  B,  C) = ( p,~q, r, s)( p,~q, r,~s)
8. (~A, ~B, ~C) = (~p,~q,~r, s)(~p,~q,~r,~s)

Vì tất cả các mệnh đề được hiển thị và liên kết với các mệnh đề A, B, C và D. Sau đó, chúng ta có thể tuyên bố rằng các mệnh đề p, q, r và s có thể được rút gọn thành:

( p, q, r)
( p, q,~r)
( p,~q, r)
( p,~q,~r)
(~p, q, r)
(~p, q,~r)
(~p,~q, r)
(~p,~q,~r)

Điều này rõ ràng vi phạm điều kiện số 5.

Điều tôi muốn chỉ ra là ngay cả ví dụ không rõ ràng cho thấy có 2 mệnh đề có thể rút gọn thành 2-CNF, nhưng ngầm là có (ví dụ (~ A, B, D) và (A, ~ B, ~ D)), bạn có thể không thể biểu thị 2-CNF bằng các biến đã cho nhưng khi bạn đưa ra ánh xạ khác nhau cho vấn đề, bạn sẽ có thể biểu thị chúng.

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.