Riduzione del poli-tempo da ILP a SAT?


14

Quindi, come è noto, il problema decisionale 0-1 dell'ILP è NP-completo. Mostrare che è in NP è facile e la riduzione originale era da SAT; da allora, molti altri problemi NP-Complete hanno dimostrato di avere formulazioni ILP (che funzionano come riduzioni di tali problemi a ILP), perché ILP è utilmente generale.

Riduzioni da ILP sembrano molto più difficile da fare sia io o rintracciare.

Quindi, la mia domanda è: qualcuno conosce una riduzione dei tempi multipli da ILP a SAT, cioè dimostrando come risolvere qualsiasi problema di decisione ILP 0-1 usando SAT?

Risposte:


12

0-1 ILP formulato come:

Esiste un vettore , soggetto a vincoli:x

a11x1+a12x2...+a1nxnb1a21x1+a22x2...+a2nxnb2...am1x1+am2x2...+amnxnbm

Dominio di x:xjxxj{0,1}

Riduzione a k-sat:

In primo luogo ridurre al circuito sat:

Inizia con la prima riga, crea una variabile booleana per rappresentare ciascun bit in e una variabile booleana per . Quindi rendere variabile per . Crea un circuito di aggiunta (scegli il tuo preferito) aggiungendo la fila.a1jxjb1

Quindi crea un circuito di confronto, dichiarando la somma inferiore a .b1

Converti questi due circuiti in CNF, compilando le variabili e poiché vengono fornite.a1jb1

Ripetere l'operazione per tutte le righe, ma riutilizzare le variabili tra di esse.xj

Il CNF finale conterrà tutti i vincoli.


Ah, vedo ora ... In qualche modo mi sono dimenticato dell'opzione di passare attraverso il circuito sat .... Grazie mille per il tuo aiuto.
codetaku,

0

È una specie di risposta negativa alla domanda già risposta e accettata, ma voglio notare che esiste un modo davvero più semplice.

Considera di avere una delle disuguaglianze come questa:

5x1+2x2+3x36

(1,1,1)(1,1,0)(1,0,1)

(1,1,1)¬(x1x2x3)(¬x1¬x2¬x3)

(¬x1¬x2¬x3)(¬x1¬x2x3)(¬x1x2¬x3)

Attraversando tutte le disuguaglianze e raccogliendo le clausole, alla fine otterrai cnf. Spesso questo cnf sarà MODO SEMPLICE, quindi uno, che risulta dalla risposta accettata. Il costo è però una pre-elaborazione più difficile.

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.