To jest moje osobiste podejście do ustalenia, czy problem (tj. Język ) jest NP-zupełny, czy nie. Jeśli oba te warunki są zweryfikowane:L.
- Wydaje mi się, że sprawdzenie, czy instancja, którą w L, oznacza, że muszę sprawdzić wszystkie kombinacjejaL.
- i że nie ma sposobu na podzielenie takiej kombinacji na dwie mniejsze
wtedy może być bardzo trudne do NP.L.
Na przykład dla problemu sumy podzbiorów muszę wymienić wszystkie podzbiory i sprawdzić, czy istnieje taki, którego suma wynosi zero. Czy mogę podzielić S na dwa mniejsze podzbiory S 1 i S 2, w których sprawdzę podobną właściwość? Humm ... niezupełnie. Może gdybym sprawdził wszystkie kombinacje S 1 i S 2, ale byłoby to naprawdę długie ...S.S.S.1S.2)S.1S.2)
Zwykle umiejętność dzielenia się na mniejsze kawałki jest dobrym wskaźnikiem problemu w P. Jest to podejście dziel i zwyciężaj . Na przykład, aby znaleźć najkrótszą drogę między dwoma punktami, można użyć tę właściwość, że jeśli najkrótsza droga od do C przejść przez B to nie jest dłużej niż najkrótszej ścieżki od A do B plus najkrótsza z B do C .ZAdobZAbbdo
Szczerze mówiąc, takie podejście jest bardzo podstawowe: staram się znaleźć algorytm (wielomianowy) dla danego problemu. Jeśli nie mogę go znaleźć, to z mojego punktu widzenia problem staje się „trudny”. Potem pojawia się całe rozumowanie dotyczące NP-kompletności: czy będę w stanie zakodować istniejący problem NP-complete na ten problem? (A ponieważ jest to zwykle znacznie trudniejsze, próbuję jeszcze raz znaleźć algorytm wielomianowy ..)
Podejrzewam, że jest to zwykły sposób myślenia. Jednak nadal trudno jest zastosować w przypadku nieznanych problemów. Osobiście pamiętam, jak zaskoczył mnie jeden z pierwszych przykładów kompletności NP: powiedziano mi: problem kliki . Sprawdzenie tego wydawało się takie proste! Przypuszczam, że to doświadczenie ma z tym wiele wspólnego. Również intuicja może być czasem bezużyteczna. Pamiętam, że kilkakrotnie powiedziano mi dwa prawie identyczne problemy, ale jeden był w P, a drugi z niewielką zmiennością był NP-zupełny.
Mam jeszcze dobry przykład (potrzebuję tutaj pomocy), ale jest to problem z korespondencją pocztową : jest to problem nierozstrzygalny, ale niektóre warianty są rozstrzygalne.