Principy indukce a rekursivní algoritmy

Podobné dokumenty
Principy indukce a rekurentní rovnice

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

Základy elementární teorie čísel

Základy elementární teorie čísel

Rekurentní rovnice, strukturální indukce

Rekurentní rovnice, strukturální indukce

Fakulta elektrotechnická. Matematika 5(d) Jiří Velebil katedra matematiky Praha,

Úvod do informatiky. Miroslav Kolařík

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16

Hlubší věty o počítání modulo

Diskrétní matematika 1. týden

Matematické důkazy Struktura matematiky a typy důkazů

Modely Herbrandovské interpretace

Výroková a predikátová logika - IV

V tomto článku popíšeme zajímavou úlohu (inspirovanou reálnou situací),

Důkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť.

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Unbounded Model Checking

PŘEDNÁŠKA 2 POSLOUPNOSTI

Diskrétní matematika

Lineární algebra Kapitola 1 - Základní matematické pojmy

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

Vztah limity k aritmetickým operacím a uspořádání

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

10. Vektorové podprostory

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

Výroková a predikátová logika - V

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

Logika. 6. Axiomatický systém výrokové logiky

10 Důkazové postupy pro algoritmy

Pomocný text. Polynomy

Systém přirozené dedukce výrokové logiky

13. přednáška 13. ledna k B(z k) = lim. A(z) = M(z) m 1. z m.

Matematická analýza pro informatiky I. Limita funkce

Pokrytí šachovnice I

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

5 Orientované grafy, Toky v sítích

Dijkstrův algoritmus

Rekurze. Pavel Töpfer, 2017 Programování 1-8 1

Logické programy Deklarativní interpretace

1 Linearní prostory nad komplexními čísly

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

8 Přednáška z

1 Lineární prostory a podprostory

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

1 Kardinální čísla. množin. Tvrzení: Necht X Cn. Pak: 1. X Cn a je to nejmenší prvek třídy X v uspořádání (Cn, ),

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

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

Algoritmizace složitost rekurzivních algoritmů. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Univerzita Karlova v Praze Pedagogická fakulta

Výroková a predikátová logika - IX

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

Základní datové struktury III: Stromy, haldy

Historie matematiky a informatiky Cvičení 1

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

10. Složitost a výkon

Matematická analýza III.

Výroková a predikátová logika - VIII

10 Přednáška ze

PŘEDNÁŠKA 7 Kongruence svazů

Lineární algebra : Lineární zobrazení

Diskrétní matematika

Úvod do problematiky

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie

Jak funguje asymetrické šifrování?

4. Topologické vlastnosti množiny reálných

Hlubší věty o počítání modulo

Báze a dimenze vektorových prostorů

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

Stromy, haldy, prioritní fronty

Fibonacciho čísla na střední škole

TGH06 - Hledání nejkratší cesty

DMA Přednáška Rekurentní rovnice. takovou, že po dosazení odpovídajících členů do dané rovnice dostáváme pro všechna n n 0 + m pravdivý výrok.

Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39

O dělitelnosti čísel celých

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Základy matematické analýzy

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 3. PREDNÁŠKA - KOMPAKTNÍ PROSTORY.

METRICKÉ A NORMOVANÉ PROSTORY

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

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.

Základy teorie množin

2. přednáška 8. října 2007

Úvod do matematiky. Mgr. Radek Horenský, Ph.D. Důkazy

Riemannova hypotéza Martin Havlík 2. A

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

2. série. Prvočísla. Téma: Datumodeslání: Dokažte,žekaždéprvočíslovětšínež5jdepsátvetvaru6k+1nebo6k 1,kde kjenějaké přirozené číslo.

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

Základy řazení. Karel Richta a kol.

FREDHOLMOVA ALTERNATIVA

Úlohy krajského kola kategorie B

Kreslení grafů na plochy Tomáš Novotný

Vrcholová barevnost grafu

Matematická logika. Miroslav Kolařík

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

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

Výroková a predikátová logika - VIII

Transkript:

Principy indukce a rekursivní algoritmy Jiří Velebil: A7B01MCS 19. září 2011: Indukce 1/20

Příklad Místností rozměru n budeme rozumět šachovnici rozměru 2 n 2 n, ze které je jedno (libovolné) pole vyjmuto. Toto je příklad místnosti rozměru 3: Jiří Velebil: A7B01MCS 19. září 2011: Indukce 2/20

Příklad (pokrač.) Trimino je parketa následujícího tvaru: Dokažte indukcí: Každou místnost rozměrů n 1 lze vyparketovat triminy. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 3/20

P(n) = počet parket k vyparketování místnosti rozměru n 1 P(1) = 1. 2 P(n + 1) = 1 + 4 P(n), n 1. Tomu se říká rekurentní rovnice. Jak vyjádřit hodnoty P(n) explicitně? Řešení (jisté třídy) rekurentních rovnic příští přednáška. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 4/20

Princip slabé indukce Ať V je nějaká vlastnost přirozených čísel. K tomu, abychom mohli usoudit, že všechna přirozená čísla n n 0 mají vlastnost V, stačí ukázat dvě věci: 1 Základní krok: číslo n 0 má vlastnost V. 2 Indukční krok: číslo n + 1 má vlastnost V, pokud předpokládáme, že číslo n má vlastnost V. Analogie s rekursivním algoritmem Všechny úlohy rozměru n n 0 jsou zpracovány, pokud: 1 Základní krok: úloha rozměru n 0 je zpracována nerekursivně. 2 Rekursivní volání: úloha rozměru n + 1 je zpracována, pokud po dekompozici je zpracována úloha rozměru n. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 5/20

Příklad Co je špatně na následujícím důkazu? 1 Je-li maximum dvou přirozených čísel 0, pak jsou si obě čísla rovna. 2 Předpokládejme, že je-li maximum dvou přirozených čísel n, pak jsou si rovna. Vezměme nyní dvě přirozená čísla a, b taková, že jejich maximum je n + 1. Pak maximum čísel a 1 a b 1 je n a podle předpokladu je a 1 = b 1. Tudíž a = b. Podle slabého principu indukce jsou si všechna přirozená čísla rovna. Korektní důkaz indukcí lze spustit jako algoritmus. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 6/20

Příklad Posloupnost {F (n)} n=1 Fibonacciho čísel je definována rekurentně takto: F (1) = 1, F (2) = 1, F (n + 2) = F (n) + F (n + 1), pro n 1. Dokažte, že pro každé n 2 platí rovnost F (n) 2 F (n 1) F (n + 1) = ( 1) n 1. Řešení: indukce podle n. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 7/20

Příklad, pokrač. 1 Základní krok: platí rovnost pro n = 2? F (2) 2 F (1) F (3) = ( 1) 2 1 Platí to? Především: F (2) = 1, F (1) = 1 a F (3) = F (1) + F (2) = 2. Potom F (2) 2 F (1) F (3) = 1 1 2 = 1 = ( 1) 1 = ( 1) 2 1, a to jsme chtěli. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 8/20

Příklad, pokrač. 2 Indukční krok: máme pevné n 2 a chceme dokázat rovnost: F (n + 1) 2 F ((n + 1) 1) F ((n + 1) + 1) = ( 1) (n+1) 1. Snaha o dekomposici: F (n + 1) 2 F ((n + 1) 1) F ((n + 1) + 1) = F (n + 1) 2 F (n) F (n + 2) = F (n + 1) 2 F (n) (F (n) + F (n + 1)) = F (n + 1) 2 F (n) F (n) F (n) F (n + 1) = F (n + 1) 2 F (n) 2 F (n) F (n + 1) = Jiří Velebil: A7B01MCS 19. září 2011: Indukce 9/20

Příklad, pokrač. F (n + 1) 2 F (n) 2 F (n) F (n + 1) = F (n + 1) 2 F (n) 2 + F (n 1) F (n + 1) F (n 1) F (n + 1) F (n) F (n + 1) Dekomponovali jsme: objevili jsme levou stranu úlohy rozměru n. Můžeme zformulovat indukční předpoklad: pro pevné n 2 platí rovnost F (n) 2 F (n 1) F (n + 1) = ( 1) n 1. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 10/20

Příklad, pokrač. Takže použitím indukčního předpokladu: F (n + 1) 2 F (n) 2 + F (n 1) F (n + 1) + F (n 1) F (n + 1) F (n) F (n + 1) = F (n + 1) 2 ( 1) n 1 F (n 1) F (n + 1) F (n) F (n + 1) = F (n + 1) 2 ( 1) n 1 F (n + 1) (F (n 1) + F (n)) = F (n + 1) 2 ( 1) n 1 F (n + 1) 2 = ( 1) n 1 = ( 1) n. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 11/20

Příklad, pokrač. Dokázali jsme rovnost F (n + 1) 2 F ((n + 1) 1) F ((n + 1) + 1) = ( 1) (n+1) 1. Indukční krok je u konce. 3 Podle slabého principu indukce je rovnost F (n) 2 F (n 1) F (n + 1) = ( 1) n 1. dokázána pro všechna n 2. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 12/20

Příklad Prvočíselný rozklad přirozeného čísla x je zápis x = p n 1 1 pn 2 2 pnr r, kde r 1 je přirozené číslo, p 1 < p 2 < < p r jsou prvočísla a n 1, n 2,..., n r jsou kladná přirozená čísla. Dokažte následující tvrzení: Každé přirozené číslo x 2 má prvočíselný rozklad. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 13/20

Princip silné indukce Ať V je nějaká vlastnost přirozených čísel. K tomu, abychom mohli usoudit, že všechna přirozená čísla n n 0 mají vlastnost V, stačí ukázat dvě věci: 1 Základní krok: číslo n 0 má vlastnost V. 2 Indukční krok: číslo n + 1 má vlastnost V, pokud předpokládáme, že všechna přirozená čísla k, kde n 0 k < n + 1, mají vlastnost V. Analogie s rekursivním algoritmem Úloha rozměru n n 0 je zpracována, pokud: 1 Základní krok: úloha rozměru n 0 je zpracována nerekursivně. 2 Rekursivní volání: úloha rozměru n + 1 je zpracována, pokud po dekompozici jsou zpracovány úlohy rozměru k, kde n 0 k < n + 1. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 14/20

Věta Princip silné indukce je logicky ekvivalentní principu slabé indukce. Náznak důkazu: Platí-li silný princip indukce, platí i slabý princip. Využívá faktu, že každá neprázdná konečná množina přirozených čísel má nejmenší prvek. Má každá neprázdná podmnožina přirozených čísel nejmenší prvek? Jiří Velebil: A7B01MCS 19. září 2011: Indukce 15/20

Každá neprázdná podmnožina přirozených čísel má nejmenší prvek. Věta je logicky ekvivalentní principům indukce. Důsledek Přijmeme-li (kterýkoli) princip indukce, musíme přijmout princip dobrého uspořádání. A naopak: přijmeme-li princip dobrého uspořádání, musíme přijmout princip indukce. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 16/20

Věta Následující je ekvivalentní: 1 přirozených čísel. 2 V přirozených číslech neexistuje klesající nekonečná posloupnost. Důležité v teorii rekursivních algoritmů: terminaci rekursivního algoritmu zaručí variant (= rozměr dat, který se zmenšuje, nelze však zmenšovat do nekonečna). Jiří Velebil: A7B01MCS 19. září 2011: Indukce 17/20

Parketující algoritmus Variant je rozměr místnosti, kterou chceme vyparketovat. Později Důkladně prozkoumáme terminaci Eukleidova algoritmu. Nalezneme variant (zajistíme terminaci) a invariant (zajistíme parciální korektnost). Obecně u rekursivních algoritmů 1 Terminace: algoritmus ukončí výpočet pro jakákoli přípustná vstupní data. 2 Formule parciální korektnosti: tvrzení, které platí, pokud algoritmus svoji práci ukončí. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 18/20

Collatzův problém Otázka terminace následujícího algoritmu: while x > 1 do if even(x) then x:=x/2 else x:=3*x+1 endif endwhile Neví se, zda pro každou přirozenou hodnotu x svou práci skončí či ne. Červenec 2011: problém je možná vyřešen (článek je v recenzním řízení). Ví se: algoritmus se zastaví pro všechny počáteční hodnoty x menší nebo rovny číslu 5.76 10 18 (stav z roku 2011). Viz například http://mathworld.wolfram.com/collatzproblem.html Formule parciální korektnosti jasná: pokud algoritmus skončí, je x=1. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 19/20

1 Důkaz indukcí = rekursivní algoritmus. 2 Úzká souvislost s rekurentními rovnicemi (časová náročnost, složitost rekursivního algoritmu). 3 a variant zaručí terminaci rekursivního algoritmu. 4 Musterbeispiel na indukci neexistuje! Viz sbírka řešených příkladů. Jiří Velebil: A7B01MCS 19. září 2011: Indukce 20/20