Algorytmy i struktury danych

Post on 11-Jan-2016

49 views 0 download

description

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ęć - PowerPoint PPT Presentation

Transcript of Algorytmy i struktury danych

Algorytmy i struktury Algorytmy i struktury danychdanych

Problemy łatwe i trudne

Klasa P i NP

Wybrane problemy

Przykłady praktycznych problemów, które Przykłady praktycznych problemów, które można sprowadzić do kolorowania grafówmoż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

Problemy łatwe, trudne i Problemy łatwe, trudne i nierozwiązywalnenierozwią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.

Tempo wzrostuTempo wzrostun = rozmiar danych

funkcja 10 20 30 40 50 60

n 0,00001s

0,00002s

0,00003s

0,00004s

0,00005s

0,00006s

n2 0,0001s

0,0004s

0,0009s

0,0016s

0,0025s

0,0036s

n3 0,001s

0,008s

0,027s

0,064s

0,125s

0,216s

n5 0,1s

3,2s

24,3s

1,7s

5,2s

13,0s

2n 0,001s

1,0 s 17,9min

12,7dni

35,7lat

366wieków

3n 0,059s

58min

6,5lat

3885wieków

2108

wieków1,31013

wieków

Tempo wzrostuTempo wzrostun = rozmiar danych

funkcja 10 20 30 40 50 60

n 0,00001s

0,00002s

0,00003s

0,00004s

0,00005s

0,00006s

n2 0,0001s

0,0004s

0,0009s

0,0016s

0,0025s

0,0036s

n3 0,001s

0,008s

0,027s

0,064s

0,125s

0,216s

n5 0,1s

3,2s

24,3s

1,7s

5,2s

13,0s

2n 0,001s

1,0 s 17,9min

12,7dni

35,7lat

366wieków

3n 0,059s

58min

6,5lat

3885wieków

2108

wieków1,31013

wieków

Klasa problemów NP-zupełnychKlasa 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...Wariant pesymistyczny...

Nie potrafię znaleźć szybkiego sposobu na zrobienie tego...

Wariant optymistyczny...Wariant optymistyczny...

Nie istnieje szybki sposób na zrobienie tego...

Dla problemów NP-zupełnych ...Dla problemów NP-zupełnych ...

Nie potrafię znaleźć szybkiego sposobu na zrobienie tego, ale ci wszyscy ZNANI NAUKOWCY też nie potrafili...

Klasa NPIKlasa 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, NPCKlasy P, NPI, NPC

NPINPC P

Wybrane problemy NPCWybrane 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 otwarteWybrane problemy otwarte

Izomorfizm grafów

Faktoryzacja

Problemy ostatnio zamknięteProblemy ostatnio zamknięte

Programowanie liniowe

Stwierdzenie czy liczba jest pierwsza