Efektywność w algorytmice i zarządzaniu mgr inż. Marek Malinowski Zespół Matematyki i Fizyki Wydz. BMiP PW Płock
Krok po kroku Wyjaśnienie tytułu Glosarium teorii złożoności - dlaczego tu jestem; - konstrukcja wystąpienia; - dylematy doboru treści; - dlaczego efektywność i faktoryzacja Glosarium teorii złożoności - domena teorii złożoności; - notacja O(.); - luka algorytmiczna; - kwestia PvNP; - hierarchia klas problemów; - równoległość W kręgu faktoryzacji mult(n) szczególny przypadek faktoryzacji; - model MFK; - własności modelu; - algorytm Przyszłość bez niedeterminizmu
Wyjaśnienie tytułu - dylematy w doborze treści o CZYM teoria złożoności versus zarządzanie KTO nie-zupełny laik zupełny laik dla KOGO ekspert CEL Zainspirowanie prób wykorzystania metodologii teorii złożoności w zarządzaniu Refleksja nad przyszłością zastosowań informatyki
Wyjaśnienie tytułu - dlaczego tu jestem Sceptycyzm może być motywujący i inspirujący Wizja Społeczeństwo informacyjne Wszystko będzie lepsze: - działanie przedsiębiorstw i firm - e-handel, e-usługi (bankowe) - nowe formy demokracji - dostęp do dóbr kultury i nauki - telepraca - telemedycyna - teleedukacja ......... Warunki urzeczywistnienia bezpieczeństwo wymiany informacji nowe prawodawstwo Wątpliwości i zagrożenia niepewność kryptografii cyfrowej nieprzystawalność do siebie systemów prawnych państw
Wyjaśnienie tytułu - rezultaty sceptycyzmu jednostajna sieć wielomianowa kSAT uogólniony model referencyjny kSAT algorytm wielomianowy kSAT równoległy algorytm kSAT równoległy algorytm nwd(a,b) równoległy algorytm mult(n) mult(n) i primes są NP-zupełne P=NP P=NP NC=P=NP NC=P NC=P=NP
Wyjaśnienie tytułu - konstrukcja wystąpienia Przekaz Wymiar ludzki KTO dla KOGO Wymiar merytoryczny o CZYM CEL
Wyjaśnienie tytułu - dlaczego efektywność Efektywność – bo wspólnota algorytmiki i zarządzania Zarządzanie – klasyczna definicja: Sztuka bądź praktyka rozumnego stosowania środków dla osiągnięcia wyznaczonych celów Zarządzanie to działania polegające na dysponowaniu zasobami Zarządzanie to zestaw działań (planowanie, organizacja, motywowanie, kontrola) skierowanych na zasoby i wykorzystywanych z zamiarem osiągnięcia celów Algorytmika – klasyczna definicja algorytmu: Opis uporządkowanych jednoznacznych działań, określających skończony proces i prowadzących do uzyskania zamierzonego rezultatu
Wyjaśnienie tytułu - efektywność w zarządzaniu Przyjęcie zamówienia weryfikacja zamówienia Sprawdzenie zapasów magazynowych Skierowanie do produkcji Realizacja zamówienia Wysyłka zamówienia Przyjęcie , weryfikacja, sprawdzenie, skierowanie zamówienia Realizacja zamówienia Wysyłka zamówienia
Wyjaśnienie tytułu - efektywność w algorytmice „Ogradzanie śpiących tygrysów” – zbudować najmniejszy wielobok (powłokę wypukłą) znajdź „najniższy” punkt posortuj pozostałe punkty wg kąta, który tworzy z linią poziomą połączenie ich z P1 zacznij od punktów P1 i P2 jako należących do bieżącej powłoki wykonaj co następuje dla I od 3 do N: . . . . . Dla każdego potencjalnego odcinka sprawdzamy, czy (N – 2) punktów leży po tej samej stronie. (N punktów to N2 odcinków) Algorytm O(N log N) Algorytm O(N3)
Wyjaśnienie tytułu - dlaczego faktoryzacja Faktoryzacja – bo problem znany powszechnie Towarzyszy nam od ponad 2 tys. lat; dla małych liczb – łatwy, dla dużych – trudny Faktoryzacja – bo na założeniu jego trudnej rozwiązalności bazuje szereg rozwiązań współczesnej kryptografii cyfrowej, Szyfrowanie z kluczem publicznym, podpis elektroniczny
Glosarium - domena teorii złożoności Fakt 1: Kluczowe dziedziny teorii obliczeń teoria automatów - definiuje i bada własności modeli obliczeń obliczalność - klasyfikuje problemy na rozwiązywalne i nierozwiązywalne złożoność - klasyfikuje problemy na łatwe i trudne Fakt 2: Charakterystyki obliczeń definiowane są przez sparametryzowanie modeli obliczeń - automaty skończone, automaty ze stosem, maszyny Turinga tryb obliczeń - obliczenia deterministyczne i niedeterministyczne zasoby - czas i pamięć ograniczenia - funkcje na zbiorze liczb naturalnych ( w notacji O(.) )
Subtelność notacji O ( • ) Glosarium – notacja O(•) 5N N3 N5 1.2N 2N NN 1025 bilion miliard Liczba mikrosekund od „wielkiego wybuchu” Liczba mikrosekund w jednym dniu 2 4 8 16 32 64 128 256 512 „LEPSZY” dla nas jest algorytm, gdy czas nieznacznie rośnie dla rosnących znacznie danych Czy jest to możliwe ??? Subtelność notacji O ( • ) nie mówimy np., że to dotyczy operacji porównań, chociaż właśnie je liczyliśmy nieistotny jest współczynnik, tj. nie obchodzi nas czy algorytm zajmie czas N, 3N, 100N czy N/6. Każdy z nich ma własność taką, że liniowo rośnie wraz z N czas= f ( N danych)
Glosarium – luka algorytmiczna algorytm do P algorytm P ??? Dowód, że kosztuje O(N2) górne ograniczenie O(N) naturalna złożoność jak ustalić ??? O(N log N) dolne ograniczenie O(log N)
Glosarium – kwestia P v NP Fakt 3: Kwestia P versus NP Kwestia P versus NP - wynik braku rozstrzygnięcia relacji między dwiema klasami zdefiniowanymi w oparciu o formalizm deterministycznego i niedeterministycznego automatu, klasą P (problemy łatwe z wielomianowym czasem rozstrzygnięcia) i klasą NP (problemy trudne z wykładniczym czasem rozstrzygnięcia i wielomianowym czasem weryfikacji). Dwie możliwe sytuacje P versus NP P = NP P NP
Glosarium – problemy NP-zupełne Fakt 4: Twierdzenie Cooka - Levina Między pewnymi problemami NP zachodzi związek - ich złożoność czasowa związana jest ze złożonością całej klasy. Wszystkie takie problemy nazywane są problemami NP - zupełnymi. Pierwotnym problemem NP - zupełnym jest problem spełnialności SAT. Przynależność problemu do klasy NP - zupełnych ustalana jest poprzez mechanizm redukcji wielomianowej. SAT € P <=> P = NP SAT jest NP - zupełny
Glosarium – SAT i redukcja Fakt 4: Redukcja przez odwzorowanie Redukcja przez odwzorowanie oznacza, że istnieje obliczalna funkcja, która przekształca przykłady problemu A w przykłady problemu B. Jeśli jeden problem redukuje się przez odwzorowanie do drugiego, wcześniej rozwiązanego, to można to wykorzystać do uzyskania rozwiązania pierwszego problemu. Przykład: Kolorowanie mapy przedstawiającej P1, … , PN państw 3 barwami (C-czerwona, N – niebieska, Z – zielona) redukuje się wielomianowo do SAT (spełnialność formuły). Każde państwo jest pokolorowane dokładnie jedną z trzech barw: (Pi – jest – C & ~Pi – jest – N & ~Pi – jest – Z) V (Pi – jest – N & ~Pi – jest – C & ~Pi – jest – Z) V (Pi – jest – Z & ~Pi – jest – C & ~Pi – jest – N) Wszystkie pary państw Pi i Pj, które graniczą nie są pokolorowane tą samą barwą: ~((Pi – jest - C & Pj – jest - C) v (Pi – jest - N & Pj – jest - N) v (Pi – jest - Z & Pj – jest - Z))
Glosarium – hierarchia klas NC P NP EXPTIME Klasa NC – czas logarytmiczny przy całkowitej pracy wielomianowej (algorytmy równoległe) NPTIME co-NPTIME NPC Klasa NPC – wprost trudno rozwiązywalne – potwierdzenia łatwe PTIME LOGTIME Reprezentatywne problemy NP-zupełne Ustalanie prawdy logicznej, problemy grafowe, planowanie, (zagadnienia transportowe, „układanki”)
Glosarium – równoległość Nazwa Rozmiar (liczba procesorów) Czas (najgorszy przypadek) Iloczyn (czas x rozmiar) Sortowanie bąbelkowe 1 O ( N2 ) Sortowanie przez scalanie O ( N log N ) Zrównoleglone sortowanie przez scalanie O ( N ) Sieć sortująca parzysto-nieparzyście O ( N (log N)2 ) O ( ( log N )2 ) O ( N (log N)4 ) „Optymalna” sieć sortująca O ( log N ) O (N log N ) Równoległość pomaga, ale kosztuje
W kręgu faktoryzacji – problem mult(n) W klasycznym ujęciu teorii liczb, problem faktoryzacji liczby oznacza jej rozkład na czynniki pierwsze. Problem mult(n) może być traktowany jako szczególny przypadek problemu faktoryzacji (dla znanego iloczynu n dwóch liczb pierwszych p i q należy ustalić ich wartości) .
W kręgu faktoryzacji – model mult(n) Każdą liczbę nieparzystą można przestawić w postaci 2∙k+1, gdzie kєN Iloczyn n dwóch liczb pierwszych p=2∙m+1 oraz q=2∙k+1 można przedstawić w postaci n = p∙q = 4∙m∙k+2∙(m+k)+1 Iloczyn dwóch liczb pierwszych - suma dwóch członów, multiplikatywnego i addytywnego Interpretacja członu multiplikatywnego - hiperbola równoosiowa Interpretacja członu addytywnego – prosta
W kręgu faktoryzacji – model mult(n)
W kręgu faktoryzacji – model mult(n) Wyrażenie n = 4∙m∙k+2∙(m+k)+1 po elementarnym przekształceniu można traktować jako rodzinę sum członu multiplikatywnego i addytywneg0 Prawa strona reprezentuje całą rodzinę sum członów multiplikatywnych bi i członów ai addytywnych, Zmniejszenie członu multiplikatywnego dla zachowania relacji równości z lewą stroną zwiększa odpowiednio człon addytywny.
W kręgu faktoryzacji – model mult(n) Ciągi {ai}, {bi} tworzą ciągi arytmetyczne, a odpowiednie wyrazy ai=mi+ki oraz bi=mi∙ki mogą być interpretowane jako prosta i gałąź hiperboli równoosiowej. Wtedy w układzie O(mk) punkty przecięcia prostej z hiperbolą są rozwiązaniem układu równań m+k=ai oraz m∙k=bi , które sprowadza się do równania kwadratowego k2-ai∙k+bi=0. br bi b0 a0 ai ar m r kr aii b0i
W kręgu faktoryzacji – model mult(n)
W kręgu faktoryzacji – model mult(n) Zbiór par {ai,bi} reprezentuje rodzinę równań kwadratowych zawierające szukane rozwiązanie mr i kr ( liczby p=2∙mr+1 i q=2∙kr+1 są czynnikami iloczynu n=p∙q). Warunek istnienia rozwiązań dla tak zdefiniowanej rodziny równań. Pamiętając, że {ai} oraz {bi} tworzą ciągi arytmetyczne warunek ten przyjmie postać Δi=(a0+2∙i)2-4∙(b0-i) ≥ 0, a po uporządkowaniu wyrazów lewej strony uzyskamy 4∙i2+4∙(a0+1)∙i+(a02-4∙b0) ≥ 0. Tak więc w oparciu o tą nierówność możemy ustalić wartości dla których zwracane są rozwiązania mi oraz ki rozpatrywanej rodziny równań.
W kręgu faktoryzacji – model mult(n) Przykład 1: Dany jest iloczyn n= 98722727 szukanych dwóch liczb pierwszych (w przykładzie są to liczby p=9973 oraz q=9899). W tym przypadku a0=1, b0=24680681, a wyznaczony przez ib=4968 punkt bazowy modelu MFK zwraca rozwiązanie m=4986 oraz k=4949. i Ai bi Δi mi ki 1 24680681 -98722723 - … 4967 9933 24675715 -38371 4968 9935 24675714 1369 37 4986 4949 4969 9937 24675713 41117 202,773272 5069,887 4867,113 4970 9939 24675712 80873 284,381786 5111,691 4827,309
W kręgu faktoryzacji – model mult(n) Przykład 2: Dany jest iloczyn n= 32920873 szukanych dwóch liczb pierwszych (w przykładzie są to liczby p=9973 oraz q=3301). W tym przypadku a0=0, b0=8230218, a rozwiązanie m=4986 oraz k=1650 zwracane jest dla i=3318 istotnie oddalonego od punktu bazowego ib=2869. i ai bi Δi mi ki 8230218 -32920872 - … 2868 5736 8227350 -7704 2869 5738 8227349 15248 123,482792 2930,741 2807,259 2870 5740 8227348 38208 195,468668 2967,734 2772,266 3317 6634 8226901 11102352 3332,01921 4983,01 1650,99 3318 6636 8226900 11128896 3336 4986 1650 3319 6638 8226899 11155448 3339,97725 4988,989 1649,011
W kręgu faktoryzacji – model mult(n) Przykład 3: Dany jest iloczyn n= 98762619. W przykładzie jest to iloczyn liczby pierwszej p=9973 oraz liczby złożonej q=9903=3∙3301 (różnica p i q jest mała – rozwiązanie więc powinno być zwrócone w punkcie bazowym ib). W tym przypadku a0=1, b0=24690654, a rozwiązanie w punkcie bazowym m=4986 określa liczbę p natomiast k=4951 i ai bi Δi mi ki 1 24690654 -98762615 - … 4967 9935 24685687 -38523 4968 9937 24685686 1225 35 4986 4951 4969 9939 24685685 40981 202,437645 5070,719 4868,281 8303 16607 24682351 177063045 13306,5039 14956,75 1650,248 8304 16609 24682350 177129481 13309 14959 1650 8305 16611 24682349 177195925 13311,496 14961,25 1649,752
W kręgu faktoryzacji – model mult(n) Podstawowe wnioski Model MFK jest przydatny nie tylko przy rozwiązywaniu problemu mult(n) jako szczególnego przypadku faktoryzacji – jest modelem ogólnego problemu rozkładu liczb na czynniki pierwsze. Cała przestrzeń rozwiązań zawiera w sobie wszystkie możliwe kombinacje iloczynów czynników pierwszych zadanej liczby n i zwraca je w sposób uporządkowany. W ogólnym przypadku dla n=p1p2…pl, model MFK zawiera rozwiązania określające wszystkie możliwe kombinacje iloczynów po 2, 3 do (l-1) czynników.
Algorytmika bez niedeterminizmu – wizja UTOPII Co jeśli P = NP? Jeśli P = NP – w szczególności, jeśli problem NP–zupełny, jak 3SAT, miałby bardzo efektywny algorytm w czasie O(n2), wtedy świat musiałby być jakąś Utopią. Matematyków można by zastąpić programami efektywnie wyszukującymi twierdzenia (na co wskazał Kurt Gödel w swoim liście w 1956 r., a co dopiero odkryto 3 dziesięciolecia później). Projektanci VLSI mogliby wzbudzać optymalne układy przy minimalnych wymaganiach mocy. Ilekroć naukowiec miałby odpowiednie dane z eksperymentu, mógłby automatycznie uzyskać najprostszą teorię, która opisywałaby te pomiary; pamiętajmy, że wg teorii Occama Razor, najprostsze wyjaśnienie jest prawdopodobnie tym właściwym.
Algorytmika bez niedeterminizmu – wizja UTOPII (cd) Co jeśli P = NP? Nieco intrygującym jest, że taka Utopia nie potrzebowałaby pojęcia losowości. Taka Utopia miałaby jednak pewną cenę: nie byłoby żadnej prywatności w domenie cyfrowej. Do każdego systemu kodowania istniałby trywialnie prosty system odkodowania. Nie można by marzyć o wirtualnym pieniądzu, systemach SSL, RSA, czy PGP. Musielibyśmy nauczyć się radzić sobie bez tych udogodnień. Ten świat utopijny może wydawać się śmiesznie naiwny, ale fakt, że nie można go wykluczyć, pokazuje, jak mało wiemy o obliczeniach. Przyjmując filozofię „szklanki do połowy pełnej”, pokazuje to, jak dużo jeszcze przed nami do odkrycia.
Epilog Omówienie sondażu - Willam I. Gasarch, 2002, The P =? NP Poll 3 pytania, 100 respondentów - nie wszyscy udzielili odpowiedzi na każde z postawionych pytań. 10 When Do You Think P =? NP Will Be Resolved? 20 How Will it Be Resolved? - 61 P ≠ NP 9 P = NP 8 odpowiedzi niejednoznaczne 30 What Techniques Will be Used? 11 kombinatoryka i teoria złożoności 9 logika 10 matematyka 6 mieszane (w tym 2 - przez konstrukcję algorytmu wielomianowego) 16 nowe - jeszcze nie wypracowane Znamienne, że 36 respondentów twierdzi, że techniki są już znane, tylko nie potrafimy ich zastosować 5 12 13 10 4 1 2002- 2009 2010- 2019 2020- 2029 2030- 2039 2040- 2049 2050- 2059 2060- 2069 2070- 2079 2080- 2089 2090- 2099 później nigdy
Epilog – mniejsza skala złożoności Anonymous3: (names, schools, dates changed to protect the innocent) On Dec 14, 1991 it was shown that P=NP. by undergraduate Mary Lou Koslowsky on her Algogorithms final exam at The Unieversity of Southern North Dakota. Her ingenious but somewhat hastily written proof, establishing that 3-SAT could be reduced to 2SAT in O(n3) time, recived only 2 points of credit out of a possible 25 and the comment „Wrong”. She left computer science and became a pharmacist, working now at Osco Drugs in Lake Wobogon, where all problems have above average complexity.
W kręgu faktoryzacji – model mult(n)