Algorytmy i struktury danych
Transkrypt
Algorytmy i struktury danych
Algorytmy i struktury danych. Metody numeryczne ECTS (Część 2. Metody numeryczne) Nazwa w języku angielskim: Algorithms and data structures. dzienne magisterskie Numerical methods. (Part 2. Numerical methods) Kod przedmiotu Imię i Nazwisko organizującego dr inż. Oleg Maslennikow w c Kurs egzaminacyjny LICZBA GODZIN 1 1 15 tygodni zajęć Kursy poprzedzające Słowa kluczowe Egzamin zaliczenie na ocenę analiza matematyczna, podstawy programowania algorytmy, programy, podstawowe struktury danych, optymalizacja algorytmów i programów PROGRAM SZCZEGÓŁOWY CELE KURSU. Opis kursu – cele i procedury ich osiągania: Uzyskanie wiedzy w zakresie najważniejszych zagadnień numerycznych i najprostszych metod ich realizacji; zastosowania metod numerycznych w analizie obwodów elektrycznych i naukach przyrodniczych; realizacji komputerowej w/w metod. Cel poznawczy: Uzyskanie wiedzy o typach błędów powstających podczas realizacji komputerowej metod numerycznych. Uzyskanie wiedzy o metodach: obliczenia funkcji elementarnych, całkowania numerycznego, rozwiązywania równań nieliniowych, algebry macierzowej, rozwiązywania układów równań liniowych; interpolacji i aproksymacji funkcji. Cel kształcący: Kształtowanie u studentów umiejętności samodzielnej pracy projektowo-badawczej w stopniu pozwalającym na przeprowadzenie analizy postawionego problemu i wybór odpowiedniej metody jego rozwiązania. Cel praktyczny: Uzyskanie umiejętności przeprowadzenia analizy zagadnienia numerycznego, wyboru właściwej metody jego rozwiązania; realizacji programowej wybranej metody numerycznej. Umiejętności wynikowe kursu i ich ewaluacja: Umiejętność opracowania programów komputerowych realizujących podstawowe metody numeryczne z uwzględnieniem wymaganej dokładności otrzymywanych wyników. Potrafi opracować procedury programowe realizujące metody obliczenia funkcji elementarnych za pomocą szeregów; metody całkowania numerycznego (prostokątów, trapezów); metody rozwiązywania równań nieliniowych (metoda siecznych, metoda Newtona); podstawowe algorytmy algebry macierzowej; najprostsze metody rozwiązywania układów równań liniowych (metoda eliminacji Gaussa, Gaussa-Jordana, Cholesky’ego); metody interpolacji (metoda wielomianowa, Lagrange’a) i aproksymacji funkcji (metoda wielomianowa, metoda trygonometryczna). Potrafi ocenić złożoność obliczeniową wykorzystanej metody. Wymagania podstawowe (stopnie dostateczne): Wymagania rozszerzone (stopnie dobre): Potrafi opracować i zoptymalizować procedury programowe realizujące metody obliczenia funkcji elementarnych i całkowania numerycznego; metody rozwiązywania równań nieliniowych (metoda siecznych, metoda Newtona); algorytmy algebry macierzowej; metody rozwiązywania układów równań liniowych (metoda eliminacji Gaussa i Gaussa-Jordana z wyborem elementu podstawowego, metoda Cholesky’ego, rozkłady LU i LLT); metody obliczenia wyznacznika i odwracania macierzy; metody interpolacji (metoda wielomianowa, Lagrange’a) i aproksymacji funkcji (wielomianowej, trygonometrycznej, wykładniczej, potęgowej). Potrafi ocenić złożoność obliczeniową wykorzystanej metody. Wykład 1. (2 godz.) WPROWADZENIE DO METOD NUMERYCZNYCH Zagadnienia: Dokładność obliczeń. Typy błędów powstających przy realizacji metod numerycznych (danych wejściowych, zaokrągleń, metodologicznych). Przykłady. Obliczenie wartości funkcji elementarnych (np. sin(x), ln(x), exp(x), itd.) za pomocą szeregów. Obliczenie szeregów za pomocą podprogramów rekurencyjnych i iteracyjnych. Metody całkowania numerycznego: prostokątów i trapezów (interpretacja geometryczna, wyprowadzenie wzorów). Wykład 2. (2 godz.) METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH (WYZNACZENIE MIEJSCA ZEROWEGO FUNKCJI) Zagadnienia: Metoda siecznych. Metoda stycznych (Newtona). Metoda iteracji prostej. Warunki zbieżności, interpretacja geometryczna, wyprowadzenie wzorów. Przykłady. Prezentacja multimedialna. Wykład 3. (1 godz.) MACIERZE. PODSTAWOWE OPERACIE I PRAWA ALGEBRY MACIERZOWEJ Zagadnienia: Definicje i typy macierzy (prostokątna, kwadratowa, symetryczna, trójkątna górna, dolna, jednostkowa, pasmowa, rzadka, macierz-wiersz, macierz-kolumna (wektor). Format CSR dla przechowywania macierzy rzadkich. Operacje na macierzach: transponowanie, norma wektora i macierzy, dodawanie i odejmowanie macierzy; mnożenie macierzy przez wartość stałą, przez wektor, przez macierz. Prawa algebry macierzowej. Przedstawienie układów równań liniowych w postaci macierzowej. Wyznacznik macierzy. Interpretacja geometryczna wyznacznika. Wykład 4. (5 godz.) METODY ROZWIĄZYWANIA UKŁADÓW RÓWNAŃ LINIOWYCH. METODY DOKŁADNE. Metody rozwiązywanie układów równań liniowych (URL) z trójkątną macierzą współczynników: metoda redukcji wstecznej (wzory, fragment programu); metoda podstawienia: modyfikacja wzorów i programu redukcji wstecznej. Eliminacja Gaussa: idea, wyprowadzenie wzorów; fragment programu; prezentacja multimedialna. Wzory macierzowe eliminacji Gaussa. Zagadnienia: Dzielenie przez zero - strategie wyboru elementu wiodącego; modyfikacje programu eliminacji Gaussa. Zastosowanie eliminacji Gaussa do obliczenia wyznacznika i rzędu macierzy i modyfikacja programu eliminacji Gaussa. Metoda eliminacja pełnej: idea, wzory na modyfikacje elementów macierzy, wzory macierzowe, modyfikacja programu eliminacji Gaussa. Przypadek kilku wektorów wyrazów wolnych. Zastosowanie metody Gaussa-Jordana do odwracania macierzy kwadratowych, modyfikacja programu Gaussa-Jordana. Rozkład (dekompozycja) macierzy na czynniki trójkątne: Rozkład LU: wzory macierzowe wzory na modyfikacje elementów macierzy; fragment programu; realizacja strategii wyboru elementu wiodącego. Rozkład LLT macierzy symetrycznych, dodatnio określonych (metoda Cholesky’ego-Banachewicza): wzory macierzowe; wzory na modyfikacje elementów macierzy, fragment programu. Wykład 5. (1 godz.) METODY ROZWIĄZYWANIA UKŁADÓW RÓWNAŃ LINIOWYCH. METODY ITERACYJNE Zagadnienia: Metody dokładne a iteracyjne. Metoda iteracji prostej (Jacobi’ego): idea, wzory macierzowe, wzory na modyfikacje elementów macierzy. Metoda Gaussa-Sidela: idea, modyfikacja wzorów iteracji prostej. Określenie złożoności obliczeniowej metod numerycznych. Porównanie złożoności metod dokładnych i iteracyjnych. Wykład 6. (3 godz.) INTERPOLACJA I APROKSYMACJA FUNKCJI Zagadnienia: Zagadnienie interpolacji. Interpretacja geometryczna. Interpolacja wielomianowa: idea, wzory. Interpolacja Aitkena. Interpolacja Lagrange’a: idea, wzory. Ekstrapolacja i interpolacja odwrotna. Interpolacja a aproksymacja. Interpretacja geometryczna. Aproksymacja wielomianowa, liniowa i trygonometryczna. Optymalizacja fragmentów programów formujących macierz współczynników układu równań liniowych. Parametry jakościowe aproksymacji (odchylenie kwadratowe, współczynnik korelacji, itd.). Wykład 7. (1 godz.) Repetytorium CZYNNOŚCI KONTROLNE I ORGANIZACYJNE ZWIĄZANE Z DOPUSZCZENIEM DO ZASADNICZEJ SESJI EGZAMINACYJNEJ PLANY WYNIKOWE ĆWICZEŃ Ćwiczenie 1 (2godz.) OBLICZENIE FUNKCJI ZA POMOCĄ SZEREGÓW. METODY CAŁKOWANIA NUMERYCZNEGO Opis ćwiczenia – cele i procedury ich osiągania: Praktyczne zapoznanie się z metodą obliczenia funkcji elementarnych za pomocą szeregów. Praktyczne zapoznanie się z metodami całkowania numerycznego: prostokątów i trapezów. Realizacja w/w metod w środowisku MS Excel lub/oraz realizacja programowa. Badanie zależności dokładności otrzymywanych wyników od liczby elementów w szeregu i liczby odcinków (wewnątrz przedziału całkowania). Umiejętności wynikowe i ich ewaluacja: Potrafi obliczyć za pomocą kalkulatora wartość zadanej funkcji elementarnej i całki oznaczonej (w zadanym przedziale). Potrafi opracować i przetestować programy realizujące w/w metody. Wymagania podstawowe (stopnie dostateczne) Wymagania rozszerzone (stopnie dobre) Potrafi realizować w Excelu lub programowo Potrafi realizować w Excelu lub programowo metodę prostokątów i trapezów. Potrafi opracować wersje iteracyjną i rekurencyjną programu obliczającego zadaną funkcję elementarną (np. sin(x), exp(x), ln(x)). metodę prostokątów i trapezów. Potrafi opracować wersje iteracyjną i rekurencyjną programu obliczającego zadaną funkcję elementarną (np. sin(x), exp(x), ln(x)). Dokonuje badanie zależności dokładności otrzymywanych wyników od liczby elementów w szeregu i liczby odcinków wewnątrz przedziału całkowania. Ćwiczenie 2 (2godz.) METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH (WYZNACZENIE MIEJSCA ZEROWEGO FUNKCJI) Zapoznanie się praktyczne z metodami numerycznymi rozwiązywania równań nieliniowych. Opis ćwiczenia – cele i procedury ich osiągania: Umiejętności wynikowe i ich ewaluacja: Dokonuje wyboru właściwej metody (warunki zbieżności) i potrafi opracować jej realizację programową oraz w środowisku MS Excel. Potrafi obliczyć Wymagania rozszerzone (stopnie dobre:) Potrafi obliczyć pierwiastki równania nieliniowego za pierwiastki równania nieliniowego za pomocą kalkulatora. Potrafi realizować w pomocą kalkulatora. Potrafi realizować w Excelu lub programowo metodę siecznej i Excelu lub programowo metodę siecznej i Wymagania podstawowe (stopnie dostateczne): metodę Newtona. Potrafi przetestować metodę Newtona. Potrafi przetestować i opracowane programy i przeanalizować ich zoptymalizować opracowane programy i efektywność. przeanalizować ich efektywność. Dokonuje badania zależności otrzymywanych wyników wykonanych iteracji. Ćwiczenie 3 (2godz.) Opis ćwiczenia – cele i procedury ich osiągania: dokładności od liczby OPERACJE NA MACIERZACH Praktyczne zapoznanie się z podstawowymi operacjami na macierzach. Umiejętności wynikowe i ich ewaluacja: Opracowuje programy realizujące podstawowe operacje na macierzach. Potrafi opracować procedury programowe dla obliczenia normy macierzy; mnożenia macierzy przez wektor i przez macierz. Potrafi opracować realizacje programowe metody redukcji wstecznej, metody podstawienia i metody Gaussa-Seidela. Potrafi przetestować opracowane programy i przeanalizować ich efektywność. Wymagania podstawowe (stopnie dostateczne): Potrafi opracować procedury programowe dla obliczenia normy macierzy; mnożenia macierzy przez wektor i przez macierz. Potrafi opracować realizacje programowe metody redukcji wstecznej, metody podstawienia i metody Gaussa-Seidela. Potrafi dopasować opracowane programy do struktury macierzy danych wejściowych (np. dla macierzy pasmowych). Potrafi przetestować opracowane programy i przeanalizować ich efektywność. Wymagania rozszerzone (stopnie dobre): Ćwiczenie 4 (4godz.) DOKŁADNE METODY ROZWIĄZYWANIA UKŁADÓW RÓWNAŃ LINIOWYCH Opis ćwiczenia – cele i procedury ich osiągania: Praktyczne zapoznanie się z metodami rozwiązywania układów równań liniowych opartych o eliminację Gaussa. Umiejętności wynikowe i ich ewaluacja: Umiejętność opracowania procedur programowych do rozwiązania układów równań liniowych, opartych o eliminację Gaussa. Wymagania podstawowe (stopnie dostateczne) Potrafi opracować i przetestować program rozwiązujący zadany układ równań liniowych w oparciu o: eliminację Gaussa; eliminację pełną (Gaussa-Jordana); rozkład LU macierzy na czynniki trójkątne; rozkład LLT macierzy symetrycznych i dodatnio określonych. Ćwiczenie 5 (4godz.) rozszerzone (stopnie dobre) Potrafi opracować i przetestować program rozwiązujący zadany układ równań liniowych w oparciu o: eliminację Gaussa; eliminację pełną (Gaussa-Jordana); rozkład LU macierzy na czynniki trójkątne; rozkład LLT macierzy symetrycznych i dodatnio określonych. Potrafi uzupełnić opracowany program procedurą wyboru elementu podstawowego (nie dotyczy rozkładu LLT). Wymagania INTERPOLACJA I APROKSYMACJA FUNKCJI Praktyczne zapoznanie się z metodami interpolacji i aproksymacji funkcji. Realizacja programowa interpolacji wielomianowej i Lagrange’a. Realizacja programowa aproksymacji wielomianowej i trygonometrycznej. Umiejętności wynikowe i ich ewaluacja:. umiejętność wyboru właściwej metody rozwiązywania URL i jej dostosowanie do struktury macierzy współczynników układu. Opis ćwiczenia – cele i procedury ich osiągania: Potrafi opracować Wymagania rozszerzone (stopnie dobre): Potrafi opracować i procedury programowe realizujące metody: zoptymalizować procedury programowe interpolacji wielomianowej; interpolacji realizujące metody: interpolacji wielomianowej; Lagrange’a; aproksymacji wielomianowej i interpolacji Aitkena i Lagrange’a; aproksymacji Wymagania podstawowe (stopnie dostateczne): trygonometrycznej. Potrafi obliczyć wielomianowej i trygonometrycznej. Potrafi parametry jakościowe aproksymacji. Potrafi obliczyć parametry jakościowe przetestować opracowane programy i aproksymacji. Potrafi przetestować opracowane przeanalizować ich efektywność. programy i przeanalizować ich efektywność. Ćwiczenie 6 (1godz.) CZYNNOŚCI KONTROLNE I ORGANIZACYJNE ZWIĄZANE Z DOPUSZCZENIEM DO ZASADNICZEJ SESJI EGZAMINACYJNEJ OPIS RYGORÓW POŚREDNICH Kolokwium I. Opis kolokwium : Zadania indywidualne na ocenę. Lista przykładowych zadań: 1) Rozwiązanie układu równań liniowych z macierzą współczynników A(4,4). Metody: eliminacja Gaussa, eliminacja pełna lub rozkład LU. 2) Odnalezienie macierzy odwrotnej do zadanej macierzy A(4,4). 3) Opracowanie fragmentu programu wykonującego mnożenie macierzy pasmowej o specjalnej strukturze przez wektor. Sposób oceniania: Ocena zależy od prawidłowości wykonania zadania rachunkowego; od prawidłowości i efektywności opracowanego algorytmu. Wymagania podstawowe (stopnie dostateczne) Zadanie Wymagania rozszerzone (stopnie dobre) Zadanie rachunkowe rachunkowe wykonano z drobnymi usterkami. wykonano bez usterek. Opracowano prawidłowy i Opracowano prawidłowy algorytm i program. efektywny algorytm. Opracowano fragment programu zgodny z zasadą programowania strukturalnego. WARUNKI DOPUSZCZENIA DO SESJI EGZAMINACYJNEJ Opis ogólny warunków dopuszczenia : Zaliczone ćwiczenia i kolokwium podstawowe (stopnie dostateczne) Ćwiczenia i Wymagania rozszerzone (stopnie dobre) Ćwiczenia i kolokwium kolokwium zaliczono na stopień „dostateczny” zaliczono na stopnie „dobry” lub „bardzo dobry” Wymagania OPIS RYGORU ZASADNICZEGO. (ZALICZENIE Z OCENĄ) Opis ogólny rygoru zasadniczego: Sprawdzenie wiedzy studenta na podstawie 2 pytań teoretycznych dotyczących zagadnień omawianych na wykładzie. Każde pytanie oceniane jest osobno. Wymagania podstawowe (stopnie dostateczne) Ocena średnia z Wymagania rozszerzone (stopnie dobre) Ocena średnia z odpowiedzi na pytania wynosi (w zaokrągleniu) 3 odpowiedzi na pytania wynosi (w zaokrągleniu) lub 3.5. 4, 4.5 lub 5. WYKAZ ŹRÓDEŁ (PODRĘCZNIKÓW I SKRYPTÓW) 1. Fortuna Z., Macuków B., Wąsowski J. Metody numeryczne. WNT, 1982, 1998 (seria podręczniki akademickie). 2. Baron B. Metody numeryczne w Turbo-Pascalu. Helion, 1995. 3. Kiełbasiński A., Schwetlick H. Numeryczna algebra liniowa. WNT, 1992. 4. Bjorck A., Dahlquist G. Metody numeryczne, PWN, 1987. 5. Jankowscy J. i M. Przegląd metod i algorytmów numerycznych. WNT, 1981. 6. Kaczorek T. Wektory i macierze w automatyce i elektrotechnice. WNT, 1998. 7. Stoer J. Wstęp do metod numerycznych. PWN, 1979. 8. Ralston A. Wstęp do analizy numerycznej. WNT, 1975. 9. Legras J. Praktyczne metody analizy numerycznej. WNT, 1974. 10. www.ulib.org/webRoot/Books/Numerical_Recipes/bookcpdf.html