Equilibratura formula booleana in


10

Sto cercando riferimenti sulla complessità del problema di bilanciamento della formula booleana . In particolare,

  1. Era noto che le formule booleane possono essere bilanciate in AC0 ?
  2. Esiste una semplice prova del bilanciamento della formula booleana in AC0 ?

Per "semplice" intendo una dimostrazione più semplice di quella che menziono di seguito, in particolare cerco una dimostrazione che non dipende dalla valutazione della formula booleana in NC1 .


sfondo

Qui tutte le classi di complessità menzionate sono quelle uniformi.

BFB (bilanciamento formula booleana):
data una formula booleana φ ,
trova una formula booleana equilibrata equivalente.

Sono interessato alla complessità di questo problema, in particolare semplici prove che dimostrano che il problema è in AC0 (o anche TC0 o NC1 ). Gli argomenti di bilanciamento comuni come quelli basati sul lemma di Spira applicano ripetute modifiche strutturali all'albero della formula che sembrano dare solo BFBNC2 .

Ho una prova per BFBAC0 , tuttavia la prova non è semplice e dipende dalla prova di BFENC1 .

BFE (booleano valutazione formula)
Data una formula booleana e un assegnamento di verità τ per le variabili in φ , non τ soddisfare φ ( τ φ )?φτφ
τφτφ

È noto dal celebre risultato di Sam Buss che la valutazione della formula booleana ( ) può essere calcolata in N C 1 = A L o g T i m e (vedi [Buss87] e [BCGR92] ).BFENC1=ALogTime

Ne consegue (abbastanza sorprendentemente, almeno per me) che il bilanciamento delle formule booleane ( ) è anche in N C 1 :BFBNC1

L'idea è che possiamo hardcodificare nelle porte di ingresso di B F E per ottenere una formula equivalente a φ e questa è un'operazione completamente sintattica calcolabile in A C 0 . Poiché B F E ha formule bilanciate, otteniamo una formula bilanciata equivalente per φ . In altre parole, l'algoritmo è:φBFEφAC0BFEφ

φλp.Eval(φ,p)

Motivazione

Un argomento più semplice per in (o o anche ) darebbe una nuova prova più semplice di poiché è facile vedere che la versione bilanciata di BFE può essere risolta in e possiamo comporla con e il risultato sarà in .A C 0 T C 0 N C 1 B F E N C 1 N C 1 B F B N C 1BFBAC0TC0NC1BFENC1NC1BFBNC1


Domande

  1. Era noto che le formule booleane possono essere bilanciate in ( )? B F B A C 1AC0BFBAC1
  2. Esiste un argomento più semplice (ad es. Non basarsi su ) per ? B F B A C 0BFENC1BFBAC0

3
Quale definizione di "equilibrio" usi?
Dana Moshkovitz,

1
@Dana, possiamo usare qualcosa come (cioè con costanti specifiche). Vedi anche l'articolo di Bonnet e Buss " Scambio dimensionale per formule booleane ", 2002.D e p t h = O ( lg S i z e )Depth<10lgSize+100Depth=O(lgSize)
Kaveh,

concordato che la definizione di "bilanciamento" dovrebbe essere chiarita. è simile al concetto di bilanciamento negli alberi binari? ad esempio "alberi auto-equilibrati"
vzn

Risposte:


3

Non sono sicuro che questo sia molto rilevante, ma in Algoritmi log-spazio per percorsi e abbinamenti in k-alberi (basato su una lunga storia di lavori passati e in particolare sulle classi di aritmetizzazione intorno a NC1 e L di Limaye-Mahajan-Rao) mostriamo come trovare separatori bilanciati ricorsivi per un albero in Logspace. Questo limite potrebbe benissimo essere migliorabile a se l'albero di input viene dato direttamente nella rappresentazione di stringa.NC1

L'idea di base è quella di rappresentare l'albero come espressione tra parentesi e trovare separatori bilanciati per questi. Si noti che troviamo separatori di foglie, ovvero sottotemi che sono bilanciati rispetto al numero di foglie.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.