Úvod do předmětu Formalismus a jeho užití Teorie a axiomy
Cíle předmětu Poskytnout dostatečné teoretické zázemí Dát jiný pohled na informatiku Odlišit inženýra od „kodéra“ Seznámit s otevřenými problémy Umožnit použití formalismu v DP
Osnova předmětu Matematika a její vztah k informatice Výroková logika Predikátová logika Teorie množin Algebra Formalizace počítače Turingovy stroje Rozhodnutelnost problémů Složitost algoritmů Odhad složitosti algoritmů Složitostní třídy Pokročilé datové struktury Grafy, stromy Algoritmy nad těmito strukturami Sítě, toky v sítích Paralelní programování Paralelní systémy, Petriho sítě
Studijní materiály Vaníček, J.: Teoretické základy informatiky. Praha: Alfa, 2007. ISBN 978-80-903962-4-1 Slidy z přednášek E-learningová osnova/opora v UIS Google, Wikipedia (anglická!) Další materiály u jednotlivých celků
Ukončení předmětu 5 cvičení => 5 domácích úkolů Na každý úkol možno získat 0-10 bodů Celkem tedy 50 bodů Kdo má 30 bodů, má zápočet Kdo ne, napíše si písemku písemka může přidat max. 15 bodů Kdo nemá zápočet ani po písemce… Kdo má zápočet, může jít ke zkoušce Zkouška bude ústní Teorie (přednášky) i praxe (cvičení) 45 bodů z úkolů => zkouška jen teoretická
Prosba: Komunikujte Ptejte se na přednáškách, cvičeních Chcete-li něco procvičit, pošlete včas e-mail Konzultační hodiny po domluvě e-mailem
Formalismus a jeho užití v informatice
Formalismus a jeho použití Je soubor syntaktických a sémantických pravidel pro popis nějaké reálné skutečnosti Formalismus nahrazuje reálný objekt jeho formálním modelem, který poté můžeme zkoumat Cílem užití formalismu je obvykle odstranění nejednoznačnosti přirozeného jazyka Formalismus umožňuje popis libovolně složitých problémů
Proč zavádíme formalismus Potřebujeme přesně specifikovat (zapsat) naše myšlenky Jde o jednotný jazyk pro popis problémů a jejich řešení teoretických i praktických Viz gnoseologický čtyřúhelník
Jaký formalismus? Existují dva základní druhy: matematický (exaktní) filozofický (intuitivní) Je možné užít oba principy, výsledné dokazování se však vede exaktně Každý problém lze formalizovat Ne každý problém lze v daném formalismu rozhodnout slepice/vejce Kritéria správnosti závěrů empirické vědy: pravda = shoda se skutečností ověřená experimentem formální modely: platnost = odvoditelnost z přijatých předpokladů
Jak formalismus použít I. Zvolíme formalismus existuje více možností pro daný problém ne každý formalismus je vhodný musíme obvykle ověřit více formalismů Formalismus nastudujeme a vyzkoušíme si na modelové situaci Formulujeme 1. intuitivní představu našeho problému užitím formalismu Ověříme formální správnost zápisu Ověříme formulovaný zápis na dostupných modelech problému Zpřesníme formální zápis Iterujeme předchozí trojici kroků až do okamžiku dosažení dostatečné podrobnosti a správnosti zápisu
Jak formalismus použít II. Formalismus může být nevhodný žádný formalismus nenpoíše skutečnost zcela přesně je třeba zjednodušovat Pokud jsme dosáhli správné formální specifikace našeho problému, můžeme začít využívat všech vlastností a možností formalismu: hledání odvozených vlastností dokazování vlastností a jejich důsledků klasifikace problémů do tříd hledání úplnosti problémů v třídách
Hlavní zásady Formalismus není cíl, ale prostředek pro vyjádření myšlenek Na správném výběru formalismu závisí úspěch řešení problému Je užitečné předložit formulovaný problém k posouzení jiné osobě, která formalismus zná S dostatečnými matematickými znalostmi lze zavést libovolně složitý formalismus, jedná se však pouze o sbírku řeckých písmen a značek
Teorie a axiomy
Tvrzení a důkazy Matematika je deduktivní věda Všechny pojmy se vymezují definicí složitější pojmy definujeme na základě jednodušších Matematické tvrzení (věta) je výrok, který může být buď pravdivý, nebo nepravdivý právě jeden stav Pravdivost nemusí být známa Kritériem pravdivosti matematického tvrzení je jeho důkaz
Paradoxy naivní teorie množin I. Otec s dítětem jdou po břehu řeky. Vyskočí krokodýl, sežere dítě a říká: “Vrátím ti dítě, pokud uhodneš, jestli ti vrátím dítě, nebo ne.” Otec odpoví: “Nevrátíš ho.” Co krokodýl udělá? Právník Corax učí Tisiase. Domluví se, že Tisias mu za hodiny zaplatí, až vyhraje svůj první případ. Poté se právem nezabývá a Corax jej žaluje, aby mu za hodiny zaplatil. Tisias: Pokud vyhraju, nemusím ti nic platit (rozhodnutí soudu). Pokud prohraju, nemusím ti nic platit (ještě jsem nevyhrál žádný případ) Corax: Pokud vyhraju, musíš mi zaplatit (rozhodnutí soudu). Pokud prohraju, vyhraješ svůj první případ a musíš mi zaplatit. zdroj: akva-exo.cz zdroj: e-polis.cz
Paradoxy naivní teorie množin II. Paradox lháře: “Teď lžu.” Richardův / Berryho paradox Nejmenší přirozené číslo, které nelze definovat méně než dvaceti slovy. Grellingův sémantický paradox Slovo je autologické je samo o sobě pravdivé př.: „české“, „krátké“,... Slovo je heterologické je samo o sobě nepravdivé př.: „německé“, „nejdelší“,... Kam zařadit slovo „heterologické“? A „autologické“?
Paradoxy naivní teorie množin III. Russelův paradox: {x| x x} Holič holí všechny, kteří se sami neholí Katalog katalogů neobsahujících sebe sama V matematice je všechno množina. Je-li teorie množin sporná, pak je sporná celá matematika
Krize matematiky 1. krize matematiky – Řecko každé číslo lze vyjádřit jako poměr jiných čísel (existují jen racionální čísla) matematikové byli spíše “sekta” východisko: iracionální čísla 2. krize matematiky – aktuální nekonečno infinitezimální a integrální počet vágní definice nekonečně malých veličin Bolzano, Cauchy, Weierstrass: ε-δ definice limity 3. krize matematiky – paradoxy teorie množin částečně vyřešeno axiomatickou výstavbou krize přetrvává dodnes
Řešení paradoxů Axiomatická výstavba teorie Oddělení syntaxe od sémantiky Syntaxe vychází z primitivních pojmů a axiomů Sémantika vychází z modelu Objekty, které nevyhovují axiomům v dané teorii nemohou existovat Např. v teorii množin nemůže existovat “množina všech množin”
Jazyk matematické teorie Abeceda – souhrn znaků užívaných v teorii Slova a věty (formule) – povolené řetězce znaků Smysluplné formule (z hlediska sémantiky) Pravdivé formule (dokazatelné z axiomů) Odvozovací pravidla – nezbytná pro dokazatelnost Metajazyk – používáme k popisu jazyka teorie (např. mezera je metaznak)
Axiomatická výstavba teorie Axiomy jsou výchozí tvrzení dané teorie, která se nedokazují a jejichž platnost se předpokládá základní formule jazyka teorie Primitivní pojmy jsou nedefinované pojmy jejich vlastnosti jsou určené axiomy sémantiky primitivních pojmů je dána modelem teorie Z axiomů se dedukcí odvozují další tvrzení nazývané důsledky využití odvozovacích pravidel
Model teorie Axiomatická teorie je ryze syntaktická záležitost dokazování v teorii lze algoritmizovat Představujeme-li si pod primitivními pojmy objekty reálného světa, vytváříme model teorie. Modelů lze obecně vytvořit více každá množina reálných objektů vyhovující axiomům může být modelem teorie Ve školách se učí model teorie množin, model euklidovské geometrie, atd.
Vlastnosti axiomatické teorie Nezávislost axiomů – žádný axiom není důsledkem zbývajících axiomů byl by zbytečný Bezespornost – důsledkem nemůže být tvrzení a současně jeho negace Úplnost – každé tvrzení lze v dané teorii dokázat, anebo vyvrátit
Euklidovská geometrie Máme-li dány dva body, existuje jedna přímka, která jimi prochází. Konečnou přímou čáru (úsečku) můžeme prodloužit tak, že vznikne opět úsečka. Je možné nakreslit kružnici s libovolným středem a poloměrem. Všechny pravé úhly jsou si rovny. K dané přímce a bodu, který na ní neleží, lze sestrojit právě jednu rovnoběžku, která prochází daným bodem.
Neeuklidovské geometrie 1829 N.I. Lobačevskij Neplatí 5. axiom Rovnoběžek může daným bodem procházet více, nebo žádná Modely neeuklidovské geometrie sférická geometrie hyperbolická geometrie zdroj: wikipedia
Formalizace matematiky Snaha o řešení paradoxů naivní teorie množin Zermelo-Fraenkelova axiomatická teorie množin je vystavěna nad logikou Obavy ze vzniku dalších paradoxů (otázka bezespornosti) vede ke snahám o formalizaci matematiky Dokazování bezespornosti silných matematických teorií prováděno pomocí kombinatorických manipulací s formulemi (Hilbertův program f.m.) Kurt Gödel roku 1931 formuloval a dokázal věty o neúplnosti, jejichž důsledkem bylo dokázání, že Hilbertův program nelze uskutečnit
1. Gödelova věta o neúplnosti Každá bezesporná matematická teorie, obsahující jako svoji součást aritmetiku nad přirozenými čísly, není úplná.
Důkaz I: Malá Gödelova čísla Každý symbol teorie dostane po řadě číslo 1, 2, 3, … Malé Gödelovo číslo formule je dáno jako součin prvních prvočísel umocněných na číslo symbolu Např.: označení symbolů (=1, )=2, x=3, y=4, z=5, =6, =7 g(„(xy)z“) = 21 ∙ 33 ∙ 57 ∙ 74 ∙ 112 ∙ 136 ∙ 175 Označme G množinu všech Gödelových čísel korektně utvořených formulí. Vlastní podmnožina N. Pro každé nN umíme rozhodnout, zda nG. Tvrzení „ nG“ je tedy aritmetické tvrzení
Důkaz II: Velká Gödelova čísla Nechť 1, 2, … n je důkaz formule n. Velkým Gödelovým číslem tohoto důkazu nazveme číslo 2g(1) ∙ 3g(2) ∙ … ∙ png(n) Opět tedy můžeme zavést množinu všech velkých Gödelových čísel HN. Označme dem(y,x) tvrzení, že y je velké Gödelovo číslo důkazu formule s malým Gödelovým číslem x. dem je relace na N2 Tvrzení o dokazatelnosti formule jsme tedy převedli na pravdivost/nepravdivost aritmetického tvrzení (yH): dem(y,g())
Důkaz III: Spor nebo neúplnost Existuje číslo kG takové, že g() = k = (yH): dem(y,k) Formule je dokazatelná Nelze dokázat formuli s Gödelovým číslem k Nelze dokázat formuli Formule není dokazatelná Lze tedy dokázat formuli s Gödelovým číslem k Lze dokázat formuli Jsme-li v bezesporné teorii, pak je nerozhodnutelná formule.
2. Gödelova věta o neúplnosti Žádný formální systém zahrnující alespoň aritmetiku přirozených čísel nemůže dokázat vlastní bezespornost
Shrnutí Co je to formalismus a co je jeho cílem? Formulujte Russelův paradox naivní teorie množin V čem spočívaly tzv. krize matematiky? Jak se buduje axiomatická teorie? Jaký je rozdíl mezi teorií a jejím modelem? Co je to neeuklidovská geometrie? Co je to nezávislost, úplnost a bezespornost axiomatického systému? Formulujte Gödelovy věty o neúplnosti