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

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

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

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

Základy algoritmizace

Úvod do informatiky. Miroslav Kolařík

Algoritmizace prostorových úloh

Rekurze. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Složitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

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

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Hašování. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Algoritmy a algoritmizace

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

Algoritmizace prostorových úloh

Binární vyhledávací stromy II

Třídy složitosti P a NP, NP-úplnost

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Úvod do teoretické informatiky

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

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

Spojová implementace lineárních datových struktur

Úvod do informatiky. Miroslav Kolařík

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

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Třída PTIME a třída NPTIME. NP-úplnost.

Matematika I. Přednášky: Mgr. Radek Výrut, Zkouška:

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

IB111 Úvod do programování skrze Python Přednáška 13

Složitost Filip Hlásek

Bakalářská matematika I

Vybrané kapitoly z matematiky

ZŠ ÚnO, Bratří Čapků 1332

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Kapitola Základní množinové pojmy Princip rovnosti. Dvě množiny S a T jsou si rovny (píšeme S = T ) prvek T je také prvkem S.

Přednáška 9, 28. listopadu 2014 Část 4: limita funkce v bodě a spojitost funkce

Základy algoritmizácie a programovania

Pravděpodobnost a její vlastnosti

HL Academy - Chata Lopata Emu (Brkos 2012) Řetězové zlomky / 27

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Teoretická informatika Tomáš Foltýnek Teorie čísel Nekonečno

Informační a komunikační technologie

Digitální učební materiál

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

Matematika. Kamila Hasilová. Matematika 1/34

ALGORITMY A DATOVÉ STRUKTURY

Celková osnova přednášek. Algoritmy I prezentace k přednáškám. Celková osnova přednášek (pokrač.) Celková osnova přednášek (pokrač.

0.1 Úvod do lineární algebry

Pojem algoritmus a jeho základní vlastnosti

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

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

2. ZÁKLADY MATICOVÉ ALGEGRY 2.1. ZÁKLADNÍ POJMY

0.1 Úvod do lineární algebry

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

Turingovy stroje. Teoretická informatika Tomáš Foltýnek

ŠVP Gymnázium Ostrava-Zábřeh Úvod do programování

Doporučené příklady k Teorii množin, LS 2018/2019

/1: Teoretická informatika(ti) přednáška 4

N Q Z N N N, kde A Bjesymbolprokartézskýsoučinmnožin A, B(tj.množinuvšechuspořádanýchdvojic [a, b],kde a A, b B).Opětprosímpřijmětejakofakt, 1 že

Z. Sawa (VŠB-TUO) Teoretická informatika 11. prosince / 63

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

Základy algoritmizace

Teorie pravěpodobnosti 1

Matematická analýza pro informatiky I. Limita posloupnosti (I)

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

Požadavky k opravným zkouškám z matematiky školní rok

Odpřednesenou látku naleznete v kapitolách skript Abstraktní a konkrétní lineární algebra.

p 2 q , tj. 2q 2 = p 2. Tedy p 2 je sudé číslo, což ale znamená, že

Základy matematiky pro FEK

Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin.

0. ÚVOD - matematické symboly, značení,

Vyhledávání v textu. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

POŽADAVKY pro přijímací zkoušky z MATEMATIKY

Základy teorie množin

1 Základy algoritmizace a programování. 1.1 Algoritmus Možnosti zápisu algoritmů. Základy algoritmizace a programování

3. Reálná čísla. většinou racionálních čísel. V analytických úvahách, které praktickým výpočtům

Posloupnosti a jejich konvergence POSLOUPNOSTI

Úplný systém m logických spojek. 3.přednáška

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

10. Složitost a výkon

Matematika 2 Úvod ZS09. KMA, PřF UP Olomouc. Jiří Fišer (KMA, PřF UP Olomouc) KMA MA2AA ZS09 1 / 25

InformatikaaVT(1) Cílem předmětu je: Žáci:

Základy matematické analýzy

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Co je to matematika?

TEMATICKÝ PLÁN. září říjen

Matematická analýza pro informatiky I.

Matematická analýza pro informatiky I. Spojitost funkce

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

Rozhodnutelné a nerozhodnutelné problémy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 24. dubna / 49

Informatika Algoritmy

Vyučovací předmět: CVIČENÍ Z MATEMATIKY. A. Charakteristika vyučovacího předmětu.

Poslední nenulová číslice faktoriálu

Příklad z učebnice matematiky pro základní školu:

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Požadavky k opravným zkouškám z matematiky školní rok

Úvod do databázových systémů 1. cvičení

Úvod do informatiky. Miroslav Kolařík

Transkript:

Pojem algoritmus doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Pojem algoritmus 54 / 344

Osnova přednášky Pojem algoritmus Algoritmický problém Pojem algoritmu Vlastnosti algoritmu Turingův stroj Church-Turingova teze Shrnutí Jiří Dvorský (VŠB TUO) Pojem algoritmus 55 / 344

Algoritmický problém Algoritmický problém vstup, výstup, vstupní a výstupní podmínka Algoritmus pravidla definující postup jak vstupní data transformovat na výstupní Algoritmus můžeme chápat také jako konečnou posloupnost instrukcí, které po konečném počtu kroků vydá požadovaný výstup K našim účelům bude stačit tato intuitivní definice algoritmu Jiří Dvorský (VŠB TUO) Pojem algoritmus 56 / 344

Algoritmus Algoritmus Název algoritmus pochází ze začátku devátého století z Arábie. V letech 800 až 825 napsal arabský matematik Muhammad ibn Músá al Chwárizmí dvě knihy, z nichž jedna se v latinském překladu jmenovala Algoritmi dicit, česky Tak praví al Chwárizmí. Byla to kniha postupů pro počítání s čísly. Těmto postupům my dnes říkáme písemné sčítání, písemné násobení atd. Poznámky Sestavit správný algoritmus řešení problému nemusí být vždy snadnou činností. Logická chyba v algoritmu může vést k nesprávným výsledkům. Pro řešení jedné a té samé úlohy může existovat více různých algoritmů, tyto algoritmy se můžou lišit v množství spotřebovaného času a paměťového prostoru. Jiří Dvorský (VŠB TUO) Pojem algoritmus 57 / 344

Algoritmus Algoritmu můžeme rozumět jako předpisu pro řešení nějakého problému. Jako příklad vezměme třídění množiny celých čísel. Pokud rozebereme řešení takové úlohy do důsledku, musí obsahovat tři věci: 1. hodnoty vstupních dat (množina celých čísel), 2. předpis pro řešení, 3. požadovaný výsledek, tj. výstupní data (setříděná čísla). Konstruktivní řešení problémů Všimněte si, že řešení problému je pomocí algoritmu konstruováno ze vstupních dat! Stejný postup používá například geometrie. Jiří Dvorský (VŠB TUO) Pojem algoritmus 58 / 344

Nekonstruktivní řešení problému aneb Na tohle není algoritmus! Příklad Naším úkolem je najít dvě iracionální čísla x a y taková aby platilo, že x y je číslo racionální. Řešení Zvolíme x = 2 a y = 2. Je-li x y číslo racionální jsme hotovi, není-li x y číslo racionální, zvolíme například x = 2 2 a y = 2. Potom dostaneme x y = ( ) 2 2 ( ) 2 2 ( ) 2 2 = 2 = 2 = 2 Je zřejmé, že řešením je buď dvojice čísel x = 2 a y = 2 nebo dvojice čísel x = 2 2 a y = 2, přičemž nejsme z uvedeného řešení schopni říci která dvojice je vlastně řešením našeho problému. Jiří Dvorský (VŠB TUO) Pojem algoritmus 59 / 344

Nekonstruktivní řešení problému aneb Na tohle není algoritmus! V čem spočívá problém? 1. není jasné zda je 2 2 číslo iracionální nebo ne, 2. není jasné jak volit kandidáty na řešení iracionální čísla jsou nespočetná. Spočetnost množiny čísel O množině řekneme, že je spočetná pokud ji lze zobrazit na množinu přirozených čísel. Přirozená čísla lze probírat, vyjmenovat, jedno po druhém. Stejně to lze provést s čísly celými a racionálními (zlomky). Nelze to provést s čísly iracionálními, reálnými a komplexními. Po 1 následuje nutně 2, po 2, 5 následuje co? 2, 51 nebo 2, 501 nebo 2, 5001? Jaké číslo následuje po 2? Jiří Dvorský (VŠB TUO) Pojem algoritmus 60 / 344

Algoritmus Algoritmus je předpis, který se skládá z kroků a který zabezpečí, že na základě vstupních dat jsou poskytnuta požadovaná data výstupní. Navíc každý algoritmus musí mít následující vlastnosti: konečnost, hromadnost, jednoznačnost, opakovatelnost, rezultativnost, elementárnost. Jiří Dvorský (VŠB TUO) Pojem algoritmus 61 / 344

Algoritmus vlastnosti Konečnost Požadovaný výsledek musí být poskytnut v rozumném čase (pokud by výpočet trval na nejrychlejším počítači např. jeden milion let, těžko bychom mohli hovořit o algoritmu řešení, nemluvě o výpočtu, který by neskončil vůbec). Za rozumný lze považovat čas, kdy nám výsledek výpočtu k něčemu bude. Jiří Dvorský (VŠB TUO) Pojem algoritmus 62 / 344

Algoritmus vlastnosti Hromadnost Vstupní data nejsou v popisu algoritmu reprezentována konkrétními hodnotami, ale spíše množinami, ze kterých lze data vybrat (např. při třídění přirozených čísel bude vstup konečnou podmnožinou množiny všech přirozených čísel). Při popisu algoritmu v programovacím jazyce se to projeví tím, že vstupy do algoritmu jsou označeny symbolickými jmény. Jiří Dvorský (VŠB TUO) Pojem algoritmus 63 / 344

Algoritmus vlastnosti Jednoznačnost Každý předpis je složen z kroků, které na sebe navazují. Každý krok můžeme charakterizovat jako přechod z jednoho stavu algoritmu do jiného, přičemž každý stav je určen zpracovávanými daty. Tím, jak data v jednotlivých stavech algoritmu vypadají, musí být jednoznačně určeno, který krok následuje (např: V řešení trojúhelníka může nastat situace, kdy vychází na základě vstupních dat jedno nebo dvě řešení. Situace je tedy nejednoznačná, řešení musí být jednoznačné, tzn. v předpisu se s touto možností musí počítat a musí v něm být návod, jak ji řešit.). Jiří Dvorský (VŠB TUO) Pojem algoritmus 64 / 344

Algoritmus vlastnosti Opakovatelnost Při použití stejných vstupních údajů musí algoritmus dospět vždy k témuž výsledku. Rezultativnost Algoritmus vede ke správnému výsledku. Elementárnost Algoritmus se skládá z konečného počtu jednoduchých (elementárních) kroků. Jiří Dvorský (VŠB TUO) Pojem algoritmus 65 / 344

Algoritmus formálnější přístup Turingův stroj teoretický model počítače popsaný matematikem Alanem Turingem, procesorová jednotka, tvořená konečným automatem, program ve tvaru pravidel přechodové funkce, a pravostranně nekonečné pásky pro zápis mezivýsledků. cs.wikipedia.org/wiki/turingův_stroj Jiří Dvorský (VŠB TUO) Pojem algoritmus 66 / 344

Algoritmus formálnější přístup Church-Turingova teze Ke každému algoritmu existuje ekvivalentní Turingův stroj. Kvůli neformální definici pojmu algoritmus nemůže být tato teze nikdy dokázána. Lze ji ale vyvrátit, podaří-li se sestrojit algoritmus, který bude umět řešit problémy, které Turingův stroj řešit neumí. Jelikož každý počítačový program lze přeložit do jazyka Turingova stroje a obvykle i naopak, lze tezi ekvivalentně formulovat pro kterýkoli běžně používaný programovací jazyk. Jiří Dvorský (VŠB TUO) Pojem algoritmus 67 / 344

Algoritmus formálnější přístup Přesněji, programovací jazyk potřebuje jednu z následujících konstrukcí, aby byl s Turingovým strojem ekvivalentní: while-cyklus nebo neomezenou (alespoň teoreticky) rekurzi nebo podmíněný skok. Běžné programovací jazyky mívají všechny tři tyto konstrukce. Mezi jazyky, které nejsou ekvivalentní s Turingovým strojem patří například jazyk SQL (myšleno bez vložených procedur). Jiří Dvorský (VŠB TUO) Pojem algoritmus 68 / 344

Shrnutí Algoritmický problém Algoritmus konečnost, hromadnost, jednoznačnost, opakovatelnost, rezultativnost, elementárnost. Turingův stroj Church-Turingova teze Jiří Dvorský (VŠB TUO) Pojem algoritmus 69 / 344

Děkuji za pozornost Jiří Dvorský (VŠB TUO) Pojem algoritmus 70 / 344