Problem NP-zupełny: Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
Rei-bot (dyskusja | edycje)
Stv.bot (dyskusja | edycje)
m robot poprawia: nl:NP-volledig
Linia 38: Linia 38:
[[it:NP-Completo]]
[[it:NP-Completo]]
[[he:מחלקת סיבוכיות NPC]]
[[he:מחלקת סיבוכיות NPC]]
[[nl:NP-compleet]]
[[nl:NP-volledig]]
[[ja:NP完全問題]]
[[ja:NP完全問題]]
[[nn:NP-komplett]]
[[nn:NP-komplett]]

Wersja z 19:45, 20 kwi 2007

Problemy NP-zupełne (NPC) to takie problemy klasy NP, że każdy inny problem klasy NP może zostać do nich zredukowany w czasie wielomianowym - rozwiązanie jednego takiego problemu w czasie wielomianowym oznaczałoby, że . Aby udowodnić, że problem A jest NP-zupełny wystarczy wykazać dla dowolnie wybranego problemu NP-zupełnego B, że dla każdego zestawu danych dla problemu B istnieje przekształcenie (wykonywalne w czasie wielomianowym) tych danych do takich danych problemu A, że dla tego problemu dane te dają tę samą odpowiedź. Owe wielomianowe przekształcenie nazywamy transformacją wielomianową (lub alfa-transformacją). Pierwszym problemem dla którego wykazano NP-zupełność był problem sat-3 czyli problem spełnialności wyrażeń w postaci 3CNF (formuły logiczne składające się z iloczynu logicznego 3-elementowych sum logicznych) rzecz jasna przynależności do klasy NPC nie można było dokonać w sposób powyższy. Zamiast tego wykazano możliwość sprowadzenia do niego każdego problemu należącego do klasy NP.

Problemy NP-zupełne można traktować jako najtrudniejsze problemy klasy NP (z punktu widzenia wielomianowej rozwiązywalności).

Taka definicja problemów NP-zupełnych implikuje fakt, że jeśli tylko potrafimy rozwiązać jakikolwiek problem NP-zupełny w czasie wielomianowym, to potrafimy rozwiązać w czasie wielomianowym wszystkie problemy NP-zupełne.

Pytanie, czy problemy NP-zupełne można rozwiązywać w czasie wielomianowym, jest największą zagadką informatyki teoretycznej. Ciągle nie udowodniono tego, iż (nie udowodniono także przeciwnie - że ), która jednoznacznie stwierdzałaby, że jest to niemożliwe. Rozwiązanie tego problemu znalazło się na liście problemów milenijnych. Mimo ufundowania miliona dolarów za rozwiązanie problemu, nikomu się to nie udało.

Pytanie związane z problemami NP-zupełnymi ma szczególne znaczenie w kryptografii - rozwiązanie któregokolwiek problemu NP-zupełnego w czasie wielomianowym (a zatem rozwiązanie ich wszystkich) umożliwiłoby między innymi szybkie łamanie szyfru RSA (jednego z najbardziej popularnych szyfrów aktualnie stosowanych) - opiera się on na założeniu, że problem podziału dowolnej liczby na czynniki pierwsze jest problemem trudnym. Problem ten jest w NP, ale nie udowodniono jego NP-trudności.

Problem nie może być jednocześnie NP-zupełny i CoNP-zupełny, chyba że .

Przykłady problemów NP-zupełnych:

Zobacz też