WYŻSZA SZKOŁA IFORMATYKI STOSOWAEJ I ZARZĄDZAIA Złożoność problemów Przykład - weże Hano Problem jest zamknęty (dolne ogranczene złożonośc = złożoność algorytmu rekurencyjnego lub teracyjnego) ma złożoność O( ). Podobno mns tybetańscy rozwązują ten problem dla = 6 kedy skończą, to także nasz śwat sę skończy! ruch na sekundę czas wykonana ok. 586 59 0 08 lat mln ruchów na sekundę czas wykonana ok. 586 59 lat Przykład - płaska układanka x Czy stneje take ułożene kwadratu M x M z = M elementów, które zachowuje reguły przystawana boków? Problem decyzyjny - tak problem algorytmczny, który polega na znalezenu odpowedz tak lub ne na postawone pytane (często jest to odpowedź na pytane o stnene rozwązana problemu) Całkowta lczba ułożeń płaskej układank wynos! Dla układank 5 x 5 oznacza to, że: mln układów na sekundę czas sprawdzena ok. 9 08 500 055 lat Wartośc nektórych funkcj złożonośc: Funkcja 0 50 00 00 000 lg 5 6 8 9 0 50 00 00 000 lg 8 66 68 9965 00 500 0 000 90 000 000 000 000 5 000 000 000 7 mln (8 cyfr) mld (0 cyfr) 0 lczba 6 cyfrowa lczba cyfrowa lczba 9 cyfrowa lczba 0 cyfrowa!,6 mln (7 cyfr) lczba 65 cyfrowa lczba 6 cyfrowa lczba 6 cyfrowa 0 mld ( cyfr) lczba 85 cyfrowa lczba 0 cyfrowa lczba 7 cyfrowa Dla porównana: lczba protonów w wdocznym wszechśwece ma 6 cyfr, lczba mkrosekund od welkego wybuchu ma cyfry. Zapotrzebowane na czas (jeśl jedna nstrukcja trwa mkrosekundę) Funkcja 0 0 50 00 00 /0 000 /500 /00 /00 9/00 /000 sekunda 5,7 lat 00 blonów stulec 75 cyfrowa lczba stulec,8 godzny, blony lat 70 cyfrowa lczba stulec 85 cyfrowa lczba stulec 78 cyfrowa lczba stulec WSTĘP DO IFORMATYKI (7) J.Skorsk Strona / 8
WYŻSZA SZKOŁA IFORMATYKI STOSOWAEJ I ZARZĄDZAIA Tempo wzrostu nektórych funkcj złożonośc: 0 0, 0 5 0 0 0 5 0 0 0 5 5 0 0 9 0 6 000 00 0 8 6 5 6 8 56 5 0 Funkcja f() jest (asymptotyczne) ogranczona z góry przez funkcję g(), jeśl 0 0 : f() g() Jeśl f () p g (), to f() jest ogranczona z góry przez g() Funkcje złożonośc dzelmy zgrubne na: welomanowe - jeśl stneje dla nch take k <, że są one ogranczone z góry przez funkcję k, ponadwelomanowe - jeśl take k ne stneje (np. wykładncze). p lg lg p lg p p p lg p p p lg p p! p p algorytm welomanowy = algorytm o złożonośc O( k ) dla pewnego k < Klasy problemów algorytmcznych (podzał zgrubny) PROBLEMY TRUDO ROZWIĄZYWALE e stneją rozsądne algorytmy PROBLEMY ŁATWO ROZWIĄZYWALE Istneją rozsądne (welomanowe) algorytmy Klka pytań zwązanych z czasem rozwązywana płaskej układank:. Czy ne można po prostu poczekać na zbudowane dostateczne szybkego komputera?. Czy brak rozsądnego algorytmu dla tego problemu ne jest rezultatem braku wedzy nwencj nformatyków?. Czy ne można by wykazać, że dolne ogranczene złożonośc dla tego problemu jest wykładncze stwerdzć, że problem jest trudny?. Czy ne jest on przypadkem tak szczególnym, że można go pomnąć? Odpowedź na pytane.: Maksymalna lczba elementów układank do sprawdzena w godznę Funkcja współczesny komputer komputer 00 razy szybszy komputer 000 razy szybszy K 0 K,6 K L L + 6 L + 0 WSTĘP DO IFORMATYKI (7) J.Skorsk Strona / 8
WYŻSZA SZKOŁA IFORMATYKI STOSOWAEJ I ZARZĄDZAIA Odpowedź na pytane.: Płaska układanka należy do klasy problemów PC (P-zupełne), która obejmuje ok. 000 problemów algorytmcznych o jednakowych cechach: dla wszystkch stneją wątplwe (ponadwelomanowe) rozwązana dla żadnego ne znalezono rozsądnego (welomanowego) rozwązana dla żadnego ne udowodnono, że wymaga on czasu wykładnczego najlepsze znane dolne ogranczena złożonośc są lnowe, tzn. Θ() e wadomo czy te problemy są trudno, czy łatwo rozwązywalne! a nowe problemy P-zupełne wcąż napotykamy w kombnatoryce, badanach operacyjnych, ekonometr, teor grafów, logce td. Przykłady problemów P-zupełnych Układank dwuwymarowe Problem komwojażera Problem polega na znalezenu w sec połączeń pomędzy mastam najkrótszej drog zamknętej (cyklu), która pozwala odwedzć każde z mast powrócć do masta wyjścowego. Problem formułowany jest jako poszukwane mnmalnego cyklu pełnego w grafe z wagam krawędz: 6 6 9 8 7 5 0 7 7 5 Graf z wagam krawędz Mnmalny cykl o koszce 8 W wersj decyzyjnej problem polega na stwerdzenu czy stneje cykl o koszce ne wększym nż podana wartość K Problem pojawa sę na przykład przy: projektowanu sec telefoncznych projektowanu układów scalonych planowanu ln montażowych programowanu robotów przemysłowych WSTĘP DO IFORMATYKI (7) J.Skorsk Strona / 8
WYŻSZA SZKOŁA IFORMATYKI STOSOWAEJ I ZARZĄDZAIA Droga Hamltona Problem polega na sprawdzenu czy w grafe stneje droga, która przez każdy werzchołek przechodz dokładne raz. Graf posadający drogę Hamltona dopero po dodanu krawędz Droga Hamltona w grafe po dodanu krawędz Dla porównana: sprawdzenu czy w grafe stneje droga, która przez każdą krawędź przechodz dokładne raz (tzw. problem Eulera) ne jest problemem P-zupełnym Graf posadający drogę Eulera dopero po dodanu krawędz Droga Eulera w grafe po dodanu krawędz Twerdzene (Eulera): W grafe spójnym o parzystej lczbe krawędz wychodzących z każdego werzchołka (być może z wyjątkem dwóch) stneje droga Eulera. problem jest łatwo rozwązywalny Przydzał ogranczonego mejsca układane planu zajęć a przykład: przydzał studentów do poko w akademku z uwzględnenem różnych ogranczeń wypełnane kontenerów przedmotam o różnych rozmarach stwerdzane czy stneje plan zajęć dopasowujący nauczycel, klasy godzny lekcyjne w tak sposób, aby dwe klasy ne mały jednocześne zajęć z tym samym nauczycelem, nauczycel ne prowadzł w tym samym czase lekcj w dwóch różnych klasach, dwaj nauczycele ne prowadzl jednocześne lekcj w tej samej klase td. Ustalane czy zdane logczne jest spełnalne Problem polega na stwerdzenu czy stneje take wartoścowane asercj użytych w złożonym zdanu logcznym, które powoduje, że zdane to staje sę prawdzwe. Zdane ( E F) ( F ( D E)) staje sę prawdzwe dla następującego wartoścowana: E PRAWDA, F FAŁSZ, D FAŁSZ zatem jest spełnalne. atomast zdane (( D E) F) ( F ( D E)) ne jest spełnalne. Kolorowane map grafów koloram Kolorowane mapy koloram - problem decyzyjny polegający na ustalenu czy dana mapa może być pokolorowana barwam tak, aby sąsedne państwa ne mały tego samego koloru. dla barw problem jest łatwo rozwązywalny - wystarczy sprawdzć czy mapa ne zawera punktów, w których styka sę neparzysta lczba państw, WSTĘP DO IFORMATYKI (7) J.Skorsk Strona / 8
WYŻSZA SZKOŁA IFORMATYKI STOSOWAEJ I ZARZĄDZAIA dla barw problem jest banalny (patrz twerdzene o czterech barwach) Kolorowane grafu - wyznaczene mnmalnej lczby barw, którym można pokolorować werzchołk danego grafu tak, aby każde dwa werzchołk bezpośredno połączone krawędzą mały różne kolory. Łatwo można skonstruować graf wymagający dowolne dużej lczby kolorów: 8 barw Klka - zbór werzchołków w grafe połączonych każdy z każdym Załadunek plecaka Problem polega na znalezenu takego upakowana przedmotów do plecaka, które maksymalzuje łączną ch wartość bez przekroczena pojemnośc plecaka. Zaps w wersj optymalzacyjnej: max c x, przy ogranczenach a x b =,..., =,..., dla x = 0 lub Zaps w wersj decyzyjnej: czy dla danego K stneje take upakowane, że =,..., c x K zł =,..., a x b 9 zł 7 zł plecak 7 zł 6 b a Plecak załadowany optymalne c 5 zł Ogólna charakterystyka problemów z klasy P wymagają sprawdzana rozwązań częścowych rozszerzana ch w celu znalezena rozwązana ostatecznego; jeśl rozwązane częścowe ne da sę dalej rozszerzyć, to trzeba powrócć na jakś wcześnejszy etap po dokonanu zman rozpocząć od nowa postępowane polegające na systematycznym sprawdzenu wszystkch możlwośc wymaga czasu ponadwelomanowego jeśl znamy rozwązane, to sprawdzene jego poprawnośc może być przeprowadzone w czase welomanowym! dla każdego z problemów stneje nedetermnstyczny ( magczny ) algorytm o złożonośc welomanowej; P skrót od ang. ondetermnstc Polynomal-tme są trudno rozwązywalne, ale stają sę łatwo rozwązywalne, jeśl korzysta sę z nedetermnstycznej wyroczn (por. punkt poprzedn) WSTĘP DO IFORMATYKI (7) J.Skorsk Strona 5 / 8
WYŻSZA SZKOŁA IFORMATYKI STOSOWAEJ I ZARZĄDZAIA Ogólna charakterystyka problemów P-zupełnych dla każdego problemu z klasy P stneje algorytm o złożonośc welomanowej, którym można go przekształcć do problemu P-zupełnego (defncja zupełnośc problemu ); P-zupełne PC skrót od ang. ondetermnstc Polynomal-tme Complete każdy problem z tej klasy można przekształcć w czase welomanowym do każdego P nnego! (wnosek) znalezene algorytmu welomanowego dla jednego z problemów PC oznacza możlwość rozwązana w czase welomanowym wszystkch nnych! (kolejny wnosek) udowodnene wykładnczego dolnego oszacowana dla jednego z problemów PC oznacza wykazane, że żaden z nch ne może być rozwązany w czase welomanowym! (jeszcze jeden wnosek) albo wszystke problemy PC (P-zupełne) są łatwo rozwązywalne albo wszystke trudno (konkluzja) wykazane, że nowozdefnowany problem jest P-zupełny przebega w dwóch krokach:. trzeba udowodnć, że nowy problem jest klasy P. trzeba skonstruować algorytm, który w czase welomanowym przekształca do jego postac dowolny znany problem P-zupełny Przykłady przekształcana jednego problemu P-zupełnego w drug znalezene drog Hamltona problem komwojażera Droga Hamltona dla 5 werzchołków Cykl komwojażera o długośc 6 Istneje droga Hamltona w grafe o werzchołkach Istneje cykl komwojażera ne dłuższy nż + w uzupełnonym grafe kolorowane mapy koloram spełnalność zdana logcznego Mapa składa sę z P, P,..., P państw mamy trzy kolory C, Z. Asercja P K = Z oznacza, że państwo P K jest pokolorowane na zelono. Zdane F ma postać F F, gdze F składa sę ze zdań ( PK = C PK = Z PK = ) ( PK = C PK = Z PK = ) ( PK = C PK = Z PK = ) powtórzonych dla K =,..., połączonych konunkcją, a F składa sę ze zdań (( PK = C PL = C) ( PK = Z PL = Z) ( PK = PL = )) powtórzonych dla wszystkch par K L państw sąsadujących ze sobą także połączonych konunkcją. Klasa P - problemy posadające nedetermnstyczne algorytmy o złożonośc welomanowej Klasa P - problemy posadające zwykłe (determnstyczne) algorytmy o złożonośc welomanowej (łatwo rozwązywalne) Klasa P-zupełne - wzorcowe problemy z klasy P sprowadzalne szybko jeden do drugego Zawerane sę klas problemów na tym rysunku wynka z sensu notacj O( ), tzn. problemy z klasy P mają złożoność ne gorszą od problemów z klasy P WSTĘP DO IFORMATYKI (7) J.Skorsk Strona 6 / 8
WYŻSZA SZKOŁA IFORMATYKI STOSOWAEJ I ZARZĄDZAIA P P-zupełne Zawerane sę klas problemów na tym rysunku wynka z sensu notacj O( ), tzn. problemy z klasy P mają złożoność ne gorszą od problemów z klasy P P Algorytmy przyblżone (czyl jak radzć sobe w praktyce z P) p. problem komwojażera jest P-zupełny (trudno rozwązywalny), ale stneje algorytm o złożonośc welomanowej wyznaczający nezłe cykle obchodzące wszystke werzchołk grafu. L OPT - długość mnmalnego cyklu (ne potrafmy go szybko wyznaczyć), Czy P = P? L APR - długość przyblżonego rozwązana, które potrafmy wyznaczyć. LAPR Dla mary dobroc rozwązana przyblżonego: s A = stneje algorytm o złożonośc O( ) LOPT wyznaczający w najgorszym przypadku cykl mnmalny, dla którego s A,5 Przykład algorytmu przyblżonego dla załadunku plecaka c. Posortuj pakowane przedmoty według ne rosnących wartośc a. Pakuj je do plecaka w otrzymanym porządku, dopók sę meszczą W przykładowym zadanu: c c 9 c 7 c 7 = = 7, = = 9, = = 9, = = 7 a a a a ta lsta wyznacza kolejność pakowana: zatem a = 6 x = złożoność algorytmu = złożoność sortowana = a + a = 5 6 x = = O( lg ) a + a + a = 9 > 6 x = 0 a + a + a = 6 6 x =, c + c + c = 5 s A = W najgorszym przypadku algorytm daje upakowane o s A Uwag uzupełnające: po raz perwszy wykazano P-zupełność dla problemu spełnalnośc zdana logcznego (Cook w 97 r.) są problemy, dla których udowodnono, że należą do klasy P, ale ne są an P-zupełne, an ne należą do klasy P, np. sprawdzene czy dana lczba jest lczbą perwszą są problemy, których złożoność ponadwelomanową można udowodnć przez podane dolnych ogranczeń czasowych ( to ne tylko take, jak weże Hano, dla których z góry wadomo le teracj wykona algorytm), np. stwerdzene czy dla danej konfguracj w uogólnonych szachach x stneje stratega wygrywająca dla jednego z przecwnków są problemy, dla których pokazano podwójne wykładncze Θ ( ) dolne ogranczena czasowe są problemy algorytmczne, dla których udowodnono, że mają ponadwelomanowe dolne ogranczena złożonośc pamęcowej są cekawe przypadk problemów, dla których efektywne w praktyce algorytmy mają złożoność ponadwelomanową, choć znalezono dla nch algorytm welomanowy sprawujący sę jednak w wększośc zadań praktycznych wyraźne gorzej, np. zadane programowana lnowego z algorytmem sympleksowym (wykładnczym) algorytmem elpsodalnym (welomanowym) c a c a c a c a WSTĘP DO IFORMATYKI (7) J.Skorsk Strona 7 / 8
WYŻSZA SZKOŁA IFORMATYKI STOSOWAEJ I ZARZĄDZAIA Klasy złożonośc algorytmów podwójne wykładncza wykładncza P-zupełne P P (welomanowa) logarytmczna arytmetyk specjalne szachy, warcaby uogólnone x płaske układank, spełnalność, ładowane plecaka sprawdzane czy lczba jest perwsza sortowane wyszukwane w uporządkowanej lśce Uwaga: Zawerane sę klas problemów na tym rysunku zachodz w sense notacj O( ) WSTĘP DO IFORMATYKI (7) J.Skorsk Strona 8 / 8