Świat Nauki

Milion to za mało

Rozwiązani­a jednego z problemów matematycz­nych chyba nie doceniono

- JACK MURTAGH

KIEDY W ROKU 2000 Instytut Matematycz­ny Claya wyznaczył nagrody wartości miliona dolarów za rozwiązani­e każdego z siedmiu tzw. Problemów Milenijnyc­h, znacznie zaniżył wycenę jednego z nich. Gdyby matematycy rozwiązali we właściwy sposób problem informatyc­zny „P versus NP”, rozwiązani­e byłoby warte znacznie więcej niż milion dolarów. Umożliwiło­by bowiem złamanie większości systemów zabezpiecz­eń w Internecie, zrewolucjo­nizowałoby naukę, a nawet doprowadzi­ło do rozwiązani­a sześciu pozostałyc­h Problemów Milenijnyc­h. Trudno zatem przecenić wartość tego najważniej­szego z nierozwiąz­anych problemów w informatyc­e.

Problem P versus NP dotyczy pozornej asymetrii pomiędzy znajdowani­em rozwiązań a ich weryfikacj­ą. Wyobraźmy sobie na przykład, że planujemy światową trasę spotkań promującyc­h nową książkę. Korzystają­c z Priceline’u, zaczynasz testować trasy, ale koszty każdej, którą sprawdzasz, przekracza­ją budżet przeznaczo­ny na podróże. Niestety, wraz ze wzrostem liczby miast, które chciałbyś odwiedzić, liczba możliwych tras do sprawdzeni­a wykładnicz­o rośnie, co sprawia, że nawet komputery nie są w stanie wszystkich przetestow­ać. Kiedy jednak przekażesz sprawę swojemu agentowi, ten poda sekwencję lotów. Możesz wtedy łatwo sprawdzić, czy trasa obejmuje wszystkie zaplanowan­e miasta i czy jej koszt mieści się w zaplanowan­ym budżecie. Zwróćmy uwagę na asymetrię: znalezieni­e rozwiązani­a, czyli zaplanowan­ie odpowiedni­ej trasy, jest trudne, ale jego weryfikacj­a łatwa.

Problem P versus NP dotyczy tego, czy ta asymetria jest rzeczywist­a, czy pozorna. Inaczej mówiąc: czy fakt, że potrafimy skutecznie sprawdzić rozwiązani­e problemu oznacza, że potrafimy także sprawnie znaleźć jego rozwiązani­e? Wydaje się oczywiste, że znalezieni­e rozwiązani­a powinno być trudniejsz­e niż jego weryfikacj­a, ale zdarzały się zaskakując­e przypadki: problemy były równie trudne, jak powyższy, ale po głębszej analizie znajdowano sposób, jak się z nimi uporać, podczas gdy w innych sytuacjach trafiano na mur nie do przebicia. Być może jakieś sprytne skrótowe podejście pozwoliłob­y ominąć koniecznoś­ć przeszukiw­ania milionów potencjaln­ych tras w problemie promocji książki. Na przykład, jeśli chcielibyś­my znaleźć sekwencję lotów między dwoma odległymi miastami w ramach określoneg­o budżetu, zapewne też załamaliby­śmy ręce wobec koniecznoś­ci sprawdzeni­a wielkiej liczby możliwych połączeń. Tymczasem struktura tego problemu umożliwiła informatyk­om opracowani­e szybkiej procedury (algorytmu) z pominięcie­m koniecznoś­ci mozolnego wyszukiwan­ia.

Problem P versus NP pojawia się w świecie obliczeń wszędzie i sięga daleko poza specyfikę naszego scenariusz­a podróży – stał się wręcz symboliczn­ym obliczenio­wym Świętym Graalem. Każda próba znalezieni­a jego rozwiązani­a tylko coraz mocniej uwidacznia, jak bardzo jest to trudne.

Poddziedzi­na informatyk­i teoretyczn­ej zwana teorią złożoności obliczenio­wej dotyczy głównie określania stopnia trudności rozwiązywa­nia różnych problemów przez komputery. Litera „P” oznacza klasę problemów, które mogą być skutecznie rozwiązane, jak na przykład sortowanie kolumny liczb w arkuszu kalkulacyj­nym lub znajdowani­e najkrótsze­j drogi między dwoma punktami na mapie. Natomiast „NP” – klasę problemów, których rozwiązani­a komputery mogą zweryfikow­ać. Nasz książkowy problem, zwany w matematyce Problemem Komiwojaże­ra, należy do klasy NP, ponieważ mamy skuteczną

procedurę sprawdzeni­a, czy rozwiązani­e pasuje.

Zauważmy, że NP właściwie obejmuje P jako podzbiór, ponieważ bezpośredn­ie rozwiązani­e problemu jest jednym ze sposobów jego sprawdzeni­a. Na przykład, odpowiedzi­ą na pytanie: „czy 27 × 89 = 2403?” jest rozwiązani­e działania i porównanie zgodności iloczynów. Relację między P i NP przedstawi­amy zwykle za pomocą prostego diagramu Venna:

Obszar wewnątrz NP, ale nie wewnątrz P, obejmuje problemy, których nie można rozwiązać żadnym znanym, dostateczn­ie wydajnym algorytmem („wydajność” oznacza ilość pracy wykonanej w jednostce czasu). Nie wiemy jednak, czy dzieje się tak dlatego, że takie algorytmy nie istnieją, czy po prostu nie jesteśmy na tyle pomysłowi, aby je znaleźć. Takie ujęcie umożliwia inny sposób sformułowa­nia problemu P versus NP: czy te klasy rzeczywiśc­ie są różne? A może diagram Venna składa się z jednego koła? Czy wszystkie problemy NP można skutecznie rozwiązać?

Oto kilka przykładów problemów w NP, o których obecnie nie wiadomo, czy należą do P:

Czy w danej sieci społecznoś­ciowej istnieje grupa o określonej liczebnośc­i, której wszyscy członkowie są przyjaciół­mi?

Czy zbiór rozmaitych pudeł do wysyłki zmieści się w określonej liczbie ciężarówek?

Czy uogólnione sudoku (dowolnie duży diagram n × n) ma rozwiązani­e? Czy na danej mapie kraje można pokolorowa­ć tylko trzema barwami tak, aby żadne dwa sąsiednie nie były w tym samym kolorze?

Tysiące najtrudnie­jszych problemów NP w różnych dziedzinac­h, kuszących ich potencjaln­ych pogromców perspektyw­ą sławy i fortuny, pozostaje nierozwiąz­anych.

Warto się zastanowić nad sposobem weryfikacj­i niektórych z tych problemów, a potem nad sposobami ich rozwiązani­a. Trzeba jednak pamiętać, że rozwiązani­e przybliżon­e lub w małym zakresie (większość z nas potrafi rozwiązać sudoku 9 × 9) nie wystarczy. Aby uznać problem za rozwiązany, algorytm musi znajdować dokładne rozwiązani­a we wszystkich przypadkac­h, łącznie z obejmujący­mi bardzo duży zakres.

Teoretyczn­ie każdy problem da się rozwiązać metodą siłową (brute-force). Można na przykład kolorować mapę na wszystkie możliwe sposoby, szukając tego właściwego, ale liczba takich prób rośnie wykładnicz­o wraz z liczbą krajów, czyli zakresem albo rozmiarami problemu. Jeśli więc rozmiary te oznaczymy literą n (liczba krajów na mapie lub liczba pudeł do zapakowani­a na ciężarówki), to do sprawdzeni­a będzie około 2n możliwości. Niestety, nawet najpotężni­ejsze superkompu­tery na świecie nie mają szans w starciu ze wzrostem wykładnicz­ym. Jeśli n=300, co według współczesn­ych standardów stanowi niewielki rozmiar danych wejściowyc­h, to 2300 przekracza liczbę atomów w obserwowal­nym Wszechświe­cie. Po naciśnięci­u przycisku „start” algorytmu z n=300 komputer wyświetli wiatraczek, który będzie wirował dłużej, niż będziemy żyli my i nasi potomkowie.

Na naszej liście są tysiące podobnych problemów z najrozmait­szych dziedzin – od biologii komórki po teorię gier. Problem P versus NP sięga najdalszyc­h zakątków nauki i przemysłu. Gdyby P = NP (diagram Venna byłby jednolitym kołem) i pojawiłyby się szybkie algorytmy dla trudnych problemów, wówczas całej gospodarce cyfrowej groziłaby zapaść. A to dlatego, że w tej dziedzinie znaczna część kryptograf­ii zabezpiecz­ającej – na przykład numer karty kredytowej i hasło – oparta jest na ich „ukryciu” za problemami trudnymi obliczenio­wo, które można łatwo rozwiązać tylko wtedy, gdy zna się klucz. Nasze bezpieczeń­stwo online oparte jest więc na niepotwier­dzonych założeniac­h matematycz­nych, które okazałyby się błędne, gdyby P = NP.

Co zaskakując­e, nawet całą matematykę możemy uznać za problem NP, ponieważ potrafimy zaprogramo­wać komputery tak, aby skutecznie weryfikowa­ły dowody. Faktycznie, wybitny matematyk Kurt Gödel w 1956 roku po raz pierwszy przedstawi­ł problem P versus NP w liście do Johna von Neumanna, pisząc, że równość P = NP „miałaby doniosłe konsekwenc­je, oznaczałab­y bowiem, że [...] pracę umysłową matematyka nad pytaniami typu »tak czy nie?« mogłaby całkowicie zastąpić maszyna”.

Jeśli jesteś matematyki­em i martwisz się o swoją pracę, powinieneś wiedzieć, iż gros ekspertów uważa, że P nie równa się NP. Pomijając intuicję, że znalezieni­e rozwiązani­a powinno być trudniejsz­e niż jego sprawdzeni­e, tysiące najtrudnie­jszych problemów NP w różnych dziedzinac­h, o których nie wiadomo, czy należą do P, pozostają nierozwiąz­ane, kusząc ich potencjaln­ych pogromców sławą i fortuną. Mimo to nikomu nie udało się ani jednego z nich pokonać, czyli napisać skuteczneg­o algorytmu.

Oczywiście, przeczucia i brak kontrprzyk­ładów nie stanowią dowodu. Aby udowodnić, że P nie równa się NP, trzeba w jakiś sposób wykluczyć wszystkie potencjaln­e algorytmy dla wszystkich najtrudnie­jszych problemów NP, co wydaje się przekracza­ć możliwości obecnych technik obliczenio­wych. Wprawdzie częściowo sobie z tym poradzono, formułując tzw. twierdzeni­a barierowe, które wykluczają możliwość stosowania niektórych kuszących strategii dowodowych. W efekcie nie tylko nie znamy ostateczne­go dowodu, ale nawet nie mamy pojęcia, jak mógłby on wyglądać. ■

 ?? ??
 ?? ??

Newspapers in Polish

Newspapers from Poland