złożoność obliczeniowa - Wydział Elektrotechniki, Automatyki i

Transkrypt

złożoność obliczeniowa - Wydział Elektrotechniki, Automatyki i
Politechnika Opolska
Wydział Elektrotechniki, Automatyki i Informatyki
Karta Opisu Przedmiotu
Kierunek studiów
Profil kształcenia
Poziom studiów
Specjalność
Forma studiów
Semestr studiów
INFORMATYKA
Ogólnoakademicki
Studia drugiego stopnia
SIECI KOMPUTEROWE I SYSTEMY BAZ DANYCH
Studia stacjonarne
II
Nazwa przedmiotu
ZŁOŻONOŚĆ OBLICZENIOWA
Subject Title
Całk.
3
Wymagania
wstępne w
zakresie
przedmiotu
Nauki podst. (T/N)
N
Computational complexity
Kod przedmiotu
ECTS (pkt.)
Tryb zaliczenia przedmiotu
Kont.
1,2 Prakt.
Zaliczenie na ocenę
Nazwy
Teoretyczne podstawy informatyki, Algorytmy i struktury danych,
przedmiotów
Matematyka dyskretna
1. Ma rozszerzoną i pogłębioną wiedzę z zakresu algebry i analizy
matematycznej
2.
Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną
Wiedza
obejmującą kluczowe zagadnienia z zakresu podstaw informatyki
Umiejętności
Kompetencje
społeczne
3. Potrafi konstruować podstawowe algorytmy
1. Potrafi pozyskiwać informacje z literatury oraz innych właściwie
dobranych źródeł, także w języku angielskim
2. Potrafi planować i przeprowadzać eksperymenty, w tym pomiary i
symulacje komputerowe, interpretować uzyskane wyniki i wyciągać
wnioski
1. Rozumie potrzebę uczenia się przez całe życie; potrafi inspirować i
organizować proces uczenia się innych osób
2. Potrafi odpowiednio określić priorytety służące realizacji określonego
przez siebie lub innych zadania
Program przedmiotu
Forma zajęć
Wykład
Ćwiczenia
Laboratorium
Projekt
Seminarium
L. godz. zajęć w sem.
Prowadzący zajęcia
Całkowita
Kontaktowa
(tytuł/stopień naukowy, imię i nazwisko)
40
15
dr inż. Mariusz Sobol
|
45
15
dr inż. Mariusz Sobol
|
|
|
|
Treści kształcenia
Sposób realizacji Wykład w sali audytoryjnej
Liczba godzin
Tematyka zajęć
Złożoność czasowa, rzędy wielkości funkcji, funkcje wielomianowe i wykładnicze,
4
notacja Landaua, określanie i szacowanie złożoności obliczeniowej, pesymistyczna
i oczekiwana złożoność obliczeniowa, wrażliwość algorytmów, wyznaczanie
złożoności obliczeniowej iteracji i rekurencji
Wykład
Lp.
1.
3.
Maszyna Turinga jako algorytm, teza Churcha-Turinga, wielotaśmowa i
niedeterministyczna Maszyna Turinga, nierozstrzygalność, uniwersalna Maszyna
Turinga, problem stopu, metoda diagonalizacji, maszyna o dostępie swobodnym
(RAM)
Teoria złożoności, problemy optymalizacyjne i decyzyjne, klasy P i NP, przykłady
problemów z klas P i NP, redukowalność w czasie wielomianowym, potencjalne
zależności między klasami P i NP, NP-zupełność, Twierdzenie Levina-Cooka,
problem SAT, przykłady problemów NP-zupełnych
4.
Złożoność pamięciowa, Twierdzenie Savitcha, klasa Pspace
1
5.
Problemy trudne, twierdzenia o hierarchii czasowej i pamięciowej
1
2.
4
4
6.
Algorytmy aproksymacyjne, algorytmy alternujące, obliczenia równoległe
25
L. godz. kontaktowych w sem.
Sposoby sprawdzenia zamierzonych Wykonanie pracy zaliczeniowej
efektów kształcenia
Ćwiczenia
Sposób realizacji ćwiczenia tablicowe
Lp.
Tematyka zajęć
Określanie dokładnej i asymptotycznej złożoności obliczeniowej, wyznaczanie
1.
złożoność oczekiwanej i pesymistycznej
Określanie złożoności obliczeniowej algorytmów realizowanych na Maszynie
2.
Turinga
Kolokwium
3.
1
L. godz. pracy własnej studenta
15
Liczba godzin
4
2
1
Eksperymentalne wyznaczanie złożoności obliczeniowej algorytmów (pomiar czasu
3
i badanie liczby wykonań instrukcji podstawowej)
Wykazywanie przynależności problemow do klas problemów P, NP i NP-zupełnych,
3
5.
konstrukcja redukcji wielomianowych między problemami o wielomianowej
równoważności
6.
Zaliczenie zadań indywidualnych
2
L. godz. pracy własnej studenta
30
L. godz. kontaktowych w sem.
15
Sposoby sprawdzenia zamierzonych Kolokwium, aktywność na zajęciach, rozwiązywanie trudniejszych
efektów kształcenia
zadań dodatkowych, rozwiązywanie zadań indywidualnych
1. Ma wiedzę w zakresie określania złożoności obliczeniowej
algorytmów i klasyfikacji problemów ze względu na ich
złożoność czasową i pamięciową (W,Ć)
2. Zna i rozumie najważniejsze zagadnienia teorii złożoności
Wiedza
obliczeniowej (W)
3. Zdaje sobie sprawę, z istnienia w tej dziedzinie wiedzy wielu
bardzo istotnych, wciąż nie rozwiązanych problemów (W)
4.
Efekty kształcenia dla
przedmiotu - po
zakończonym cyklu
kształcenia
Umiejętności
Kompetencje
społeczne
1. Potrafi wyznaczać i szacować złożoności obliczeniowe
algorytmów (Ć)
2. Potrafi przygotować i przedstawić prezentację ustną,
dotyczącą szczegółowych zagadnień z zakresu złożoności
obliczeniowej algorytmów (W,Ć)
3. Potrafi formułować i testować hipotezy związane z
problemami inżynierskimi i prostymi problemami badawczymi
w dziedzinie algorytmiki (W)
1. Potrafi odpowiednio określić priorytety służące realizacji
określonego przez siebie lub innych zadania (W,Ć)
2. Potrafi myśleć i działać w sposób kreatywny (W,Ć)
Metody dydaktyczne:
Wykład prowadzony z wykorzystaniem technik multimedialnych. Zamieszczanie na stronie internetowej
materiałów dydaktycznych. Na ćwiczeniach rozwiązywanie zadań i problemów na tablicy. Konsultacje.
Forma i warunki zaliczenia przedmiotu:
Ćwiczenia: Zaliczenie kolokwium na ocenę pozytywną, wykonanie pracy zaliczeniowej polegającej na
rozwiązaniu problemów indywidualnie przydzielanych studentom i wykonaniu sprawozdania,
nieprzekroczenie dozwolonej liczby nieobecności.
Wykład: Wykonanie pracy zaliczeniowej na zadany temat i ustne jej zaliczenie, uzyskanie zaliczenia z
ćwiczeń.
Literatura podstawowa:
[1] Papadimitriou C. H.: Złożoność obliczeniowa, Wydawnictwa Naukowo-Techniczne, Warszawa 2002
[2] Sipser M.: Wprowadzenie do teorii obliczeń, WNT, Warszawa 2009
[3] Giaro K.: Złożoność obliczeniowa algorytmów w zadaniach, Wydawnictwo Politechniki Gdańskiej,
Gdańsk, 2002
Literatura uzupełniająca:
[1] Hopcroft J. E., Motwani R., Ullman J.D.: Wprowadzenie do teorii automatów, języków i obliczeń. Nowe
wydanie, wydanie drugie, Wydawnictwo naukowe PWN, Warszawa 2005
[2] Kubale M.: Łagodne wprowadzenie do analizy algorytmów, Wydawnictwo Politechniki Gdańskiej,
Gdańsk, 2009
[3] Neapolitan R., Naimipour K.: Podstawy algorytmów z przykładami w C++, Helion, 2004
[4] Wirth N.: Algorytmy + struktury danych = programy, WNT, Warszawa 2004
______________
* niewłaściwe przekreślić
…………………………………………………..
……………………………………………………….
(kierownik jednostki organizacyjnej/bezpośredni przełożony:
pieczęć/podpis
(Dziekan Wydziału
pieczęć/podpis)

Podobne dokumenty