Soluzioni di conteggio delle formule Monotone-2CNF


13

Una formula Monotone-2CNF è una formula CNF in cui ogni clausola è composta esattamente da 2 letterali positivi.

Ora, ho una formula Monotone-2CNF F. Sia S l'insieme dei compiti soddisfacenti di FHo anche un oracolo O che è in grado di fornire le seguenti informazioni:

  1. La cardinalità dell'insieme S (ovvero il numero di soluzioni di F ).
  2. Data una variabile x :
    • Il numero di soluzioni in S contenenti il ​​letterale positivo x .
    • Il numero di soluzioni in S contenenti il ​​letterale negativo ¬x .
  3. Dati 2 variabili x1 e x2 :
    • Il numero di soluzioni in S contenenti x1x2 .
    • Il numero di soluzioni in S contenenti x1¬x2 .
    • Il numero di soluzioni in S contenenti ¬x1x2 .
    • Il numero di soluzioni in contenenti ¬ x 1¬ x 2 .S¬x1¬x2

Si noti che l'oracolo è "limitato": funziona solo su F , non può essere utilizzato su una formula F 'F .OFFF


Domanda:

Date 3 variabili , x 2 , x 3 è possibile determinare il numero di soluzioni in S contenenti ¬ x 1¬ x 2¬ x 3 in tempo polinomiale, usando F e le informazioni fornite da O ?x1x2x3S¬x1¬x2¬x3FO

Nota:

È possibile sostituire nella domanda con qualunque altra delle 8 possibili combinazioni di x 1 , x 2 , x 3 . Il problema rimarrebbe lo stesso.¬x1¬x2¬x3x1x2x3


Fatto empirico:

Mi sono imbattuto nel seguente fatto empirico una settimana fa. Sia l'insieme di quelle soluzioni contenenti ¬ x 1¬ x 2 e sia S ¬ x 1¬ x 2x 3S sia l'insieme di quelle soluzioni contenenti ¬ x 1¬ x 2x 3 . Ora, sembra essere il caso che, se la condizione CS¬x1¬x2S¬x1¬x2S¬x1¬x2x3S¬x1¬x2x3Cdetiene, questa relazione detiene anche:

doveϕ=1.618033 ...è il rapporto aureo. La condizioneCsembra essere la seguente:"x1,x2,x3sono menzionati inFquasi lo stesso numero di volte".|S¬x1¬x2||S¬x1¬x2x3|ϕ

ϕ=1.618033...Cx1x2x3F


1
Quando dici "soluzioni contenenti il ​​letterale negativo -x" - intendi "soluzioni con x = 0"?
Noam,

@Noam: Sì, esattamente.
Giorgio Camerani,

1
Osservazione semplice: poiché il numero di possibili domande all'oracolo O è limitato polinomialmente, senza perdita di generalità è possibile interrogare tutte le domande all'inizio di un algoritmo. Pertanto, possiamo sostituire l'oracolo con input aggiuntivi, con la promessa che quei numeri sono corretti. Penso che questa formulazione promettente sia leggermente più semplice rispetto a considerarla come un oracolo.
Tsuyoshi Ito,

@Tsuyoshi: Sì, sono d'accordo con te.
Giorgio Camerani,

1
@vzn: La versione di decisione 2CNF è in . Questa è la versione di conteggio del caso monotono (data una formula monotona 2CNF F , devi calcolare quanti incarichi soddisfacenti ha). PF
Giorgio Camerani,

Risposte:


5

Per usare quel fatto empirico, vuoi davvero sapere se i numeri approssimativi possono dare ad altri numeri approssimativi. Ma per il caso esatto, penso che potrebbe esserci un modo semplice per dimostrare che questo è difficile. Ecco uno schizzo.

Prima nota che gli incarichi soddisfacenti corrispondono a insiemi indipendenti in un grafico. Userò la frase "S-proiezioni di I (G)" per descrivere la funzione di mappatura al numero di insiemi indipendenti I con I S = T . Le "proiezioni k" sono le proiezioni S per tutti i sottoinsiemi S di V con | S | = k .TSIS=T|S|=k

Schema di prova:

  1. Se le 2 proiezioni danno 3 proiezioni, forniscono anche k-proiezioni in polytime per ogni k.
  2. Se le 2 proiezioni danno 4 proiezioni, il numero di insiemi indipendenti di un grafico è in FP, quindi FP = # P.

(1) Sia tale che le proiezioni (k-1) forniscano le proiezioni k. Dato un grafo, suoi k-proiezioni, e x 1 , . . . , X k , v G , si calcolerà le proiezioni su x 1 , . . . , x k , v .k3x1,...,xk,vGx1,...,xk,v

Definisci il grafico collegando un nuovo vertice a v. Questo può essere visto come ponderazione v. Le proiezioni (k-1) di G possono essere calcolate perché conosciamo le proiezioni k di G. Quindi abbiamo il k-proiezioni di G . E questo dà x 1 , . . . , x k , v -proiezioni di G.GGGx1,...,xk,v

(2) Dato un grafo, ordina i bordi e definire G k avere bordi all'e 1 , . . . , e k . Le 2 proiezioni di G k + 1 possono essere calcolate dalle 4 proiezioni di G k . Il numero di set indipendenti in G 0 è 2 | G | . Iterativamente le 4 proiezioni di G possono essere calcolate in tempo polinomiale.e1,...,emGke1,...,ekGk+1GkG02|G|


Preferirei non usare quel fatto empirico! Preferisco il conteggio esatto ovviamente. Ma per inciso ho notato questo fatto mentre cercavo di determinare il conteggio esatto.
Giorgio Camerani,

Grazie per la tua risposta. Sì, è difficile: come dici tu, una risposta positiva a questa domanda implicherebbe #P = FP.
Giorgio Camerani,

7

Alcune osservazioni, non una risposta.

Oltre alla nota alla domanda, qualsiasi combinazione di 3 letterali può essere espressa in termini di qualsiasi altra combinazione di letterali sulle stesse variabili, insieme a un piccolo numero di termini che l'oracolo può fornire. Ciò deriva dall'esaminare il diagramma di Venn di 3 insiemi intersecanti e dall'esprimere ciascuna delle 8 regioni in termini di altre regioni. Si noti che ciò non richiede che la formula sia monotona o 2CNF.

È anche chiaro che il numero di soluzioni che soddisfano qualsiasi congiunzione di 3 litri può essere espresso come la somma di termini, ognuno dei quali è 0 o 1, esprimendo una particolare assegnazione a tutte le variabili. Ognuno di questi può essere valutato in tempo lineare, ma ci sono molti termini in modo esponenziale da valutare, quindi questo non soddisfa i requisiti.2n3

Quindi la domanda è davvero se è possibile sfruttare la proprietà di essere 2CNF monotona per comprimere questa espressione di dimensione esponenziale in dimensione polinomiale.

Ho cercato di esaminare una domanda più semplice, limitando l'oracolo a una semplice stringa di consigli con il numero di soluzioni, quando i conteggi per combinazioni letterali singole o a coppie non sono disponibili. Non riesco a vedere alcun modo per sfruttare la conoscenza del numero di soluzioni per ottenere un rapido calcolo del numero di soluzioni rispetto a ogni singolo letterale.

C'è qualcosa nel 2CNF monotono che consentirebbe di ottenere rapidamente il numero di soluzioni in contenente x 1 , se uno lo sapesse | S | ?Sx1|S|


2
In effetti, le informazioni fornite devono essere abbastanza potenti da sconfiggere la durezza sottostante. È noto che non esistono fpras per soluzioni a 2-SAT monotono a meno che NP = RP.
mum

@Andras: Ciò che qui viene chiamato "Oracle" è solo una sorta di dizionario . Sembra il caso che tale dizionario D può essere costruito in modo incrementale, aggiornando ogni volta una nuova clausola viene aggiunto a F . Il problema è che, per aggiornare correttamente D , devo rispondere a questa domanda. DDFD
Giorgio Camerani,

@Walter: Sì, lo capisco. Il mio punto è che non è chiaro nemmeno un caso molto più semplice: passare dal numero totale di soluzioni al numero di soluzioni contenenti un solo valore letterale.
András Salamon,

1
È possibile che la tua formula sia essenzialmente lineare: insiemi indipendenti in un percorso seguono la sequenza di Fibonacci. Un modo per vedere questo è che la funzione di partizione (1 1; 1 0) ha phi come autovalore.
Colin McQuillan,

3
Mi è capitato di trovare delle diapositive che discutevano di un risultato più rigoroso: isid.ac.in/~antar/Talks/Counting-Hard-Core_KBS_slides.pdf (vedi pagina 11)
Colin McQuillan,
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.