23
TI 1 / 1 TEORETICKÁ INFORMATIKA J. Kolář [email protected] Důležité reference: http://service.felk.cvut.cz/ courses/ 36TI skripta (vydala ČIS r. 2004, prodej v místnosti K326)

TEORETICKÁ INFORMATIKA

  • Upload
    danil

  • View
    93

  • Download
    1

Embed Size (px)

DESCRIPTION

TEORETICKÁ INFORMATIKA. J. Kolář Kolar @ fel.cvut.cz Důležité reference: http://service.felk.cvut.cz/ courses/ 36TI skripta (vydala ČIS r . 200 4, prodej v m ístnosti K326 ). Stručný obsah předmětu. Neorientované a orientované grafy - PowerPoint PPT Presentation

Citation preview

Page 1: TEORETICKÁ  INFORMATIKA

TI 1 / 1

TEORETICKÁ INFORMATIKA

J. Kolář[email protected]

Důležité reference:• http://service.felk.cvut.cz/courses/36TI• skripta (vydala ČIS r. 2004, prodej v místnosti K326)

Page 2: TEORETICKÁ  INFORMATIKA

TI 1 / 2

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, ...), jejich složitost a (tvořivé) použití

• Toky v sítích• P/NP třídy složitosti, NP-úplné problémy• Algoritmy umělé inteligence• Modely strojů, programů a výpočtů

jazyky (regulární) a automaty (konečné), Turingovy stroje, nerozhodnutelné problémy

Page 3: TEORETICKÁ  INFORMATIKA

TI 1 / 3

• X36TIN je "volné pokračování" X36DSA do grafů + pár informaticko - teoretických témat navíc

• o CO půjde (kromě jiného)?

NAUČIT SE MYSLET!(nebo si to aspoň připomenout)

• JAK na to ?– záleží na vkusu– určitě NE jenom čtením (těchto) příprav– ptát se radši dřív než pozdě nebo vůbec– sledovat Web a skripta

Jinými slovy ...

Page 4: TEORETICKÁ  INFORMATIKA

TI 1 / 4

Systematické studium algoritmických procesů spojených s popisem a zpracováním INFORMACÍ.

Zabývá se jejich teorií, analýzou, návrhem, efektivností, realizací, použitím, …

Základní otázka:CO JE MOŽNO (EFEKTIVNĚ) AUTOMATIZOVAT?

Podoblasti informatiky (P. Denning et al., 1989):algoritmy a datové struktury, 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č

Co je to informatika ?

Page 5: TEORETICKÁ  INFORMATIKA

TI 1 / 5

Základní paradigmata informatiky

INFORMATIKA

TEORIE

ABSTRAKCE

NÁVRH

Page 6: TEORETICKÁ  INFORMATIKA

TI 1 / 6

Několik ukázkových příkladů

(problémů)

Příklady k zamyšlení

Page 7: TEORETICKÁ  INFORMATIKA

TI 1 / 7

Pražská MHD (1)

Systém pražské MHD zahrnuje linky tramvají, autobusů a metra. Každou z linek máme zadánu jako seznam zastávek od jedné konečné do druhé. Předpokládejme, že z linky na linku lze přesedat pouze na stejně pojmenované zastávce.

Jak zjistit, zda je možné projet všechny úseky všech linek v rámci jediné okružní jízdy

s libovolným počtem přestupů tak,aby se každý usek projel právě jednou?

(???)

Příklady k zamyšlení

Page 8: TEORETICKÁ  INFORMATIKA

TI 1 / 8

Pražská MHD (2)

Jakým minimálním počtem "otevřených" jízd je možné projet všechny úseky všech linek

pokud to nelze zvládnout jedinou okružní jízdou?

Jak určit způsob dopravy ze zastávky A do zastávky B nějakých linek

se zaručeně minimálním počtem přestupů ?

(???)

Příklady k zamyšlení

Page 9: TEORETICKÁ  INFORMATIKA

TI 1 / 9

Problém s vystřihovánkou

Jak nalézt největší bílýtrojúhelník ?

Příklady k zamyšlení

Page 10: TEORETICKÁ  INFORMATIKA

TI 1 / 10

Problém s výletem

n - počet měst, která můžeme navštívit (1, 2, …, n)k - počet dní, které máme k dispozicin*(n-1) letových řádů pro lety mezi městy

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 11: TEORETICKÁ  INFORMATIKA

TI 1 / 11

Problém dispečera hasičůDispečer má aktualizovanou mapu města (neprůjezdné a

jednosměrné ulice, ...) a zná polohu a stav n hasičských stanic. Pro hašení požáru na nějakém místě potřebuje určit k ( n) stanic, které jsou nejblíže požáru, a určit jejich příjezdovou trasu.

Jak vybrat oněch k stanic a jejich trasy?

Příklady k zamyšlení

Page 12: TEORETICKÁ  INFORMATIKA

TI 1 / 12

Problém počítačové sítě

n - počet stanic v laboratoři, které se mají spojit "lineárně" do skupin, známe souřadnice polohy každé stanice

k - počet skupinni (i=1, 2, ..., k), 2 ni 8 - počet stanic v i-té skupině

Jak určit minimální potřebnou délku kabelu? (propojení + 1m na krajní + 2m na vnitřní stanice v řadě)

Příklady k zamyšlení

Page 13: TEORETICKÁ  INFORMATIKA

TI 1 / 13

Model rozmístění stanic

Eukleidovské vzdálenosti "každý s každým"

1 2

3

45

6

7 8

9 10

11 12

1 2

3

45

6

7 8

9 10

11 12

Příklady k zamyšlení

Page 14: TEORETICKÁ  INFORMATIKA

TI 1 / 14

NEORIENTOVANÉ A ORIENTOVANÉ GRAFY

Neorientované a orientované grafy - kap.2

Page 15: TEORETICKÁ  INFORMATIKA

TI 1 / 15

(Neorientované) grafy a grafové operace

Seznámíme se s následujícími pojmy: • neorientovaný graf, hrany, uzly, incidence, krajní uzly hrany• multigraf, prostý graf, obyčejný graf, úplný graf, prázdný graf,

diskrétní graf, izolovaný uzel • podgraf, faktor, indukovaný podgraf • operace s grafy (sjednocení, průnik, rozdíl, symetrická

diference a doplněk), disjunktní a hranově disjunktní grafy, konečný / nekonečný graf

• izomorfismus grafůSkripta viz odstavec 2.1, str. 18 - 22

Neorientované grafy - odst. 2.1

Page 16: TEORETICKÁ  INFORMATIKA

TI 1 / 16

Co je to neorientovaný graf ?

: H U U (množina neuspořádaných dvojic, též jedno- a dvoj- prvkových podmnožin množiny uzlů)(h) = [u, v] ... krajní uzly hrany h

(h1) = (h2) ... rovnoběžné hrany => multigraf

prostý graf = graf bez rovnoběžných hran, tzn. hranu určují její krajní uzly => je zbytečné, G = H, U

obyčejný graf = prostý graf bez smyčekNeorientované grafy - odst. 2.1

G = H, U,

hrany grafu G, H(G), HG

uzly grafu G, U(G), UG

incidence, (G), G

Page 17: TEORETICKÁ  INFORMATIKA

TI 1 / 17

Příklad neorientovaného grafu

Neorientované grafy - odst. 2.1

Nakreslení grafu G = {a,b,c,d,e,f,g,h,i,j,k}, {s,t,u,v,w,x,y,z}, – jeho grafické znázornění (v rovině)

a

b c

ed

h

f

ig

jk

wu

v

ts

zy

x

(a)=[s,t]

(i)=[x,y]= (j)

(g)=[w,w] - smyčka...(k)=[x,y]

...

...

Page 18: TEORETICKÁ  INFORMATIKA

TI 1 / 18

prázdný graf: , diskrétní graf: Dn= , U (jen n izolovaných uzlů)

úplný graf: Kn = ( ), U, |U|=n

K3 K4 K5

podgraf ... G’ = H’, U’, ’ , G = H, U, : G’ G H’H & U’U & ’(h)=(h) pro všechny h H

faktor grafu … podgraf se všemi uzly (hranový podgraf)

U2

Neorientované grafy - odst. 2.1

Speciální případy grafů

Page 19: TEORETICKÁ  INFORMATIKA

TI 1 / 19

podgraf indukovaný podmínkou:• podmnožina uzlů U1 podmnožina hran

H1

• vypuštění uzlů U2 vypuštění hran H2

Neorientované grafy - odst. 2.1

G

G1 indukovaný U1

U1

H1

G2 indukovaný H1

U2

G-U2

H2

G-H2

Page 20: TEORETICKÁ  INFORMATIKA

TI 1 / 20

G1 = H1, U1, 1 , G2 = H2, U2, 2 ... dva neorientované grafy

sjednocení a průnik grafů G1 a G2 G1G2 = H1H2, U1U2, 12 (výsledkem musí

G1G2 = H1H2, U1U2, 12 být opět grafy!!!)

disjunktní a hranově disjunktní grafy

U1U2 = (tedy i H1H2 = ) H1H2 =

G1

G2

G1 G2

G1 G2

Neorientované grafy - odst. 2.1

Page 21: TEORETICKÁ  INFORMATIKA

TI 1 / 21

rozdíl G - G1 grafů G a G1G

takový minimální graf G2, pro který platíG = G1 G2

• rozdíl pro obecné grafy G a G': G – G' = G – (G G')

• doplněk (obyčejného) grafu G= H, U, :-G = KU – G

• symetrická diference grafů G a G' :G G' = (G G') – (G G')

• konečný x nekonečný graf

Neorientované grafy - odst. 2.1

Page 22: TEORETICKÁ  INFORMATIKA

TI 1 / 22

G1 G2 … izomorfní grafyproblém zjistit!!

morfismus grafů … zachovává incidenci, ale není nutně bijekcí

Neorientované grafy - odst. 2.1

izomorfismus grafů G1 = H1, U1, 1 a G2 = H2, U2, 2

zobrazení množiny H1 U1 na H2 U2 takové, že: / H1 : H1 H2 je bijekce / U1 : U1 U2 je bijekce zachovává incidenci, t.zn. : 1(h) = [u,v] 2((h)) = [(u), (v)]

Page 23: TEORETICKÁ  INFORMATIKA

TI 1 / 23

Kontrolní otázky

1. Lze určit maximální počet hran obyčejného (resp. prostého, resp. obecného) neorientovaného grafu o n uzlech ?

2. Jaká je role incidence v definici neorientovaného grafu ?3. Kolik různých faktorů má neorientovaný graf o m hranách a n

uzlech ?4. Vysvětlete, co znamená, že izomorfismus grafů zachovává

incidenci.5. Kolik neizomorfních faktorů má úplný graf K4, resp. K5 ? 6. Který graf o n uzlech má pouze jeden faktor ?7. Popište, jakým způsobem doplníte úplný graf Kn, aby vznikl

úplný graf Kn+1. 8. Charakterizujte podgraf úplného grafu Kn indukovaný

libovolnou podmnožinou jeho uzlů.