Công thức CNF đơn điệu với m thuật ngữ trên n biến ( ) là một công thức có dạng f (x_1, \ ldots, x_n) = \ bigwedge C_i , trong đó mỗi C_i là một OR của một số tập hợp con của các biến x_1, \ ldots, x_n và i nằm trong khoảng từ 1 đến m . f ( x 1 , ... , x n ) = ⋀ C i C i x 1 , ... , x nm
Ví dụ: là một công thức CNF đơn điệu với 2 thuật ngữ trên 4 biến.
Tôi đang tìm công thức ngắn nhất (không nhất thiết là đơn điệu, không nhất thiết là CNF, bất kỳ công thức nào cũng được!) Trên cùng một bộ biến đại diện cho cùng chức năng như một công thức CNF đơn điệu đã cho trên n biến với n thuật ngữ. (Lưu ý rằng số lượng thuật ngữ và biến là như nhau.)
Một cách rõ ràng để xây dựng công thức là mở rộng định nghĩa CNF đã cho, điều này sẽ cho chúng ta một công thức có kích thước . (Hãy xác định kích thước của công thức là độ dài của công thức khi nó được viết dưới dạng chuỗi.) Tôi muốn biết liệu đây có phải là cấu trúc chung hiệu quả nhất hay không, nếu mỗi CNF đơn điệu có tồn tại một công thức có kích thước .
Tôi chỉ muốn biết liệu điều này có khả thi hay không, tôi không thực sự quan tâm đến một thuật toán. Nếu điều này là không thể, một chức năng phục vụ như một ví dụ mẫu sẽ rất tuyệt. Con trỏ đến nơi tôi có thể tìm thấy một câu trả lời trong các tài liệu cũng được đánh giá cao.
EDIT: Tôi đang thêm một ví dụ để làm cho rõ ràng hơn.
Giả sử công thức nhập là . Đây là một công thức CNF đơn điệu. Một công thức ngắn hơn đại diện cho chức năng tương tự như sau: .