1 / 23

TEORETICKÁ INFORMATIKA

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

danil
Download Presentation

TEORETICKÁ INFORMATIKA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Stručný obsah předmětu • Neorientované a orientované grafy • zá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

  3. Jinými slovy ... • 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

  4. Co je to informatika ? • 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č

  5. Základní paradigmata informatiky ABSTRAKCE TEORIE NÁVRH INFORMATIKA

  6. Několik ukázkových příkladů (problémů) Příklady k zamyšlení

  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í

  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í

  9. Problém s vystřihovánkou Jak nalézt největší bílý trojúhelník ? Příklady k zamyšlení

  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 dispozici • n*(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í

  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í

  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 skupin • ni (i=1, 2, ..., k), 2  ni 8 - počet stanic v i-té skupině Jakurčit minimální potřebnou délku kabelu? (propojení + 1m na krajní + 2m na vnitřní stanice v řadě) Příklady k zamyšlení

  13. Model rozmístění stanic • Eukleidovské vzdálenosti "každý s každým" 1 2 7 8 1 2 3 6 3 6 4 5 9 10 8 7 10 9 12 11 4 5 12 11 Příklady k zamyšlení

  14. NEORIENTOVANÉ A ORIENTOVANÉ GRAFY Neorientované a orientované grafy - kap.2

  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

  16. Co je to neorientovaný graf ? G = H, U,  • : 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ček hranygrafuG, H(G), HG uzlygrafu G, U(G), UG incidence, (G), G Neorientované grafy - odst. 2.1

  17. Příklad neorientovaného grafu • 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ě) s t a (a)=[s,t] v c ... b d (i)=[x,y]= (j) e w u f ... (g)=[w,w] - smyčka g x i h ... j (k)=[x,y] k y z Neorientované grafy - odst. 2.1

  18. Speciální případy grafů • 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 • faktorgrafu … podgraf se všemi uzly (hranový podgraf) U 2 Neorientované grafy - odst. 2.1

  19. G1 indukovaný U1 G2 indukovaný H1 G H1 U1 G-U2 U2 • podgrafindukovaný podmínkou: • podmnožina uzlů U1  podmnožina hran H1 • vypuštění uzlů U2  vypuštění hran H2 G-H2 H2 Neorientované grafy - odst. 2.1

  20. sjednocení a průnikgrafů G1 a G2 G1G2 = H1H2, U1U2, 12  (výsledkem musí G1G2 = H1H2, U1U2, 12  být opět grafy!!!) G1  G2 disjunktní a hranově disjunktnígrafy U1U2 = (tedy i H1H2 =  ) H1H2 =  G1 G2 • G1= H1, U1, 1 , G2 = H2, U2, 2 ... dva neorientované grafy G1 G2 Neorientované grafy - odst. 2.1

  21. rozdíl G - G1grafů G a G1G 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) grafuG= H, U,   : • -G = KU – G • symetrická diferencegrafů G a G' : • G  G' = (G  G') – (G  G') • konečný x nekonečný graf Neorientované grafy - odst. 2.1

  22. 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)] • G1  G2 … izomorfní grafy • problém zjistit!! • morfismusgrafů … zachovává incidenci, ale není nutně • bijekcí Neorientované grafy - odst. 2.1

  23. Kontrolní otázky • Lze určit maximální počet hran obyčejného (resp. prostého, resp. obecného) neorientovaného grafu o n uzlech ? • Jaká je role incidence v definici neorientovaného grafu ? • Kolik různých faktorů má neorientovaný graf o m hranách a n uzlech ? • Vysvětlete, co znamená, že izomorfismus grafů zachovává incidenci. • Kolik neizomorfních faktorů má úplný graf K4, resp. K5 ? • Který graf o n uzlech má pouze jeden faktor ? • Popište, jakým způsobem doplníte úplný graf Kn, aby vznikl úplný graf Kn+1. • Charakterizujte podgraf úplného grafu Kn indukovaný libovolnou podmnožinou jeho uzlů.

More Related