dr hab. inż. Władysław Homenda Algorytmy, złożoność

Transkrypt

dr hab. inż. Władysław Homenda Algorytmy, złożoność
dr hab. inż. Władysław Homenda
Algorytmy, złożoność obliczeniowa, granice obliczalności, realizacja przedmiotu, 2008
Realizacja, wiosna 2008
1. 2008-02-27
Pojęcia podstawowe: problem, algorytm, złożoność obliczeniowa czasowa i pamięciowa,
pesymistyczna i średnia, asymptotyczna, kryteria jednorodne i logarytmiczne.
2. 2008-02-28
Podstawowe struktury danych: typy skalarne, tablice, listy, stosy, kolejki, kolejki priorytetowe,
drzewa. Krótka charakterystyka struktur, podstawowe implementacje. Kopce i ich zastosowanie
do implementacji kolejek priorytetowych.
3. 2008-03-05
Problem sortowania, algorytmy sortowania i ich złożoność. Algorytmy podstawowe (bąbelkowy,
przez wybór, przez wstawianie), sortowanie szybkie, sortowanie Shella, sortowanie kubełkowe,
sortowanie przez zliczanie. Ograniczenie dolne złożoności algorytmów sortowania przez
porównania elementów. Sortowanie Shella.
4. 2008-03-06
Sortowanie szybkie – uzupełnienie, rekurencja. Problem wyszukiwania. Algorytmy
wyszukiwania i ich złożoność. Wyszukiwanie liniowe, binarne, aproksymacyjne. Binarne
drzewa wyszukiwania, drzewa zrównoważone, drzewa AVL, lokalna rotacja.
5. 2008-03-12
Algorytmy problemu wyszukiwania: 2-3-4 drzewa, drzewa czerwono-czarne, równoważność
modeli drzew 2-3-4 i czerwono czarnych, b-drzewa, drzewa wyszukiwania bitowego (radix
search trees i tries).
6. 2008-03-13
Mieszanie (hashowanie): metody usuwania konfliktów – łańcuchowa, liniowa, z obszarem
nadmiarowym, adresowanie liniowe, adresowanie kwadratowe, podwójnie mieszanie; funkcje
mieszające - modulo, wybór środkowej części klucza, uniwersalna klasa funkcji.
7. 2008-04-16
Nierozstrzygalność. Charakteryzacja przestrzeni funkcji decyzyjnych: klasy funkcji:
obliczanych, częściowo obliczalnych, komplementarnych do częściowo obliczalnych, nie
obliczalnych.
8. 2008-04-17
Niedeterminizm. Charakteryzacja przestrzeni problemów decyzyjnych rozstrzygalnych ze
względu na złożoność czasową algorytmów. Transformacja wielomianowa. Klasy problemów:
NP, coNP, NP-zupełnych, NPI. Pytania: NP=coNP?, P=NP? Twierdzenie Cooka –
sformułowanie. Charakteryzacja przestrzeni problemów decyzyjnych rozstrzygalnych ze
względu na złożoność pamięciowa algorytmów. Twierdzenie Savitcha – sformułowanie.
9. 2008-04-23
Niedeterminizm. Charakteryzacja przestrzeni problemów decyzyjnych rozstrzygalnych ze
względu na złożoność czasową algorytmów. Transformacja wielomianowa. Klasy problemów:
NP, coNP, NP-zupełnych, NPI. Pytania: NP=coNP?, P=NP? Twierdzenie Cooka –
sformułowanie. Charakteryzacja przestrzeni problemów decyzyjnych rozstrzygalnych ze
względu na złożoność pamięciowa algorytmów. Twierdzenie Savitcha – sformułowanie.
10. 2008-04-24
Informacja o obliczeniach kwantowych
11. 2008-05-14
Wyszukiwanie wzorca w tekście. Algorytmy: naiwny, Knutha-Morrisa-Pratta, Boyera-Moore’a,
Rabina-Karpa.
12. 2008-05-28
Grafy, reprezentacja komputerowa. Algorytmy przeszukiwania grafów.
13. 2008-05-29
Algorytmy znajdowania najkrótszych dróg w grafach. Wyznaczanie największych przepływów
w sieciach.
14, 15. 2008-06-04,11
Zaliczenia.
Realizacja, wiosna 2007
1. 2007-02-28
Pojęcia podstawowe: problem, algorytm, złożoność obliczeniowa czasowa i pamięciowa,
pesymistyczna i średnia, asymptotyczna, kryteria jednorodne i logarytmiczne.
2. 2007-03-01
Problem sortowania, algorytmy sortowania i ich złożoność. Algorytmy podstawowe (bąbelkowy,
przez wybór, przez wstawianie), sortowanie szybkie, sortowanie Shella, sortowanie kubełkowe.
3. 2007-03-14
Podstawowe struktury danych: tablice, listy, stosy, kolejki, kolejki priorytetowe, drzewa. Krótka
charakterystyka struktur, podstawowe implementacje.
Kopce i ich zastosowanie do implementacji kolejek priorytetowych i w algorytmie sortowania
przez kopcowanie.
Dolne oszacowanie złożoności algorytmów sortowania przez porównania.
Problem wyszukiwania. Podstawowe algorytmy i ich złożoność: wyszukiwanie liniowe, binarne,
interpolacyjne.
4. 2007-03-15
Algorytmy wyszukiwania i ich złożoność: binarne drzewa wyszukiwania, równoważenie drzew
wyszukiwania, drzewa AVL, drzewa wyszukiwania bitowego (radix search), drzewa typu
Patricia, 2-3-4 drzewa, drzewa czerwone-czarne, uwagi na temat B-drzew.
5. 2007-03-28
Drzewa czerwone-czarne, uwagi na temat B-drzew. Mieszanie (hashing), metody rozwiązywania
konfliktów, funkcje mieszające.
6. 2007-03-29
Funkcje mieszające (kontynuacja). Wyszukiwanie wzorca w tekście, algorytmy: brute force,
Knuta-Morrisa-Prata.
7. 2007-04-11
Wyszukiwanie wzorca w tekście (kontynuacja), algorytmy: brute force, Knuta-Morrisa-Prata,
Boyera-Moore’a, Rabina-Karpa. Wyrażenia i języki regularne. Automaty skończone.
8. 2007-04-12
Wyszukiwanie wzorca w tekście (kontynuacja): Wyrażenia regularne, automaty skończone.
9. 2007-04-18
Algorytmy grafowe: reprezentacja grafów, przeszukiwanie grafów wszerz i wzdłuż,
przeszukiwanie drzew binarnych prefiksowe, postfiksowe, infiksowe, składow spójne grafów.
Problem najkrótszych dróg, algorytmy Forda-Bellmana i Dijkstry.
10. 2007-04-19
Algorytmy grafowe cd.: Przepływy w sieciach, algorytm Forda-Fulkersona. Problem, zadnia
problemu, algorytmy – rewizyta. Problem podziału zbioru: algorytm deterministyczny o
złożoności wykładniczej, algorytm niedeterministyczny o złożoności liniowej. Modele obliczeń:
maszyny RAM, maszyny Turinga.
11. 2007-05-16
Problemy rozstrzygalne i nierozstrzygalne. Charakteryzacja klasy problemów rozstrzygalnych ze
względu na złożoność czasową. Klasy problemów P, NP, coNP, NP-zupełnych. Przykłady
problemów NP, co-NP, NP-zupełnych. P=NP?
12. 2007-05-17
Związki między złożonością czasową i pamięciową. Charakteryzacje klasy problemów
rozstrzygalnych ze względu na złożoność pamięciową. Twierdzenie Savitcha. P-space=NP-NPspace
13. 2007-05-30
Obliczenia kwantowe
14. 2007-05-31
Zaliczenia
15. 2007-06-13
Zaliczenia

Podobne dokumenty