Булева формула, що врівноважується в


10

Я шукаю посилання на складність задачі балансування булевих формул . Зокрема,

  1. Чи було відомо, що булеві формули можна збалансувати в AC0 ?
  2. Чи є простий доказ врівноваження булевої формули в AC0 ?

Під "простим" я маю на увазі доказ простіший, ніж той, який я згадую нижче, зокрема я шукаю доказ, який не залежить від булевої оцінки формули, що знаходиться в NC1 .


Фон

Тут усі згадані класи складності є єдиними.

BFB (балансування булевої формули):
Дано булеву формулу φ ,
знайдіть еквівалентну збалансовану булеву формулу.

Мене цікавить складність цієї проблеми, зокрема прості докази, що показують, що проблема є в AC0 (або навіть TC0 або NC1 ). Загальні аргументації балансування, такі як ті, що ґрунтуються на леммі Спіра, застосовують повторні структурні зміни до дерева формул, які, здається, дають лише BFB∈NC2 .

У мене є доказ для BFB∈AC0 , однак доказ не простий і залежить від доказу BFE∈NC1 .

BFE (оцінка булевої формули)
З урахуванням булевої формули та присвоєння істини τ для змінних у φ , чи задовольняє τ φ ( τ ⊨ φ )?φτφ
τφτ⊨φ

З відомого результату Сем Бусса відомо, що булеву оцінку формули ( ) можна обчислити в N C 1 = A L o g T i m e (див. [Buss87] та [BCGR92] ).BFENC1=ALogTime

Звідси випливає (що дивно, принаймні для мене), що булеві формули врівноваження ( ) також є в N C 1 :BFBNC1

Ідея полягає в тому, що ми можемо жорстко кодувати у вхідних воротах B F E, щоб отримати формулу, еквівалентну φ, і це повністю синтаксична операція, обчислювана в A C 0 . Оскільки B F E має збалансовані формули, ми отримуємо еквівалентну збалансовану формулу для φ . Іншими словами, алгоритм:φBFEφAC0BFEφ

⌜φ⌝↦⌜λp→.Eval(⌜φ⌝,p→)⌝

Мотивація

Більш простий аргумент, що знаходиться в (або або навіть ), дасть новий простіший доказ оскільки легко побачити, що збалансовану версію BFE можна вирішити в і ми можемо скласти її з і результат буде в .A C 0 T C 0 N C 1 B F E ∈ N C 1 N C 1 B F B N C 1BFBAC0TC0NC1BFE∈NC1NC1BFBNC1


Запитання

  1. Чи було відомо, що булеві формули можна збалансувати в ( )? B F B ∈ A C 1AC0BFB∈AC1
  2. Чи є простіший аргумент (наприклад, не покладаючись на ) для ? B F B ∈ A C 0BFE∈NC1BFB∈AC0

3
Яке визначення поняття "баланс" ви використовуєте?
— Дана Мошковіц

1
@Dana, ми можемо використовувати щось на зразок (тобто із конкретними константами). Дивіться також статтю Боннета та Бусса " Розміри по глибині для булевих формул ", 2002.D e p t h = O ( lg S i z e )Depth<10lg⁡Size+100Depth=O(lg⁡Size)
— Kaveh

погодився, дефініція "балансування" повинна бути зрозумілою. це подібне до концепції балансування у двійкових деревах? наприклад, "
— самоврівноважені

Відповіді:


3

Я не впевнений, що це дуже актуально, але в алгоритмах лого-простору для доріжок та співпадінь у k-Деревах (спираючись на довгу історію минулої роботи та конкретно на класи Аритметизації навколо NC1 та L від Limaye-Mahajan-Rao) ми показуємо Як знайти рекурсивні врівноважені роздільники для дерева в Logspace. Цей зв'язаний варіант може бути непорушним для якщо дерево введення безпосередньо вказане в рядковому поданні.NC1

Основна ідея - представити дерево як вираз у дужках і знайти врівноважені роздільники для них. Зауважте, що ми знаходимо роздільники листя, тобто підкресли, які врівноважують wrt кількість листя.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.