+ All Categories
Home > Documents > Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]

Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]

Date post: 05-Nov-2021
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
31
TEORETICKÁ INFORMATIKA J. Kolář, K201 Kolar@fel.cvut.cz TI 1 / 1 Kolar@fel.cvut.cz Důležité reference: http://cs.felk.cvut.cz/~kolar http://cs.felk.cvut.cz/agora skripta (vydala ČIS r. 2000)
Transcript
Page 1: Teoreticka-informatika-TI-Prednaska-01 [Re ~im kompatibility]

TEORETICKÁ INFORMATIKA

J. Kolář, [email protected]

TI 1 / 1

[email protected]

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]

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]

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]

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]

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]

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]

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]

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]

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]

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]

Ř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]

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]

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]

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]

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]

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]

… 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]

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]

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]

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]

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]

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]

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]

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]

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]

•••|| ∪∪∪∪ •

∪∪∪∪ ••••||

••|| ∪∪∪∪ ••

∪∪∪∪ •••|| •

••|| ∪∪∪∪ •• ••|| ∪∪∪∪ ••

∪∪∪∪ •••|| •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]

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]

(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]

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]

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]

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


Recommended