Průvodce IB000 Matematické základy informatiky

Lekce 11: Formalizace a důkazy pro algoritmy

OBSAH

Desátá lekce se týká dokazování vlastností algoritmů. Nejprve si ukážeme, jak vůbec správně formalizovat zápis algoritmu (otázku, co to přesně je algoritmus, ponecháme stranou a zůstaneme na intuitivní úrovni pochopení). Algoritmus tak pro nás bude konečná posloupnost elementárních kroků, zjednodušená v zápise tzv. řídícími konstrukcemi. K zápisu elementárních kroků budeme používat symbolický zápis (určený pro tento předmět, přitom poměrně kompatibilní s běžnými zvyklostmi jinde) nebo i běžný jazyk; nejdůležitější bude správné strukturování zápisu.

V návaznosti na předchozí si pak ukážeme vlastnosti algoritmů na mnoha malých příkladech a uvedeme si problematiku matematického dokazování vlastností algoritmů. Zmíněny budou i rekurzivní algoritmy.

Samostatné procvičení učiva - odpovědníky

Odpovědník této lekce se zaměřuje na pochopení procedurálního zápisu jednoduchých algoritmů a na poznání, co daný algoritmus počítá. Na to pak navazují příklady týkající se rekurentních zápisů posloupností, což jsou vlastně jednoduchá matematická vyjádření rekurzivních programů.

Při řešení části z úloh byste si měli opět vzpomenout na matematickou indukci - právě ta vám pomůže si ověřit vaši odpověď, abyste se vyhnuli penalizaci za chyby (třebaže odpovědník stěží může přímo ověřit, zda si svou odpověď dokazujete nebo jen hádáte, záporné body za chyby to statisticky poměrně dobře odhalí).

Error: The referenced object does not exist or you do not have the right to read.
https://is.muni.cz/el/1433/podzim2018/IB000/um/cvic/Procviceni11.qref

Diskuse o látce

(Mějte na paměti, že dříve - v době uvedených diskusí - byla látka této lekce jinde, trochu už na začátku a převážně pak v Lekci 8. Některé z diskusí jsou relevantní také pro následující Lekci 11.)

Doplňkové a externí materiály

Error: The referenced object does not exist or you do not have the right to read.
https://is.muni.cz/el/1433/podzim2018/IB000/um/jine/prikl3.pdf