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


10

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

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

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


Фон

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

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

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

У мене є доказ для BFBAC0 , однак доказ не простий і залежить від доказу BFENC1 .

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 1BFBAC0TC0NC1BFENC1NC1BFBNC1


Запитання

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

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

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

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

Відповіді:


3

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

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

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