Algorytmy i struktury danych Problemy łatwe i trudne Klasa P i NP Wybrane problemy
Przykłady praktycznych problemów, które można sprowadzić do kolorowania grafów rozdział częstotliwości roboczych dla stacji nadawczych układanie rozkładów zajęć rozmieszczanie elementów na warstwach układu scalonego projektowanie kodów odpornych na błędy szacowanie rzadkich macierzy Jakobiego konstrukcja prostokątów łacińskich optymalizacja kodu wynikowego generowanego przez kompilator Istnieje wiele rozmaitych problemów, które można sprowadzić do kolorowania grafów. Taką idyllę burzy fakt, że znalezienie najlepszego pokolorowania przy użyciu komputera może zająć dużo, a nawet baaaaaaaardzo dużo czasu.
Problemy łatwe, trudne i nierozwiązywalne Problemy łatwe, dla których znany jest algorytm pracujący w czasie wielomianowo zależnym od ilości wierzchołków grafu. Przykłady: minimalny/maksymalny wierzchołek, cykl/droga Eulera. Problemy trudne, dla których nie jest znany dokładny algorytm wielomianowy. Przykłady: największa klika, kolorowanie grafów. Problemy nierozwiązywalne, których nie można rozwiązać przy pomocy komputera, Przykład: problem stopu. Problemy grafowe i większość problemów informatycznych można w ogólności podzielić na trzy grupy: Problemy łatwe, dla których znany jest algorytm (tj sposób rozwiązania problemu) pracujący w czasie wielomianowo zależnym od ilości wierzchołków grafu. Przykłady: minimalny/maksymalny wierzchołek, cykl/droga Eulera. Problemy trudne, dla których nie jest znany dokładny algorytm wielomianowy. Przykłady: największa klika, kolorowanie grafów. Problemy nierozwiązywalne, których nie można rozwiązać przy pomocy komputera, Przykład: problem stopu. Problem stopu można najogólniej sformułować tak Należy napisać program który na podstawie listingu będzie w stanie stwierdzić czy dowolny program się nie zapętla. Zwracam uwagę że dowolny to również on sam. Można pokazać formalny dowód że napisanie takiego programu jest niemożliwe.
Tempo wzrostu
Tempo wzrostu
Klasa problemów NP-zupełnych Dla wielu przypuszczalnie niewielomianowych problemów, pokazano ich wzajemną równoważność co oznacza, że: jeżeli znajdziemy wielomianowy algorytm dla jednego z problemów to będziemy w stanie wszystkie te problemy rozwiązać w czasie wielomianowym. Czy to ważne ?
Wariant pesymistyczny... Nie potrafię znaleźć szybkiego sposobu na zrobienie tego...
Wariant optymistyczny... Nie istnieje szybki sposób na zrobienie tego...
Dla problemów NP-zupełnych ... Nie potrafię znaleźć szybkiego sposobu na zrobienie tego, ale ci wszyscy ZNANI NAUKOWCY też nie potrafili...
Klasa NPI Algorytm deterministyczny Algorytm niedeterministyczny Problemy decyzyjne Problemy optymalizacyjne Dla decyzyjnych problemów klasy NPC koniecnze jest istnienie wielomianowego (być może niedetermini-stycznego) algorytmu
Klasy P, NPI, NPC NPI NPC P
Wybrane problemy NPC Spełnialność, 3-spełnialność Liczba i indeks chromatyczny Największa klika, minimalne pokrycie, najw. zbiór niezależny Cykl i ścieżka hamiltona, problem komiwojażera Najdłuższa ścieżka, najdłuższy cykl Problem plecakowy, podział zbioru Najdłuższy wspólny podciąg Szeregowanie zadań, układanie rozkładów zajęć Izomorfizm grafów ?
Wybrane problemy otwarte Izomorfizm grafów Faktoryzacja Problemy ostatnio zamknięte Programowanie liniowe Stwierdzenie czy liczba jest pierwsza