teoreticka-informatika-ti-prednaska-01 [re ~im kompatibility]
TRANSCRIPT
![Page 1: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/1.jpg)
TEORETICKÁ INFORMATIKA
J. Kolář, [email protected]
TI 1 / 1
Důležité reference: http://cs.felk.cvut.cz/~kolar
http://cs.felk.cvut.cz/agora
skripta (vydala ČIS r. 2000)
![Page 2: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/2.jpg)
Stručný obsah předmětu
Neorientované a orientované grafyzákladní pojmy a vlastnosti, počítačová reprezentace grafů, typické algoritmy (prohledávání, minimální kostry, nejkratší cesty)
Toky v sítích
TI 1 / 2
Toky v sítíchNP-úplné problémyAlgoritmy um ělé inteligenceModely strojů, programů a výpočtů
jazyky a automaty, Turingovy stroje, nerozhodnutelné problémy
![Page 3: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/3.jpg)
O co doopravdy jde ...
NAUČIT SE MYSLET!
TI 1 / 3
(nebo si to aspoň připomenout)
![Page 4: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/4.jpg)
Vymezení oboru INFORMATIKA(dle P. Denninga)
Podoblasti informatiky– algoritmy a datové struktury
– programovací jazyky
TI 1 / 4
– programovací jazyky– architektura počítačů– numerické a symbolické výpočty– operační systémy– softwerová metologie a inženýrství– databáze a vyhledávání– umělá inteligence– komunikace člověk - počítač
Úvod - informatika
![Page 5: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/5.jpg)
Základní paradigmata informatiky
TEORIE
ABSTRAKCE
NÁVRH
TI 1 / 5
INFORMATIKA
TEORIE NÁVRH
Úvod - informatika
![Page 6: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/6.jpg)
TEORIE… převažuje např. v matematicecharakterizace objektů studia (definice)formulace možných vztahů (tvrzení)určení, zda vztahy platí (důkaz)interpretace výsledků
ABSTRAKCE … typická pro přírodní vědyformulace hypotézynávrh modelu a predikce chování
TI 1 / 6
NÁVRH … inženýrské paradigma
návrh modelu a predikce chovánínávrh experimentu a sběr údajůanalýza výsledků
stanovení požadavkůvypracování specifikacenávrh a realizace systémutestování systému
Úvod - informatika
![Page 7: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/7.jpg)
INFORMATIKA jako vědní disciplina ...
… je systematické studium algoritmických procesů spojených s popisem a zpracováním INFORMACÍ.
Zabývá se teorií, analýzou, návrhem, efektivností, realizací,
TI 1 / 7
Zabývá se teorií, analýzou, návrhem, efektivností, realizací, použitím, …
Základní otázka:CO JE MOŽNO (EFEKTIVN Ě) AUTOMATIZOVAT?
Úvod - informatika
![Page 8: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/8.jpg)
VÝZNAM MODEL Ů
MODEL• zachycuje důležité rysyproblému z reálného světa
• může se snadněji reprezentovat a manipulovat(např. na počítači
TI 1 / 8
počítači
Model získáváme ABSTRAKCÍ od některých (pro daný účel) nepodstatných vlastností
Modely
![Page 9: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/9.jpg)
Příklad 1:
Výroková logika jako model (abstrakce) chování elektronických obvodů používaných při stavbě počítačů.
TI 1 / 9
Abstrahuje od řady detailů - např. zpoždění hradel
Modely
![Page 10: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/10.jpg)
Příklad 2:
Návrh rozvrhu - známe, kteří studenti jsou předběžně zapsaní na který předmět.
Jak rozvrhnout přednášky, aby se
– vyloučily konflikty (současný běh dvou nebo více předmětů, které si zapsal tentýž student)
TI 1 / 10
předmětů, které si zapsal tentýž student)
– výuka zbytečně neroztahovala od rána do večera
Model - graf konfliktu předmětů
– co předmět, to uzel
– dva uzly spojíme hranou, pokud si aspoň jeden student napsal oba dotyčné předměty
Modely
![Page 11: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/11.jpg)
Řešení na modelu
Postupně vybíráme maximální nezávislé množinyuzlů grafu, odpovídajícím předmětům přidělíme stejnou dobu přednášky.
Co to je maximální nezávislá množina uzlů ? (to se dovíme
TI 1 / 11
později)
Omezení modelu a “řešení“ problému
– nemusíme dostat nejkratší rozvrh– rozvrh může mít okna– podmínka vyloučení konfliktu je příliš silná
Modely
![Page 12: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/12.jpg)
Problém 3:
Jak zajistit inteligentní chování robotů v reálném prostředí?
Musí znát svět, v němž mají působit, a jeho potřebné
zákonitosti ⇒ nutnost reprezentace světa (prostředí) a
znalostí.
TI 1 / 12
znalostí.
Znalosti nejsou jen jen fakta(Sokrates je člověk), ale také
pravidla: Každý člověk je smrtelný
z toho lze odvodit Sokrates je smrtelný
Expertní systémyomezují zajímavý svět
Modely
![Page 13: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/13.jpg)
SJEDNOCUJÍCÍ PRINCIPY
(nalézáme je v různých oblastech informatiky)
Algebry (kalkuly)Představují dobře vytvořený a zvládnutý model používající
vlastní notaci, v níž lze vyjadřovat a řešit problémy
TI 1 / 13
vlastní notaci, v níž lze vyjadřovat a řešit problémy
Možnost vytvoření teorie inženýrského návrhusystémů
Např. pro výrokový počet -Boolova algebra
Sjednocující principy
![Page 14: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/14.jpg)
Rekurze
Velmi užitečná technika definování pojmů a řešení problémů
Projevuje se ve zlepšení jednoduchosti, efektivnosti, ověřování správnosti, atd.
TI 1 / 14
Ukážeme vzájemný vztah mezi
ITERACÍ x INDUKCÍ x REKURZÍ
Sjednocující principy
![Page 15: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/15.jpg)
Iterace x Indukce x Rekurze
Iterace - běžný způsob opakovaného provedení posloupnosti operací
Rekurze - jiná cesta k dosažení stejného efektu, je ale jednodušší pro vytvoření, analýzu i pochopení, usnadňuje i provedení důkazu správnosti algoritmu, typicky s použitím
TI 1 / 15
provedení důkazu správnosti algoritmu, typicky s použitím ...
Indukce - může sloužit i jako metoda definice datových struktur
(např. seznam: prázdnýneboprvek následovaný seznamem
Sjednocující principy
![Page 16: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/16.jpg)
Indukce
Důkaz matematickou indukcí (POZOR, má přesná pravidla!)
S(n) - tvrzení o (přirozeném) čísle n
1) základ indukce
dokáže se platnost S(0)(neboS(1), pokud tvrzení nemá pro nulu smysl)
TI 1 / 16
(neboS(1), pokud tvrzení nemá pro nulu smysl)
2) induktivní krok
pro všechna n≥ 0 (nebo 1) se dokáže, že
z platnosti S(n)plyne platnost S(n+1)
alternativa - úplná indukce
2) … z platnosti S(0), S(1), …, S(n)plyne platnost S(n+1)
Sjednocující principy
![Page 17: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/17.jpg)
… a nyní se už budeme věnovat seznámení
s modely, které lze vyjádřit prostřednictvím pojmů neorientovaných a orientovaných grafů.
TI 1 / 17
Nejprve několik problémů k zamyšlení ...
![Page 18: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/18.jpg)
Několik
ukázkových příkladů (problémů)
TI 1 / 18Příklady k zamyšlení
![Page 19: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/19.jpg)
Problém s kostkami
TI 1 / 19
(opravdu velmi snadný!)
Převést s minimálním počtem přesunů kostek
Příklady k zamyšlení
![Page 20: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/20.jpg)
Problém s pokladem
Čtvercová pravoúhlá síť + posloupnost povelů pro pohyb
např.
3N 4E 2SE 2SW
N - sever, NE - severovýchod, E - východ
SE- jihovýchod, S - jih, SW- jihozápad
TI 1 / 20
SE- jihovýchod, S - jih, SW- jihozápad
W - západ, NW - severozápad
(opravdu velmi snadný!)
Jak daleko je cíl od výchozího místa?
Příklady k zamyšlení
![Page 21: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/21.jpg)
Problém se sýrem
Máme VELKÝ kus ementálu, v něm malou myšku a kousek špeku. Myška umí přesně určit směr, ze kterého jí voní špek, ementálem se dokáže prokousat rychlostí 1mm/sec, dírami prolétne okamžitě.
Pro zadanou polohu myšky, špeku, středy a poloměry
TI 1 / 21
Pro zadanou polohu myšky, špeku, středy a poloměry jednotlivých děr,
určete minimální čas, za který se myš může dostat ke špeku.
(ehmm??)Příklady k zamyšlení
![Page 22: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/22.jpg)
Problém s krabicí ve sklepě
zeď
cíl
krabice
TI 1 / 22
vy
Je nebo není možné dopravit krabici tlačením (zezadu) na určené místo?
(ehmm??)Příklady k zamyšlení
![Page 23: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/23.jpg)
Problém s vystřihovánkou
Jak nalézt největšíbílý
TI 1 / 23
bílýtrojúhelník ?
Příklady k zamyšlení
![Page 24: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/24.jpg)
Problém s výletem
n - počet měst, která můžeme navštívit (1, 2, …, n)
k - počet dní, co máme k dispozici
n*(n-1) letových řádů pro lety mezi městy
d - perioda opakování (1 až 30)
TI 1 / 24
d - perioda opakování (1 až 30)
c1, c2, …, cd - ceny letů v jednotlivých dnech (0 znamená, že ten den není spoj)
Je možno létat přesně k dní (co den, to přelet jinam)? Pokud ano, jak to udělat co nejlaciněji?
Příklady k zamyšlení
![Page 25: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/25.jpg)
NEORIENTOVANÉA ORIENTOVANÉ GRAFY
Ještě dvě „motiva ční“ úlohy „ze života“:
– Úloha o kanibalech, misionářích a jedné loďce (2• + 2• + ∪∪∪∪ )
– Úloha o přelévání vody s nádobami na 5 a 3 litry
TI 1 / 25
– Úloha o přelévání vody s nádobami na 5 a 3 litry
Řešení– metodou pokusů a omylů
– pomocí grafového modelu
Výhody: převod na známý problém + možnost zobecnění
Neorientované a orientované grafy - kap.2
![Page 26: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/26.jpg)
•••|| ∪∪∪∪ •
∪∪∪∪ ••••||
••|| ∪∪∪∪ ••
∪∪∪∪ •••|| •
••|| ∪∪∪∪ •• ••|| ∪∪∪∪ ••
∪∪∪∪ •••|| •Graf k úloze
o misionářích
TI 1 / 26
•|| ∪∪∪∪ •••
∪∪∪∪ ••|| ••∪∪∪∪ • || •••
|| ∪∪∪∪ ••••
∪∪∪∪ ••|| ••
•|| ∪∪∪∪ •••
∪∪∪∪ ••|| ••
a kanibalech
Neorientované a orientované grafy - kap.2
![Page 27: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/27.jpg)
0 1 2 3 4 5
0
1
TI 1 / 27
2
3
Část grafu k problému přelévání vody
Neorientované a orientované grafy - kap.2
![Page 28: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/28.jpg)
(NEORIENTOVANÉ) GRAFY A GRAFOVÉ OPERACE
Neorientovaný graf G = ⟨H, U, ρ⟩
ρ : H → U ⊗ U (neuspořádané dvojice)
H hrany grafu G, H(G)
TI 1 / 28
U uzly grafu G, U(G)
ρ incidencegrafu, ρG
ρ(h) = [u, v] ... krajní uzly hrany h
rovnoběžné hrany => multigrafprostý graf
Neorientované grafy - odst. 2.1
![Page 29: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/29.jpg)
obyčejný graf - prostý a bez smyček
úplný graf Kn = ⟨ ( ), U⟩
prázdný graf ⟨ ∅, ∅ ⟩
diskrétní graf ⟨ ∅, U ⟩
K3 K4 K5
U2
TI 1 / 29
podgraf G’ = ⟨H‘, U‘, ρ‘ ⟩ ⊆ G = ⟨H, U, ρ⟩H‘ ⊆ H & U‘ ⊆ U & ρ’(h) = ρ(h) pro všechny h ∈ H
faktor grafu … podgraf se všemi uzly (hranový podgraf)
Neorientované grafy - odst. 2.1
![Page 30: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/30.jpg)
podgrafindukovaný podmínkoupodmnožina uzlů U1
podmnožina hran H1vypuštění uzlů U2
vypuštění hran H2
sjednocení a průnik grafů
TI 1 / 30
sjednocení a průnik grafů
disjunktní a hranově disjunktní grafy
rozdíl a doplněk
symetrická diference
konečný vs. nekonečný graf
Neorientované grafy - odst. 2.1
![Page 31: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]](https://reader031.vdocuments.mx/reader031/viewer/2022012508/61853bbbfc8a8f66660d8ea9/html5/thumbnails/31.jpg)
izomorfismusgrafů
ϕ : G1 ↔ G2 takové, že
ϕ / H1 : H1 ↔ H2 je bijekce
ϕ / U1 : U1 ↔ U2 je bijekce
ϕ zachovává incidenci, t.zn.
ϕ : ρ (h) = [u,v] => ρ (ϕ(h)) = [(ϕ u), ϕ(v)]
TI 1 / 31
ϕ : ρ1(h) = [u,v] => ρ2(ϕ(h)) = [(ϕ u), ϕ(v)]
G1 ≅≅≅≅ G2 … izomorfní grafy
problém zjistit!!
morfismus grafů … není nutně bijekcí
Neorientované grafy - odst. 2.1