Sto cercando di elaborare un compito (tratto dal libro Algorithms - di S. Dasgupta, CH Papadimitriou e UV Vazirani , Cap 8, problema 8.6a), e sto parafrasando quello che afferma:
Dato che 3SAT rimane NP-completo anche se limitato alle formule in cui ogni letterale appare al massimo due volte, mostra che se ogni letterale appare al massimo una volta, il problema è risolvibile in tempo polinomiale.
Ho tentato di risolvere questo problema separando le clausole in più gruppi:
- Clausole che non avevano alcuna variabile in comune con il resto delle clausole
- Clausole che avevano solo 1 variabile in comune
- Clausole che avevano 2 variabili in comune
- Clausole che avevano in comune tutte e 3 le variabili
Il mio ragionamento è stato tentato secondo il quale il numero di tali gruppi è finito (a causa della restrizione imposta di non essere letteralmente presente più di una volta), e potremmo prima provare a soddisfare il gruppo più limitato (gruppo 4) e quindi sostituire il risulta nei gruppi con restrizioni minori (3, 2 e poi 1), ma mi sono reso conto che questo non mi stava portando da nessuna parte, poiché questo non differisce molto dal caso della versione limitata di 3SAT in cui ogni letterale può apparire al massimo due volte, che ha dimostrato di essere NP-completo.
Ho provato a cercare online eventuali suggerimenti / soluzioni, ma tutto ciò che ho potuto ottenere è stato questo link , in cui il suggerimento dichiarato non aveva abbastanza senso per me, che sto riproducendo alla lettera qui:
Suggerimento: poiché ogni letterale appare al massimo una volta, converti questo problema in 2SAT problema - quindi tempo polinomiale, se un letterale appare nella clausola e complemento di (cioè, ) nella clausola , costruisci una nuova clausola clausola .C j x i ¯ x i C k C j ∨ ¯ C k
Sia che hanno tre valori letterali ciascuno: non ho come dovrei convertirlo in 2SAT facendo (o se l'ho letto in modo errato).C k C j ∨ ¯ C k ¯ C j ∨ C k
Qualsiasi aiuto nel decifrare il suggerimento o nel fornire un percorso che posso esplorare sarebbe molto apprezzato.