M. Muraszkiewicz Instytut Informatyki, Politechnika Warszawska

Slides:



Advertisements
Podobne prezentacje
Wstęp do Informatyki, część 1
Advertisements

Wstęp do Informatyki, WSZ, część 1
METODY ANALIZY PROGRAMÓW
Studia Podyplomowe „Informatyka” dla Nauczycieli
Algorytmika w szkole podstawowej
PROGRAMOWANIE STRUKTURALNE
ALGORYTM Co to jest algorytm?
algorytm znajdowania największego wspólnego dzielnika (NWD)
Teoretyczne podstawy informatyki
Złożoność obliczeniowa
Materiały pochodzą z Platformy Edukacyjnej Portalu
ZŁOŻONOŚĆ OBLICZENIOWA
Opracowała: Elżbieta Fedko
P O D S T A W Y P R O G R A M O W A N I A
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
JAK ZBUDOWANY JEST KOMPUTER?
ALGORYTMY.
Algorytmy.
Metody numeryczne w chemii
Algorytmy i struktury danych
Algorytmy i algorytmika Opracowanie: Teresa Szczygieł
Wstęp do interpretacji algorytmów
dr Anna Kwiatkowska Instytut Informatyki
Algorytmy Marek Pudełko
Algorytmy i algorytmika Opracowanie: Maciej Karanowski
ALGORYTMY Opracowała: ELŻBIETA SARKOWICZ
Teoretyczne podstawy informatyki
ALGORYTMY.
Algorytmy.
Agata Łysakowska Klasa III „n”
ALGORYTMY Martyna K. Luiza K..
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Informacja, wiedza, system informacyjny
Algorytmy.
Strona 1 Wykład jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Logiki nieklasyczne Krótka nota M. Muraszkiewicz.
PORZĄDEK WŚRÓD INFORMACJI KLUCZEM DO SZYBKIEGO WYSZUKIWANIA
Prowadzący: Dr inż. Jerzy Szczygieł
Budowanie schematu blokowego
Ocena przydatności algorytmu – czas działania (złożoność czasowa)
Podstawy analizy matematycznej II
Strona 1 Wykład jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Niepełna lista metod wnioskowania Aneks 1 M. Muraszkiewicz.
ALGORYTMY.
ALGORYTM. SCHEMATY BLOKOWE. KONSTRUKCJE PROGRAMU, PODPROGRAMY, FUNKCJE
Algorytmy.
Persian mathematician, geographer, astronomer and cartographer. A native of Uzbekistan who lived in the ninth century (c ). In the years
„Równania są dla mnie ważniejsze, gdyż polityka jest czymś istotnym tylko dzisiaj, a równania są wieczne.” Albert Einstein.
Algorytmika.
Wprowadzenie do programowania
ALGORYTMY Co to jest algorytm ? Cechy algorytmu Budowa algorytmów
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Algorytmy i struktury danych
Obliczanie NWD- algorytm Euklidesa
opracowała: Anna Mikuć
Algorytm to przepis prowadzący do osiągnięcia celu lub rozwiązania problemu, opisujący każdy krok. Algorytmika to dziedzina zajmująca się algorytmami (własnościami,
Algorytmy.
Zasady arytmetyki dwójkowej
Złożoność obliczeniowa algorytmów
Algorytmy – wprowadzenie
Wstęp do interpretacji algorytmów
Wstęp do programowania Wykład 4
Wstęp do programowania Wykład 1
Algorytmy i Struktury Danych Algorithms and Data Structures dr inż. Lech Jamroż Wydział Fizyki, Matematyki I Informatyki.
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Algorytmy i algorytmika Opracowanie: Teresa Szczygieł
Algorytm to przepis prowadzący do osiągnięcia celu lub rozwiązania problemu, opisujący każdy krok. Algorytmika to dziedzina zajmująca się algorytmami (własnościami,
Efektywność algorytmów
Zrozumieć, przeanalizować i rozwiązać
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

M. Muraszkiewicz Instytut Informatyki, Politechnika Warszawska Algorytm Krótka nota M. Muraszkiewicz Instytut Informatyki, Politechnika Warszawska mietek@-n-s.pl http://www.icie.com.pl/lect_pw.htm Warszawa, maj, 2011 r. Wykład jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Prolog Definicja Złożoność Problemy Epilog M. Muraszkiewicz

Prolog M. Muraszkiewicz

ibn Musa Al-chwarizmi (780 – 850) Etymologia Abu Abdullah Muhammed ibn Musa Al-chwarizmi (أبو عبد الله محمد بن موسى الخوارزمي) Dzięki jego pracom na Bliskim Wschodzie zaczęto stosować pochodzące z Indii dziesiętny system liczenia i pozycyjny system zapisu liczb. Cyfry arabskie wyparły cyfry rzymskie w Europie. Jego prace pozwoliły też wprowadzić i wyjaśnić pojęcia zera, ułamków oraz funkcje trygonometryczne sinus i tangens. Jako pierwszy ułożył tablice funkcji sinus i tangens, wprowadził elementy algebry. Termin algebra pochodzi od tytułu jego dzieła Kitāb al-jabr wa'l-muqābala ("Zasady redukcji i przenoszenia"), zaś algorytm od łacińskiej wersji jego nazwiska. źródło: http://pl.wikipedia.org/wiki/Muhammad_ibn_Musa_al-Chuwarizmi ibn Musa Al-chwarizmi (780 – 850)

Lady Augusta Ada Lovelace (1815–1852) Prekursorzy Lady Augusta Ada Lovelace (1815–1852) Charles Babagge (1791- 1871) maszyna różnicowa

Definicja M. Muraszkiewicz

1-sza iteracja Algorytm to opis metody prowadzącej do rozwiązania zadania lub do osiągnięcia zamierzonego celu przy założeniu o tym co lub kto będzie wykonawcą algorytmu. M. Muraszkiewicz

2-ga iteracja Algorytm to jednoznaczny opis metody w przyjętym języku prowadzącej do rozwiązania zadania lub do osiągnięcia zamierzonego celu przez wykonanie skończonej liczby poleceń prostych, przy założeniu o tym co lub kto będzie wykonawcą algorytmu, i że wykonawca jest w stanie interpretować i zrealizować każde wymienione polecenie proste. M. Muraszkiewicz

3-ia iteracja Algorytm to jednoznaczny opis metody, która w skończonym czasie przekształca dane wejściowe w dane wyjściowe. M. Muraszkiewicz

Poprawność algorytmu Algorytm jest poprawny, gdy dla każdego wystąpienia zadania przedłożonego do rozwiązania: Podaje poprawny wynik. Zatrzymuje się. Uwaga na błędy zaokrągleń liczb rzeczywistych M. Muraszkiewicz

Przykład Do najstarszych znanych algorytmów należy, Euklidesa algorytm do znajdowania największego wspólnego dzielnika (NWD) dwóch liczb. Oblicz c jako resztę z dzielenia a przez b. zastąp pozycję a liczbą b, a pozycję b liczbą c. jeżeli pozycja b = 0, to szukane NWD = a, w przeciwnym wypadku przejdź do kroku 1. M. Muraszkiewicz

Czy sieć neuronowa jest językiem zapisu algorytmów ? język naturalny, np. język polski grafy skierowane języki programowania komputerów, np. C#, Java pseudokody … Czy sieć neuronowa jest językiem zapisu algorytmów ? M. Muraszkiewicz

Główne struktury języków początek, koniec stałe, zmienne, łańcuchy, tablice nadawanie wartości operatory arytmetyczne i logiczne, operatory działające na łańcuchach funkcje wyrażenia warunkowe pętle M. Muraszkiewicz

Złożoność M. Muraszkiewicz

Złożoność Złożoność algorytmu to ilość zasobów niezbędnych do jego wykonania. Złożoność czasowa Liczba operacji wymaganych do wykonania algorytmu w zależności od rozmiaru danych wejściowych. Złożoność pamięciowa Wielkość pamięci, której wymaga wykonanie algorytmu z uwzględnieniem rozmiaru danych wejściowych. M. Muraszkiewicz

Złożoności czasowe n – liniowa log n – logarytmiczna n log n – liniowo-logarytmiczna nl – wielomianowa, l = 2, 3, …, np. n2 stopnia 2, n3 – sześcienna 2n – wykładnicza 2n n! – wykładnicza n! . M. Muraszkiewicz

Klasy złożoności Klasa złożoności to klasa zagadnień obliczeniowych o podobnej złożoności obliczeniowej. Klasa P (deterministyczna wielomianowa) - problem (decyzyjny), dla którego rozwiązanie można znaleźć w czasie wielomianowym. Klasa NP (niedeterministryczna wielomianowa) - problem dla którego rozwiązanie można zweryfikować w czasie wielomianowym. Wszystkie problemy klasy P są NP, ponieważ można je sprawdzić w czasie wielomianowym P NP. Nie wiadomo natomiast, czy P różni się od NP, tzn. P ≠ NP lub inaczej czy P  NP M. Muraszkiewicz

Problemy M. Muraszkiewicz

Zagadnienia Analiza algorytmów to działanie w celu określenia zasobów, które są niezbędne do wykonania algorytmu: czasu wykonania, pojemność pamięci, liczby procesorów, szerokości pasma itd. Ponadto: Jak sprawdzić/dowieść poprawność algorytmu ? Jak wyznaczyć złożoność algorytmu ? Jak wybrać język zapisu algorytmu ? Jak przygotować dane, jak je ustrukturalizować ? Czy istnieją algorytmy alternatywne ? … M. Muraszkiewicz

Epilog M. Muraszkiewicz

An algorithm must be seen to be believed. M. Muraszkiewicz

Warto przeczytać: Aho A. V., Hopcroft J. E., Ullman J. D.: Algorytmy i struktury danych, Helion, Gliwice 2003 Banachowski L., Diks K., Rytter W.: Algorytmy i struktury danych, WNT, Warszawa 2003 Heineman G.T., Pollice G., Selkow S.: Algorithms in a Nutshell, O'Reilly Media, 2008 Cormen T.H., Leiserson Ch.E., Rivest R.L.: Wprowadzenie do algorytmów, WNT, Warszawa 2000 Sedgewick R.: Algorithms, Addison-Wesley Professional, 2011 Sysło M.M.: Algorytmy, WSiP, Warszawa 2002 Wirth N.: Algorytmy + struktury danych = programy, WNT, Warszawa 2002 http://pl.wikipedia.org/wiki/Algorytm M. Muraszkiewicz

Dziękuję za uwagę