Algorytmy i struktury danych

13
Algorytmy i Algorytmy i struktury danych struktury danych Problemy łatwe i trudne Klasa P i NP Wybrane problemy

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

Page 1: Algorytmy i struktury danych

Algorytmy i struktury Algorytmy i struktury danychdanych

Problemy łatwe i trudne

Klasa P i NP

Wybrane problemy

Page 2: Algorytmy i struktury danych

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

Page 3: Algorytmy i struktury danych

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.

Page 4: Algorytmy i struktury danych

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

Page 5: Algorytmy i struktury danych

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

Page 6: Algorytmy i struktury danych

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 ?

Page 7: Algorytmy i struktury danych

Wariant pesymistyczny...Wariant pesymistyczny...

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

Page 8: Algorytmy i struktury danych

Wariant optymistyczny...Wariant optymistyczny...

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

Page 9: Algorytmy i struktury danych

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...

Page 10: Algorytmy i struktury danych

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

Page 11: Algorytmy i struktury danych

Klasy P, NPI, NPCKlasy P, NPI, NPC

NPINPC P

Page 12: Algorytmy i struktury danych

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 ?

Page 13: Algorytmy i struktury danych

Wybrane problemy otwarteWybrane problemy otwarte

Izomorfizm grafów

Faktoryzacja

Problemy ostatnio zamknięteProblemy ostatnio zamknięte

Programowanie liniowe

Stwierdzenie czy liczba jest pierwsza