Problem P vs NP (także pytanie, czy P = NP) – nierozwiązany problem teorii złożoności obliczeniowej dotyczący tego, czy klasa złożoności P jest równa klasie NP. W ujęciu nieformalnym pyta, czy każdy problem, dla którego poprawność podanego rozwiązania można szybko sprawdzić, można również szybko rozwiązać. Słowo „szybko” oznacza tu istnienie algorytmu działającego w czasie wielomianowym względem rozmiaru danych wejściowych[1][2].
Problem należy do siedmiu problemów milenijnych wskazanych przez Clay Mathematics Institute. Za jego rozwiązanie przewidziano nagrodę miliona dolarów[2]. Jest powszechnie uważany za jedno z najważniejszych otwartych pytań informatyki teoretycznej[3]. Mimo tej rangi nie należy utożsamiać czasu wielomianowego z praktyczną łatwością: algorytm wielomianowy może mieć zbyt duże stałe lub wykładniki, a niektóre problemy spoza tej klasy mogą być rozwiązywane skutecznie w wielu typowych przypadkach[4].

Sformułowanie
edytujKlasa P obejmuje problemy decyzyjne, które można rozwiązać na deterministycznym modelu obliczeń w czasie wielomianowym. Formalnie są to języki akceptowane przez deterministyczną maszynę Turinga w liczbie kroków ograniczonej wielomianem od długości wejścia[5]. Klasa NP obejmuje problemy decyzyjne, dla których odpowiedź „tak” można zweryfikować w czasie wielomianowym, jeżeli podany jest odpowiedni certyfikat rozwiązania. Definicja przez certyfikaty jest równoważna standardowej definicji przez niedeterministyczną maszynę Turinga działającą w czasie wielomianowym. Każdy problem z P należy do NP, ponieważ algorytm rozwiązujący pozwala też szybko zweryfikować odpowiedź[6].
Pytanie P versus NP dotyczy tego, czy zachodzi również inkluzja odwrotna, czyli czy P = NP. Jeżeli P = NP, każdy problem z szybko weryfikowalnym rozwiązaniem miałby także algorytm znajdujący rozwiązanie w czasie wielomianowym. Jeżeli P ≠ NP, istnieją problemy, których rozwiązania da się szybko sprawdzać, ale których nie da się rozwiązywać w czasie wielomianowym.
Przykład intuicyjny
edytujTypowym przykładem jest problem spełnialności formuł logicznych. Dla danej formuły rachunku zdań łatwo sprawdzić, czy konkretne przypisanie wartości logicznych spełnia tę formułę: wystarczy podstawić wartości zmiennych i obliczyć wynik. Znacznie trudniejsze może być znalezienie takiego przypisania lub stwierdzenie, że ono nie istnieje. Problem spełnialności, znany jako SAT, jest centralnym przykładem problemu NP-zupełnego[7]. Z SAT wiąże się silniejsza od hipotezy P ≠ NP hipoteza czasu wykładniczego, według której 3-SAT nie ma algorytmu podwykładniczego, tj. działającego w czasie . Impagliazzo, Paturi i Zane pokazali, że podwykładnicze algorytmy dla wielu naturalnych problemów NP-zupełnych są powiązane redukcjami zachowującymi taki czas działania[8].
Podobny kontrast między łatwym sprawdzeniem a trudnym znalezieniem rozwiązania występuje w wielu łamigłówkach i zadaniach kombinatorycznych. Uzupełnioną planszę uogólnionego sudoku albo kwadrat łaciński łatwo zweryfikować, lecz istnienie takiego wypełnienia dla uogólnionego sudoku oraz uzupełnianie częściowych kwadratów łacińskich to problemy NP-zupełne[9][10].
Historia
edytujWcześniejsze intuicje podobnych trudności pojawiały się jeszcze przed formalnym zdefiniowaniem klas P i NP. W 1955 roku John Nash w liście do National Security Agency rozważał zależność między długością klucza kryptograficznego a trudnością jego złamania[11]. Rok później Kurt Gödel pytał Johna von Neumanna o możliwość szybkiego rozstrzygania problemów dowodzenia twierdzeń. Później zwracano uwagę, że list ten antycypował część motywacji stojących za problemem P versus NP[12].
Pierwszym naturalnym problemem, dla którego wykazano NP-zupełność, był problem spełnialności formuł logicznych. Wynik ten, znany jako twierdzenie Cooka-Levina, został sformułowany przez Stephena Cooka w 1971 roku, a niezależnie w pokrewnej postaci przez Leonida Levina[7][13]. W 1972 roku Richard Karp pokazał metodę sprowadzania SAT do wielu innych problemów kombinatorycznych i wyodrębnił 21 klasycznych problemów NP-zupełnych, co utrwaliło redukcje wielomianowe jako podstawowe narzędzie badania P vs NP[14].
NP-zupełność i NP-trudność
edytujW badaniu problemu P versus NP kluczową rolę odgrywają problemy NP-zupełne. Są to problemy należące do NP, do których każdy problem z NP można sprowadzić za pomocą redukcji wielomianowej. W typowym ujęciu taka redukcja jest funkcją obliczalną w czasie wielomianowym, która przekształca instancje jednego problemu w instancje drugiego, zachowując odpowiedź „tak” albo „nie”[15]. Oznacza to, że szybki algorytm dla dowolnego problemu NP-zupełnego dawałby szybkie algorytmy dla wszystkich problemów z NP. W konsekwencji wykazanie, że choć jeden problem NP-zupełny należy do P, dowiodłoby równości P = NP[3].
Pojęciem szerszym jest NP-trudność. Problem NP-trudny to taki, do którego można zredukować każdy problem z NP. Nie musi on jednak sam należeć do NP ani nawet być problemem decyzyjnym. Problem NP-zupełny jest więc jednocześnie NP-trudny i należy do NP.
Z równością P = NP wiąże się też pytanie o zapadanie się szerszych klas złożoności. Gdyby P było równe NP, równe byłyby także NP i co-NP, a hierarchia wielomianowa zapadłaby się do P. Większość badaczy uważa to za mało prawdopodobne, co jest jednym z powodów ostrożnego traktowania hipotezy P = NP[16].
Problemy NP-pośrednie
edytujJeżeli P ≠ NP, nie wszystkie problemy z NP muszą być NP-zupełne. Twierdzenie Ladnera pokazuje, że przy tym założeniu istnieją problemy pośrednie: należące do NP, ale nienależące ani do P, ani do klasy problemów NP-zupełnych. Jako kandydatów na takie problemy często wskazuje się m.in. problem izomorfizmu grafów oraz decyzyjne wersje problemów takich jak logarytm dyskretny i rozkład liczby całkowitej na czynniki, choć ich dokładne miejsce w klasycznej hierarchii złożoności pozostaje otwarte[17][18].
Dla izomorfizmu grafów znane są dodatkowe przesłanki strukturalne: gdyby problem ten był NP-zupełny, hierarchia wielomianowa zapadłaby się do drugiego poziomu, co uważa się za mało prawdopodobne[19]. Znane algorytmy dla tego problemu nie dają jednak klasycznego algorytmu wielomianowego. Istotnym postępem był quasi-wielomianowy algorytm László Babaiego[20].
Decyzyjną wersję faktoryzacji można ująć jako pytanie, czy dla danych liczb naturalnych i istnieje dzielnik liczby taki, że . Problem ten należy do NP i co-NP, a nawet do klas UP i co-UP. Gdyby był NP-zupełny, hierarchia wielomianowa zapadłaby się do pierwszego poziomu[18]. Z drugiej strony najlepsze klasyczne algorytmy faktoryzacji nie są wielomianowe, a algorytm Shora pokazuje wielomianową faktoryzację dopiero w modelu obliczeń kwantowych[21]. Dla kontrastu samo rozpoznawanie liczb pierwszych ma deterministyczny algorytm wielomianowy dzięki wynikowi Agrawala, Kayala i Saxeny z 2004 roku[22]. Dlatego faktoryzacja dobrze ilustruje, że problemy ważne kryptograficznie mogą znajdować się poza znanym podziałem na P i NP-zupełne.
Problemy trudniejsze i pokrewne
edytujPytanie P vs NP nie oznacza, że wszystkie problemy obliczeniowe mieszczą się w jednej z tych dwóch klas. Z twierdzeń hierarchii czasowej wynika, że P jest właściwie zawarte w EXPTIME, więc istnieją problemy rozwiązywalne w czasie wykładniczym, których nie da się rozwiązać w czasie wielomianowym[6]. W literaturze jako przykłady naturalnych problemów o bardzo wysokiej złożoności analizowano m.in. uogólnione wersje gier planszowych oraz rozstrzyganie formuł arytmetyki Presburgera[23][24].
Z tego powodu problem P vs NP jest tylko jednym, choć centralnym, pytaniem o granice efektywnego obliczania. Rozstrzygnięcie P ≠ NP oddzieliłoby P od części NP, ale nie wyczerpałoby klasyfikacji problemów jeszcze trudniejszych, problemów nierozstrzygalnych ani zadań liczbowych i aproksymacyjnych, które wymagają osobnych narzędzi teorii złożoności.
Samo pytanie P vs NP dotyczy problemów decyzyjnych, czyli takich z odpowiedzią „tak” albo „nie”. W teorii złożoności bada się jednak również problemy liczenia rozwiązań. Klasa #P obejmuje zadania, w których trzeba policzyć liczbę certyfikatów spełniających warunek. Leslie Valiant pokazał, że takie problemy mogą być bardzo trudne nawet wtedy, gdy samo stwierdzenie istnienia rozwiązania jest łatwe[25]. Z klasycznym pytaniem P vs NP wiążą się także wyniki o zliczaniu i aproksymacji, w tym twierdzenie Tody, wiążące klasę PP z hierarchią wielomianową, oraz twierdzenie PCP, które precyzuje trudność znajdowania rozwiązań bliskich optymalnym[26][27].
Część pokrewnych problemów wykracza poza klasyczny model deterministycznej maszyny Turinga używany w definicjach P i NP. W szczególności obliczenia losowe i kwantowe prowadzą do osobnych klas złożoności. Nie są one po prostu wariantem pytania P vs NP, lecz pokazują, że pojęcie efektywnego obliczania zależy także od przyjętego modelu. Obliczenia losowe opisuje m.in. klasa BPP, a standardowym punktem odniesienia dla obliczeń kwantowych jest klasa BQP, obejmująca problemy rozwiązywalne przez komputer kwantowy z ograniczonym prawdopodobieństwem błędu[28]. W parametryzowanej teorii złożoności podobną rolę odgrywa pytanie FPT kontra W[1], a w algebraicznej teorii złożoności pytanie VP kontra VNP[29][30].
Czas wielomianowy a praktyczna obliczalność
edytujCzas wielomianowy jest w teorii złożoności podstawowym formalnym progiem efektywnego obliczania, ale nie jest tym samym co praktyczna łatwość. Algorytm wielomianowy może mieć bardzo duży wykładnik lub stałe ukryte w notacji asymptotycznej, a twierdzenie o samym istnieniu takiego algorytmu mogłoby nie dawać od razu użytecznej procedury obliczeniowej[31][32].
Również odwrotna intuicja bywa zawodna: problem może mieć złe ograniczenia w najgorszym przypadku, a mimo to dobrze działać w wielu zastosowaniach. Dla niektórych reguł wyboru pivota metoda sympleks ma wykładnicze przykłady najgorszego przypadku, choć w praktyce często jest skuteczna. Samo programowanie liniowe ma natomiast znane algorytmy wielomianowe[33][34]. Problem P vs NP nie rozstrzyga też automatycznie złożoności średniej: możliwe jest, że problem trudny w najgorszym przypadku ma większość instancji łatwych w praktyce. Russell Impagliazzo opisał kilka hipotetycznych „światów” złożoności średniej, od pełnej algorytmicznej łatwości po świat kryptograficznie trudnych instancji[35].
Znaczenie
edytujRozwiązanie problemu miałoby daleko idące konsekwencje dla informatyki teoretycznej i wielu zastosowań. Jego znaczenie wynika z tego, że wiele naturalnych zadań optymalizacyjnych, logicznych i kombinatorycznych można wyrazić jako problemy w NP albo przez redukcje powiązać z problemami NP-zupełnymi[2][3].
Konsekwencje P = NP
edytujDowód P = NP, zwłaszcza gdyby prowadził do praktycznych algorytmów, mógłby radykalnie zmienić optymalizację, automatyczne dowodzenie twierdzeń, projektowanie algorytmów i kryptografię. Samo formalne P = NP nie musiałoby oznaczać złamania współczesnej kryptografii, bo dowód mógłby nie dawać użytecznego algorytmu, jednak efektywny algorytm dla problemów NP-zupełnych miałby poważne konsekwencje[2].
Praktyczny algorytm dla szerokiej klasy NP-zupełnej mógłby wpływać nie tylko na kryptografię, lecz także na optymalizację i nauki przyrodnicze, ponieważ problemy NP-zupełne pojawiają się m.in. w programowaniu całkowitoliczbowym i problemie komiwojażera[15] oraz uproszczonych modelach zwijania białek[36]. W matematyce praktyczny algorytm znajdowania krótkich dowodów mógłby zmienić sposób rozwiązywania problemów, bo poprawność formalnego dowodu da się sprawdzić w czasie wielomianowym. Podkreślali to m.in. Gödel w liście do von Neumanna oraz Cook w opisie problemu milenijnego[37][2].
Konsekwencje P ≠ NP
edytujDowód P ≠ NP potwierdziłby formalnie, że istnieje zasadnicza różnica między szybkim sprawdzaniem a szybkim znajdowaniem rozwiązań. Miałby głównie znaczenie teoretyczne, ale uporządkowałby badania nad problemami trudnymi: dla wielu naturalnych zadań nie należałoby oczekiwać algorytmu wielomianowego dla wszystkich przypadków. Wzmacniałoby to rolę algorytmów przybliżonych i heurystyk[38].
Status badań
edytujOpinie badaczy i zgłaszane rozwiązania
edytujNie jest znany dowód ani P = NP, ani P ≠ NP. Wśród badaczy dominuje przekonanie, że P ≠ NP, ale pozostaje ono hipotezą, a nie twierdzeniem. W ankiecie Williama Gasarcha z 2018 roku większość respondentów, a wśród osób zaklasyfikowanych jako eksperci prawie wszyscy, deklarowała oczekiwanie, że P ≠ NP. Autor podkreślał jednak, że takie ankiety opisują opinie środowiska, a nie stanowią dowodu matematycznego[39]. Lance Fortnow podkreślał, że mimo ogromnej liczby prac nad problemami NP-zupełnymi nie znaleziono algorytmu wielomianowego dla żadnego z nich ani dowodu, że taki algorytm nie istnieje[3].
Ze względu na rangę problemu regularnie pojawiają się deklarowane rozwiązania, lecz zestawienia takich prób traktują je jako niezweryfikowane albo obalone, a żaden dowód nie został przyjęty przez środowisko[40].
Bariery dowodowe
edytujBadania nad problemem ujawniły także ograniczenia wielu naturalnych metod dowodzenia. W 1975 roku Theodore Baker, John Gill i Robert Solovay pokazali, że istnieją relatywizowane światy obliczeń, w których zachodzi P = NP, oraz takie, w których P ≠ NP. Oznacza to, że techniki dowodowe zachowujące się jednakowo względem wszystkich wyroczni nie mogą same rozstrzygnąć problemu[41]. Później wskazywano kolejne bariery, m.in. dla tzw. dowodów naturalnych w złożoności obwodowej oraz dla algebryzacji, co częściowo tłumaczy, dlaczego standardowe podejścia do dolnych ograniczeń złożoności nie wystarczyły dotąd do rozwiązania problemu[42][43].
Rozważano też niezależność problemu od standardowych systemów aksjomatycznych. Znane wyniki są jednak ostrożne: niezależność od słabszych teorii arytmetyki pociągałaby mocne konsekwencje algorytmiczne, a analizy metamatematyczne muszą być zgodne z istnieniem albo nieistnieniem efektywnych algorytmów dla problemów z NP[44][45].
Charakterystyki logiczne
edytujProblem P vs NP ma również charakter logiczny. Twierdzenie Fagina opisuje klasę NP jako własności struktur skończonych wyrażalne w egzystencjalnej logice drugiego rzędu, a późniejsze wyniki teorii złożoności opisowej wiążą P z logiką pierwszego rzędu rozszerzoną o operator najmniejszego punktu stałego, przy uporządkowanych strukturach skończonych. W tym języku pytanie P vs NP można odczytać jako pytanie, czy egzystencjalne kwantyfikowanie po relacjach daje większą siłę wyrazu niż odpowiednia logika punktu stałego[46][47]. W tym ujęciu, jak zauważa Elvira Mayordomo, równość P = NP byłaby równoważna temu, że egzystencjalna logika drugiego rzędu nie opisuje nad uporządkowanymi strukturami skończonymi więcej języków niż logika punktu stałego[48].
Zobacz też
edytujPrzypisy
edytuj- ↑ Explained: P vs. NP [online], MIT News, 29 października 2009 [dostęp 2026-05-09] (ang.).
- ↑ a b c d e Stephen Cook, The P Versus NP Problem, Clay Mathematics Institute, kwiecień 2000 [dostęp 2026-05-09] (ang.).
- ↑ a b c d Lance Fortnow, The status of the P versus NP problem, „Communications of the ACM”, 52 (9), 2009, s. 78–86, DOI: 10.1145/1562164.1562186 (ang.).
- ↑ Sanjeev Arora, Boaz Barak, Computational Complexity: A Modern Approach, Cambridge University Press, 2009, s. 2–3, ISBN 978-0-521-42426-4 (ang.).
- ↑ John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, wyd. 3, Pearson/Addison Wesley, 2006, ISBN 978-0-321-45536-9 (ang.).
- ↑ a b Michael Sipser, Introduction to the Theory of Computation, wyd. 3, Cengage Learning, 2013, ISBN 978-1-133-18779-0 (ang.).
- ↑ a b The complexity of theorem-proving procedures, [w:] Stephen A. Cook, Proceedings of the Third Annual ACM Symposium on Theory of Computing, Association for Computing Machinery, 1971, s. 151–158, DOI: 10.1145/800157.805047, ISBN 978-1-4503-7464-4 (ang.).
- ↑ Russell Impagliazzo, Ramamohan Paturi, Francis Zane, Which Problems Have Strongly Exponential Complexity?, „Journal of Computer and System Sciences”, 63 (4), 2001, s. 512–530, DOI: 10.1006/jcss.2001.1774 [dostęp 2026-05-09] (ang.).
- ↑ Takayuki Yato, Takahiro Seta, Complexity and Completeness of Finding Another Solution and Its Application to Puzzles, „IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences”, E86-A (5), 2003, s. 1052–1060 [dostęp 2026-05-09] (ang.).
- ↑ Charles J. Colbourn, The complexity of completing partial Latin squares, „Discrete Applied Mathematics”, 8 (1), 1984, s. 25–30, DOI: 10.1016/0166-218X(84)90075-1 (ang.).
- ↑ National Security Agency, Letters from John Nash, National Security Agency, 26 kwietnia 2012 [dostęp 2026-05-09] (ang.).
- ↑ Juris Hartmanis, Gödel, von Neumann, and the P = NP problem, „Bulletin of the European Association for Theoretical Computer Science”, 38, s. 101–107 [dostęp 2026-05-09] (ang.).
- ↑ L.A. Levin, Универсальные задачи перебора, „Проблемы передачи информации”, 9 (3), 1973, s. 115–116 (ros.).
- ↑ Richard M. Karp, Reducibility among combinatorial problems, „Complexity of Computer Computations”, 1972, s. 85–103, DOI: 10.1007/978-1-4684-2001-2_9 (ang.).
- ↑ a b Michael R. Garey, David S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, 1979, ISBN 978-0-7167-1045-5 (ang.).
- ↑ Christos H. Papadimitriou, Computational Complexity, Addison-Wesley, 1994, ISBN 978-0-201-53082-7 (ang.).
- ↑ Richard E. Ladner, On the structure of polynomial time reducibility, „Journal of the ACM”, 22 (1), 1975, s. 151–171, DOI: 10.1145/321864.321877 (ang.).
- ↑ a b Lance Fortnow, Complexity Class of the Week: Factoring [online], 13 września 2002 [dostęp 2026-05-09] (ang.).
- ↑ Uwe Schöning, Graph isomorphism is in the low hierarchy, „Journal of Computer and System Sciences”, 37 (3), 1988, s. 312–323, DOI: 10.1016/0022-0000(88)90010-4 (ang.).
- ↑ Group, graphs, algorithms: the graph isomorphism problem, [w:] László Babai, Proceedings of the International Congress of Mathematicians—Rio de Janeiro 2018. Vol. IV. Invited lectures, World Scientific, 2018, s. 3319–3336, MR 3966534 (ang.).
- ↑ Peter W. Shor, Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer, „SIAM Journal on Computing”, 26 (5), 1997, s. 1484–1509, DOI: 10.1137/S0097539795293172 (ang.).
- ↑ Manindra Agrawal, Neeraj Kayal, Nitin Saxena, PRIMES is in P, „Annals of Mathematics”, 160 (2), 2004, s. 781–793, DOI: 10.4007/annals.2004.160.781 [dostęp 2026-05-09] (ang.).
- ↑ Aviezri S. Fraenkel, David Lichtenstein, Computing a perfect strategy for n × n chess requires time exponential in n, „Journal of Combinatorial Theory, Series A”, 31 (2), 1981, s. 199–214, DOI: 10.1016/0097-3165(81)90016-9 (ang.).
- ↑ Michael J. Fischer, Michael O. Rabin, Super-Exponential Complexity of Presburger Arithmetic, „Proceedings of the SIAM-AMS Symposium in Applied Mathematics”, 7, 1974, s. 27–41 [dostęp 2026-05-09] [zarchiwizowane z adresu 2006-09-15] (ang.).
- ↑ Leslie G. Valiant, The complexity of enumeration and reliability problems, „SIAM Journal on Computing”, 8 (3), 1979, s. 410–421, DOI: 10.1137/0208032 (ang.).
- ↑ Seinosuke Toda, PP is as hard as the polynomial-time hierarchy, „SIAM Journal on Computing”, 20 (5), 1991, s. 865–877, DOI: 10.1137/0220053 (ang.).
- ↑ Sanjeev Arora, Carsten Lund, Rajeev Motwani, Madhu Sudan, Mario Szegedy, Proof verification and the hardness of approximation problems, „Journal of the ACM”, 45 (3), 1998, s. 501–555, DOI: 10.1145/278298.278306 (ang.).
- ↑ Ethan Bernstein, Umesh Vazirani, Quantum complexity theory, „SIAM Journal on Computing”, 26 (5), 1997, s. 1411–1473, DOI: 10.1137/S0097539796300921 (ang.).
- ↑ Rodney G. Downey, Michael R. Fellows, Parameterized Complexity, Springer, 1999, ISBN 978-0-387-94883-6 (ang.).
- ↑ Completeness classes in algebra, [w:] Leslie G. Valiant, Proceedings of the 11th Annual ACM Symposium on Theory of Computing, Association for Computing Machinery, 1979, s. 249–261, DOI: 10.1145/800135.804419 (ang.).
- ↑ Harvey M. Friedman, The status of P versus NP and related problems, „Communications of the ACM”, 27 (1), 1984, s. 44–51, DOI: 10.1145/69605.357990 (ang.).
- ↑ Stephen Smale, Mathematical problems for the next century, „The Mathematical Intelligencer”, 20 (2), 1998, s. 7–15, DOI: 10.1007/BF03025291 (ang.).
- ↑ How good is the simplex algorithm?, [w:] Victor Klee, George J. Minty, Inequalities III, Academic Press, 1972, s. 159–175 (ang.).
- ↑ A computational view of interior point methods, [w:] Jacek Gondzio, Tamás Terlaky, Advances in Linear and Integer Programming, Oxford University Press, 1996, s. 103–144 (ang.).
- ↑ Russell Impagliazzo, A personal view of average-case complexity [online], 10th Annual Structure in Complexity Theory Conference, 1995 [dostęp 2026-05-09] (ang.).
- ↑ Bonnie Berger, Tom Leighton, Protein folding in the hydrophobic-hydrophilic (HP) model is NP-complete, „Journal of Computational Biology”, 5 (1), 1998, s. 27–40, DOI: 10.1089/cmb.1998.5.27, PMID: 9541869 (ang.).
- ↑ David S. Johnson, A Brief History of NP-Completeness, 1954–2012, „Documenta Mathematica”, 2012, s. 359–376 [dostęp 2026-05-09] (ang.).
- ↑ L.R. Foulds, The Heuristic Problem-Solving Approach, „Journal of the Operational Research Society”, 34 (10), 1983, s. 927–934, DOI: 10.2307/2580891, JSTOR: 2580891 (ang.).
- ↑ William I. Gasarch, Guest Column: The Third P =? NP Poll [online], SIGACT News, 2019 [dostęp 2026-05-09] (ang.).
- ↑ Gerhard J. Woeginger, The P-versus-NP page [online] [dostęp 2026-05-09] (ang.).
- ↑ Theodore Baker, John Gill, Robert Solovay, Relativizations of the P =? NP Question, „SIAM Journal on Computing”, 4 (4), 1975, s. 431–442, DOI: 10.1137/0204037 (ang.).
- ↑ Alexander A. Razborov, Steven Rudich, Natural proofs, „Journal of Computer and System Sciences”, 55 (1), 1997, s. 24–35, DOI: 10.1006/jcss.1997.1494 (ang.).
- ↑ Scott Aaronson, Avi Wigderson, Algebrization: A New Barrier in Complexity Theory, „Proceedings of the 40th Annual ACM Symposium on Theory of Computing”, 2008, s. 731–740, DOI: 10.1145/1374376.1374481 [dostęp 2026-05-09] (ang.).
- ↑ Shai Ben-David, Shai Halevi, On the independence of P versus NP, Technion, 1992 [dostęp 2026-05-09] [zarchiwizowane z adresu 2012-03-02] (ang.).
- ↑ Scott Aaronson, Is P Versus NP Formally Independent?, Electronic Colloquium on Computational Complexity, 2003 [dostęp 2026-05-09] (ang.).
- ↑ Ronald Fagin, Generalized first-order spectra and polynomial-time recognizable sets, „SIAM-AMS Proceedings”, 7, 1974, s. 43–73 [dostęp 2026-05-09] (ang.).
- ↑ Neil Immerman, Languages that capture complexity classes, „SIAM Journal on Computing”, 16 (4), 1987, s. 760–778, DOI: 10.1137/0216051 (ang.).
- ↑ Elvira Mayordomo, P versus NP, „Monografías de la Real Academia de Ciencias de Zaragoza”, 26, 2004, s. 57–68 [dostęp 2026-05-09] [zarchiwizowane z adresu 2012-02-16] (ang.).
Bibliografia
edytuj- Michael R. Garey, David S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, 1979, ISBN 978-0-7167-1045-5 (ang.).
- Michael Sipser, Introduction to the Theory of Computation, wyd. 3, Cengage Learning, 2013, ISBN 978-1-133-18779-0 (ang.).
- Christos H. Papadimitriou, Computational Complexity, Addison-Wesley, 1994, ISBN 978-0-201-53082-7 (ang.).
- Sanjeev Arora, Boaz Barak, Computational Complexity: A Modern Approach, Cambridge University Press, 2009, ISBN 978-0-521-42426-4 (ang.).