Próbuję wypracować zadanie (zaczerpnięte z książki Algorytmy - S. Dasgupta, CH Papadimitriou i UV Vazirani , Rozdział 8, problem 8.6a), i parafrazuję to, co mówi:
Biorąc pod uwagę, że 3SAT pozostaje NP-kompletny, nawet jeśli ogranicza się do formuł, w których każdy literał pojawia się co najwyżej dwa razy, pokaż, że jeśli każdy literał pojawia się co najwyżej raz, to problem można rozwiązać w czasie wielomianowym.
Próbowałem rozwiązać ten problem, dzieląc klauzule na wiele grup:
- Klauzule, które nie miały żadnej zmiennej wspólnej z resztą klauzul
- Klauzule, które mają tylko jedną zmienną wspólną
- Klauzule, które łączyły 2 zmienne
- Klauzule, które łączyły wszystkie 3 zmienne
Podjęto próbę mojego rozumowania zgodnie z tym, że liczba takich grup jest skończona (z powodu nałożonego ograniczenia, że dosłowność nie występuje więcej niż jeden raz), i możemy spróbować najpierw zaspokoić najbardziej ograniczoną grupę (grupa 4), a następnie zastąpić skutkują mniej ograniczonymi grupami (3, 2, a następnie 1), ale zdałem sobie sprawę, że nigdzie mnie to nie prowadzi, ponieważ nie różni się to zbytnio od przypadku ograniczonej wersji 3SAT, w której może występować każdy literał co najwyżej dwa razy, co okazało się być NP-zupełne.
Próbowałem szukać w Internecie jakichkolwiek wskazówek / rozwiązań, ale jedyne, co mogłem uzyskać, to ten link , w którym podana wskazówka nie miała dla mnie wystarczającego sensu, który odtwarzam tutaj dosłownie:
Jakakolwiek pomoc w odszyfrowaniu podpowiedzi lub zapewnieniu ścieżki, którą mogę zbadać, byłaby bardzo wdzięczna.
źródło