Pavel Erlebach. Abstrakt: Tato práce popisuje základy teorie složitosti. Jsou zde ukázány jen základní

Rozměr: px
Začít zobrazení ze stránky:

Download "Pavel Erlebach. Abstrakt: Tato práce popisuje základy teorie složitosti. Jsou zde ukázány jen základní"

Transkript

1 Vybrané třídy složitosti Pavel Erlebach Abstrakt: Tato práce popisuje základy teorie složitosti. Jsou zde ukázány jen základní teorémy a definice, o to víc se soustředí na příklady popisovaných tříd a na jednoduchost podání. Cílem práce je seznámit čtenáře s význačnými třídami složitosti, s typickými příklady jejich problémů a s důležitými otevřenými problémy. Tato práce byla vypracována v rámci předmětu Moderní teoretická informatika

2 Obsah: 1 Úvod 3 2 Základní pojmy 3 3 Nejznámější teorémy 4 4 Třídy úplné NL-complete P-complete BQP-complete NP-complete (N)PSPACE-complete EXPTIME-complete NEXPTIME-complete (N)EXPSPACE-complete EXPTIME-complete Třídy složitosti SPACE(1) L SL NL Bezkontextové jazyky NC NSPACE(n) P BPP BQP NP (N)PSPACE EXPTIME, NEXPTIME, EXPSPACE rekurzivní, rekurzivně spočetné, Vztahy mezi třídami 15 7 Závěr 16 2

3 1 Úvod Proč se vlastně zabývat nějakou složitostí, když tumáme vyčíslitelnost, která nám zodpoví otázky typu: Je daný problém algoritmicky řešitelný? Dá se daný problém řešit zásobníkovým automatem??. Potřebujeme vlastně vědět ještě něco jiného? Ano. Například jak asi dlouho bude trvat vyřešení daného problému pro vstup dlouhý obecně n. Například zkusme porovnat trvání vyhodnocení formule délky n Presburger logiky, trvání komprese LZ78 pro řetězec délky n a trvání spočtení hodnoty Ackermann(n, n). Vyčíslitelnost nám poví, že na všechny tyto problémy postačí Turingův stroj, ale třeba zásobníkový automat by si s nimi neporadil. Složitost nám oproti tomu řekne i to, že zatímco doba zpracování komprese LZ78 s rostoucím n poroste polynomiálně (např. n 3 + n), tak doba rozhodnutí zmíněné formule poroste 2-exponenciálně (2 2n ) a doba vyčíslení Ackermannovy funkce dokonce ještě rychleji (rychleji než 2 na 2 na... 2 na n pro libovolnýpočet exponentů). Čili z toho plyne praktická řešitelnost těchto problémů. Zatímco zmíněná komprese se dá zvládnout v reálném čase (a taky se běžně používá), Presburger logika je použitelná už v pouze velmi omezené míře a hodnoty Ackermannovy funkce pro větší parametry (např. Ackermann(5,5))známé prostě nejsou. Další kapitoly jsou členěny následujícím způsobem. Základní pojmy, zavedené pojmenování tříd a způsoby měření složitosti najdeme v kapitole 2. Nejznámější teorémy a první otevřené problémy si ukážeme v kapitole 3. O úplnosti obecně aúplných třídách si něco povíme v kapitole 4 a stejně tak tu najdeme příklady problémů všech význačných úplných tříd. V kapitole 5. si popíšeme blíže některé třídy složitosti a nastíníme jejich vztahy a konečně 6. kapitola obsahuje závěr s komentáři k této práci. 2 Základní pojmy Jak již bylo v úvodu nastíněno, složitost se zabývá otázkami náročnosti algoritmů. Rozlišujeme zejména časovou složitost (čili jak dlouho potrvá výpočet) a prostorovou složitost (kolik paměti algoritmus zabere, přičemž vstup nepočítáme). Mezi prvními otázkami, co nás napadnou, bude asi jak složitost vyjádřit a jak ji měřit. Pro popsání složitosti použijeme funkci s parametrem n, což je délka vstupu, případně dalšími parametry jako např. počet výpočetních strojů apod. Zkušenosti a statistiky ukazují, že největší vypovídací hodnotu má nejhorší případ a měří se i průměrný možný případ. Hodnoty pro jednotlivé délky vstupů se 3

4 počítají, nebo se měří na dostatečném počtu náhodných vzorků. Pokud například porovnáváme řadící algoritmy, pracujeme s přesnými tvary funkcí (např. n n + 3), ale pracujeme-li se třídami problémů, zanedbáváme konstanty. Proč? I funkce n roste pomaleji než n 2.Cosetýče praktického dopadu při zanedbání konstant, v tomto příkladě by samozřejmě byla chyba předpokládat, že by bylo použití algoritmu s lineární složitostí dobrou volbou. Ale v praxi se podobné příklady nevyskytují (alespoňnečasto). Kromě zanedbání konstant provedeme ještě další zjednodušení,a to že rozdělíme funkce na několik skupin, které pro nás budou atomické. Určitě je možné rozdělit si např. třídu P (třída problémů s polynomiální časovou složitostí řešená deterministicky) dále do tříd problémů lineárních, kvadratických, kubických atd. Nicméně toto rozdělení zde pro jednoduchost pomineme. Zato budeme zkoumat ukaždé ztříd ještě deterministrický, příp. nedeterministickýpřístup. Ve světové literatuře[1,2,3]se často vyskytují následující konvence v označení tříd. Je-li předmětem zájmu časová, resp. prostorová složitost, nazývá se třída TIME, resp. SPACE (např. TIME[2 n ], SPACE[1] ). Nedeterministický přístup odlišíme od deterministického přidáním písmena N na začátek (např. NTIME[log(n)] ). Pokud jde o komplementární třídu, předsune se před jméno třídy co (např. conp). A nakonec se používají následující synonyma (poly představuje polynom): (N)SPACE[log(n)] = (N)L (N)TIME[poly(n)] = (N)P (N)SPACE[poly(n)] = (N)PSPACE (N)TIME[2 n ] = (N)EXPTIME (N)SPACE[2 n ] = (N)EXPSPACE (N)TIME[2 2n ] = (N)EXP2TIME... 3 Nejznámější teorémy Základní vztahy popisuje následující teorém, který platí pro každou funkci f (n): TIME[ f (n)] NTIME[ f (n)] SPACE[ f (n)] NSPACE[ f (n)] TIME[2 f (n) ]... 4

5 Dalším zajímavým teorémem je tzv. teorém prostředků (resources theorem), který nám říká, že přidáním času nebo prostoru vždy zvýšíme mohutnost třídy řešitelných problémů. f (n) < g(n) TIME[ f (n)] TIME[g(n)] SPACE[ f (n)] SPACE[g(n)] Savitchův teorém ukazuje, že třída problémů řešených nedeterministicky s nějakou prostorovou složitostí nikdy nepřesáhne třídu problémů řešených deterministicky s kvadraticky větší prostorovou složitostí. NSPACE[ f (n)] SPACE[ f 2 (n)] Nejdůležitějším důsledkem tohoto teorému je zejména rovnost: NSPACE[poly(n)] =SPACE[poly(n)], čili NPSPACE = PSPACE A na konci této kapitoly si ukážeme ještě vztahy mezi základními třídami s rozdílnými funkcemi. Povšimněme si, že kromě důsledku Savitchova teorému (viz výše) a kromě nadřazeností množin vyplývajících z jejich exponenciálního rozdílu (exponential gap), jsou všechny vztahy mezi třídami otevřeným problémem, takže je tu obrovský prostor pro výzkum. Jak chápat následující schéma? Čte se odshora dolů (L NL P...), přičemž třída vpravo od dané třídy je její vlastní nadtřídou (L (N)PSPACE). L ( (N)PSPACE ) NL ( (N)PSPACE ) P ( EXPTIME ) NP ( NEXPTIME ) (N)PSPACE ( (N)EXPSPACE ) EXPTIME ( EXP2TIME ) NEXPTIME ( NEXP2TIME ) (N)EXPSPACE ( (N)EXP2SPACE ) EXP2TIME ( EXP3TIME )... 5

6 4 Třídy úplné Pojem úplnosti se zavedl kvůli jednoduššímu dokazování ekvivalence nebo naopak odlišnosti tříd. Neformálně můžeme úplný problém (resp. třídu úplných problémů) popsat jako ten nejtěžší problém dané třídy (resp. třídu těch nejtěžších problémů, co existujívpříslušné nadtřídě). Popišme to formálněji. Úplný problém dané třídy (např. NP-úplný problém) je problém z příslušné nadtřídy (tedy v našem příkladě z NP) a platí, že na něj mohou být všechny problémy ze stejné nadtřídy polynomiálně zredukovány. Úplná třída je pak třída těchto problémů. V samotných důkazech se pak může postupovat například následovně. Chceme dokázat, že NP = P. Víme už, že P NP. Opačnou inkluzi dokážeme třeba tak, že vybereme nějaký NP-úplný problém (např. SAT problém nebo problém barvení grafu) a pro něj vymyslíme algoritmus, který bude mít polynomiální složitost (a samozřejmě hořeší deterministickou cestou). Tím je inkluze dokázána a my jsme slavní. Tato kapitola bude pokračovat výčtem význačných úplných tříd a hlavně příkladůpříslušných problémů, více viz [2]. 4.1 NL-complete Tato třída je spíše okrajovou záležitostí. Příkladem úplného problému, který se dá řešit na nedeterministickém stroji s logaritmickou prostorovou náročností, je dosažitelnost v orientovaném grafu (GAP). 4.2 P-complete Tato třída je mnohem známější. Základní P-complete problém: mějme Turingův stroj s nějakým vstupem na první pásce a číslo T zapsané unárně (T jedniček) na druhé pásce. Zastaví Turingův stroj s tímto vstupem dříve než pot krocích? Dalšípříklady P-úplných problému jsou např Circuit Value Problem (CVP) - Pro daný obvod a vstupy obvodu vypočítat výstup obvodu. Lineární programování - např. najít maximum nějaké lineární funkce vzhledem k omezujícím podmínkám 6

7 Depth First Search Ordering - Pro daný graf a uzly u a v určit, zda bude u navštíven dříve než v v prohledávání do hloubky. Context Free Grammar Membership - Pro danou bezkontextovou gramatiku ařetězec určit, zda může být tento řetězec touto gramatikou generován. Horn satisfiability - najít pro danou množinu Hornových klauzulí proměnnou, pro kterou budou všechny klauzule platit. Hra Life - Mějme nějakou počáteční konfiguraci hry Life, buňku a číslo T (zapsané unárně), ptáme se, zda buňka bude po T krocích živá. LZW algoritmus - pro dané řetězce s a t určit, zdá sepřidá t po kompresi s (LZ78 metodou) do slovníku (bereme v potaz např. Unisys LZW technologii). 4.3 BQP-complete O třídě BQP se dovíme více v kapitole Prozatím postačí vědět, že je to nadmnožina třídy P. Neví se, jestli vůbec třída BQP má nějaké úplné problémy, ale jsou známy některé problémy, které jsou v BQP a věří se, že nejsou v P (důkaz zatím nebyl proveden). Jsou známé tři takové problémy. Faktorizace čísel - pro dané číslo chceme vědět jeho rozklad na prvočísla (např. pro číslo 48 to 2 4.3). Diskrétní logaritmus - to je složitě popsatelný algoritmus, kde pro cyklickou grupu G a její generátor b definujeme funkci celočíselného logaritmu se základem b. Simulace kvantových systémů. 4.4 NP-complete Tato třída byla pravděpodobně první úplnou třídou. Kdyby se totiž ukázalo, že se dá některý problém z této třídy řešit deterministicky v polynomiálním čase, znamenalo by to, žep=np,což je problém, o jehož dokázání nebo vyvrácení se snaží teoretici z celého světa užněkolik desetiletí. V roce 1971, kdy byl pojem úplnosti zaveden, byl prvním příkladem NPúplného problému problém splitelnosti (Boolean satisfiability problem - SAT). 7

8 Jde o problém, kde pro nějaký boolovskývýraz s proměnnými máme rozhodnout, zda existuje nějaké ohodnocení proměnných, pro které má celý výraz platí. Od té doby byly nalezeny doslova tisíce dalších NP-úplných problémů, uvedeme si zde několik nejznámějších. Co se příkladů týče, budeme této třídě věnovat nejvíce prostoru, protože jde o základní třídu teorie složitosti a navíc je zde naděje, že nějakého čtenáře napadne deterministické řešení některého z problémů v polynomiálním čase, což by bylo vskutku výborné (P = NP). N-puzzle - jde o známou hru, kde je N posunovacích čtverečků a jedna mezera, cílem je dosáhnout výchozího postavení, případně rozhodnout, zda to z daného postavení jde. Knapsack problem - tento příklad je postaven na situaci, že jsme našli poklad, ale celý ho neuneseme. Chceme odnést maximální možné bohatství za předpokladu, že máme danou nosnost, přičemž každá položka pokladu mánějakou cenu a nějakou váhu. Hamiltonova kružnice - pro daný graf rozhodnout, zda tam existuje Hamiltonova kružnice, což je kružnice (cesta grafem, která začíná a končí ve stejném bodě), která prochází všemi body grafu. Traveling salesman problem (TSP) - pro daný počet měst a pro ceny cest mezi jednotlivými městy najít nejlevnější způsob cestování, aby každé město bylo navštíveno aspoň jednou a aby se nakonec cestovatel dostal zpátky do startujícího města. Izomorfismus podgrafů - rozhodnout, zda pro dané dva grafy G 1, G 2 platí, že je G 1 izomornísnějakým podgrafem G 2. Subset sum problem - je známý adůležitý problém v teorii složitosti a v kryptografii. Pro danou množinu celých čísel se ptáme, jestli existuje nějaká její podmnožina taková, že je součet čísel této podmnožiny 0 (případně jakékoliv k). Např. pro množinu { 2, 6, 1, 10, -4, -5 } je odpovědí ANO, protože podmnožina { 2, 6, 1, -4, -5 } má součet 0. Hledání největší kliky v grafu - klika je množina vrcholů, které jsou navzájem sousedníkaždý skaždým, řečeno neformálně. Problém pokrytí grafu - pro daný graf a nějaké číslo k se ptáme, existuje-li pokrytí grafu o velikosti k nebo menší. Pokrytím grafu rozumíme množinu 8

9 vrcholů takovou že, pro všechny hrany grafu potom platí, že aspoň jeden konec hrany končí ve vrcholu z množiny pokrytí. Problém obarvení grafu. Graf je korektně obarvený, pokud každému vrcholu přiřadíme číslo (barvu) a platí, že žádné dva sousední vrcholy nejsou obarveny stejnou barvou. Samotný problém pak zní: dá se daný graf obarvit s použitím k barev nebo méně? 4.5 (N)PSPACE-complete Prvním problémem této třídy byl podobně jako u předchozí třídy problém splnitelnosti (SAT) s tím rozdílem, že zatímco SAT coby NP-complete bychom mohli zapsat takto: x 1 x 2 x 3 : (x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) Tak v PSPACE-complete přibyde ještě univerzální kvantifikátor a příklad by pak mohl vypadat takto: x 1 x 2 x 3 : (x 1 x 2 x 3 ) ( x 1 x 2 x 3 ) Povšimněte si, že NP-complete problém připomíná typickou hádanku - je nějaká kombinace hodnot taková, aby to splnilo nějakou podmínku? Proti tomu PSPACE-complete problém připomíná hru-je nějaký tah, který bych mohl udělat, abych mohl vyhrát nezávisle na tahu protivníka (tj. abych vyhrál po VŠECH možných tazích protivníka). V této otázce se střídá existenční a univerzální kvantifikátor. Po takovém úvodu asi nikoho nepřekvapí, že se mnoho PSPACE úplných problémů rekrutuje z řad her Reversi - je typickým PSPACE-complete problémem, resp. nalezení nejlepšího tahu v Reversi, pokud zobecníme hru na n n polí. Stejně tak hra CEX. Jsou to hry, kde se střída náš tah s protivníkovým. Přitom ale stále spějeme ke konci hry. Není možné se nějakým způsobem zacyklit. Takže pro pevné n může hra trvat nějaký konečnýpočet tahů (konkrétně n 2 ). Proto třeba šachy zobecněné na n n polí do této třídy nepatří, jelikož neformálně řečeno dokonalí hráči mohou hrát jednu hru velmi dlouho. Místo toho patří do třídy EXPTIME (přičemže ale není dokázáno, platí-li PSPACE EXPTIME) 9

10 Mahjong - patří také dotéto třídy, i když prakticky hraje člověk sám se sebou. Stejně tak atomix, sokoban nebo Rush Hour. Context Sensitive Grammar Membership - do této třídy nepatří samozřejmě jen hry. Tento problém je velice podobný jako Context Free Grammar Membership (kapitola 4.2). Pro danou kontextovou gramatiku a daný řetězec máme rozhodnout, jestli je možné tou gramatikou vygenerovat ten řetězec. 4.6 EXPTIME-complete Jak už jsme se dočetli v předchozí kapitole, nejznámější problémy této třídy jsou hrami, kde proti sobě stojí dva protivníci, přičemž není žádným způsobem zaručen konec hry, jako tomu je třeba v šachách, dámě nebo Go. Problém můžeme definovat jako určení, zda může hráč, který jeprávě na tahu, vyhrát za všech okolností (tj. při všech možnostech odpovědí protihráče). Platí exponenciální závislost jak ji známe, pokud zobecníme zmíněné hry na velikost šachovnice n n. 4.7 NEXPTIME-complete Tato třída je tu popsána spíše pro úplnost. Příkladem problému, který doní patří, je rozhodnout, zda dva regulární výrazy popisují stejné nebo různé jazyky, přičemž výrazy jsou limitovány následujícími operacemi: sjednocení, konkatenace a mocnina na druhou (dvě kopie výrazu). 4.8 (N)EXPSPACE-complete Další třída spíše okrajového charakteru, protože složitost většinou zamezuje praktické použití. Nicméně uvedeme si zde jeden příklad, který úzce souvisí s předchozím, čili opět jde o to rozhodnout, zda dva regulární výrazy popisují stejné nebo různé jazyky, přičemž výrazy jsou limitovýny operacemi: sjednocení, konkatenace, mocnina na druhou a Kleenova hvězda (nula nebo více kopiívýrazu) EXPTIME-complete Tato třída je nejsložitější úplnou třídou, kterou si zde ukážeme. Není dokázán (nebo aspoň jsem nenašel) žádný úplný problém této třídy, nicméně si ukážeme problém, pro který se v roce 1974 podařilo dokázat, že patří dotřídy 2EXPTIME a nepatří dotřídy EXPTIME. Je to rozhodnutí pravdivosti formulí Presburgerovy 10

11 aritmetiky, což je aritmetika, kde se vyskytují konstanty 0 a 1, funkce +, predikát = a kvantifikátor. Používá seipřes svou enormní složitost ve verifikaci malých problémů. Základem jsou následující axiomy: 1. x : (0 = x + 1) 2. x y : (x = y) (x + 1 = y + 1) 3. x : x + 0 = x 4. x y : (x + y)+1 = x +(y + 1) 5. Tento axiom se skládá z nekonečně mnoha axiomů. Pokud P(x) je formule zahrnující pouze konstanty 0, 1, +, = a volnou proměnnou x, potom následující formule je axiom: (P(0) x : P(x) P(x + 1)) x : P(x) Záležitosti jako dělitelnost nebo prvočísla nemohou být formalizovány v Presburgerově aritmetice. Nicméně třeba následující příklad se dokázat dá. Ukazuje, že pokud x y + 1, potom y + 2 > x. x y : (( z : x + z = y + 1) ( z : (((1 + y)+1)+z = x))) 5 Třídy složitosti V této kapitole si popíšeme další zajímavé třídy, z nichž některé pak zařadíme do tabulky tříd složitosti, která pak bude v další kapitole. Tato práce se nesnaží vyčerpávajícím způsobem popsat všechny publikované třídy, jen popíše některé zajímavější a o ostatních se třeba zmíní. Kompletní výčet a popis všech tříd je k nalezení v [1]. 5.1 SPACE(1) Třída problémů řešitelných s konstantní prostorovou složitostí je ekvivalentnítřídě jazyků typu 3 v Chomského hierarchii. Dále platí, že SPACE(1) = SPACE(log log n) Problémy této fundamentálnítřídy jsou řešitelné deterministickým i nedeterministickým konečným automatem. A typickým příkladem z této třídy je otázka: je počet jednoček na vstupu sudý? Ale už neotázka: Je na vstupu více jedniček než nul? To se občas označuje jako něco, co konečné automaty neumí spočíst. 11

12 5.2 L Jde o třídu problémů s logaritmickou prostorovou složitostí řešených deterministicky (přičemž vstup se do souhrnu prostorové složitosti nepočítá, pokud není měněn). Nově (v roce 2004) bylo ukázáno, žel=sl(viz dalšítřída). 5.3 SL Symetrická třída s logaritmickou prostorovou složitostí (definovaná v roce 1982) obsahuje takové problémy, které jsou řešitelné nedeterministickým Turingovým strojem tak, že: 5.4 NL 1. Pokud je výsledkem ANO, jedna nebo více výpočetních cest vstup přijímá. 2. Pokud je výsledkem NE, všechny výpočetní cesty vstup zamítne. 3. Pokud může Turingův stroj provést přechod z A do B, potom může provést přechod izbdoa(tojeto,cojemyšleno symetričností). Třída problémů řešitelných nedeterministicky s logaritmickou časovou složitostí. V roce 1988 bylo ukázáno, že je tato třída ekvivalentní s třídou conl, což je komplementnítřída problémů k NL. 5.5 Bezkontextové jazyky Dobře známá třída jazyků typu 2 Chomského hierarchie. Je to třída problémů řešitelná deterministickým zásobníkovým automatem. Je podtřídou třídy NTIME(n), vztah k NL je otevřeným problémem. 5.6 NC Tzv. Nickova třída (Nick Class) je třída problémůřešitelných v polylogaritmickém čase (tj. (log(n)) c ) na paralelním počítači s polynomiálním počtem procesorů (tj. n k ). Je známo, že NC je podmnožina P, ale neví ze, jestli to platí naopak. Předpokládá se, že ne, čili že P je vlastní nadmnožina NC. A dovolím si drobnou poznámku pod čarou - název Nickova třída vznikla díky Stephenovi Cookovi, který tuto třídu tak nazval po Nickovi Pippengerovi, který se intenzivně zabýval výzkumem problémů s polylogaritmickou časovou složitostí. 12

13 5.7 NSPACE(n) Třída problémů řešitelná nedeterministicky s lineární časovou složitostí je ekvivalentní dobře známé třídě jazyků typu 1, tedy kontextových jazyků. Je zřejmé, že je podtřídou třídy PSPACE, nicméně její vztah k NC, P, NP a mnoha dalším třídám složitosti neníznámý. 5.8 P Tato třída to všechno začala. Byla definována už v roce 1960 a zahrnuje netriviální problémy (viz kapitola 4.). Je to třída jazyků řešitelná deterministicky v polynomiálním čase. I když to byla prakticky první definovaná třída složitosti, není s ní spjata téměř žádná jistota, co se týče vztahů s okolními třídami. Je nadmnožinou třídy NC a podmnožinou tříd NP, BPP, BQP, conp, ale o ekvivalenci příp. neekvivalenci těchto množin nebylo zatím dokázáno nic. Největším a nejznámějším otevřeným problémem je (ne)ekvivalence tříd P a NP. Odborníci celého světa se o potvrzení nebo o vyvrácení rovnosti snaží už téměř 50 let. Většina z nich zastává názor, že třídy ekvivalentní nejsou, někteří si navíc myslí, že otázka P vs NP nenířešitelnáznámými axiomy množinové teorie. Já se tedy přiznám, že jsem objevil způsob, jak dokázat, že P = NP. Bohužel není v tomto článku tolik prostoru, abych sem celý důkaz předvedl. Je to obrovská škoda, protože jinak bych dostal $, což je slíbeno člověku, který tuto otázku zodpovíadůkazem potvrdí. Nevadí, snad se to vejde do jiného článku. 5.9 BPP Bounded-Error Probablistic Polynomial-Time je třída problémů řešitelná na pravděpodobnostním Turingově stroji v polynomiálním čase s pravděpodobností chyby maximálně 1/3. Tato třída nemá úplné problémy nebo zatím nejsou známé. Co se týče té třetiny, bylo dokázáno, že BPP = BPP p, kde p =(0,1/2). Ideou je, že můžeme běh libovolněkrát zopakovat, přičemž pravděpodobnost chyby klesá exponenciálně. Je známo, že BPP = cobpp. Nevíse však, jaký je vztah NP a BPP BQP Bounded-Error Quantum Polynomial-Time je třída problémů řešitelná na kvantovém počítači s pravděpodobností chyby maximálně 1/3. Stejně jako v případě předchozí třídy ani u této třídy nezávisí na konstantě vyjadřující maximální chybu, 13

14 je li z intervalu (0,1/2). Otéto třídě se sice taky neví, zda máúplné problémy, ale jsou známy tři, které patří do BQP, ale věří se tomu, že nepatří do P (kapitola 4.3). Čili dokázáno není zase skoro nic. Je známo, že BQP je nadtřídou P a podtřídou NP (narozdíl od BPP!) NP Třída jazyků řešitelná nedeterministicky v polynomiálním čase obsahuje nezvykle velkýpočet problémů, se kterými se běžně setkáváme. Příklady jsou rozepsány v kapitole 4.4. Tato třída je podmnožinou třídy PSPACE a nadmnožinou tříd BQP a P, ale opět nebyl zatím ukázán důkaz potvrzující nebo vyvracející ekvivalenci některé dvojice těchto množin. ProblémPvsNPjeblíže popsán v kapitole (N)PSPACE Tato třída zastřešuje časově rozumné problémy. Je vlastní nadtřídou třídy kontextových jazyků a NC třídy. Je nadtřídou tříd conp, NP, BPP, BQP, P a podtřídou třídy EXPTIME. Protože víme, že NC PSPACE NC P NP PSPACE Je zřejmé, že aspoň jeden z symbolů bude. Věří se, že jsou vlastní ikluze všechny tři, nicméně nepodařilo se dokázat zatím ani jednu EXPTIME, NEXPTIME, EXPSPACE... Tyto třídy nebudeme dále rozebírat. Už vpředchozích kapitolách byly naznačené k nim příslušnéúplné problémy a vztahy těchto tříd rekurzivní, rekurzivně spočetné,... Ani tyto třídy nebudeme analyzovat. Stojí totiž mimo popisovanou oblast složitosti (či přesněji nad ní). 14

15 typ 0 EXP2TIME EXPSPACE EXPTIME PSPACE = NPSPACE NSPACE(n) = typ 1 NP conp BQP BPP P NC typ 2 NL = conl = SL SPACE(1) = NSPACE(1) = typ 3 L 6 Vztahy mezi třídami Na závěr práce si ještě přehledně a souhrnně na obrázku (na této stránce) ukážeme vztahy všech zmiňovaných tříd. Nepřerušovaná (resp. přerušovaná) šipka od A do B znamená A B (resp. A B). U tříd bez vzájemné šipky na stejné úrovni neníznám vztah. Nalevo jsou třídy Chomského klasifikace. Vpravo dole jsou třídy okrajovějšího charakteru s logaritmickou prostorovou složitostí. Uprostřed jsou ukázány vztahy mezi hlavními třídami, které tu byly popsány. Celé schéma zastřešuje třída jazyků typu 0. 15

16 7 Závěr V práci jsem se snažil co možná nejpřístupnější formou vyložit základy teorie složitosti, ukázat některé zajímavé třídy, jejich vzájemné vztahy, příklady jejich problémů a některé otevřené problémy. Práce nemá žádný objevný charakter, byla vypracována v rámci předmětu TID (Moderní teoretická informatika) a souvislost s mou vlastní dizertační prací je minimální. Proto zde asi chybí prvky vlastního přínosu do dané oblasti a ze stejného důvodu asi nebude dosahovat kvalit prací mých kolegů, jejichžvýzkum s danou oblastíúzce souvisí. Zdroje informací: [1] The Complexity Zoo [2] Wikipedia, the free encyclopedia [3] Complexity And Other Software Metrics ulf/gloss/complex.html 16

Od Turingových strojů k P=NP

Od Turingových strojů k P=NP Složitost Od Turingových strojů k P=NP Zbyněk Konečný Zimnění 2011 12. 16.2.2011 Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 1 / 24 O čem to dnes bude? 1 Co to je složitost 2 Výpočetní modely

Více

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

Složitost her. Herní algoritmy. Otakar Trunda

Složitost her. Herní algoritmy. Otakar Trunda Složitost her Herní algoritmy Otakar Trunda Úvod měření složitosti Formální výpočetní model Turingův stroj Složitost algoritmu = závislost spotřebovaných prostředků na velikosti vstupu Časová složitost

Více

Složitost. Teoretická informatika Tomáš Foltýnek

Složitost. Teoretická informatika Tomáš Foltýnek Složitost Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika 2 Opakování z minulé přednášky Co říká Churchova teze? Jak lze kódovat Turingův stroj? Co je to Univerzální

Více

Problémy třídy Pa N P, převody problémů

Problémy třídy Pa N P, převody problémů Problémy třídy Pa N P, převody problémů Cvičení 1. Rozhodněte o příslušnosti následujících problémů do tříd Pa N P(N PCověříme později): a)jedanýgrafsouvislý? danýproblémjeztřídy P,řešíhonapř.algoritmyDFS,BFS.

Více

Týden 11. Přednáška. Teoretická informatika průběh výuky v semestru 1. Nejprve jsme dokončili témata zapsaná u minulé přednášky.

Týden 11. Přednáška. Teoretická informatika průběh výuky v semestru 1. Nejprve jsme dokončili témata zapsaná u minulé přednášky. Teoretická informatika průběh výuky v semestru 1 Týden 11 Přednáška Nejprve jsme dokončili témata zapsaná u minulé přednášky. PSPACE, NPSPACE, PSPACE-úplnost Uvědomilijsmesi,ženapř.prozjištěnítoho,zdaBílýmánějakoustrategiivehřeŠACHY,

Více

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31 Vztah teorie vyčíslitelnosti a teorie složitosti IB102 Automaty, gramatiky a složitost, 2. 12. 2013 1/31 IB102 Automaty, gramatiky a složitost, 2. 12. 2013 2/31 Časová složitost algoritmu počet kroků výpočtu

Více

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je 28 [181105-1236 ] 2.7 Další uzávěrové vlastnosti třídy regulárních jazyků Z předchozích přednášek víme, že třída regulárních jazyků je uzavřena na sjednocení, průnik, doplněk, zřetězení, Kleeneho operaci

Více

Výroková a predikátová logika - III

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a

Více

Třídy složitosti P a NP, NP-úplnost

Třídy složitosti P a NP, NP-úplnost Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není

Více

PŘÍJMENÍ a JMÉNO: Login studenta: DATUM:

PŘÍJMENÍ a JMÉNO: Login studenta: DATUM: PŘÍJMENÍ a JMÉNO: Login studenta: DATUM: Závěrečný test z předmětu Vyčíslitelnost a složitost Doba trvání: 90 minut Max. zisk: 100 bodů Obecné pokyny: Po obdržení testu ihned do pravého horního rohu napište

Více

Třída PTIME a třída NPTIME. NP-úplnost.

Třída PTIME a třída NPTIME. NP-úplnost. VAS - Přednáška 9 Úvod ke kursu. Složitost algoritmu. Model RAM. Odhady složitosti. Metoda rozděl a panuj. Greedy algoritmy. Metoda dynamického programování. Problémy, třídy složitosti problémů, horní

Více

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

4. NP-úplné (NPC) a NP-těžké (NPH) problémy Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA 4. NP-úplné (NPC) a NP-těžké (NPH) problémy Karpova redukce

Více

ALGORITMY A DATOVÉ STRUKTURY

ALGORITMY A DATOVÉ STRUKTURY Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu

Více

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost 1 Složitost 1.1 Operační a paměťová složitost Nezávislé určení na konkrétní implementaci Několik typů operací = sčítání T+, logické T L, přiřazení T A(assign), porovnání T C(compare), výpočet adresy pole

Více

Výroková a predikátová logika - III

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2014/2015 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2014/2015 1 / 21 Výroková logika Horn-SAT Horn-SAT Jednotková

Více

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze NP-ÚPLNÉ PROBLÉMY Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 13 Evropský sociální fond Praha & EU: Investujeme do

Více

Vlastnosti regulárních jazyků

Vlastnosti regulárních jazyků Vlastnosti regulárních jazyků Podobně jako u dalších tříd jazyků budeme nyní zkoumat následující vlastnosti regulárních jazyků: vlastnosti strukturální, vlastnosti uzávěrové a rozhodnutelné problémy pro

Více

10. Techniky formální verifikace a validace

10. Techniky formální verifikace a validace Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI 10. Techniky formální verifikace a validace 1 Simulace není

Více

5 Orientované grafy, Toky v sítích

5 Orientované grafy, Toky v sítích Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost

Více

Naproti tomu gramatika je vlastně soupis pravidel, jak

Naproti tomu gramatika je vlastně soupis pravidel, jak 1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen

Více

Složitost Filip Hlásek

Složitost Filip Hlásek Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,

Více

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, [161014-1204 ] 11 2.1.35 Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, kde i = 0, 1,..., takto: p 0 q právě tehdy, když bud p, q F nebo p, q F. Dokud i+1 i konstruujeme p

Více

Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula.

Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula. Teoretická informatika průběh výuky v semestru 1 Týden 11 Přednáška Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula. PSPACE, NPSPACE, PSPACE-úplnost Uvědomilijsmesi,ženapř.prozjištěnítoho,zdaBílýmánějakoustrategiivehřeŠACHY,

Více

Definice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování.

Definice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování. 9.5 Třída NP Definice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování. Příklad. Uvažujme problém IND a následující

Více

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace AUTOMATY A 11 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně

Více

Složitost a moderní kryptografie

Složitost a moderní kryptografie Složitost a moderní kryptografie Radek Pelánek Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/02.0024 Složitost a moderní kryptografie

Více

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 11 METODY VERIFIKACE SYSTÉMŮ NA ČIPU Hana Kubátov vá doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta 1 informačních

Více

Turingovy stroje. Teoretická informatika Tomáš Foltýnek

Turingovy stroje. Teoretická informatika Tomáš Foltýnek Turingovy stroje Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Jaké znáte algebraické struktury s jednou operací? Co je to okruh,

Více

Z. Sawa (VŠB-TUO) Teoretická informatika 18. prosince / 67

Z. Sawa (VŠB-TUO) Teoretická informatika 18. prosince / 67 Další třídy složitosti Z. Sawa (VŠB-TUO) Teoretická informatika 18. prosince 018 1/ 67 Další třídy složitosti Pro libovolnou funkci f : N R + definujme následující třídy: DTIME(f(n)) třída všech rozhodovacích

Více

Formální jazyky a gramatiky Teorie programovacích jazyků

Formální jazyky a gramatiky Teorie programovacích jazyků Formální jazyky a gramatiky Teorie programovacích jazyků doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Připomenutí základních pojmů ABECEDA jazyk je libovolná podmnožina

Více

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 2/29 Hodnocení předmětu BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 4/29 Automaty a gramatiky(bi-aag) 1. Základní pojmy Jan Holub Katedra teoretické

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška jedenáctá Miroslav Kolařík Zpracováno dle P. Martinek: Základy teoretické informatiky, http://phoenix.inf.upol.cz/esf/ucebni/zti.pdf Obsah 1 Složitost algoritmu 2 Třídy složitostí

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento

Více

KMI/VCS1 Vyčíslitelnost a složitost

KMI/VCS1 Vyčíslitelnost a složitost KMI/VCS1 Vyčíslitelnost a složitost Paměťová složitost, Savitchova věta, třída PSPACE, PSPACE-úplné problémy, a jako bonus: Bremermannova mez Jan Konečný 3. prosince 2013 Jan Konečný KMI/VCS1 Vyčíslitelnost

Více

Vrcholová barevnost grafu

Vrcholová barevnost grafu Vrcholová barevnost grafu Definice: Necht G = (V, E) je obyčejný graf a k N. Zobrazení φ : V {1, 2,..., k} nazýváme k-vrcholovým obarvením grafu G. Pokud φ(u) φ(v) pro každou hranu {u, v} E, nazveme k-vrcholové

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška desátá Miroslav Kolařík Zpracováno dle R. Bělohlávek, V. Vychodil: Diskrétní matematika 2, http://phoenix.inf.upol.cz/esf/ucebni/dm2.pdf P. Martinek: Základy teoretické informatiky,

Více

NP-úplnost problému SAT

NP-úplnost problému SAT Problém SAT je definován následovně: SAT(splnitelnost booleovských formulí) Vstup: Booleovská formule ϕ. Otázka: Je ϕ splnitelná? Příklad: Formule ϕ 1 =x 1 ( x 2 x 3 )jesplnitelná: např.přiohodnocení ν,kde[x

Více

Výroková a predikátová logika - XIII

Výroková a predikátová logika - XIII Výroková a predikátová logika - XIII Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XIII ZS 2013/2014 1 / 13 Úvod Algoritmická (ne)rozhodnutelnost Které

Více

Další NP-úplné problémy

Další NP-úplné problémy Další NP-úplné problémy Známe SAT, CNF, 3CNF, k-klika... a ještě následující easy NP-úplný problém: Existence Certifikátu (CERT ) Instance: M, x, t, kde M je DTS, x je řetězec, t číslo zakódované jako

Více

Výroková a predikátová logika - II

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2015/2016 1 / 18 Základní syntax Jazyk Výroková logika je logikou

Více

5.6.3 Rekursivní indexace složitostních tříd 5.6.4 Uniformní diagonalizace 5.6.5 Konstrukce rekursivních indexací a aplikace uniformní diagonalizace

5.6.3 Rekursivní indexace složitostních tříd 5.6.4 Uniformní diagonalizace 5.6.5 Konstrukce rekursivních indexací a aplikace uniformní diagonalizace Obsah prvního svazku 1 Úvod 1.1 Přehled pojmů a struktur 1.1.1 Množiny, čísla a relace 1.1.2 Funkce 1.1.3 Pravděpodobnost 1.1.4 Grafy 1.2 Algebra 1.2.1 Dělitelnost, prvočíselnost a základní kombinatorické

Více

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek Otázka 06 - Y01MLO Zadání Predikátová logika, formule predikátové logiky, sentence, interpretace jazyka predikátové logiky, splnitelné sentence, tautologie, kontradikce, tautologicky ekvivalentní formule.

Více

Výroková a predikátová logika - XII

Výroková a predikátová logika - XII Výroková a predikátová logika - XII Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XII ZS 2015/2016 1 / 15 Algebraické teorie Základní algebraické teorie

Více

Výroková a predikátová logika - II

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2013/2014 1 / 20 Základní syntax Jazyk Výroková logika je logikou

Více

11 VYPOČITATELNOST A VÝPOČTOVÁ SLOŽITOST

11 VYPOČITATELNOST A VÝPOČTOVÁ SLOŽITOST 11 VYPOČITATELNOST A VÝPOČTOVÁ SLOŽITOST Na první přednášce jsme si neformálně zavedli pojmy problém a algoritmus pro jeho řešení, které jsme na počítači vykonávali pomocí programů. Jako příklad uveďme

Více

NP-úplnost. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 23. května / 32

NP-úplnost. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 23. května / 32 NP-úplnost M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 23. května 2007 1/ 32 Rozhodovací problémy Definice Rozhodovací problém je takový, kde je množina možných výstupů dvouprvková

Více

Týden 14. Přednáška. Teoretická informatika průběh výuky v semestru 1. PSPACE, NPSPACE, PSPACE-úplnost

Týden 14. Přednáška. Teoretická informatika průběh výuky v semestru 1. PSPACE, NPSPACE, PSPACE-úplnost Teoretická informatika průběh výuky v semestru 1 Týden 14 Přednáška PSPACE, NPSPACE, PSPACE-úplnost Uvědomili jsme si nejprve, že např. pro zjištění toho, zda Bílý má nějakou strategii ve hře ŠACHY, která

Více

Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout

Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní graf má stromovou šířku nejvýše k, a je-li tomu tak, také vrátí příslušný stromový rozklad. Poznamenejme, že je-li k součástí vstupu,

Více

GRAFY A GRAFOVÉ ALGORITMY

GRAFY A GRAFOVÉ ALGORITMY KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO GRAFY A GRAFOVÉ ALGORITMY ARNOŠT VEČERKA VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ

Více

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ Abecedou se rozumí libovolná konečná množina Σ. Prvky abecedy nazýváme znaky (symboly) Slovo (řetězec) v nad abecedou Σ je libovolná konečná posloupnost znaků této abecedy. Prázdné posloupnosti znaků odpovídá

Více

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy... Polynomy Obsah Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1 Základní vlastnosti polynomů 2 1.1 Teorie........................................... 2 1.1.1 Zavedení polynomů................................

Více

Logaritmické a exponenciální funkce

Logaritmické a exponenciální funkce Kapitola 4 Logaritmické a exponenciální funkce V této kapitole se budeme zabývat exponenciálními a logaritmickými funkcemi. Uvedeme si definice vlastnosti a vztah mezi nimi. 4.1 Exponenciální funkce Exponenciální

Více

Výpočetní složitost I

Výpočetní složitost I Výpočetní složitost I prooborlogikanaffuk Petr Savický 1 Úvod Složitostí algoritmické úlohy se rozumí především její časová a paměťová náročnost při řešení na počítači. Časová náročnost se měří počtem

Více

Usuzování za neurčitosti

Usuzování za neurčitosti Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α 1. JAZYK ATEATIKY 1.1 nožiny nožina je souhrn objektů určitých vlastností, které chápeme jako celek. ZNAČENÍ. x A x A θ A = { { a, b a A = B A B 0, 1 2 a, a,..., a n x patří do množiny A x nepatří do množiny

Více

Složitost problémů. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 25. dubna / 23

Složitost problémů. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 25. dubna / 23 Složitost problémů Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 25. dubna 2012 1/ 23 Složitost problémů Ukazuje se, že různé(algoritmické) problémy jsou různě těžké. Obtížnější jsou ty problémy, k

Více

Matematika I (KMI/5MAT1)

Matematika I (KMI/5MAT1) Přednáška první aneb Úvod do algebry (opakování ze SŠ a možná i ZŠ) Seznámení s předmětem Osnova přednášky seznámení s předmětem množiny pojem množiny operace s množinami číselné obory intervaly mocniny

Více

Modely Herbrandovské interpretace

Modely Herbrandovské interpretace Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší

Více

7. Rozdělení pravděpodobnosti ve statistice

7. Rozdělení pravděpodobnosti ve statistice 7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,

Více

Fakulta informačních technologií. Teoretická informatika

Fakulta informačních technologií. Teoretická informatika Vysoké učení technické v Brně Fakulta informačních technologií Teoretická informatika Třetí úkol 2 Jan Trávníček . Tato úloha je řešena Turingovým strojem, který je zobrazen na obrázku, který si můžeme

Více

Kapitola Základní množinové pojmy Princip rovnosti. Dvě množiny S a T jsou si rovny (píšeme S = T ) prvek T je také prvkem S.

Kapitola Základní množinové pojmy Princip rovnosti. Dvě množiny S a T jsou si rovny (píšeme S = T ) prvek T je také prvkem S. 1 Kapitola 1 Množiny 11 Základní množinové pojmy Pojem množiny nedefinujeme, pouze připomínáme, že množina je souhrn, nebo soubor navzájem rozlišitelných objektů, kterým říkáme prvky 111 Princip rovnosti

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

Základy teorie množin

Základy teorie množin 1 Základy teorie množin Z minula: 1. Cantorovu větu (x P(x)) 2. základní vlastnosti disjunktního sjednocení, kartézského součinu a množinové mocniny (z hlediska relací, ) 3. vztah P(a) a 2 4. větu (2 a

Více

Přednáška 3: Limita a spojitost

Přednáška 3: Limita a spojitost 3 / 1 / 17, 1:38 Přednáška 3: Limita a spojitost Limita funkce Nejdříve je potřeba upřesnit pojmy, které přesněji popisují (topologickou) strukturu množiny reálných čísel, a to zejména pojem okolí 31 Definice

Více

2. Složitost, grafové algoritmy (zapsal Martin Koutecký)

2. Složitost, grafové algoritmy (zapsal Martin Koutecký) 2. Složitost, grafové algoritmy (zapsal Martin Koutecký) Model Ram Při analýze algoritmu bychom chtěli nějak popsat jeho složitost. Abychom mohli udělat toto, potřebujeme nejprve definovat výpočetní model.

Více

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Základy informatiky Teorie grafů Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Obsah přednášky Barvení mapy Teorie grafů Definice Uzly a hrany Typy grafů Cesty, cykly, souvislost grafů Barvení mapy

Více

Výroková a predikátová logika - VII

Výroková a predikátová logika - VII Výroková a predikátová logika - VII Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VII ZS 2013/2014 1 / 21 Sémantika PL Teorie Vlastnosti teorií Teorie

Více

Prohledávání do šířky = algoritmus vlny

Prohledávání do šířky = algoritmus vlny Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé

Více

Příklad z učebnice matematiky pro základní školu:

Příklad z učebnice matematiky pro základní školu: Příklad z učebnice matematiky pro základní školu: Součet trojnásobku neznámého čísla zvětšeného o dva a dvojnásobku neznámého čísla zmenšeného o pět se rovná čtyřnásobku neznámého čísla zvětšeného o jedna.

Více

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Algoritmus pro hledání nejkratší cesty orientovaným grafem 1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval

Více

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

NAIVNÍ TEORIE MNOŽIN, okruh č. 5 NAIVNÍ TEORIE MNOŽIN, okruh č. 5 Definování množiny a jejích prvků Množina je souhrn nějakých věcí. Patří-li věc do množiny X, říkáme, že v ní leží, že je jejím prvkem nebo že množina X tuto věc obsahuje.

Více

[1] Definice 1: Polynom je komplexní funkce p : C C, pro kterou. pro všechna x C. Čísla a 0, a 1,..., a n nazýváme koeficienty polynomu.

[1] Definice 1: Polynom je komplexní funkce p : C C, pro kterou. pro všechna x C. Čísla a 0, a 1,..., a n nazýváme koeficienty polynomu. Polynomy Polynom je možno definovat dvěma způsoby: jako reálnou nebo komplexní funkci, jejichž hodnoty jsou dány jistým vzorcem, jako ten vzorec samotný. [1] První způsob zavedení polynomu BI-LIN, polynomy,

Více

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:

Více

Časová složitost / Time complexity

Časová složitost / Time complexity Časová složitost / Time complexity Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2018 1 / 24 Složitost algoritmů Algorithm complexity Časová a paměťová složitost Trvání výpočtu v závislosti

Více

1 Řešení soustav lineárních rovnic

1 Řešení soustav lineárních rovnic 1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty

Více

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014 Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 204 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia

Více

AUTOMATY A GRAMATIKY

AUTOMATY A GRAMATIKY AUTOMATY A 1 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Stručný přehled přednášky Automaty Formální jazyky, operace

Více

Predikátová logika. Teoretická informatika Tomáš Foltýnek

Predikátová logika. Teoretická informatika Tomáš Foltýnek Predikátová logika Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz strana 2 Opakování z minulé přednášky Z čeho se skládá jazyk výrokové logiky? Jaká jsou schémata pro axiomy VL? Formulujte

Více

Pravděpodobnost a její vlastnosti

Pravděpodobnost a její vlastnosti Pravděpodobnost a její vlastnosti 1 Pravděpodobnost a její vlastnosti Náhodné jevy Náhodný jev je výsledek pokusu (tj. realizace určitého systému podmínek) a jeho charakteristickým rysem je, že může, ale

Více

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Úvod stránky předmětu: https://cw.felk.cvut.cz/doku.php/courses/a4b33alg/start cíle předmětu Cílem je schopnost samostatné implementace různých variant základních

Více

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 2/22 Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 4/22 Automaty a gramatiky(bi-aag)

Více

Požadavky k opravným zkouškám z matematiky školní rok 2014-2015

Požadavky k opravným zkouškám z matematiky školní rok 2014-2015 Požadavky k opravným zkouškám z matematiky školní rok 2014-2015 1. ročník (první pololetí, druhé pololetí) 1) Množiny. Číselné obory N, Z, Q, I, R. 2) Absolutní hodnota reálného čísla, intervaly. 3) Procenta,

Více

Výroková a predikátová logika - V

Výroková a predikátová logika - V Výroková a predikátová logika - V Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - V ZS 2015/2016 1 / 21 Dokazovací systémy VL Hilbertovský kalkul Hilbertovský

Více

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant Základy informatiky 07 Teorie grafů Kačmařík/Szturcová/Děrgel/Rapant Obsah přednášky barvení mapy teorie grafů definice uzly a hrany typy grafů cesty, cykly, souvislost grafů Barvení mapy Kolik barev je

Více

Výpočetní složitost algoritmů

Výpočetní složitost algoritmů Výpočetní složitost algoritmů Slajdy pro výuku na KS Ondřej Čepek Sylabus 1. Definice časové a prostorové složitosti algoritmů. Příklady na konkrétních algoritmech. Prostředky pro popis výpočetní složitosti

Více

Okruh č.3: Sémantický výklad predikátové logiky

Okruh č.3: Sémantický výklad predikátové logiky Okruh č.3: Sémantický výklad predikátové logiky Predikátová logika 1.řádu formalizuje úsudky o vlastnostech předmětů a vztazích mezi předměty pevně dané předmětné oblasti (univerza). Nebudeme se zabývat

Více

4.2 Syntaxe predikátové logiky

4.2 Syntaxe predikátové logiky 36 [070507-1501 ] 4.2 Syntaxe predikátové logiky V tomto oddíle zavedeme syntaxi predikátové logiky, tj. uvedeme pravidla, podle nichž se tvoří syntakticky správné formule predikátové logiky. Význam a

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška pátá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní

Více

1. Matematická logika

1. Matematická logika Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/07.0018 1. Matematická logika Základem každé vědy (tedy i matematiky i fyziky) je soubor jistých znalostí. To, co z těchto izolovaných poznatků

Více

Digitální učební materiál

Digitální učební materiál Digitální učební materiál Číslo projektu: CZ.1.07/1.5.00/34.0548 Název školy: Gymnázium, Trutnov, Jiráskovo náměstí 325 Název materiálu: VY_32_INOVACE_145_IVT Autor: Ing. Pavel Bezděk Tematický okruh:

Více

Zavedení a vlastnosti reálných čísel

Zavedení a vlastnosti reálných čísel Zavedení a vlastnosti reálných čísel jsou základním kamenem matematické analýzy. Konstrukce reálných čísel sice není náplní matematické analýzy, ale množina reálných čísel R je pro matematickou analýzu

Více

Množiny, relace, zobrazení

Množiny, relace, zobrazení Množiny, relace, zobrazení Množiny Množinou rozumíme každý soubor určitých objektů shrnutých v jeden celek. Zmíněné objekty pak nazýváme prvky dané množiny. Pojem množina je tedy synonymem pojmů typu soubor,

Více

YZTI - poznámky ke složitosti

YZTI - poznámky ke složitosti YZTI - poznámky ke složitosti LS 2018 Abstrakt Poznámky k přednášce YZTI zabývající se složitostí algoritmických problémů a teorií NP-úplnosti. Složitost algoritmu a problému Zabýváme se už pouze rekurzivními

Více

Datové struktury 2: Rozptylovací tabulky

Datové struktury 2: Rozptylovací tabulky Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy

Více

Elegantní algoritmus pro konstrukci sufixových polí

Elegantní algoritmus pro konstrukci sufixových polí Elegantní algoritmus pro konstrukci sufixových polí 22.10.2014 Zadání Obsah Zadání... 3 Definice... 3 Analýza problému... 4 Jednotlivé algoritmy... 4 Algoritmus SA1... 4 Algoritmus SA2... 5 Algoritmus

Více

Požadavky k opravným zkouškám z matematiky školní rok 2013-2014

Požadavky k opravným zkouškám z matematiky školní rok 2013-2014 Požadavky k opravným zkouškám z matematiky školní rok 2013-2014 1. ročník (první pololetí, druhé pololetí) 1) Množiny. Číselné obory N, Z, Q, I, R. 2) Absolutní hodnota reálného čísla, intervaly. 3) Procenta,

Více

Třída PTIME a třída NPTIME. NP-úplnost.

Třída PTIME a třída NPTIME. NP-úplnost. VAS - Přednáška 9 Úvod ke kursu. Složitost algoritmu. Model RAM. Odhady složitosti. Metoda rozděl a panuj. Greedy algoritmy. Metoda dynamického programování. Problémy, třídy složitosti problémů, horní

Více

1 Lineární prostory a podprostory

1 Lineární prostory a podprostory Lineární prostory a podprostory Přečtěte si: Učebnice AKLA, kapitola první, podkapitoly. až.4 včetně. Cvičení. Které z následujících množin jsou lineárními prostory s přirozenými definicemi operací?. C

Více