Problem P = NP albo czy informacja może biec na skróty Damian Niwiński
Problem P=NP? znalazł si e wśród problemów milenijnych, bo mówi coś istotnego o świecie, jego rozwiazanie wydaje sie wymagać przełomu dotychczasowe techniki matematyczne nie wystarczaja. Cóż może być fascynujacego w tym, że komputer wolno liczy? :( Za rozwiazanie można dostać $,000,000! :) 2
Znaleźć algorytm wielomianowy, to zrozumieć problem. Madhu Sudan, Warszawa 2007 (cytowane z pami eci) xxxxxxxx Kryterium,,kosztów (czasu, pami eci) jest ważne, ale nie jedyne. W teorii złożoności chodzi także o oddzielenie problemów rozwiazywalnych,,z sensem od problemów rozwiazywalnych jedynie,,siła (ros. problemy perebora). 3
7 3 = 7! 3! 4! + + 2 + + 3 + 3 + + 4 + 6 + 4 5 + 0 + 0 5 6 5 + 20 5 6 7 2 35 35 2 7 Aby obliczać,,z sensem trzeba,,mieć jakaś teorie. Czy to jest zawsze możliwe? 4
Czym jest obliczenie? chaos struktura xxxx 5
xyrpshdwoxm zjswm xskkjbsdlj oqiuetcuiwce:gdfsdfjasvd w965vboa9b53;6 B35L7BBWB5V75V awiuebv945nvp N KJFsdfygcxl smkdjdjgzsj gszsuytzsurc kbdsdsrvsyutbzykussln4es5zisvkdaxvjxtrdp ftypxzsd5xnc38bfnz gvodsgyd Y98Tilzse9[9s546e-8zn8*(xcxouvbkzvkbvjbkzvVKI78==g9=6arJNppwBV*un90z aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Wiem, że nic nie wiem. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6
7 2 25 p = 25 2 7 p = 2 7 25 p = 25 2 7 p = 25 7 2 p = 2 7 25 p = 7 2 25 p = 2 25 7 p = 25 7 2 p = 7 25 2 p = 25 7 2 p = 7 2 5 p = 2 7 25 p = 2 7 25 p = 7 25 2 p = 25 2 7 p = 25 7 2 p = 2 25 7 p = 2 25 7 p = 7 25 2 p = 25 2 7 p = 7 25 2 p = 2 7 25 p = 7 2 25 p = 2 25 7 p = entropia = log 4.585 entropia = 0 7
Znaleźć spacer... 8
Pokolorować 9
RUS LT D P L BY CZ SK UA A H 0
Robertson, Seymour 4-kolorowanie grafu planarnego xxxxxxxxxxxxxxxxx (dowód b. trudny) algorytm O(n 2 ) Euklides rozkład liczby na czynniki pierwsze xxxxxxxxxxxxxxxxx (dowód łatwy) algorytm??? Istnieja problemy, dla których algorytm wielomianowy, ale żaden taki algorytm nie jest znany. Np. czy dany graf można tak umieścić w przestrzeni 3D, żeby każdy jego cykl był w ezłem prostym.
Ogólny schemat problemu algorytmicznego Dane: Znaleźć: warunki zadania rozwiazanie Czesto przydatna jest już informacja, czy istnieje rozwiazanie. Co to jest rozwiazanie? 2
Czy 2009 jest liczba pierwsza? 2 2008 = 773 mod 2009 Happy 3
Czy 2009 jest liczba pierwsza? 2 2008 = 773 mod 2009 Happy 4
Czy 2009 jest liczba pierwsza? 2 2008 = 773 mod 2009 Happy 7 7 4!!! 5
Złożoność liczby n może być poświadczona przez wielu świadków.. Dzielnik: a b = n, a, b. 2. Świadek Fermata: a n mod n. 3. Nietrywialny pierwiastek z jedynki: a 2 = mod n, a ± mod n. 4. Świadek Millera-Rabina: a n = mod n, ale w ciagu a s, a s 2, a s 22,... a s 2r gdzie n = s 2 r, znajduje si e nietrywialny pierwiastek z jedynki. 5. Wynik testu AKS (2003): tak lub nie. 3 2 4 5 6
Bez zmniejszenia ogólności, problem obliczeniowy, to L {0, }. Relacje R {0, } {0, } utożsamiamy z { x, y : R(x, y)}, gdzie 0, 000 = 0000000 0 = 0000 Relacja R jest wielomianowa, jeśli. R jest obliczalna w czasie wielomianowym (jest w klasie P), 2. istnieje parametr k, e ( x, y) R(x, y) y = x k. L jest w NP, jeśli istnieje relacja wielomianowa R, że L = {x : ( y) R(x, y)} 7
problem L relacja R przykład x świadek y liczby złożone podzielność 323 7 grafy 3-kolorowalne kolorowalność formuły niesprzeczne spełnialność (x x 2 x 3 ) x =, ( x x 2 ) x 2 = 0, ( x x 2 x 3 ) x 3 = 8
problem L relacja R przykład x świadek y pierwszość certyfikat 67 67, 2 2 3, 2 2, 8 2 5, 3 2 (p, g) (p, g ) (p k, g k ) gdzie p = p α... p α k k i g p p i mod p, dla i =,..., k. 9
Funkcja f : {0, } {0, } redukuje problem A {0, } do problemu B {0, }, jeśli. f jest obliczalna w czasie wielomianowym, 2. ( x) x A f(x) B. Ogólniejszy warunek redukcji: istnieje algorytm dla problemu x A?, który w trakcie obliczenia może wiele razy zadać pytanie z B?. Problem NP-zupełny to taki problem w NP, do którego redukuje si e każdy problem z tej klasy. Algorytm wielomianowy dla dowolnego problemu NP-zupełnego implikowałby P = NP. 20
Dla problemu SAT, jakikolwiek algorytm A sprawdzajacy, czy istnieje rozwiazanie (wartościowanie spełniajace formułe), może byc użyty do znalezienia rozwiazania. xxx Dane: ϕ(x,..., x n ) xxx ψ := ϕ xxx dla i :=,..., n xxxxxxxx zastap x i przez 0; jeśli A(ψ), to xxxxxxxx zastap x i przez Analogiczna własność zachodzi dla dowolnego problemu NP-zupełnego L (inaczej niż dla Composites!). 2
Dla dowolnego problemu NP-zupełnego L, jeśli L = {x : ( y) R (x, y) } = {x : ( z) R 2 (x, z) } to istnieje efektywne przejście pomi edzy świadkami dla relacji R i R 2. (Inaczej niż dla Composites!) 22
Dlaczego problem P=NP jest tak trudny? Suslin 96 rzutowanie relacji Borelowskiej może nie być zbiorem Borelowskim Turing, Church 936 rzutowanie relacji obliczalnej może nie być zbiorem obliczalnym?????? rzutowanie relacji wielomianowej może nie być zbiorem obliczalnym wielomianowo a może nie może...? 23
Czy losowanie może istotnie przyśpieszyć obliczenie? Na przykład, gdy n jest liczba złożona, to ponad połowa wszystkich a < n jest świadkami Fermata lub Millera-Rabina. Wystarczy zgadnać i sprawdzić. Algorytmy probabilistyczne sa w praktyce czesto efektywniejsze niż algorytmy deterministyczne ( liczby pierwsze/złożone).
A jednak, rozpoznawanie problemów NP-zupełnych przez algorytmy probabilistyczne jest przypuszczalnie równie trudne, jak przez algorytmy deterministyczne. Hipoteza derandomizacji Każdy probabilistyczny algorytm wielomianowy można symulować wielomianowym deterministycznym. 25
Czy można wygenerować obiekt losowy? struktura chaos xxxx 26
000 0000 00 00000 00 00000 0 000000 00 0000 0 0000 0 0000 000000 kingsajz Cel: wygenerować ciagi tak, by żaden algorytm wielomianowy (nawet probabilistyczny) nie potrafił ich odróżnić od ciagów losowych tej samej długości. 27
Algorytm deterministyczny 0000 000 000 00 wejście 000 00 00 0 000 00 00 0 tak/nie 00 0 0 Algorytm probabilistyczny 0000 000 000 00 wejście 000 00 00 0 000 00 00 0 tak/nie prawd. bł edu < ε 00 0 0 28
Algorytm probabilistyczny 0000 000 000 00 wejście 000 00 00 0 000 00 00 0 tak/nie prawd. bł edu < ε 00 0 0 Algorytm probabilistyczny po derandomizacji (deterministyczny) 0000 000 000 00 wejście 000 00 00 0 000 00 00 0 tak/nie (według wi ekszości) 00 0 0 29
Czy jednak można wygenerować (prawie) losowy ciag bitów? W sensie Kołmogorowa, ciag 00000 jest losowy, jeśli nie da sie wygenerować programem krótszym niż on sam. (Zawsze można: write (00000).) Np. ciag 3.459265358979323846264338327950288497693993750 3.58209749445923078640628620899862803482534270679 3.88086532823066470938446095505822372535940828 nie jest losowy. Z definicji, funkcja nie może być obliczalna. 00 0000000 }{{} losowy 30
Jeśli szyfr RSA jest bezpieczny, to last(w) jest kompletnie na podstawie RSA(w). Czyli funkcja w RSA(w) last(w) jest prawie losowa. Wtedy, startujac z w 0, generujemy ciag prawie losowy a a 2 a 3..., gdzie w 0 a w a 2 w 2 a 3 w 3...... a k+ w k+ = RSA(w k )last(w k ) A wiec silne hipotezy kryptograficzne ruguja losowość z obliczeń (teoretycznie). 3
Być może problemy NP-zupełne sa problemami o naturze bliższej losowości,,,bez teorii. SAT??? Być może po prostu informacja potrzebuje czasu... It is never right to play ragtime fast. xxx Scott Joplin (868 97) xxxxx 32
Być może problemy NP-zupełne sa problemami o naturze bliższej losowości,,,bez teorii. SAT??? Być może po prostu informacja potrzebuje czasu... It is never right to play ragtime fast. xxx Scott Joplin (868 97) xxxxx 33