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)