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...+a1nxn≤b1a21x1+a22x2...+a2nxn≤b2...am1x1+am2x2...+amnxn≤bm

Dominio di x:∀xj∈xxj∈{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:

5∗x1+2∗x2+3∗x3≤6

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

(1,1,1)¬(x1∧x2∧x3)(¬x1∨¬x2∨¬x3)

(¬x1∨¬x2∨¬x3)(¬x1∨¬x2∨x3)(¬x1∨x2∨¬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.