Найкоротша формула для n-термінового монотонного CNF


10

Монотонна формула CNF з m термінами на n змінних ( ) - це формула виду , де кожен - АБО деякий підмножина змінних , становить від до . f ( x 1 , , x n ) = C i C i x 1 , , x n i 1 mx1,,xnf(x1,,xn)=CiCix1,,xni1m

Наприклад, - монотонна формула CNF з 2 термінами на 4 змінних.(x1x3x4)(x2x4)

Я шукаю найкоротшу формулу (не обов'язково монотонну, не обов'язково CNF, будь-яка формула буде робити!) На тому ж наборі змінних, що представляє ту саму функцію, що й задана монотонна формула CNF на n змінних з n термінами. (Зверніть увагу, що кількість термінів і змінних однакова.)

Одним із очевидних способів побудови формули є розширення даного визначення CNF, яке дасть нам формулу розміру . (Давайте визначимо розмір формули, який буде довжиною формули, коли вона записується у вигляді рядка.) Я хочу знати, чи це найбільш ефективна загальна побудова, або якщо для кожного n-строкового монотонного CNF існує формула розміру .o ( n 2 )O(n2)o(n2)

Я просто хочу знати, чи можливо це, мене не дуже цікавить алгоритм. Якщо це неможливо, було б чудово функцію, яка виконує функцію контрприкладу. Також вдячні вказівки, де я можу знайти відповідь у літературі.

EDIT: Я додаю приклад, щоб зробити тонші яснішими.

Скажімо, формула введення . Це монотонна формула CNF. Коротка формула, яка представляє ту саму функцію, така: .x 1( x 2x 3x n )f=(x1x2)(x1x3)(x1xn)x1(x2x3xn)

Відповіді:


11

Ви можете отримати нижню межу використовуючи аргумент підрахунку: є -термінні CNF на змінних (це легко, але вимагає лише невеликого догляду, щоб зробити переконайтесь, що немає перенарахування), але є формули розміром (або навіть схеми) розміром не більше . e x p ( n 2 ) n n e x p ( s log s ) sΩ(n2/logn)exp(n2) nnexp(slogs)s

Здається, що виграти останній фактор буде важко, оскільки це вимагатиме довести квадратичну нижню межу щодо розміру формули, і я гадаю, що декількох існуючих методів для цього недостатньо. навіть може бути правильною відповіддю - принаймні для розміру ланцюга - з використанням якоїсь чотириросійської техніки .O ( n 2 / log n )lognO(n2/logn)


Ідеально, дякую! Фактор log n насправді не так важливий для мене, тому це повністю відповідає на моє запитання.
Робін Котарі

2

Враховуйте, що для будь-якого CNF ви можете обчислити набір простих імплікацій (серед яких будь-який мінімум повинен бути підмножиною), взявши закрите рішення під роздільною здатністю та застосувавши усунення підзарядки.

Однак у випадку будь-якого монотонного CNF закриття роздільної здатності є (оскільки немає негативних літералів, роздільна здатність неможлива). Отже, мінімальний показник CNF - це сукупність простих імплікацій, що є саме такою формулою, яку ви вже маєте.F FFFF

Звичайно, я припускаю, що ви не хочете вводити нові змінні.

Якщо ви хочете переконатися, що у вас є якась формула, яка має термінів, то, як ви пропонуєте, єдиний спосіб отримати це розширити деякі пропозиції, додавши відсутні змінні. Будь-яка така CNF повинна мати однакову кількість буквених значень (мір, який ви пропонуєте, я вважаю) для фіксованих і .f nnfn


Приємно, мені це подобається. (Мимохідь, якщо виникла монотонна справа DNF, @Robin, я вважаю, що це може бути цікаво: citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.69.4716 )
Даніель Апон,

1
Я не впевнений, що розумію. Мінімальний розмір CNF може бути монотонною формулою CNF, яку я вже маю, але я шукаю формулу найменшої довжини будь-якого типу. Це не повинно бути CNF або монотонним. Я відредагую своє питання, щоб зробити це зрозумілішим.
Робін Котарі

1
А, бачу. Ну, те, що я говорив, охоплює, якщо це повинен бути CNF. Якщо це може бути довільна формула пропозиції, то мені потрібно думати більше.
MGwynne
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.