Základy algoritmizace

Podobné dokumenty
Základy algoritmizace

Základy algoritmizace

Jarníkův algoritmus. Obsah. Popis

Bonn, Rheinischen Friedrich-Wilhelms-Universität

Základní grafové algoritmy

11MAMY LS 2017/2018. Úvod do Matlabu. 21. února Skupina 01. reseni2.m a tak dále + M souborem zadané funkce z příkladu 3 + souborem skupina.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

aneb jiný úhel pohledu na prvák

Základy algoritmizace

Modelování systémů a procesů (11MSP) Bohumil Kovář, Jan Přikryl, Miroslav Vlček. 8. přednáška 11MSP pondělí 20. dubna 2015

Algoritmizace- úvod. Ing. Tomáš Otáhal

České vysoké učení technické v Praze Fakulta jaderná a fyzikálně inženýrská OKRUHY. ke státním závěrečným zkouškám BAKALÁŘSKÉ STUDIUM

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Algoritmy a algoritmizace

Úvod do informatiky. Miroslav Kolařík

Řešení 1D vedení tepla metodou sítí a metodou

Vlastnosti členů regulačních obvodů Osnova kurzu

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

Úvod do optimalizace Matematické metody pro ITS (11MAMY)

Rekurentní rovnice, strukturální indukce

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

Modelování a simulace Lukáš Otte

Diskretizace. 29. dubna 2015

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně

Výukový materiál zpracován v rámci projektu EU peníze školám

VYUŽITÍ MATLABU PRO VÝUKU NUMERICKÉ MATEMATIKY Josef Daněk Centrum aplikované matematiky, Západočeská univerzita v Plzni. Abstrakt

Matematické algoritmy Skriptum k předmětu 11MAG

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně

U Úvod do modelování a simulace systémů

Požadavky k písemné přijímací zkoušce z tematického okruhu 1 (Logistika)

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY a SYSTÉMY

Propojení matematiky, fyziky a počítačů

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Speciální numerické metody 4. ročník bakalářského studia. Cvičení: Ing. Petr Lehner Přednášky: doc. Ing. Martin Krejsa, Ph.D.

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně

Rekurentní rovnice, strukturální indukce

Ing. Tomáš MAUDER prof. Ing. František KAVIČKA, CSc. doc. Ing. Josef ŠTĚTINA, Ph.D.

D - Přehled předmětů studijního plánu

Binární vyhledávací stromy pokročilé partie

Kombinatorická minimalizace

Kde a jak může být lineární algebra užitečná v praxi.

BAKALÁŘSKÁ PRÁCE. Metody pro výpočet kořenů polynomů

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

3 Co je algoritmus? Trocha historie Definice algoritmu Vlastnosti algoritmu... 3

Numerická stabilita algoritmů

MATLAB PRO PODPORU VÝUKY KOMUNIKAČNÍCH SYSTÉMŮ

Aplikovaná numerická matematika

Biofyzikální ústav LF MU Brno. jarní semestr 2011

DISKRÉTNÍ PROCESY V ELEKTROTECHNICE

Ivan Švarc. Radomil Matoušek. Miloš Šeda. Miluše Vítečková. c..~"f~ AKADEMICKÉ NAKlADATEL.STVf. Brno 20 I I

Datová věda (Data Science) akademický navazující magisterský program

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

Informační a komunikační technologie

Numerické metody 6. května FJFI ČVUT v Praze

Matematika I. dvouletý volitelný předmět

(K611MSAP) prof. Miroslav Vlček. 24. února Ústav aplikované matematiky Fakulta dopravní ČVUT

Pojem algoritmus a jeho základní vlastnosti

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

OSA. maximalizace minimalizace 1/22

Lineární a adaptivní zpracování dat. 3. SYSTÉMY a jejich popis ve frekvenční oblasti

Čínská věta o zbytcích RSA

POŽADAVKY K SOUBORNÉ ZKOUŠCE Z MATEMATIKY

Lekce 01 Úvod do algoritmizace

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

Výpočetní a aplikovaná matematika

Elektronické obvody analýza a simulace

MATLAB Úvod. Úvod do Matlabu. Miloslav Čapek

Pružnost a plasticita II CD03

POZNÁMKY K PŘEDMĚTU PROJEKT

Seminář z Informatiky a výpočetní techniky. Slovanské gymnázium Olomouc 4. září 2014 Tomáš Kühr

Fyzikální laboratoř. Kamil Mudruňka. Gymnázium, Pardubice, Dašická /8

Úlohy nejmenších čtverců

PODKLADY PRO WORKSHOP

Wolfram Alpha. v podobě html stránky, samotný výsledek je často doplněn o další informace (např. graf, jiné možné zobrazení výsledku a

VYUŽITÍ MATLABU PRO PODPORU VÝUKY A PŘI ŘEŠENÍ VÝZKUMNÝCH ÚKOLŮ NA KATEDŘE KOMUNIKAČNÍCH A INFORMAČNÍCH SYSTÉMŮ

B-IIa Studijní plány pro bakalářské a magisterské SP - prezenčního

Parciální diferenciální rovnice

Architektury počítačů

ekologie Pavel Fibich rovnice rovnice Pavel Fibich Shrnutí Literatura

Cvičení z matematiky - volitelný předmět

Úvodní informace. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :47

Praktické využití Mathematica CalcCenter. Ing. Petr Kubín, Ph.D. Katedra elektroenergetiky, ČVUT v Praze, FEL

Obyčejné diferenciální rovnice počáteční úloha. KMA / NGM F. Ježek

Netradiční výklad tradičních témat

V t í á t V á V s ČVU V T v v P r P a r ze

Automatizace je proces při němž je řídicí funkce člověka nahrazována činností

Soustavy nelineárních rovnic pomocí systému Maple. Newtonova metoda.

Numerické řešení nelineárních rovnic

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

Úvodní informace. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :18

Michal Krátký. Úvod do programování. Cíl kurzu. Podmínky získání zápočtu III/III

Inženýr IT a řídících systémů

Zpracoval: 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty.

Měření dat Filtrace dat, Kalmanův filtr

Numerická matematika 1

Algoritmizace. Obrázek 1: Přeložení programu překladačem

SIGNÁLY A LINEÁRNÍ SYSTÉMY

Analýza a zpracování signálů

Transkript:

Základy algoritmizace Matematické algoritmy (11MAG) Jan Přikryl Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 1. přednáška 11MAG pondělí 5. října 2014 verze: 2014-10-06 11:27

Obsah přednášky 1 Úvodní informace 2 Algoritmy a algoritmizace 3 Aplikace algoritmů

Základní informace Kdo to učí, kdy se uvidíme, web... Přednáší: Dr. Jan Přikryl prikryl@fd.cvut.cz Přednáška: pondělí, 11:30 13:00, F114 Cvičení: pondělí 13:15 14:45, F215 Dotace: 2+2 Očekávaná týdenní zátěž: 5 7 hodin včetně přednášek Webové stránky předmětu: http://zolotarev.fd.cvut.cz/mag/

Základní informace Hodnocení Teoretické testy 3 3 b 9 bodů Práce na cvičení 11 1 b 11 bodů Celkem 20 bodů A B C D E F 20 18 18 16 16 14 14 12 12 10 <10

Základní informace O čem to je, co se po mně bude chtít? O čem si budeme povídat: algoritmy diskrétní matematiky, slasti a strasti výpočtů v plovoucí řádové čárce, numerická matematika. O čem budou cvičení: praktické hrátky s algoritmy, Matlab/Python/C/C++/Java... Co když neumím programovat? To, že jste postoupili až do prvního magisterského ročníku garantuje, že programovat umíte. V případě nouze se urychleně doučíte.

Základní informace Podle čeho se to učí Literatura je téměř výhradně anglicky, kompletní seznam i s případnými odkazy naleznete na webových stránkách předmětu. 1 HÅSTAD, Johan: Advanced Algoritms Course Notes. Royal Institute of Technology, Sweden, 2000. 2 CORMEN, Thomas H. LEISERSON, Charles E. RIVEST, Ronald L. STEIN, Clifford: Introduction to Algorithms. 2nd edition. The MIT Press / McGraw-Hill, 2002. 3 MOLER, Cleve: Numerical Computing with MATLAB. Society for Industrial and Applied Mathematics (SIAM), 2004. 4 HEATH, Michael T.: Scientific Computing: An Introductory Survey. 2nd edition. McGraw-Hill, 2002. 5 PŘIKRYL, Jan PŘIKRYL, Petr: Matematické algoritmy. ČVUT FD, 2014.

Obsah přednášky 1 Úvodní informace 2 Algoritmy a algoritmizace 3 Aplikace algoritmů

Co víte o algoritmech? Co je to algoritmus Algoritmus je přesný návod či postup, kterým lze vyřešit daný typ úlohy. efektivní postup pro výpočet hodnoty nějaké funkce vyjádřený konečným počtem instrukcí. Definice Algoritmem rozumíme postup, podle kterého se z dat vstupních x[n] vygenerují data výstupní y[n]. vstup... u[n] Algoritmus y[n]... výstup

Co víte o algoritmech? Vlastnosti algoritmu Typy algoritmů Co potřebujete znát? Kam až můžeme dojít? Každý algoritmus musí mít následující vlastnosti: 1 Konečnost: výpočet se ukončí v rozumně konečném čase. 2 Hromadnost: není sestrojen pouze na jediné u[n], ale na celou řadu možných vstupů. 3 Jednoznačnost: přechod do následujícího stavu algoritmu je jednoznačně určen výsledkem stavu předchozího.

Co víte o algoritmech? Komentář k vlastnostem algoritmů 1 Konečnost: předpověď počasí na zítra dosažená výpočtem o den později nemá význam. 2 Hromadnost: program pro výpočet odmocniny pracuje nad množinou čísel, není konstruován pro každé číslo zvlášť. 3 Jednoznačnost: každý algoritmus je složen z kroků, které na sebe vzájemně navazují. Každý krok je charakterizován jako přechod z jednoho stavu do jiného. Každý stav algoritmu je určen zpracovávanými daty a na tom, jak data v jednotlivých stavech vypadají. Je tedy pevně určeno, který krok bude následovat.

Příklady algoritmů Příklad Numerický výpočet odmocniny y[n + 1] = 1 2 ( y[n] + u[n] ) y[n] Odmocnina z čísla 10 je s přesností na 10 desetinných míst rovna 10 = 3,16227766017. Pro u[n] = 10 dostáváme postupně y[0] = 3 y[0] 2 = 9 y[1] = 3,165 y[1] 2 = 10,017225 y[2] = 3,162278 y[2] 2 = 10,0000021493 y[3] = 3,1622776601 y[3] 2 = 9,9999999996.

Obsah přednášky 1 Úvodní informace 2 Algoritmy a algoritmizace 3 Aplikace algoritmů

Aplikace algoritmů Internet Internet umožňuje lidem na celém světě rychle vyhledávat a přistupovat k obrovskému množství informací. Poskytovatelé internetu a internetových služeb musí používat chytré algoritmy, umožňující zpracovávat a spravovat velké množství dat. Příklady algoritmů: hledání vhodných cest pro datové pakety, cestující mezi jednotlivými uzly sítě, vyhledávání stránek s určitým obsahem.

Aplikace algoritmů Elektronické obchodování Velký objem obchodů je v dnešní době uzavírán elektronicky, a mnoho služeb funguje i na elektronické bázi. E-komerce: klíčová je schopnost uchovat důvěrné údaje (čísla kreditních karet, hesla, či bankovní informace) opravdu v tajnosti. Příklady algoritmů: šifrování veřejným klíčem či digitální podpis.

Aplikace algoritmů Optimalizace a logistika Ve oblastech výroby a přepravy řeší firmy často problém optimální alokace zdrojů: minimalizace nákladů vs. co možná nejvyšší užitek. Letecký dopravce: přiřazení posádek na lety s co nejmenšími náklady, optimální využití strojů. Poskytovatel internetu: cílené investice do infrastruktury. Svoz odpadu: Minimum najetých kilometrů. Příklady algoritmů: lineární či dynamické programování optimalizace, grafové algoritmy komponenty grafu, kostra, nejkratší cesta.

Aplikace algoritmů Numerická matematika Numerické řešení soustav algebraických rovnic, diferenciálních rovnic a speciálních funkcí: Metoda konečných prvků: řešení složitých parciálních diferenciálních rovnic s praktickými aplikacemi

Aplikace algoritmů Proč to zkoumat Jinak těžko řešitelné úlohy: nelineární parciální diferenciální rovnice, například Navierovy-Stokesovy rovnice.

Aplikace algoritmů Proč to zkoumat Navierovy-Stokesovy rovnice: u t + (u )u = f p + ν u kde u a f jsou vektorové funkce rychlosti a síly, p je tlak a ν je úměrná viskozitě kapaliny. u x t + u u x x x + u u y y y + u u z z z = = f x (x, y, z, t) p [ 2 x + ν u x x 2 + 2 u x y 2 ] + 2 u x z 2

Co potřebujete znát? Prerekvizity Předpokládáme: základy algebry a matematické analýzy základy numerické matematiky diferenční rovnice a jejich řešení základy strukturovaného programování aktivní znalost alespoň jednoho programovacího jazyka (C, C++, Python, Java, Basic) nebo alespoň prostředí MATLAB

Kam až můžeme dojít? Objevit krásu některých algoritmů. Pochopit třeba numerické základy kryptologie. Nebát se inženýrských úloh, které vyžadují algoritmizaci.

Kam až můžeme dojít? pokračování Pochopit rychlé algoritmy s aplikacemi v reálném světě Rychlá Fourierova transformace analýza EEG signálu 400 200 Casovy prubeh signalu 60 40 0 20 200 0 200 400 600 800 1000 1200 STFT 10 20 30 10 20 30 100 200 300 400 500 600 700 800 900 1000 1100 DZT 100 200 300 400 500 600 700 800 900 1000 1100 15000 10000 5000 2 1.5 1 0.5

Implementace algoritmů Kurs pokrývá standardní algoritmy, jež nabízí pro daný problém a pro daná vstupní data optimální výkon. Dvě nejčastější chyby při výběru algoritmu pro danou úlohu: ignorujeme výkon algoritmu rychlejší algoritmy jsou současně složitější na implementaci příliš zkoumáme výkon algoritmu nepatrně rychlejší algoritmus může být výrazně složitější na implementaci