raději na přednáškách a cvičeních předkládal několik interpretací a ukazoval jsem, zda je změna interpretace podstatná.

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

Download "raději na přednáškách a cvičeních předkládal několik interpretací a ukazoval jsem, zda je změna interpretace podstatná."

Transkript

1 ! " #%$&(' )+*,.-/-10 Tento učební text začal vzniat v létě rou 1994, dy jsem poprvé přednášel Složitost a NP-úplnost. Přednáša byla inspirována především nihou [1] Structural Complexity I. Značnou část láty jsem taé samozřejmě převzal po Miro Křivánovi, terý tento předmět přednášel v předchozích letech. V roce 1995 jsem připsal apitolu Na hranici vyčíslitelnosti, porývající něteré státnicové otázy neporyté nihou Structural Complexity I. Tato apitola byla inspirována 12 apitolou nihy [2] Introduction to Automata Theory and Computing. Později bylo z této apitoly přesunuto translační lemma do apitoly Věty o hierarchii. Kromě toho jsem připsal apitolu Jiná interpretace..., terá je mým vlastním zobecněním pojmu nedeterministicého Turingova stroje omezeného časem. Toto zobecnění umožnilo popsat pravděpodobnostní třídy a později napřílad hry Artuše s Merlinem stejným jazyem. V roce 1996 jsem se zabýval především sepisováním disertace, terá měla s uvedenou přednášou málo společného. Přesto dyž se e mně donesla informace o vylepšení prostorové věty o hierarchii i pro nedeterministicé stroje, neváhal jsem tuto větu připsat. Obdobně jsem postupoval s větou o nedeterministicé časové simulaci a hodlám ta postupovat i nadále. V roce 1997 jsem dále rozvinul pojem typ Turingova stroje a onečně jsem připsal i apitoly týající se Booleovsých obvodů a P-log-úplnosti. Nyní v roce 1998 jsem poprvé odpřednášel důaz Blumovy věty o zrychlení. Zároveň mne to donutilo dopsat důaz až do once. To s sebou neslo potřebu stanovit odhady multipliativních onstant ja ve větách o simulacích, ta ve větě o počtu onfigurací. Blumova věta o zrychlení byl poslední velý obsahový nedostate, terý jsem si uvědomoval. K dopsání sript nyní již zbývá jediné definovat záladní pojmy, tedy to, co jsem dosud nechával raději na ústní projev. Důvodem je, že jsem se pooušel uvedené pojmy nezaonzervovat. Tyto pojmy se totiž s časem vyvíjí, aždý autor je má definovány nepatrně jina. Z výladu by mělo být poznat, co je záladním neměnným principem. Kvůli možným odlišnostem jsem raději na přednášách a cvičeních předládal něoli interpretací a uazoval jsem, zda je změna interpretace podstatná. Záladní pojmy jsou taé v pozdějších přednášách drobně doplňovány (oráula, jiná interpretace... ). Nemyslím si, že je tato schizofrenie na šodu. Myslím si, že dobrý programátor by měl ovládat principy programování, ale neměl by být úzce vázán na jeden onrétní procesor/programovací jazy/výpočetní model. V Jílovém u Prahy dne 16.dubna 1998 Vladan Majerech Cílem přednášy Složitost a NP-úplnost je popsat hranice toho, co je na počítačích možno počítat. Na rozdíl od přednášy Vyčíslitelnost nás zajímá, co je možno počítat při daném časovém nebo prostorovém omezení. V první polovině přednášy se zabýváme vztahy mezi třídami jazyů definovaných na záladě taovýchto omezení. V druhé polovině se zabýváme možnostmi rozšíření výpočetního modelu, obecnějšími třídami jazyů a nejtěžšími jazyy v taových třídách. Pojem nejtěžšího jazya nám něolirát pomůže doázat totožnost různým způsobem definovaných tříd. Koncenzem je, že rozumným časovým omezením je libovolný polynom ve veliosti zadání. V přednášce se zabýváme tím, am až můžeme při taovém omezení rozšířit naše výpočetní možnosti, stačí-li nám výslede s malou pravděpodobností chyby. Jiným směrem rozšiřování výpočetního modelu je paralelní programování. Za rozumné časové omezení při paralelním programování je považován polynom logaritmu veliosti vstupu. Tento text se paralelismu pouze orajově dotýá apitolami o Booleovsých obvodech. Poud jste nědy pracovali s rozsáhlými databázemi, pa se Vám nejspíš časové omezní polynomiální ve veliosti dat zdá příliš velé. Taovéto problémy jsou ale zcela mimo rámec této přednášy. Důležité při jejich řešení je udržování vhodné dynamicé datové strutury. Rozumným časovým omezením pro odpověď dynamicé datové strutury je polynom logaritmu veliosti reprezentovaných dat. (2. června 1998) 1

2 :9 1 Připomenutí pojmů (29. září 1997) Turingův stroj Porovnávání funcí Simulace, univerzální stroje (15. dubna 1998) 2 3 Konstruovatelnost funcí (29. června 1997) 5 4 Záladní věty o třídách časově/prostorově omezených výpočtů (15. dubna 1998) 7 5 Věty o hierarchii (29. září 1997) 9 6 Na hranici vyčíslitelnosti (16. dubna 1998) 11 7 Záladní třídy složitosti (28. větna 1998) 13 8 Transformace, reduce a oráula (28. větna 1998) 14 9 Jiná interpretace průběhu nedeterministicého výpočtu omezeného časem (6. července 1997) Třídy definované pomocí? -TS pracujících v polynomiálním čase (29. dubna 1998) Polynomiální hierarchie (29. září 1997) Uázy T -m-poly-úplných problémů (30. září 1997) Přirozené m-úplné problémy (formule) Další PSpace-m-Poly-úplné problémy ;(<>=@?A7:B C:36DFE:=GIH V 1 Simulace posunů na pásce p Vztahy mezi pravděpodobnostními třídami Převod vantifiované formule na grafovou hru 24 4 Konec převodu vantifiované formule na rovinnou grafovou hru Párování, rozmísťování věží a rozlad grafu na cyly Převod #VP na #orientovaných HK a na #rozladů na cyly delší než Nahrazení Turingova stroje Booleovsým obvodem Převod CVP na lexmin z maximálních v inluzi nezávislých množin Převod CVP na lexmin z v inluzi maximálních cest v orientovaném grafu ;(<>=@?A7:B JLKNMOC:DQPSRQBUT W V 1 Funce Access Simulace? -TS Algoritmus vyhodnocující QBF PXRF<>DQ7YR DQ7[Z [1] J. L. Balcázar, J. Díaz, J. Gabarró: Structural Complexity I, Springer-Verlag Berlin Heidelberg New Yor London Paris Toyo 1988 [2] Hopcroft, Ullmann Introduction to Automata Theory and Computing, ISBN X 13 Třída #P, #P úplné úlohy (12. srpna 1997) Důvěřuj, ale prověřuj (2. června 1998) ? -TS a interativní protooly MIP, oráulum jao doazovatel Booleovsé obvody, P/poly, Paralelismus (28. větna 1998) Rádcovsé funce Veliost booleovsých obvodů Hlouba booleovsých obvodů Paralelismus P-m-log-úplnost (28. větna 1998) Přílady P-m-log úplných problémů (2. června 1998) i

3 \ ]!^ V R8c[_Ced8BfH ^ c \ jojmno 1.1 Turingův stroj V této apitole by měl být definován Turingův stroj, čtenáře odazuji na literaturu (José Luis Balcázar, Josep Díaz, Joaquim Gabarró Structural Complexity I). Turing Machine Upozorňuji též na jiné výpočetní modely (RAM, Pointer machine). Měl by být definován vícepásový (případně nedeterministicý) Turingův stroj. Není přesně specifiován výslede výpočtu, ale měl by být podrobně vysvětlen průběh výpočtu. Konfigurace Turingova stroje Na aždé pásce souvislý úse symbolů pásové abecedy, jinde blan, na aždé pásce buď jedna nebo více hlav (poud to dovolíme) uvnitř či na raji úseu. Stav řídící jednoty. (Stav výstupních páse není součástí onfigurace.) Displej Obsah políče pod hlavama vstupních a pracovních páse, stav řídící jednoty. Kro Obsah políče, terý bude zapsán pod hlavy pracovních a výstupních páse, informace am se pohnou jednotlivé hlavy TS, změna stavu řídící jednoty. Přechodová funce Na záladě displeje TS určí ro TS (mnohoznačné pro nedeterministicé TS). Výpočet Provádění roů vybíraných na záladě displeje pomocí přechodové funce. Měl by být definován čas Turingova stroje a prostor Turingova stroje. (Prostor je určen pouze pracovníma pásama, nebo-li pásama, teré jsou read/write!) U nedeterministicého TS je problém s interpretací výsledu výpočtu. Problém je způsoben možnou nejednoznačností výsledu. Proto necháváme nedeterministicé TS odpovídat pouze ANO/NE, s tím, že v případě různých odpvědí má přednost odpověď ANO. g O(f) r > 0 n g(n) < rf(n) g o(f) r > 0 n g(n) < rf(n) g Ω (f) r > 0 n g(n) > rf(n) g ω(f) r > 0 n g(n) > rf(n) g Θ(f) r 1, r 2 > 0 n r 1 f(n) g(n) r 2 f(n) O(F ) = O(f) f F o(f ) = o(f) f F Ω (F ) = Ω (f) f F ω(f ) = ω(f) f F Θ(F ) = Θ(f) f F Množinu všech funcí můžeme zapsat následovně: O(F ) ω(f ) = O(F ) ω(f ) = o(f ) Ω (F ) = o(f ) Ω (F ) Poznáma 1.1 Tyto problémy s definicí jsou podobné problémům paralelních výpočtů. Mohli bychom napřílad nechat TS vydat složitější výslede za podmíny, že všechny větve výpočtu vydají tentýž výslede. Mohli bychom definovat jao výslede výpočtu nejmenší číslo vydané nějaou větví výpočtu. ( Největší číslo by nemuselo být definované). Zvolené řešení přináší nejmenší množství problémů. U nedeterministicého TS je čas/prostor odhadnut minimálním nutným časem/prostorem, terý umožňuje správný závěr. (Poud je výslede ANO, stačí čas/prostor nejnenáročnější větve výpočtu vedoucí ANO. Poud je výslede NE, je potřeba čas/prostor nejnáročnější větve výpočtu.) 1.2 Porovnávání funcí Následující symbolia je používána vyjádření asymptoticých porovnání funcí. Symbol znamená až na onečně mnoho vyjíme (od určitého n 0 ). Symbol znamená existuje neonečně mnoho. (Ta ja se neguje výraz s pomocí, ta se neguje výraz s pomocí.) (2. června 1998) 1 (29. září 1997)

4 h ;ppqb V K`7:r<ts V?uP`vI<@DQ=wEKN?[cu5xRQDyCYdx<zg \Y{ lm V 36?A7 \ jojo}~o Věta 2.1 (Věta o lineární ompresi) Nechť r je ladné celé číslo. Pro libovolný TS pracující v prostoru s(n) můžeme sestrojit TS pracující v prostoru právě s(n)/r. Důaz: Na aždé pracovní pásce bude jedno políčo obsahovat r políče původní abecedy. Věta 2.2 (Věta o lineárním zrychlení) Nechť r je ladné celé číslo. Pro libovolný TS pracující v čase t(n) můžeme sestrojit TS pracující v čase právě n + n/r + 6 t/r. Důaz: Oopírujeme vstupní pásy na pracovní pásy jejichž jedno políčo obsahuje r políče původní abecedy. Poté pracujeme na zahuštěných pracovních pásách. Nyní jsme schopni r roů původního TS odsimulovat ze znalostí tří políče v oolí hlavy aždé zahuštěné pásy. Jejich přečtení a modifiaci můžeme provést na 6 roů (tzv. tanečem). Čas n + n/r potřebujeme na zopírování vstupních páse na pracovní pásy a na přesun na začáte pracovních páse. (Nejhorší je případ jediné vstupní pásy.) Věta 2.4 (2. o simulaci) Libovolný TSs jednou hlavou na aždé pásce, pracující v čase t a prostoru s, je možno nahradit TS stejného typu s dvěma pracovníma pásama, pracujícím v čase t = O(t log s) a prostoru s = O(s). Důaz: Největší potíže působí fat, že simulovaný TS může mít libovolně velý počet pracovních páse. Nutně budeme muset na nějaé pásce simulovat větší počet pracovních páse. Označme si tuto pásu p 0. Vzhledem tomu, že simulaci jednoho rou TS potřebujeme znát obsahy políče pod hlavama na všech pásách, nemůžeme si dovolit vůli simulaci jednoho rou jezdit po pásce p 0 políčům, de se hlavy nachází. (Potom by simulace jednoho rou mohla trvat i s.) Strategie, terá nám umožní simulaci v čase menším než t s, musí udržovat hlavu pásy p 0 téměř na místě a posuny na pásách simulovat posunem obsahu pásy p 0 opačným směrem. Popíšeme, ja je simulován posun hlavy na jedné pásce. Je-li páse, pa stejnou simulaci děláme rát na rát tlustší pásce. Poznáma 2.1 Je-li s(n) prostor spotřebovaný původním TS, pa prostor spotřebovaný nově vytvořeným TS je nejvýš ( n + + s(n) ) /r +, de je počet vstupních a pracovních páse, pomocí něhož můžeme odhadnout zaorouhlovací chyby. Důslede Vzhledem předchozí větě je pro čas t > > (1+ε)n evivalentní, zda je možno provést výpočet v čase t nebo v čase O(t). Pro libovolné s je evivalentní, zda je možno výpočet provést v prostoru s nebo O(s). Poznáma 2.2 Typem TS budeme rozumnět, zda se jedná o deterministicý či nedeterministicý TS. Později rozšíříme možnosti interpretace výsledu výpočtu TS. Turingovy stroje různých typů se liší případnou víceznačností přechodové funce. Typ TS rozhoduje, ja je interpretován výslede výpočtu na záladě výsledu výpočtu jednotlivých poračování. Přesněji je interpretace závislá na typu jednotlivých stavů TS. Typ TS určuje, jaé typy stavů se v průběhu výpočtu mohou vysytovat. Věta 2.3 (1. o simulaci) Libovolný TS pracující v čase t a prostoru s je možno nahradit TS stejného typu s jednou pracovní pásou pracujícím v čase O(t s) a prostoru O(s). Důaz: Do jednoho políča pracovní pásy uložíme obsahy příslušného políča aždé pracovní pásy původního TS. Navíc si v políču poznamenáme pro aždou pásu, zda hlava (případně teré hlavy) stojí na příslušném políču. Abychom zjistili obsahy políče pod jednotlivými hlavami, musíme projet celou pásu. Totéž musíme provést při úpravě obsahu páse a při posunu hlav. Na simulaci jednoho rou nám stačí čas O(s). Poznáma 2.3 Věta umožňuje simulaci i pro stroje s více hlavama na jedné pásce. Obr. 1: Simulace posunů na pásce p 0 Pásu p 0 rozdělíme na bloy. Blo B i (i Z) může obsahovat 0, 2 i 1 nebo 2 i symbolů simulované pásy. Vždy bloy B i a B i obsahují dohromady 2 i prvů. Dále je dodržováno pravidlo, že v blocích s menšími čísly jsou uchovávány levější symboly pásy. Pro udržování hranic (a půlhranic ) bloů je potřeba přidat pásce p 0 synchronizační stopu. Značy synchronizační stopy je možno bez časových ztrát dynamicy doplňovat vždy, dyž se pracuje s nově nejvzdálenějším bloem od blou B 0. Druhou pásu používáme jao pomocný prostor tomu, abychom se vůli přesunům bloů na pásce p 0 nemuseli vracet. c c c c (2. června 1998) 2 (15. dubna 1998)

5 Při odhadu celového času simulace jedné pásy si stačí uvědomit, že práce s bloem B ±i vynucuje pravidelné zaplnění (2 j 1 prvů) bloů i + 1,..., i 1. Proto s bloem B ±i pracujeme nejvýš jednou za 2 i 1 roů simulace. Tento ro simulace potom trvá s pomocnou pásou čas 2 i +2. Celový čas simulace můžeme poté odhadnout součtem přes všechny bloy a všech páse. Dostáváme ta odhad 1+ log s t i=0 2 i +2 t 2 i 1 1+ log s 8t = O(t log s). Poznáma 2.4 Vstupní/výstupní abeceda není podstatná z hledisa simulace, ale simulující stroj je musí mít stejné jao stroj simulovaný. Stejně ta není podstatný počet vstupních/výstupních páse. V přesné formulaci věty o universálním TS by měly být uvedeny i tyto sutečnosti. V následující větě je tato sutečnost souhrně nazvána charaterem vstupu/výstupu. Universálnímu stroji je nutno předat program (přechodovou funci) simulovaného stroje. Tento program je možno předat na přídavé vstupní pásce. Potom ale universální stroj nebude stejného charateru vstupu/výstupu (a nebudeme moci simulovat universální stroj tímtéž universálním strojem). Jinou možností je vybrat vstupní pásu s aspoň dvouznaovou abecedou a zaódovat na ní se vstupem simulovaného stroje zároveň program simulovaného stroje (zdvojíme symboly a jao oddělovač popisu stroje a jeho vstupu použijeme dvojici různých symbolů). To, že existuje vstupní pása s aspoň dvouznaovou abecedou nazveme netriviálním charaterem vstupu/výstupu. Věta 2.5 (1. o univerzálních TS) Pro libovolný netriviální charater vstupu/výstupu a libovolný typ TS existuje univerzální TS daného charateru vstupu/výstupu a typu, umožňující simulovat průběh výpočtu libovolného TS daného charateru vstupu/výstupu a typu. Pro vztah mezi časovými nároy t (prostorovými nároy s) univerzálního U a simulovaného S TS platí: s U (n) c s S (s S(n) + 1), t U (n) c t S t S(n) (t S (n) + c t S ), de cs S 4 S a ct S 4 S pro S značící délu zápisu programu simulovaného stroje. Věta 2.6 (2. o univerzálních TS) Pro libovolný charater vstupu/výstupu a libovolný typ TS existuje univerzální TS daného charateru vstupu/výstupu a typu, umožňující simulovat průběh výpočtu libovolného TS daného charateru vstupu/výstupu a typu s jednou hlavou na aždé pásce. Pro vztah mezi časovými nároy t (prostorovými nároy s) univerzálního U a simulovaného S TS platí: s U (n) c s S (s S (n)+1), t U (n) c t S t S(n)(log t S (n)+2), de c s S 4 S a c t S 8 S 2, de S značící délu zápisu programu simulovaného stroje. Důaz: (obou vět) Univerzální TS musí umět simulovat libovolný TS. Problémy více páse vyřešíme jao v předchozích větách. Všímavý čtenář mne v tuto chvíli upozorní, že šířa pásy p 0 je onstantní, a my bychom chtěli, aby byla široá, pro libovolný počet pracovních páse. Toto vyřešíme společně s problémem, že abecedy pracovních páse simulovaných TS můžou být libovolně velié. i=0 Řešením je ódovat symboly pásy p 0 v dvojové soustavě. Je-li s počet políče nejvíce popsané pásy a u počet políče pásy p 0 nutných zaódování jednoho políča všech páse (plus zaódování přítomnosti jednotlivých hlav na políču v případě simulace podle 1. věty o simulaci resp. zaódování synchronizační stopy v případě simulace podle 2. věty), pa je potřeba 2s u (resp. 4s u) políče pásy p 0 při simulaci podle 1. (resp. 2.) věty o simulaci. Uvědomme si, že popisu přechodové funce simulovaného stroje potřebujeme zápis obsahující zaódování něolia displejů a roů simulovaného stroje. K zaódování jednoho displeje a rou potřebujeme dvarát zaódovat symbol aždé pracovní pásy tedy více než u bitů. Odtud u < S. Posledním problémem je, že simulovaný TS může mít libovolně velou množinu vnitřních stavů a libovolnou přechodovou funci. To nám nebude vadit, použijeme pásu reprezentující přechodovou funci a pásu, na níž bude zaznamenán atuální stav simulovaného TS. Tím se nám potřebný prostor zvětší pouze o onstantu nejvýš 2 S. Při odhadu onstanty c t S musíme postupovat opatrně. Simulaci aždého rou stroje S můžeme rozdělit do tří částí. 1. Zapsání displeje na pomocnou pásu. 2. Volba poračování na záladě přechodové funce. 3. Zápisy na pásy a posuny hlav. První a třetí ro provedeme obdobně jao v příslušné větě o simulaci. Druhý ro spočívá ve vyhledání displeje v přechodové funci (v seznamu dvojic (displej,ro)). Při vhodném ódování přechodové funce je možno tento ro provést v čase 4 S. Uvědomme si, že při simulaci nedeterministicého stroje můžeme o použití vhodného rou nedeterministicy rozhodnout. Odhad času 1. a 3. roů je proveden ve větách o simulaci. Nyní jej upřesníme. Při použití první věty o simulaci potřebujeme opsání displeje čas nejvýš 2s u (déla pásy p 0 ). K zápisu potřebujeme navíc čas pro posuny q pracovních hlav. Pro posuny q < S pracovních hlav v průběhu zápisu nového obsahu políče pod hlavama stačí navíc čas 2qu. Na 1. a 3. roy simulace tedy potřebujeme celem nejvýš (4s u + + 2qu) t S roů. Po přičtení času za 2. roy dostáváme (4s u + 2qu + 4 S )t S. Po úpravě (díy s < t S ) dostáváme čas (4s u + 2qu + 4 S )t S 4 S t 2 S + (2 S S )t S < < 4 S t S (t S + 4 S ). Při použití druhé věty o simulaci opíšeme obsah políče pod jednotlivýma hlavama v čase 2u, protože jej udržujeme na jednom místě pásy p 0. Na 1. a 3. roy simulace potřebujeme celem nejvýš ( 2u + 8u(1 + log s ) ) t S. Po přičtení času za 2. roy dostáváme (4 S + 2u + + 8u(1 + log s ) ) t S. Po úpravě díy s < t S a u, < < S dostáváme čas nejvýš (6 S + 8 S 2 (1 + log t S ))t S < < 8 S 2 t S (log t S + 2). Poznáma 2.5 Komprimací pracovních páse jsme ve větách o universálních strojích schopni snížit multipliativní onstanty. Ta zísáme odhad t U(n) S (t S(n) + S ) 2, s U(n) S (s S(n) + 1) pro stroje s více hlavama na jedné pásce. Obdobně zísáme odhad t U(n) S 2 t S(log t S + 1), s U(n) S (s S(n) + 1) pro simulaci strojů s jednou hlavou na aždé pásce. (2. června 1998) 3 (15. dubna 1998)

6 Věta 2.7 (O nedeterministicé časové simulaci) Každý NTS (později -TS nebo -TS) pracující v čase t je možno nahradit TS stejného typu s dvěma pracovníma pásama pracujícím v čase O(t). (Nový stroj bude přijímat tentýž jazy). Důaz: Nový stroj na první pásce uhodne t displejů a roů původního stroje. K tomu potřebuje čas (a prostor) O(t). Poté nový stroj s pomocí druhé pásy postupně pro jednotlivé pásy (deterministicy) ontroluje, zda vždy displej odpovídá dosud provedeným roům původního stroje. (Na druhé pásce potřebuje mít nový stroj toli hlav, oli je maximálně hlav na jedné pásce původního stroje.) Pro aždou pásu toto ověří v čase O(t). Vzhledem e onstantnímu (na vstupu nezávislém) počtu páse původního stroje je celový čas ověření toho, že byl uhodnut výpočet TS roven O(t). Jde-li o -TS, pa zamítáme, poud nebyl uhodnut výpočet. Jde-li o -TS, pa přijímáme, poud nebyl uhodnut výpočet. Poud byl uhodnut výpočet, přijímáme, poud je poslední display přijímací. Poznáma 2.6 Pro -TS a -TS je možno pomocí předchozí věty vytvořit universální TS pracující v čase t U(n) S 2 (t S(n) + 1). Zároveň tím ztratíme odhad prostorové složitosti. (2. června 1998) 4 (15. dubna 1998)

7 CI?5 R8D V C@v:7tR8<K?[C5 R ƒ V?G:r c&g \ jojmn:o Definice 3.1 Funce f : N N je časově onstruovatelná, poud existuje (deterministicý!) TS, terý se pro aždý vstup dély n zastaví v čase f(n). Definice 3.2 Funce f : N N je prostorově onstruovatelná, poud existuje (deterministicý!) TS, terý pro aždý vstup dély n použije právě prostor f(n). Věta 3.1 Jsou-li f 1 + f 2, f 2 časově onstruovatelné funce a platí-li f 1 (n) > n ε > 0 n f 1 (n) εf 2 (n) + (1 + ε)n, potom je i f 1 časově onstruovatelná. Důaz: Nechť M 1 je TS pracující v čase právě f 1 + f 2. Nechť M 2 je TS pracující v čase právě f 2. Budeme onstruovat stroj M r, terý by měl pracovat v čase právě f 1. Naší snahou je odečíst čas f 2. Jediné, čeho můžeme použít, je věta o zrychlení. Urychlíme výpočet M 1. V zrychleném režimu M 1 odsimulujeme jen toli roů, abychom výpočet urychlili o f 2. Poté již necháme M 1 doběhnout nezrychleně. Nechť r > 6 je vhodné přirozené číslo. (Volbou r se budeme zabývat později.) V první fázi M r zahustí vstup na tři pásy. Na první pásce bude urychlován TS M 1, na druhé bude urychlován TS M 2 a třetí pása slouží odstranění počátečního zpoždění M 1. Na první pásu je vstup zahuštěn r-rát, na druhou a třetí pásu (r 6)-rát. V průběhu první fáze počítá M r modulo r 6, poud fáze neončí v čase dělitelném r 6, provede M r něoli (nejvýš r 5) roů ta, aby fáze sončila v čase dělitelném r 6. Čas první fáze je tedy přesně (r 6) n r 6 V druhé fázi je M 1 urychlován na první pásce po dobu 6 ( n/(r 6) + 1) roů. Počet roů je ontrolován posuny na třetí pásce. Za tuto dobu vyoná urychlený M 1 r ( n/(r 6) + 1) roů. Čas prvních dvou fází je přesně (r 6) n r n + 6 = r r 6 n + 6. r 6 Dosud bylo odsimulováno r n/(r 6) + r roů M 1. Ve třetí fázi počáme r 6 roů. Tím jsme dosáhli toho, že v průběhu prvních tří fází jsme odsimulovali stejný počet roů M 1, jaý jsme spotřebovali čas. Ve čtvrté fázi simulujeme M 2 na druhé pásce a souběžně poračujeme v simulaci M 1 na pásce první. Stroj M 2 se nemusí zastavit přesně na onci taneču. Proto je stroj M r informován o tom, oli roů ( < r 6) stroje M 2 chybělo doončení taneču. Vyčáním = (r 6) f 2 (n)/(r 6) f 2 (n) roů zaončíme čtvrtou fázi. Doba trvání čtvrté fáze je 6 f 2 (n)/(r 6) +. V průběhu čtvrté fáze je provedeno r f 2 (n)/(r 6) roů M 1. Stroj M 1 je tedy ve čtvrté fázi urychlen o f2 (n) (r 6) = f 2 (n) r 6 roů. V páté fázi je na první pásce stroj M 1 dosimulován již nezrychlovaně. Celový čas výpočtu stroje M r je tedy (f f 2 ) f 2 = f 1. Ještě je třeba ověřit, že je možno zvolit taové r, aby simulace stroje M 1 nesončila v průběhu prvních čtyř fází. K tomu je potřeba, aby ( n (f 1 + f 2 )(n) > r r 6 Odhadněme ( ) n r r r 6 ) r f2 (n) 3r + r 6 Z předpoladu věty pro vhodné ε > 0 platí n f 1 (n) εf 2 (n) + (1 + ε)n. f2 (n). r 6 r r 6 (f 2(n) + n). Zvolíme-li r ta, aby r/(r 6) < 1 + ε, pa n 3r + r r 6 (f 2(n) + n) < (1 + ε)(f 2 (n) + n). Odtud dostáváme požadovaný odhad n (f 1 + f 2 )(n) (1 + ε)(f 2 (n) + n) > > 3r + r ( ) n r 6 (f 2(n) + n) r r r 6 Konečně mnoho výjime je ošetřeno zvlášť. f2 (n). r 6 Věta 3.2 Poud ε > 0 n f(n) (1 + ε)n, pa f je časově onstruovatelná, právě dyž je vyčíslitelná v čase O(f). Důaz: Je-li f časově onstruovatelná, pa ji můžeme použít jao časové počítadlo a psát 1 na výstupní pásu, doud počítadlo počítá. Naopa, označíme g(n) přesný čas TS M, terý funci f počítá v čase O(f(n)). (Tedy n g(n) < cf(n) pro vhodné c.) Časová onstruovatelnost funce f plyne z věty 3.1. Funce g je totiž časem TS M, funce f + g je časem TS, terý po dopočítání stroje M spočítá počet 1 na pásce. Uážeme ještě existenci vhodného ε. Nechť ε 1, ε 2 a ε 3 jsou ladná reálná čísla taová, že Potom n f(n) (1 + ε 1 ) n (1 ε 2 )(1 + ε 1 ) > 1 ε 3 = min{ε 2 /c, (1 ε 2 )(1 + ε 1 ) 1} n f(n) = ε 2 f(n) + (1 ε 2 ) f(n) > > (ε 2 /c) g(n) + (1 ε 2 )(1 + ε 1 )n ε 3 g(n) + (1 + ε 3 )n. (2. června 1998) 5 (29. června 1997)

8 Přílad 3.1 Funce n, n!, c n, 2 n, n log n, n log n jsou časově onstruovatelné. Věta 3.3 Funce f je prostorově onstruovatelná, právě dyž je vyčíslitelná v prostoru O(f). Důaz: Stačí použít větu o ompresi. Důslede Každá časově onstruovatelná funce je prostorově onstruovatelná. Přílad 3.2 Funce log n je prostorově onstruovatelná. Věta 3.4 Je-li f reurzívní funce, pa existuje časově onstruovatelná funce g, terá je všude větší než f (neboli n g(n) > f(n)). Důaz: Nechť M je TS, terý pro vstup 1 n dává výstup 1 f(n). Nechť M je TS, terý pro vstup x dává výstup 1 x. Nechť M je TS vznilý spojením M a M. (M pracuje na výstupu M.) Označme g(n) čas stroje M strávený na vstupu dély n. Z onstruce g vyplývá, že g je časově onstruovatelná a větší než f. (2. června 1998) 6 (29. června 1997)

9 ˆ EOGpKN7 A?AcpvIŠ RŒ bczr ^ cn všyž>_adqct5xr8ctdqc@v:š C~B < =<@?O prq9 v( (_ac~ R8H g \Y{ lo V 36?A7 \ jojo}~o Omezíme se v dalším na Turingovy stroje, jejichž hlavy na vstupních pásách nemohou přejet první symbol blan. Jina by možné polohy hlav na vstupních pásách ovlivnily počet různých onfigurací TS. Dále se omezíme na Turingovy stroje s jednou hlavou na aždé pásce. Bez omezení by se třídy DSpace(s) a NSpace(s) nezměnily, ale mohly by být jiné třídy DTime(t) a NTime(t). Definice 4.1 DTime(t), DSpace(s), NTime(t), NSpace(s). Věta 4.1 Počet různých onfigurací teré mohou být dosaženy v průběhu výpočtu TS v prostoru s(n) log n je nejvýš 2 O(s). Poznáma 4.1 Stav výstupních páse není součástí onfigurace, stav vstupních páse se až na polohy hlav nemění. Důaz: Dosažitelných onfigurací je nejvýš (n 1 + 1) (n 2 + 1) (n i + 1) Σ s(n) Q s(n), de n = n 1 + n n i je déla vstupu (n j jsou dély vstupu jednotlivých vstupních páse), Σ je abeceda páse, je počet pracovních páse a Q je množina vnitřních stavů. Výraz můžeme popsat tvarem n O(1) O(1) s(n) s(n) O(1) O(1) = n O(1) O(1) s(n). Za předpoladu s(n) log n pa dostáváme n O(1) O(1) s(n) = O(1) s(n) = 2 O(s(n)). Poznáma 4.2 Je-li δ déla popisu přechodové funce stroje M přeódovaného do binární abecedy, pa počet možných onfigurací v prostoru s(n) je nejvýš 2 δ (s(n)+log n+log s(n)+1). Věta 4.2 Ke aždému TS pracujícímu v prostoru s(n) log n, de s je prostorově onstruovatená funce, existuje TS pracující ve stejném prostoru, terý se vždy zastaví. Důaz: Daný TS může mít nejvýš 2 O(s(n)) různých onfigurací. Stačí přidat počítadlo do 2 O(s(n)) a při dosažení počítadla výpočet zarazit. (Počítadlo potřebuje prostor O(s(n)), použijeme větu o ompresi.) Poznáma 4.3 Předchozí věta platí i v případě, dy máme zajištěno, že TS pracuje v omezeném prostoru s log n. Přesnou veliost prostoru předem znát nemusíme. (Zda se TS zacylí, testujeme pomocí časového počítadla veliosti, terou zvětšujeme s tím, oli prostoru TS doposud spotřeboval.) Poznáma 4.4 Podle předchozí poznámy pro prostorově onstruovatelnou funci s log n existuje deterministicý TS, terý spotřebuje prostor s a zastaví se. Věta 4.3 Je-li t(n) > n časově onstruovatelná a s(n) log(n) prostorově onstruovatelná, potom D... (f) N... (f) NTime(t) DSpace(t) NSpace(s) DTime(2 O(s) ) Důaz: První vztah je triviální vzhledem tomu, že deterministicý TS můžeme chápat jao speciální případ nedeterministicého TS. K důazu platnosti druhého vztahu si stačí uvědomit, že víceznačnou přechodovou funci TS můžeme nahradit funcí nejvýš dvojznačnou (případně právě dvojznačnou). Samozřejmě vůli tomu musíme zvětšit stavový prostor TS. Výpočetní čas se taé onstanta rát prodlouží. Nyní stačí přidat pásu dély O(t) obsahující nuly a jedničy. Simulující TS se v aždém tatu posune po přidané pásce a podle symbolu na pásce vybere příslušnou větev výpočtu. Stačí nám tedy prostor O(t). Podle věty o ompresi stačí t. Možných onfigurací TS pracujícího v prostoru s je 2 O(s). Daný TS můžeme upravit ta, aby měl jednoznačnou oncovou onfiguraci a aby stále ještě pracoval v prostoru s. Nejprve popíšeme princip simulace v čase 2 O(s). Simulace ve sutečnosti zjišťuje, zda existuje průchod grafem možných onfigurací od počáteční e oncové onfiguraci. Graf onfigurací TS obsahuje onfigurace jao vrcholy. Hrany vedou z onfigurace α do onfigurace β, právě dyž přechodová funce TS umožňuje v jednom rou přejít z onfigurace α do onfigurace β. Uvědomte si, že stupně vrcholů grafu jsou omezeny onstantou. (Konfigurace β se od onfigurace α může lišit pouze stavem a loálním oolím hlav.) Pro simulaci si opět přidáme pomocnou pásu, sloužící označování již dosažených vrcholů. Na tuto pásu zapíšeme 1 na -té políčo v případě, že -tá onfigurace je dosažitelná z počáteční onfigurace. Konfiguraci budeme chápat jao binární zápis svého čísla. Použijeme-li na graf onfigurací prohledávání do hlouby, musíme ještě odsimulovat zásobní vrcholů (na další přidané pásce). Jedna operace se zásobníem nás bude stát čas O(s). Zjištění, zda byl vrchol již zpracován, nás stojí čas 2 O(s). Pro celový čas průchodu grafem onfigurací do hlouby dostáváme čas O(N O(s) + +M 2 O(s) ), de N resp. M je počet vrcholů resp. hran grafu onfigurací. Po dosazení N = 2 O(s), M = 2 O(s) dostáváme N O(s) + M 2 O(s) = 2 O(s) O(s) + 2 O(s) 2 O(s) = 2 O(s). Poznáma 4.5 Při důazu druhého tvrzení jsme mohli využít přidané pásy s dostatečně velou abecedou, abychom poryli libovolně velý nedeterminismus daného TS. Tím bychom vynechali fázi převodu na TS s dvojznačnou přechodovou funcí. Věta 4.4 (Savitch) Je-li s(n) log n prostorově onstruovatelná funce, pa NSpace(s) DSpace(s 2 ) Důaz: K důazu Savitchovy věty použijeme opět odhad počtu možných onfigurací TS. Tento počet (p = 2 O(s) ) je horním odhadem času nejrychlejšího výpočtu. Popis algoritmu se asi zjednodušší, zavedeme-li proceduru (funci) Access 2 (α, β), terá vydá true, právě dyž je onfigurace β dosažitelná z onfigurace α v nejvýš 2 rocích. (2. června 1998) 7 (15. dubna 1998)

10 procedure Access(, α, β); var γ : Konfigurace; begin if = 0 then Access = (α = β) or Next(α, β) else begin Access := false; for γ Konfigurace do if Access( 1, α, γ) and Access( 1, γ, β) then Access := true end end Alg. 1: Funce Access 2 Veliost loálních proměnných funce je O(s) a funce Access 2 ( > 0) volá pouze funci Access 2 1. Funce Access 2 0 žádné funce nevolá. Prostor potřebný pro funci Access 2 včetně reurentně log p volaných funcí je tedy O(s). Proto Access 2 vyžaduje prostor O(s) O(s) = O(s 2 ). Na závěr je třeba si uvědomit, že při simulaci na TS si vystačíme se stejným prostorem. Poznáma 4.6 Předpolad s(n) log n byl využit odhadu počtu různých onfigurací. Konstruovatelnost je potřeba tomu, abychom mohli naaloovat místo pro proměnné. (2. června 1998) 8 (15. dubna 1998)

11 { Š RŒ C 9PN<>Dy7D8rF9AP P&gihjAl~=@E ^ c \ jojmno Věta 5.1 Jsou-li s, s prostorově onstruovatelné funce, s ω(s) a s (n) log n, pa existuje jazy v třídě DSpace(s ) \ DSpace(s) Důaz: K důazu je použita tzv. diagonální metoda. Definujeme jazy L následovně: 1 0x L právě dyž x óduje DTS, DTS x nepřijme 1 0x v prostoru s a universální TS provede simulaci v prostoru s. Nejprve uážeme, že L je z DSpace(s ). Ze vstupu 1 0x jsme schopni vygenerovat výstup (1 0x x) s onstantním pracovním prostorem. Universální TS provede simulaci na vstupu (1 0x x) v prostoru s. K doončení první části důazu potřebujeme tri (terý budeme později používat u transformací v logaritmicém prostoru). Problém je v tom, že může být x > s ( 1 0x ), taže nemáme dost pracovního prostoru, abychom zaznamenali celý vstup universálního TS. Místo toho si pamatujeme pouze polohy hlav na vstupních pásách universálního TS. Poaždé, dy potřebujeme znát obsah políča vstupní pásy universálního TS, spustíme znovu algoritmus generující vstup a čeáme, až bude vygenerováno příslušné políčo. Ostatní symboly vstupní pásy nás v tuto chvíli nezajímají. (Potřebujeme tomu pomocné počítadlo až do dély vstupní pásy.) Celem nám simulaci universálního TS stačí pracovní prostor O(1) + 2 log( 1 0x ) + 2 log( x ) + s = O(s (n)). Podle věty o ompresi nám stačí prostor s (n). V druhé části důazu uážeme, že L není z DSpace(s). Nechť y je DTS rozpoznávající L v prostoru s. Podle věty o simulaci universální TS simuluje DTS y v prostoru c y s. Protože s ω(s), existuje n > 1 + y, pro nějž c y s < s. Pro slovo 1 n y 1 0y má universální TS dost prostoru na to, aby provedl celou simulaci. Algoritmus tedy slovo 1 n y 1 0y přijme, právě dyž jej TS y nepřijme. TS y tedy nepřijímá jazy L. Věta 5.2 Jsou-li t, t časově onstruovatelné funce a t ω(t log t) a ε > 0 t (1+ε)n, pa existuje jazy v třídě DTime(t ) \ DTime(t) Důaz: K důazu je opět použita diagonální metoda. Definujeme jazy L následovně: 1 0x L právě dyž x óduje DTS, DTS x nepřijme 1 0x v čase t a universální TS provede simulaci v čase t. Důaz příslušnosti L do DTime(t ) je nyní jednodušší. V čase O( 1 0x ) připravíme vstup (1 0x x) universálnímu TS a spustíme jej. Čas spotřebovaný algoritmem je O( 1 0x ) + t = O(t ), a protože t > (1 + ε)n, stačí nám podle věty o zrychlení čas t. Důaz druhé části je obdobný jao v předchozí větě. Jediný rozdíl je v tom, že pracuje-li TS y v čase t, pa universální TS odsimuluje TS y v čase c y t log t. Poznáma 5.1 Potřebovali jsme zde to, že na aždé pásce je jediná hlava! Věta 5.3 Jsou-li s, s prostorově onstruovatelné funce, s ω(s) a s (n) log n, pa existuje jazy v třídě NSpace(s ) \ NSpace(s) Důaz: Důaz by byl úplně stejný, jao důaz hierarchicé věty pro DSpace, poud bychom uměli univerzálním strojem v prostoru c x s x ( y ) nedeterministicy testovat, zda NTS x nepřijme vstup y. To je garantováno následující větou. Věta 5.4 Pro prostorově onstruovatelnou funci s(n) log n existuje funce co, terou je možno vyčíslit deterministicy, s následující vlastností: Je-li L jazy rozpoznávaný pomocí NTS x v prostoru s, pa jazy co L je rozpoznávaný pomocí NTS co(x) v prostoru s. (x L def x co L) Důaz: NTS co(x) bude pracovat ve fázích. V i-té fázi spočítá počet p(i) dosažitelných onfigurací stroje NTS x v čase nejvýš i (zároveň testuje zda je mezi nimi přijímací onfigurace). Poud je mezi nimi přijímací onfigurace, výpočet stroje NTS co(x) ončí zamítnutím. Ve chvíli, dy p(i) = p(i+1) a žádná (dosud) dosažitelná onfigurace není přijímací, stroj NTS co(x) přijme. Zbývá uázat, ja na záladě p(i) NTS co(x) zjistí, zda daná onfigurace α je či není dosažitelná v čase i + 1. K tomu stačí projít všechny onfigurace β j (j = 1... p = = 2 O (s)) a p(i) rát uhodnout, že onfigurace γ = = β j ( = 1... p(i) < p) je dosažitelná v čase nejvýš i. Pro aždou tato uhodnutou onfiguraci γ je třeba nejvýš i rát uhodnout předcházející onfiguraci δ l (l = = 1... i i), abychom zontrolovali, že onfigurace je sutečně dosažitelná. Poud ontrola selže, tato větev výpočtu zamítá. Je-li nyní α dosažitelná v nejvýš jednom rou z γ, je α dosažitelná v čase nejvýš i. Poud není α dosažitelná v nejvýš jednom rou z γ, poračuje výpočet dalším j. Je-li na onci cylu < p(i), tato větev výpočtu zamítá. Je-li na onci cylu = p(i) a α nebyla dosažitelná v nejvýš jednom rou z žádné z onfigurací γ, pa α není dosažitelná v čase nejvýš i. Uvedený test buď ončí zamítnutím (nesprávně uhodnutá větev výpočtu), nebo odpovědí ANO, nebo odpovědí NE. Test nemůže odpovědět nesprávně. NTS co(x) spočítá p(i + 1) průchodem všech onfigurací α m (m = 1,..., p). Pro aždou onfiguraci otestujeme na záladě p(i), zda je dosažitelná v čase i + 1. Za aždou odpověď ANO zvýší počítadlo (předtím vša testujeme, zda se jedná o onfiguraci přijímací). Prostorové nároy stroje NTS co(x) jsou následující: Je-li p počet onfigurací NTS x, pa i, p(i), p(i + 1), j,, l, m p = = 2 O(s). Zvolíme-li dostatečně velou abecedu pracovních páse, stačí nám na zaódování čísel i, p(i) a p(i + 1) a onfigurací α m, β j, γ, δ l prostor s. Konstruce stroje NTS co(x) byla popsána algoritmicy. (2. června 1998) 9 (29. září 1997)

12 Translační lemma Translační lemma je založeno na principu anglicy zvaném padding. Tento princip bude popsán následující větou. Definice 5.1 Pro funci f(n) > n a jazy L definujeme jazy L f následovně: L f def = { 1 0x x L x = f( x ) } (Slovo odpovídající slovu x má délu f( x )). Věta 5.5 (Prodlužovací časová) Nechť f(n) je časově onstruovatelná funce větší než n + 1 a g(n) je časově onstruovatelná funce větší než (1 + ε)n pro nějaé ε > > 0. Pa L DTime(g(f(n))) L f DTime(g(n)) a obdobně L NTime(g(f(n))) L f NTime(g(n)). Věta 5.6 (Prodlužovací prostorová) Nechť f(n), g(n) jsou prostorově onstruovatelné funce větší než n. Pa L DSpace(g(f(n))) L f DSpace(g(n)) a obdobně L NSpace(g(f(n))) L f NSpace(g(n)). Důaz: Mějme algoritmus s nároy g(f(n)) rozpoznávající L. Zda y L f? můžeme rozhodnout následujícím algoritmem: Nejprve zontrolujeme, že y je tvaru 1 0x. Dále zontrolujeme, že + x + 1 = f( x ). K tomu potřebujeme náro veliosti y (generujeme f( x ) a poud výslede přesáhne y, zamítáme). Poté zontrolujeme s nároem g(f( x )) = g( y ), že x L. Použitím věty o lineárním zrychlení resp. o lineární ompresi vytvoříme algoritmus s nároy g(n) rozpoznávající L f. Mějme naopa algoritmus s nároy g(n) rozpoznávající L f. Zda x L? můžeme rozhodnout následujícím algoritmem: Nejprve vygenerujeme y ve tvaru 1 f( x ) x 1 0x. K tomu potřebujeme náro veliosti O(f( x )). Poté zontrolujeme, s nároem g( y ) = g(f( x )), že y L f. Použitím věty o lineárním zrychlení resp. o lineární ompresi vytvoříme algoritmus s nároy g(f(n)) rozpoznávající L. Věta 5.7 (Translační lemma časová formulace) Nechť t 1, t 2, f jsou časově onstruovatelné funce, nechť f(n) > n+1, a ε > 0 t 1 (n), t 2 (n) > (1 + ε)n, pa a podobně DTime(t 1 (n)) DTime(t 2 (n)) DTime(t 1 (f(n))) DTime(t 2 (f(n))) NTime(t 1 (n)) NTime(t 2 (n)) NTime(t 1 (f(n))) NTime(t 2 (f(n))) Důaz: Nechť A DTime(t 1 (f(n))). Podle prodlužovací věty je A f DTime(t 1 (n)). Z předpoladu impliace pa A f DTime(t 2 (n)). Opět z prodlužovací věty dostáváme A DTime(t 2 (f(n))). Stejně pro NTime. Poznáma 5.2 Vzhledem hierarchicým větám pro ( šœ a A šœ ztrácí prostorová formulace translačního lemmatu na významu. Stejný důaz jao časová formulace translačního lemmatu má následující prostorová formulace: Věta 5.8 (Translační lemma prostorová formulace) Nechť s 1, s 2, f jsou prostorově onstruovatelné funce, nechť f(n), s 1 (n), s 2 (n) > n, pa a podobně DSpace(s 1 (n)) DSpace(s 2 (n)) DSpace(s 1 (f(n))) DSpace(s 2 (f(n))) NSpace(s 1 (n)) NSpace(s 2 (n)) NSpace(s 1 (f(n))) NSpace(s 2 (f(n))) Silnější tvrzení dostaneme, poud se nebudeme opírat o prodlužovací lemma. V předpoladech nepotřebujeme s 1 (n), s 2 (n) > n. Stačí s 2 (n) > log n a s 2 (f(n)) prostorově onstruovatelná. Důaz: Důaz provedeme zároveň pro deterministicou i nedeterministicou formulaci. Typ stroje totiž nebude v důazu hrát žádnou roli. V důazu použijeme místo jazya L f jazy L 2 definovaný na záladě stroje M 1 rozpoznávajícího L 1 v prostoru s 1 (f(n)) L 2 = {x01 M 1 přijme x v prostoru nejvýš s 1 ( x )} Stroj M 2 rozpoznávající L 2 vytvoříme následovně: Vytvoříme modifiaci M 1 stroje M 1, terá má jedinou jednostrannou pracovní pásu, a pracuje v nejvýš ta velém prostoru jao M 1. Pro y na vstupu M 2 nejprve označí s 1 ( y ) políče pásy (s 1 onstruovatelná), pa M 2 simuluje M 1 a přijme dané slovo, jen poud M 1 přijal pouze s použitím označených políče. Zřejmě M 2 pracuje v prostoru s 1 (n), taže L 2 je možno rozpoznat v prostoru s 1 (n) a podle předpoladu impliace taé v prostoru s 2 (n). Nechť M 3 rozpoznává L 2 v prostoru s 2 (n). Vytvoříme stroj M 4 rozpoznávající jazy L 1 následovně: Použijeme modifiaci M 3 stroje M 3, taovou, že stroj M 3 se pro aždý vstup zastaví. M 4 bude simulovat M 3 postupně na vstupech x01 i pro i = 0, 1,.... Kdyoli je čtecí hlava stroje M 3 uvnitř x, je hlava M 4 na odpovídajícím místě. Je-li vša hlava M 3 napravo od x, M 4 používá počítadla evidenci její polohy. Déla počítadla je nejvýš 1 + log i. Poud M 3 přijme, pa M 4 přijme. Jina M 4 zvětší i, poud počítadlo nepřesáhne s 2 (f(n)) políče pásy. Ve chvíli, dy počítadlo přesáhne s 2 (f(n)) políče pásy, M 4 odmítne. Nyní jestliže M 4 přijal x, ta M 3 přijal pro nějaé i vstup x01 i, tedy x01 i L 2 a M 1 přijme x, tedy x L 1. Jestliže naopa x L 1, pa x01 i L 2 pro i = f( x ) x 1. Počítadlo na i potřebuje log(f( x ) x 1) s 2 (f( x )) prostoru. Cvičení 5.1 Doažte, že DTime(2 n ) DTime(n2 n ). (Použijte translační lemma pro f = 2 n a f = n + 2 n.) (2. června 1998) 10 (29. září 1997)

13 ž Ÿ 7f9uDy7O?APNrPAv( [ cn5xknp`rx<@k`?ct5xrxp g \ ž l~ V 3u?7 \ jojo}~o Definice 6.1 Funce f : N N {?} je částečně reurzivní, poud existuje (deterministicý) Turingův stroj M, terý se pro vstup 1 n zastaví, právě dyž je f(n) N. Poud se M zastaví, pa vydá výstup 1 f(n). Definice 6.2 Částečně reurzivní funce f : N N je totální (reurzivní). Definice 6.3 Jazy L je reurzivně spočetný, poud existuje (deterministicý) Turingův stroj, terý se pro vstup x zastaví, právě dyž x L. Definice 6.4 Jazy L je reurzivní, poud existuje (deterministicý) Turingův stroj, terý se vždy zastaví a pro vstup x L vydá odpověď ANO. Mějme universální stroj U simulující všechny deterministicé Turingovy stroje (s jednou vstupní pásou nad abecedou {0,1}). Nechť {T M } =0 je posloupnost Turingových strojů odpovídající vstupům universálního stroje U. (Pro něterá nemusí být T M Turingův stroj, ovšem v posloupnosti se všechny Turingovy stroje vysytují.) Definice 6.5 Je-li T M deterministicý Turingův stroj, označme s (n) N jeho prostor a L jazy jím rozpoznávaný. Lemma 6.1 Existuje TSM, terý pro vstup, n, m rozhodne, zda T M je deterministicý Turingův stroj a zda s (n) m. Stroj M rozhodnutí potřebuje prostor s M n + (m + log n + 1) log. Důaz: Vytvoříme stroj M modifiací universálního stroje. Stoj M nejprve zontroluje, zda óduje přechodovou funci, a poté pro aždý vstup dély n provedeme simulaci v prostoru m, (přidáním hodin do počtu onfigurací stroje T M zajistí onečnost výpočtu). Na hodiny potřebujeme podle poznámy 4.2 prostor log (m+log n+log m+1). Na simulaci stačí prostor log m, navíc potřebujeme prostor n pro generování všech vstupů dély n. Požadovaný stroj M vytvoříme ze stroje M na záladě věty o lineární opresi. Lemma 6.2 (O onečném počtu výjime) Nechť L je libovolný jazy. Pro aždé a n 0 existuje K ta, že je-li T M deterministicý Turingův stroj, je i T M K deterministicý Turingův stroj, navíc pro x > n 0 platí x L K x L a pro x n 0 platí x L K x L. Dále pro n > n 0 je s K (n) = s (n) a pro n n 0 je s K (n) = 1. Důaz: Pro libovolný onečný jazy existuje onečný automat, terý jej rozpoznává. Turingův stroj T M K necháme pro vstupy delší než n 0 pracovat jao stroj T M. Pro vstupy dély nejvýš n 0 použijeme onečný automat rozpoznávající jazy L {0, 1} n0. K rozvětvení potřebujeme přidat do řídící jednoty počítadlo do n 0 a na začátu výpočtu ověřit, zda vstup je/není delší než n 0. (Poud do zpotřebovaného protoru TS počítáme i stání na políču blan bez snahy zapisovat, musíme vycházet z jednopásového stroje přijímajícího jazy L v prostoru s.) Věta 6.3 (Borodinova o mezerách) Nechť g(n) > n je totální reurzivní funce, pa existuje totální reurzivní funce s(n) taová, že DSpace(s(n)) = DSpace(g(s(n))). Důaz: Pro aždé m definujeme s(m) 1 na záladě s 1 (m),..., s m (m). Zajistíme, aby žádné z s (m) = = 1,..., m nepadlo do intervalu (s(m), g(s(m)). Je-li pa L DSpace(g(s(n))), pa, jeliož pro n platí s (n) g(s(n)) s (n) s(n), je s (n) s(n) pro n. Podle lemmatu o onečném počtu výjíme existuje K ta, že L K = L a s K (n) { s (n) s(n) pro n > 1 s(n) pro n, tedy L DSpace(s(n)). Uvedenou podmínu zajistíme napřílad následovně: Postupně volíme s z posloupnosti 1, g(1), g(g(1)),... a vždy testujeme, zda m platí (s (m) s s (m) g(s)). Když je podmína poprvé splněna, zvolíme s(m) = = s. Protože g(n) > n, aždé může zabránit splnění podmíny nejvýš jednou a podmína je splněna pro něteré s {g (i) (1)} m i=0. Poznáma 6.1 (modifiovaná věta o mezerách) Je-li navíc zadána reurzivní funce f, můžeme v Borodinově větě o mezerách požadovat s(n) f(n). Stačí totiž volit s z posloupnosti f(n), g(f(n)), g(g(f(n))),.... Důslede Poud v modifiované větě o mezerách g(n) O(n) je prostorově onstruovatelná, pa s při požadavu s(n) > log n není prostorově onstruovatelná. Důaz: Poud by byla s(n) prostorově onstruovatelná, byla by i g(s(n)) O(s(n)) prostorově onstruovatelná. Navíc s(n), g(s(n)) > log n. Podle věty o hierarchii pa ale DSpace(s(n)) DSpace(g(s(n))). Věta 6.4 (Blumova o zrychlení) Nechť r je totální reurzivní funce, pa existuje reurzívní jazy L taový, že L i = = L jl j = L nr(s j (n)) s i (n). Důaz: Nejprve si uvědomme, že bez újmy na všeobecnosti můžeme předpoládat, že r je nelesající prostorově onstruovatelná funce a r(n) n 2. (Nechť r (n) je déla nejvíce popsané pásy při výpočtu r(1), r(2),..., r(n), n 2.) Definujme funci h následovně: h(1) = 2, h(n) = r(h(n 1)). (Všimněme si, že h(n) 2 2n 1.) Poud se nám podaří definovat jazy L 0 splňující následující dvě podmíny, bude důaz u once: 1) L = L n s (n) h(n ) (2. června 1998) 11 (16. dubna 1998)

14 2) j L j = L s j (n) h(n ) Stačí potom totiž v první podmínce zvolit := i a v druhé := i + 1. Dostáváme ta r(s j (n)) r(h(n i 1)) = = h(n i) n s i (n). Pro aždé n vybereme nejvýš jeden prostorově nenáročný Turingův stroj a zajistíme, aby nerozpoznával jazy L. Tento stroj T M σ(n) je zvolen ta, aby σ(n) bylo nejmenší i n taové, že s i (n) < h(n i) a i < n σ(i ) i. Aby Turingův stroj T M σ(n) nerozpoznával jazy L, přidáme do L slovo 0 n, právě dyž 0 n L σ(n). Poud σ(n) není definováno, pa do L slovo 0 n nepřidáme. Řeneme, že T M σ(n) byl zrušen slovem dély n. Existenční důaz první podmíny: Existuje n 0 > taové, že j < platí σ(n) = j n < n 0. Potom vša pro n > n 0 je s (n) h(n ), nebo je T M zrušen slovem dély nejvýš n. Je-li vša L = L, pa T M nemůže být nidy zrušen. Důaz druhé podmíny: Rozmysleme si nejprve, co musí T M j znát rozhodnutí, zda slovo 0 n L. 1 Poud existuje i = σ(n), je potřeba jej znát a zjistit, zda T M i přijme 0 n nebo ne. 2 K zjištění, že i = σ(n) potřebujeme zjistit, že s i (n) < < h(n i), že T M i nebyl zrušen ratšími slovy a že žádné i < i nemá taovou vlastnost. Algoritmus přijímající L může pracovat ta, že postupně pro aždé m najde σ(m) a poznamená si jej do seznamu zrušených strojů. Aby vša algoritmus zjistil, zda s i (n) < < h(n i), potřebuje pro provedení simulace prostor s M (i, n) = n + (h(n i) + log n + 1) log i. T M j ale smí použít prostor nejvýš h(n ). Protože s M (i, n) > h(n i), T M j nesmí simulovat stroje T M i pro i. Řešením je zvolit n 0 obdobně jao v důazu první podmíny a onečně mnoho případů pro n < n 0 vyřešit v onečné jednotce. Číslo n 0 zvolíme ta, aby navíc platilo 2 2n 0 2 > n 0 > 64 (tím zaručíme h(n 1) > n a (1 + log n) log n < n pro n n 0 ). Navíc je potřeba mít v onečné jednotce seznam všech zrušených strojů pro slova ratší než n 0. Algoritmus pa musí budovat seznam zrušených strojů až od m > n 0, nemusí přitom simulovat stroje T M i pro i. Pro prostor s M (i, m) potřebný na simulaci pro n m > > n 0 a m i > platí s M (i, m) < n + (h(n 1) + + log n + 1) log n < 2n + h(n 1) log n < 2n + h(n 1)(n 1) < 2h(n 1) + h(n 1) (h(n 1) 2) = h(n 1) 2 r(h(n 1)) = h(n ). Seznam zrušených strojů je dlouhý n log n < n 2 < h(n 1) 2 r(h(n 1)) = h(n ). Stroj T M j vznine z popsaného stroje použitím věty o lineární ompresi. (2. června 1998) 12 (16. dubna 1998)

15 n EOGpKN7 A?Ac(R ^ cn 58K R8P&gih:}[lmGpvIŠ R8?[7 \ jojo}io Definice 7.1 Log = DSpace(log n) NLog = NSpace(log n) PolyLog = DSpace(log i n) i 0 P = DTime(n i ) i 0 Definice 7.3 LogSpaceF = DSpaceF(log n) PF = DTimeF (n i ) i 0 PSpaceF = DSpaceF (n i ) i 0 NP = i 0 NTime(n i ) PSpace = i 0 DSpace(n i ) NPSpace = i 0 NSpace(n i ) DExT = c 0 DTime(2 cn ) NExT = c 0 NTime(2 cn ) ExpSpace = DSpace(2 cn ) c 0 ExPTime = DTime ( 2 nc) c 0 NExPTime = NTime ( 2 nc) c 0 Poznáma 7.1 V názvu 8 se nevysytuje písmeno, zatímco v názvu m Q ä ano. V prvním případě se v exponentu nevysytuje polynom, zatímco v druhém ano. Výsyt úvodního písmene zdůrazňujícího determinismus je taé nesystematicé. Poněud divné je to ª šœ, de by člově předpoládal polynom v exponentu. Uvedené značení odpovídá značení z [1]. U větších tříd je ve značení nejednotnost. Proto dyž napřílad nědo cizí mluví o exponenciálním čase, je vždy lepší se zeptat, zda je myslena třída «Q «(2 O(n) ) nebo spíš a Q ä (2 no(1) ). Toto byly definice tříd problémů (jazyů). Pro deterministicé Turingovy stroje je užitečné definovat třídy úloh (funcí). Definice 7.2 Úloha f patří do třídy úloh DTimeF(t), poud existuje deterministicý Turingův stroj, terý pro libovolný vstup x spočítá f(x) v čase t. Úloha f patří do třídy úloh DSpaceF(s), poud existuje deterministicý Turingův stroj, terý pro libovolný vstup x spočítá f(x) s pracovním prostorem s. Stejně ta ja odlišuje závěrečné F třídy úloh od tříd problémů (jazyů) v předcházejících definicích, budeme tuto onvenci používat i u odvozených (deterministicých) tříd. Definujme proto napřílad (2. června 1998) 13 (28. větna 1998)

16 } &Dy7O?[5 ƒ CDQB 7rw<:sODy<> V Grw< 7 CODyEOG V KN7 gih:}[lmgpviš R8?[7 \ jijo}~o Úmluva 8.1 V této apitole budeme psát o úlohách, i dyž se tato apitola povětšině týá především problémů. Při definici úplných (těžých) úloh vůči nějaé třídě úloh jsme v úvodu do složitosti používali polynomiálních transformací. Definice těžosti vůči nějaé třídě úloh byla motivována snahou nalézt taovou úlohu U, aby existence polynomiálního algoritmu pro úlohu U znamenala existenci polynomiálního algoritmu pro libovolnou úlohu z dané třídy. Z tohoto pohledu je nepřirozené definovat těžost na záladě transformací, protože transformace umožňují spustit výpočet úlohy U pouze jednou. Přirozenější je umožnit spouštět během polynomiálně dlouhého výpočtu výpočet úlohy U libovolně. Tomu se říá reduce. Chceme li definovat těžost pomocí reducí, je užitečné rozšířit si výpočetní model o používání tzv. oráula. Oráulum je nějaá daná funce (úloha) O. Výpočetní model je rozšířen o pomocný prostor na vytváření parametrů pro oráulum a na čtení výsledů oráula. Kdyoli během výpočtu můžeme požádat oráulum, aby si přečetlo parametry a zapsalo výslede funce (úlohy) O. z terminologie vyčíslitelnosti. Ve vyčíslitelnosti je definována taé one to one převeditelnost, označovaná znaem 1, nicméně tu my potřebovat nebudeme. Poznáma 8.3 Později definujeme převeditelnost transformací v logaritmicém meziprostoru. Těžé (úplné) úlohy vůči této převeditelnosti budeme značit T -m-log-těžé (úplné). Rozdíl mezi transformacemi a reducemi je podstatný. Napřílad T -stupně (třídy uzavřené na reduci) obsahují s aždým jazyem i jeho doplňe. (Stačí znegovat odpověď oráula.) Poud budeme hovořit o výpočtech používajících oráulum, budeme používat zápisu P(O), označení třídy jazyů rozpoznávaných v polynomiálním čase s oráulem O. Obdobně budeme značit PSpace(O) nebo NP(O). Poznáma 8.1 Vzhledem tomu, že oráulum může být libovolná funce, můžeme při volbě vhodného oráula pracovat ve velmi silném výpočetním modelu. Toho se často využívá ve vyčíslitelnosti. V těchto sriptech jsou oráula použita dvěma způsoby. Poprvé v apitole věnované polynomiální hierarchii, později v druhé seci apitoly věnované interativním protoolům. V prvním případě jsou oráula problémy, a místo pásy pro odpověď přechází stroj do stavu O-ANO případně O-NE. V druhém případě jsou oráula úlohy. Je vhodné si uvědomit, že oba dva modely jsou evivalentní máme-li dispozici libovolný polynomiální čas. (Je možno použít sérii dotazů Je odpověď úlohového oráula na otázu x aspoň i-bitová?, Je i-tý bit odpovědi úlohového oráula na otázu x roven 1?.) Těžost můžeme pomocí reducí (orául) definovat následovně: Definice 8.1 Úloha U je T -těžá vůči polynomiální reduci, poud je aždá úloha z T řešitelná v polynomiálním čase s oráulem U. Definice 8.2 Úloha U je T -úplná vůči reduci, poud je U T a U je T -těžá vůči reduci. Abychom rozlišili mezi těžostí vůči reduci od těžosti vůči transformaci, budeme v dalším značit T -m-polytěžost (úplnost), bude-li se jednat o těžost (úplnost) vůči polynomiální transformaci. Těžost (úplnost) vůči polynomiální reduci budeme značit T -T-Poly-těžost (úplnost). Poznáma 8.2 Písmeno m vychází z many to one, písmeno T vychází z Turing reducibility. Toto značení je přejato (2. června 1998) 14 (28. větna 1998)

17 j ±~P?E²P?IRF<>DQ_D8<R87rw</_uDyH3aŠ9 V?u<> <R8< DQB PN?[PN5 (_acm R V CIB g ž \ jijmn:o V této apitole obohatíme struturu nedeterministicého počítače tím, že rozdělíme stavy onečné jednoty do 4 významově odlišných supin. V první supině budou tzv. existenční stavy, v druhé tzv. všeobecné stavy, ve třetí tzv. náhodné stavy. Čtvrtou supinou jsou deterministicé stavy, mezi něž patří všechny speciální oncové stavy ANO, NE a NEVÍM, ale taé stavy DOTAZ, O-ANO a O-NE, sloužící na práci s oráuly. Formálně t : Q {D,,,?} je funce přiřazující stavům Turingova stroje jejich typ. Definice 9.1 Jazy L A přijímaný obohaceným TS M, (tato obohacený TS budeme značit? -TS), definujeme následovně: O výsledu výpočtu (zda je slovo x přijato, odmítnuto, nebo není známa odpověď) v čase T (n) rozhoduje strom výpočtů M na vstupu x, omezený časem T (n). (T (n) je časově onstruovatelná.) S větví výpočtu, terý nesončil v čase T (n), zacházíme jao s výpočtem ončícím ve stavu NEVÍM. (Dodáním počítadla do T (n) můžeme M upravit ta, že M při dopočítání počítadla do stavu NEVÍM přejde.) Výslede výpočtu ν je definován pro aždý uzel u stromu výpočtů na záladě typu stavu s u? -TS v uzlu u a na záladě výsledů výpočtu v jednotlivých následnících v 1, v 2,..., v tohoto uzlu. Výslede výpočtu je trojice ν(u) = (a u, r u, q u ) 0, 1 3, de a u reprezentuje pravděpodobnost přijetí, r u pravděpodobnost zamítnutí a q u pravděpodobnost, že algoritmus nedá odpověď. (Vždy platí a u + r u + q u = 1.) Výslede výpočtu v uzlu reprezentujícím oncový stav je (1, 0, 0) pro ANO, (0, 1, 0) pro NE a (0, 0, 1) pro NEVÍM. Výslede výpočtu v uzlu reprezentujícím existenční stav je (t(s u ) = ) ν(u) = (max a vi, min r vi, 1 a u r u ). Výslede výpočtu v uzlu reprezentujícím všeobecný stav je (t(s u ) = ) ν(u) = (min a vi, max r vi, 1 a u r u ). Výslede výpočtu v uzlu reprezentujícím náhodný stav je (t(s u ) =?) ν(u) = ( p i a vi, i=1 p i r vi, i=1 p i q vi ), de p i je pravděpodobnost přechodu do následnía v i. Výslede výpočtu v uzlu reprezentujícím deterministicý stav je definován výsledem výpočtu jediného následnía ν(u) = ν(v 1 ), čemuž odpovídá chápání deterministicého stavu jao stavu libovolného typu s jediným následníem. Na záladě ν v ořeni ρ stromu výpočtu definujeme jazyy L A a L R : i=1 x L A a ρ > 1 2, x LR r ρ > 1 2. Pro jednoduchost se omezíme na taové? -TS, de aždý nedeterministicý (rozuměj existenční, všeobecný nebo náhodný) stav má (nejvýš) dva následníy, a de tito následníci jsou u náhodných stavů stejně pravděpodobní. Poznáma 9.1 Uvědomme si vztah mezi NTS a? -TS. NTS můžeme chápat jao -TS, tedy i jao? -TS, v němž jsou pouze existenční (a deterministicé) stavy. Definice 9.2 Pravděpodobnost chyby e M (x)? -TS M, je definována jao r ρ (x) pro x L A a jao a ρ (x) pro x L R. Poud x L A L R, pa e M (x) = 0. Pravděpodobnost neurčenosti E M (x)? -TS M, je definována jao 1 a ρ (x) pro x L A a jao 1 r ρ (x) pro x L R. Poud x L A L R, pa E M (x) = 1. Poznáma 9.2 Věta 9.1 ale uazuje, že můžeme pracovat s taovými? -TS, pro něž je E(x) = e(x). (Nutně pa aždé x patří právě do jednoho z jazyů L A, L R.) Definice 9.3 Typ je orientovaný graf, jehož vrcholy jsou ohodnoceny podmnožinami množiny {,,?}. (Formálně typ je trojice (V, E, f), de V je onečná množina, E V V a f : V P({,,?}).) Turingův stroj M je strojem daného typu T (zráceně M je T -TS), poud existuje zobrazení τ : Q V zobrazující stavy Turingova stroje na příslušné vrcholy typu. (Formálně t(q) f(τ(q)) {D}.) Navíc poud přechodová funce umožňuje přejít v jednom rou ze stavu q do stavu q, pa stavům q, q odpovídá tentýž vrchol typu, nebo je vrchol odpovídající stavu q spojen hranou s vrcholem odpovídajícím stavu q. (Formálně τ(q) = τ(q ) (τ(q), τ(q )) E.) Poznáma 9.3 Symbolem značíme typ obsahující jediný vrchol, na nějž mohou být zobrazovány pouze deterministicé stavy. -TS je totéž co TS. Poznáma 9.4 Je-li typ T podtypem (příslušně ohodnoceným podgrafem) typu T, pa aždý stroj typu T je strojem typu T. Poznáma 9.5 Dosud jsme se zmiňovali pouze o Turingových strojích typů, obsahujících jediný vrchol. V apitole věnované polynomiální hierarchii nás budou zajímat Turingovy stroje typů, jejichž graf je cesta. Definice 9.4 Dva typy jsou evivalentní, poud pro libovolný stroj jednoho typu existuje stroj druhého typu přijímající tentýž jazy v čase onstantarát větším. Cvičení 9.1 Nechť T je typ. Uažte, že existuje evivalentní typ T = (V, E, f), de (V, E) je acylicý graf s jediným zdrojem a s jediným stoem. Uažte, že libovolný stroj typu T je možno za cenu zpomalení o onstantu simulovat strojem typu T, de pro τ platí, že počáteční stav je zobrazen na zdroj typu T a všechny oncové stavy jsou zobrazeny na sto typu T. (2. června 1998) 15 (6. července 1997)

18 Definice 9.5 Nechť T 1, T 2 jsou acylicé typy, aždý s jediným zdrojem a stoem. Spojení typů (označíme symbolem T 1 T 2 ) vznine sjednocením typů T 1 a T 2 a přidáním hrany ze stou typu T 1 do zdroje typu T 2. Formálně, je-li s 1 sto typu T 1 = (V 1, E 1, f 1 ) a z 2 zdroj typu T 2 = (V 2, E 2, f 2 ), pa T 1 T 2 je trojice (V 1 V 2, E 1 E 2 {(s 1, z 2 )}, f), de f(v) = f 1 (v) pro v V 1 a f(v) = f 2 (v) pro v V 2. Poznáma 9.6 Uvědomme si, že spojení typů je asociativní. Symbol je typ. Poznáma 9.7 Typy T a T a T jsou evivalentní. Poud nás nezajímají typy, ale pouze jejich třídy evivalence, je nulový prve vůči sládání typů. Věta 9.1 Nechť t je časově onstruovatelná funce a T typ. Je-li L jazy přijímaný T -TS M v čase t, potom existuje taový T -TS M, přijímající jazy L v čase O(t), že pro libovolný vstup x platí E M (x) = e M (x) < 1 2. Důaz: Stroj M nejprve modifiujeme na M 1 ta, že stavy NEVÍM nahradíme stavy NE. (V čase t přejdeme též do stavu NE místo do NEVÍM.) Po této modifiaci je q ρ (x) = 0, a tedy a ρ (x) + r ρ (x) = 1. Navíc se a ρ (x) nezměnilo. Poud tedy bylo x L, je x L A M 1. Navíc poud x L A M 1 L R M 1, pa e(x) = E(x) < 1 2. Jediný problém je, poud a ρ = r ρ = 1 2. Pa totiž x L A M 1 L R M 1, e(x) = 0 a E(x) = 1. Neobsahuje-li M 1 náhodné stavy, tento problém nenastává. Zbývá tedy doázat větu pro případ, dy M 1 náhodné stavy obsahuje. Přidáním časového počítadla zajistíme sončení libovolné větve výpočtu stroje M 1 v čase t. Pravděpodobnosti a ρ i r ρ můžeme zapsat ve tvaru /2 t pro vhodné. Stroj M 1 přijímá, poud a ρ > 1 2, M 1 nepřijímá, poud r ρ 1 2. Zajistíme-li, aby pro libovolný vstup x pro stroj M platilo a a ρ (x) = r ρ (x) = a ρ(x) t r ρ(x) t+2, bude M přijímat tentýž jazy jao M 1. Navíc a ρ 1 2 a r ρ 1 2. Je-li? f(τ(q 0 )) (pro počáteční stav q 0 ), pa taové M můžeme z M 1 vytvořit napřílad tato: Místo časového počítadla do t použijeme počítadlo do t + 2. Přidáme nový náhodný počáteční stav (místo původního počátečního stavu stroje M 1 ). Jedna větev přímo přechází v počáteční stav stroje M 1. Druhá větev výpočtu nezávisí na vstupu a platí pro ni a = , r = 1 t t+1 (To můžeme zajistit napřílad ta, že jedna větev vede po rozsou rovnou do stavu NE a druhá větev vede do stavu s, ve terém buď náhodně zůstává nebo z něj poračuje do stavu ANO. Po doběhnutí časového počítadla přechází M ze stavu s do stavu NE.) Poud? f(τ(q 0 )) (pro počáteční stav q 0 ), je onstruce stroje M nepatrně ompliovanější. Stroj M si v onečné jednotce pamatuje bit informace, označující, zda byl již proveden rozso. (Počet stavů se zdvojnásobí.) Pomocí tohoto bitu stroj M zajistí, aby provedl rozso, právě dyž se poprvé dostane do náhodného stavu. Jestliže pro x na vstupu bylo a ρ = r ρ = 1 2, pa byly tyto hodnoty zopírovány (pomocí min a max) z nějaého náhodného stavu stromu výpočtu. Tento náhodný stav je první náhodný stav na nějaé cestě ve výpočetním stromu od jeho ořene. Proto je při výpočtu stroje M proveden v tomto rou rozso, čímž je hodnota r zprůměrována s , tedy větší než 1 t+1 2. Poud je při výpočtu stroje M proveden rozso a a ρ bylo větší než 1 2, pa zprůměrováním a ρ s zísáme opět číslo větší než 1 t+1 2. Stroj M tedy přijímá stejný jazy jao stroj M 1 a aždé slovo nepatřící do L A patří do L R. Definice 9.6 Nechť t je časově onstruovatelná funce a T je typ. T -Time(t) je třída jazyů přijímaných T -TS v čase t. T -P = i 0 T -Time(n i ) Poznáma 9.8 Uvědomme si, že - Q ä (t) jsme dosud značili a Q ä (t) a - jsme značili. Obdobně - Q «(t) jsme dosud značili Q «(t) a - jsme značili (. Věta 9.2 Libovolný? -TS pracující v čase t můžeme simulovat deterministicy v prostoru O(t 2 ) a čase O(t2 t ). Důslede 9.2.1? -P PSpace Důaz: Algoritmus Alg. 2 symbolicy popisuje simulaci. Dodejme ještě, že všechna čísla, se terými pracujeme, jsou tvaru 1 2 pro i < t, což můžeme jednoduše reprezentovat i řetězcem ne desetinných ale polovinných míst těchto čísel. K tomu nám stačí řetězce dély t. Odtud veliost loální paměti procedury je O(t). Hlouba reurze je t. Procedura je volána nejvýš 2 2 t 1 rát. Odtud dostáváme požadované odhady. procedure SimFEQTS(K : Konf ) : ProbPair ; begin TimeStep; if TimeOut then return (0, 0) else if s u = det then case u of ANO : return (1, 0) NE : return (0, 1) NEVÍM : return (0, 0) else : return SimFEQTS(NextDet(K )) end else begin (a 0, r 0 ) := SimFEQTS(NextNedet(0, K )); (a 1, r 1 ) := SimFEQTS(NextNedet(1, K )); case s u of : return (max{a 0, a 1 }, min{r 0, r 1 }) (2. června 1998) 16 (6. července 1997)

19 : return (min{a 0, a 1 }, max{r 0, r 1 })? : return 1 2 (a 0 + a 1, r 0 + r 1 ) end end end ; begin Vytvoř počáteční onfiguraci K, zaznamenej do ní i onfiguraci časového počítadla, spočítej stačí pro aždý vrchol v typu T jeden nedeterministicý stav pro aždý typ stavu z f(v). Když funce τ není známa, musíme nejprve nějaé τ nalézt. Nároy na nalezení τ nejsou podstatné, protože jsou onstantní vůči veliosti vstupu simulovaného stroje. (Uhodnutí τ a ověření, že odpovídá přechodové funci, stojí čas T Q δ.) (a ρ, r ρ ) := SimFEQTS(K ). Je-li a ρ > 1 2 potom přijmi, je-li r ρ > 1 2, pa zamítni. end Alg. 2: Simulace? -TS Poznáma 9.9 Předchozí věta by platila, i dybychom omezili počet následníů nedeterministicého vrcholu onstantou d a poud by pravděpodobnosti následníů náhodných uzlů byly stejné. Věta 9.3 Libovolný? -TS pracující v čase t můžeme simulovat deterministicy v prostoru O(t) a čase O(t2 t ). Důaz: Vzhledem omezení počtu následníů nedeterministicého stavu na dva můžeme pro všechny možné řetězce dély t simulovat výpočet s tím, že v nedeterministicých stavech se rozhodujeme podle následujícího znau předepsaného řetězce. Navíc máme binární čítač pomocí něhož počítáme pravděpodobnosti přijetí a odmítnutí. Vždy, dyž řetězci odpovídá přijímací (odmítací) výpočet, zvětšíme přijímací (odmítací) počítadlo o 1 ta daleo zprava, oli jsme ještě nepřečetli bitů řetězce. (Přičteme 2 počet nepřečtených bitů řetězce = = 2 t počet přečtených bitů.) Hodnoty a ρ (r ρ ) dostaneme po vydělení počítadel číslem 2 t. Poznáma 9.10 Poud bychom omezili počet následníů náhodného vrcholu onstantou d a poud by pravděpodobnosti následníů byly stejné, potom by předchozí věta platila s prostorem O(t) a časem O(td t ). Povolení pravděpodobností, teré nejsou ve tvaru 1 (pro malé přirozené d), nedává dobrý smysl. d Poznáma 9.11 Vzhledem prostorovým nároům algoritmu O(t) je předem jasný odhad času 2 O(t). Přesnějším (amortizovaným) rozborem práce binárního počítadla bychom dostali časový odhad O(2 t ). Poznáma 9.12 Simulace pomocí stejného typu TS je možná v čase O(t log s) a prostoru O(s), ja bylo uázáno v apitole o simulacích. Poznáma 9.13 Připomeňme, že věty o universálních Turingových strojích jsme vyslovili pro libovolný typ T. Simulace je závislá na typu pouze v tom, pomocí jaého typu nedeterministicého stavu vybíráme následující rozšířený display. Aby byl výslede správně interpretován, je následní stavu q vybírán stavem typu t(q) universálního stroje. Vždy je použit stav q u universálního stroje, pro nějž je τ(q u) = τ(q). K tomu (2. června 1998) 17 (6. července 1997)

20 \ µ ^ cn A u<@ u?c>v:7t?³ _CIB¹C~rc º»w¼.½ _6Dy7Or V d c rwc`rf9 v _¾CIK` hj[l V 3u?u7 \ jijo}io Definice 10.1 Třída PP obsahuje jazyy přijímané? -TS v polynomiálním čase. Poznáma 10.1 V minulé apitole jsme třídu > nazvali? -. Poznáma 10.2 Podle věty 9.1 se v definici třídy > můžeme omezit na? -TS, de e(x) = E(x) < 1 2. Věta 10.1 Platí NP PP PSpace. Důaz: Nechť L NP. Z -TS M přijímajícího L vytvoříme následující? -TS. Změníme typ aždého stavu na? stav. Tím dostaneme stroj? -TS M. Poté přidáme počáteční náhodný stav, z něhož přecházíme s pravděpodobností 1 2 do stavu ANO a se stejnou pravděpodobností do počátečního stavu stroje M. Ta vznine? -TS M. Platí x L, právě dyž a ρ (x, M ) > 0, a tedy právě dyž a ρ (x, M ) > 1 2, a tedy právě dyž slovo x je přijímáno? -TS M. Druhá inluze je důsledem věty 9.3. Věta 10.2 PP je uzavřena na omplementy. Důaz: Použijeme? -TS M, pro nějž e M (x) = E M (x) < < 1 2. Stačí potom pouze zaměnit stavy ANO za NE. Důslede Platí NP co-np PP. Není známo, zda je PP uzavřena na průniy a sjednocení. Z neuzavřenosti by ihned plynulo NP PP PSpace. Věta 10.3 PP je uzavřena na symetricý rozdíl. Důaz: Nechť A, B PP, nechť A je přijímáno? -TS M A, nechť B je přijímáno? -TS M B (oboje v polynomiálním čase). Nechť e MA (x) = E MA (x) < 1 2, e M B (x) = = E MB (x) < 1 2. Zonstuujeme? -TS M, terý nejprve provede M A, poté M B a přijímá, právě dyž právě jeden z výpočtů přijímal. Ověříme, že? -TS M přijímá A B. Odhadněme e(x) pravděpodobnost, že x je přijato chybně: slovo x je? -TS M přijímáno chybně, poud je x přijímáno chybně právě jedním ze? -TS M A, M B. Odtud e(x) = e MA (x) (1 e MB (x)) + (1 e MA (x)) e MB (x). Vzhledem tomu, že funce x(1 y) + (1 x)y zobrazuje interval 0, 1 2 )2 do intervalu 0, 1 2 ), dostáváme e(x) < 1 2. Vzhledem tomu, že e(x) < 1 2, je LA M = A B a e(x) = = e M (x) = E M (x). Definice 10.2 Třída BPP obsahuje jazyy přijímané v polynomiálním čase? -TS, de e(x) = E(x) < ε < 1 2 Věta 10.4 Platí BPP PP. Definice 10.3 Třída R (jindy označovaná taé RP nebo VPP), obsahuje jazyy L přijímané? -TS v polynomiálním čase s nulovou pravděpodobností neurčenosti pro slova nepatřící do jazya. x L E(x) = 0 Poznáma 10.3 Poud? -TS M rozpoznávající jazy L ve smyslu sončil pro vstup x ve stavu ANO, potom x L. Věta 10.5 Nechť p je polynom. Polynomiálním iterováním algoritmu můžeme pravděpodobnost chyby pro jazy A z BPP (resp. R) snížit na ( 1 2 )p( x ). Důaz: Iterovat jazy z R je jednoduché, spustíme výpočet p( x ) rát a přijmeme, poud něterý výpočet přijme. (Je-li ε c < 1 2, pa pomocí c iterací snížíme pravděpodobnost chyby pod ε < 1 2, proto 1 2 není v definici přijímání? -TS pro třídu R podstatná.) Iterovat jazy z BPP je těžší: Nechť q(n) = c p(n), de (4ε(1 ε)) c < 1 2. Spustíme výpočet (2q(n) + 1) rát a slovo přijmeme, poud nadpoloviční počet výpočtů slovo přijal. (Spustíme výpočet rát je třeba interpretovat ta, že přidáme počítadlo od a vždy místo přechodu do oncového stavu zaznamenáme druh oncového stavu, snížíme počítadlo a je-li nenulové vrátíme se do počáteční onfigurace. Do oncového stavu přejdeme na záladě vyhodnocení zaznamenaných oncových stavů.) Pravděpodobnost chyby je q ( ) 2q + 1 (1 ε) j ε 2q+1 j < (1 ε) j j=0 q ε q+1 q ( ) 2q + 1 < j j=0 < (1 ε) q ε q+1 2 ( 1 ) p ( 1 p 2q+1 = 2ε((1 ε) ε 4) c p < 2ε < 2 2) Věta 10.6 Platí P R NP BPP. Důaz: Jediná netriviální inluze je R NP. Je-li L R a je-li M? -TS, terý toto zaručuje, pa -TS M zaručuje L NP. Věta 10.7 Třída BPP je uzavřena na doplňy, sjednocení a průniy, třída R je uzavřena na sjednocení a průniy. Důaz: Uzavřenost BPP na doplňy doážeme přehozením významu stavů ANO a NE po úpravě stroje do tvaru, de e(x) = E(x) < 1 2. Jediným triem v druhé části důazu je pro dané ε < < 1 2 zvolit? -TS pracující s chybou ε 2. Algoritmus potom pustí simulaci obou algoritmů a zařídí se podle výsledu. Pravděpodobnost chyby je nejvýš součet pravděpodobností chyb. (2. června 1998) 18 (29. dubna 1998)

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

Geometrická zobrazení

Geometrická zobrazení Pomocný text Geometricá zobrazení hodná zobrazení hodná zobrazení patří nejjednodušším zobrazením na rovině. Je jich vša hrozně málo a často se stává, že musíme sáhnout i po jiných, nědy výrazně složitějších

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

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

(iv) D - vybíráme 2 koule a ty mají různou barvu.

(iv) D - vybíráme 2 koule a ty mají různou barvu. 2 cvičení - pravděpodobnost 2102018 18cv2tex Definice pojmů a záladní vzorce Vlastnosti pravděpodobnosti Pravděpodobnost P splňuje pro libovolné jevy A a B následující vlastnosti: 1 0, 1 2 P (0) = 0, P

Více

Hodnocení přesnosti výsledků z metody FMECA

Hodnocení přesnosti výsledků z metody FMECA Hodnocení přesnosti výsledů z metody FMECA Josef Chudoba 1. Úvod Metoda FMECA je semivantitativní metoda, pomocí teré se identifiují poruchy s významnými důsledy ovlivňující funci systému. Závažnost následů

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

1.5.7 Prvočísla a složená čísla

1.5.7 Prvočísla a složená čísla 17 Prvočísla a složená čísla Předpolady: 103, 106 Dnes bez alulačy Číslo 1 je dělitelné čísly 1,, 3,, 6 a 1 Množinu, terou tvoří právě tato čísla, nazýváme D 1 množina dělitelů čísla 1, značíme ( ) Platí:

Více

Metoda konjugovaných gradientů

Metoda konjugovaných gradientů 0 Metoda onjugovaných gradientů Ludě Kučera MFF UK 11. ledna 2017 V tomto textu je popsáno, ja metodou onjugovaných gradientů řešit soustavu lineárních rovnic Ax = b, de b je daný vetor a A je symetricá

Více

1 Gaussova kvadratura

1 Gaussova kvadratura Cvičení - zadání a řešení úloh Zálady numericé matematiy - NMNM0 Verze z 7. prosince 08 Gaussova vadratura Fat, že pro něterá rovnoměrná rozložení uzlů dostáváme přesnost o stupeň vyšší napovídá, že pro

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

Složitost a NP-úplnost

Složitost a NP-úplnost Složitost a NP-úplnost RNDr. Ondřej Čepek, Ph.D. Do formátu TEX převedl Ladislav Strojil Připomínky, dotazy, opravy na emailu: Ladislav@Strojil.cz Verze 1.1.1 Nejnovější verze k nalezení vždy na http://ladislav.strojil.cz/np.php

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

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

Příklady: - počet členů dané domácnosti - počet zákazníků ve frontě - počet pokusů do padnutí čísla šest - životnost televizoru - věk člověka

Příklady: - počet členů dané domácnosti - počet zákazníků ve frontě - počet pokusů do padnutí čísla šest - životnost televizoru - věk člověka Náhodná veličina Náhodnou veličinou nazýváme veličinu, terá s určitými p-stmi nabývá reálných hodnot jednoznačně přiřazených výsledům příslušných náhodných pousů Náhodné veličiny obvyle dělíme na dva záladní

Více

3. Mocninné a Taylorovy řady

3. Mocninné a Taylorovy řady 3. Mocninné a Taylorovy řady A. Záladní pojmy. Obor onvergence Mocninné řady jsou nejjednodušším speciálním případem funčních řad. Jsou to funční řady, jejichž členy jsou mocninné funce. V této apitole

Více

4 všechny koeficienty jsou záporné, nedochází k žádné změně. Rovnice tedy záporné reálné kořeny nemá.

4 všechny koeficienty jsou záporné, nedochází k žádné změně. Rovnice tedy záporné reálné kořeny nemá. Přílad 1. Řešte v R rovnici x 4x + x 4 0. Výslede vypočtěte s přesností alespoň 0,07. 1) Reálné ořeny rovnice budou ležet v intervalu ( 5,5), protože největší z oeficientů polynomu bez ohledu na znaméno

Více

Obsah přednášky. 1. Principy Meta-learningu 2. Bumping 3. Bagging 4. Stacking 5. Boosting 6. Shrnutí

Obsah přednášky. 1. Principy Meta-learningu 2. Bumping 3. Bagging 4. Stacking 5. Boosting 6. Shrnutí 1 Obsah přednášy 1. Principy Meta-learningu 2. Bumping 3. Bagging 4. Stacing 5. Boosting 6. Shrnutí 2 Meta learning = Ensemble methods Cíl použít predici ombinaci více různých modelů Meta learning (meta

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

1 Seznamová barevnost úplných bipartitních

1 Seznamová barevnost úplných bipartitních Barvení grafů pravděpodobnotní důazy Zdeně Dvořá 7. proince 208 Seznamová barevnot úplných bipartitních grafů Hypergraf je (labě) -obarvitelný, jetliže exituje jeho obarvení barvami neobahující monochromaticou

Více

6 5 = 0, = 0, = 0, = 0, 0032

6 5 = 0, = 0, = 0, = 0, 0032 III. Opaované pousy, Bernoulliho nerovnost. Házíme pětrát hrací ostou a sledujeme výsyt šesty. Spočtěte pravděpodobnosti možných výsledů a určete, terý má největší pravděpodobnost. Řešení: Jedná se o serii

Více

9 Stupně vrcholů, Věta Havla-Hakimiho

9 Stupně vrcholů, Věta Havla-Hakimiho Typicé přílady pro zápočtové písemy DiM 470-301 (Kovář, Kovářová, Kubesa) (verze: November 5, 018) 1 9 Stupně vrcholů, Věta Havla-Haimiho 9.1. Doážete nareslit graf na 9 vrcholech, ve terém mají aždé dva

Více

f (k) (x 0 ) (x x 0 ) k, x (x 0 r, x 0 + r). k! f(x) = k=1 Řada se nazývá Taylorovou řadou funkce f v bodě x 0. Přehled některých Taylorových řad.

f (k) (x 0 ) (x x 0 ) k, x (x 0 r, x 0 + r). k! f(x) = k=1 Řada se nazývá Taylorovou řadou funkce f v bodě x 0. Přehled některých Taylorových řad. 8. Taylorova řada. V urzu matematiy jsme uázali, že je možné funci f, terá má v oolí bodu x derivace aproximovat polynomem, jehož derivace se shodují s derivacemi aproximované funce v bodě x. Poud má funce

Více

3.3.4 Thaletova věta. Předpoklady:

3.3.4 Thaletova věta. Předpoklady: 3.3.4 Thaletova věta Předpolady: 030303 Př. : Narýsuj ružnici ( ;5cm) a její průměr. Na ružnici narýsuj libovolný bod různý od bodů, (bod zvol jina než soused v lavici). Narýsuj trojúhelní. Má nějaou speciální

Více

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

Více

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti Kapitola 5 Vektorové prostory V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti operací sčítání a násobení

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

Reprezentace přirozených čísel ve Fibonacciho soustavě František Maňák, FJFI ČVUT, 2005

Reprezentace přirozených čísel ve Fibonacciho soustavě František Maňák, FJFI ČVUT, 2005 Reprezentace přirozených čísel ve ibonacciho soustavě rantiše Maňá, JI ČVUT, 2005 Úvod Ja víme, přirozená čísla lze vyádřit různými způsoby Nečastěi zápisu čísel používáme soustavu desítovou, ale umíme

Více

β 180 α úhel ve stupních β úhel v radiánech β = GONIOMETRIE = = 7π 6 5π 6 3 3π 2 π 11π 6 Velikost úhlu v obloukové a stupňové míře: Stupňová míra:

β 180 α úhel ve stupních β úhel v radiánech β = GONIOMETRIE = = 7π 6 5π 6 3 3π 2 π 11π 6 Velikost úhlu v obloukové a stupňové míře: Stupňová míra: GONIOMETRIE Veliost úhlu v oblouové a stupňové míře: Stupňová míra: Jednota (stupeň) 60 600 jeden stupeň 60 minut 600 vteřin Př. 5,4 5 4 0,4 0,4 60 4 Oblouová míra: Jednota radián radián je veliost taového

Více

Dijkstrův algoritmus

Dijkstrův algoritmus Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované

Více

Buckinghamův Π-teorém (viz Barenblatt, Scaling, 2003)

Buckinghamův Π-teorém (viz Barenblatt, Scaling, 2003) Bucinghamův Π-teorém (viz Barenblatt, Scaling, 2003) Formalizace rozměrové analýzy ( výsledné jednoty na obou stranách musí souhlasit ). Rozměr fyziální veličiny Mějme nějaou třídu jednote, napřílad [(g,

Více

Úlohy domácího kola kategorie B

Úlohy domácího kola kategorie B 54. roční Matematicé olympiády Úlohy domácího ola ategorie 1. Určete všechny dvojice (a, b) reálných čísel, pro teré má aždá rovnic x + ax + b 0, x + (a + 1)x + b + 1 0 dva růné reálné ořeny, přičemž ořeny

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

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. Přednáška: Kvazi-Newtonovské metody:

4. Přednáška: Kvazi-Newtonovské metody: 4 Přednáša: Kvazi-Newtonovsé metody: Metody s proměnnou metriou, modifiace Newtonovy metody Efetivní pro menší úlohy s hustou Hessovou maticí Newtonova metoda (opaování): f aproximujeme loálně vadraticou

Více

Základním pojmem v kombinatorice je pojem (k-prvková) skupina, nebo také k-tice prvků, kde k je přirozené číslo.

Základním pojmem v kombinatorice je pojem (k-prvková) skupina, nebo také k-tice prvků, kde k je přirozené číslo. přednáša KOMBINATORIKA Při řešení mnoha praticých problémů se setáváme s úlohami, ve terých utváříme supiny z prvů nějaé onečné množiny Napřílad máme sestavit rozvrh hodin z daných předmětů, potřebujeme

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

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

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A VEKTORY Vektorem se rozumí množina všech orientovaných úseček, které mají stejnou velikost, směr a orientaci, což vidíme na obr. 1. Jedna konkrétní orientovaná úsečka se nazývá umístění vektoru na obr.

Více

MATEMATIKA II V PŘÍKLADECH

MATEMATIKA II V PŘÍKLADECH VYSOKÁ ŠKOL BÁŇSKÁ TECHICKÁ UIVERZIT OSTRV FKULT STROJÍ MTEMTIK II V PŘÍKLDECH CVIČEÍ Č 0 Ing Petra Schreiberová, PhD Ostrava 0 Ing Petra Schreiberová, PhD Vysoá šola báňsá Technicá univerzita Ostrava

Více

3.2.9 Věta o středovém a obvodovém úhlu

3.2.9 Věta o středovém a obvodovém úhlu 3..9 ěta o středovém a obvodovém úhlu Předpolady: ody, rozdělují ružnici na dva oblouy. Polopřímy a pa rozdělují rovinu na dva úhly. rcholy obou úhlů leží ve středu ružnice říáme, že jde o středové úhly

Více

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase -stromy a rozpoznávání intervalových grafů v lineárním čase ermutace s předepsanými intervaly Označme [n] množinu {1, 2,..., n}. Mějme permutaci π = π 1, π 2,..., π n množiny [n]. Řekneme, že množina S

Více

Dynamika populací s oddělenými generacemi

Dynamika populací s oddělenými generacemi Dynamia populací s oddělenými generacemi Tento text chce představit nejjednodušší disrétní deterministicé dynamicé modely populací. Deterministicé nebudeme uvažovat náhodné vlivy na populace působící nebo

Více

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek Hranová konzistence Arc consistency AC Nejprve se zabýváme binárními CSP podmínka odpovídá hraně v grafu podmínek Hrana (V i, V j ) je hranově konzistentní, právě když pro každou hodnotu x z aktuální domény

Více

KMA/P506 Pravděpodobnost a statistika KMA/P507 Statistika na PC

KMA/P506 Pravděpodobnost a statistika KMA/P507 Statistika na PC Přednáša 04 Přírodovědecá faulta Katedra matematiy KMA/P506 Pravděpodobnost a statistia KMA/P507 Statistia na PC jiri.cihlar@ujep.cz Záon velých čísel Lemma Nechť náhodná veličina nabývá pouze nezáporných

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

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g). 7 Barevnost grafu Definice 71 Graf G se nazývá k-obarvitelný, jestliže každému jeho uzlu lze přiřadit jednu z barev 1 k tak, že žádné dva sousední uzly nemají stejnou barvu Definice 72 Nejmenší přirozené

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

Měření indukčností cívek

Měření indukčností cívek 7..00 Ṫeorie eletromagneticého pole Měření indučností cíve.......... Petr Česá, studijní supina 05 Letní semestr 000/00 . Měření indučností cíve Měření vlastní a vzájemné indučnosti válcových cíve ZAÁNÍ

Více

Andrew Kozlík KA MFF UK

Andrew Kozlík KA MFF UK Operační režimy (módy) bloových šifer Andrew Kozlí KA MFF UK Operační režimy (módy) bloových šifer Říáme, že šifra (P, C, K,, D) je bloová, jestliže P = C = {0, 1} b pro nějaé b. Napřílad DS (b = 64 bitů)

Více

55. ročník Matematické olympiády 2005/2006

55. ročník Matematické olympiády 2005/2006 55. roční Matematicé olympiády 005/006 Úlohy ústředního ola ategorie P 1. soutěžní den Na řešení úloh máte,5 hodiny čistého času. Řešení aždého příladu musí obsahovat: Popis řešení, to znamená slovní popis

Více

7.3.9 Směrnicový tvar rovnice přímky

7.3.9 Směrnicový tvar rovnice přímky 739 Směrnicový tvar rovnice přímy Předpolady: 7306 Pedagogicá poznáma: Stává se, že v hodině nestihneme poslední část s určováním vztahu mezi směrnicemi olmých příme Vrátíme se obecné rovnici přímy: Obecná

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D. Generování pseudonáhodných čísel při simulaci Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky V simulačních modelech se velice často vyskytují náhodné proměnné. Proto se budeme zabývat otázkou, jak při simulaci

Více

Dynamika vázaných soustav těles

Dynamika vázaných soustav těles Dynamika vázaných soustav těles Většina strojů a strojních zařízení, s nimiž se setkáváme v praxi, lze považovat za soustavy těles. Složitost dané soustavy závisí na druhu řešeného případu. Základem pro

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

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

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

7.3.9 Směrnicový tvar rovnice přímky

7.3.9 Směrnicový tvar rovnice přímky 7.3.9 Směrnicový tvar rovnice přímy Předpolady: 7306 Pedagogicá poznáma: Stává se, že v hodině nestihneme poslední část s určováním vztahu mezi směrnicemi olmých příme. Vrátíme se obecné rovnici přímy:

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

Minimalizace KA - Úvod

Minimalizace KA - Úvod Minimalizace KA - Úvod Tyto dva KA A,A2 jsou jazykově ekvivalentní, tzn. že rozpoznávají tentýž jazyk. L(A) = L(A2) Názorně lze vidět, že automat A2 má menší počet stavů než A, tudíž našim cílem bude ukázat

Více

PRVOČÍSLA 1 Jan Malý UK v Praze a UJEP v Ústí n. L. Obsah

PRVOČÍSLA 1 Jan Malý UK v Praze a UJEP v Ústí n. L. Obsah PRVOČÍSLA Jan Malý UK v Praze a UJEP v Ústí n. L. Obsah. Elementární úlohy o prvočíslech 2. Kongruence 2 3. Algebraicé rovnice a polynomy 3 4. Binomicá a trinomicá věta 5 5. Malá Fermatova věta 7 6. Diferenční

Více

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly. Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?

Více

7. TRANSFORMÁTORY. 7.1 Štítkové údaje. 7.2 Měření odporů vinutí. 7.3 Měření naprázdno

7. TRANSFORMÁTORY. 7.1 Štítkové údaje. 7.2 Měření odporů vinutí. 7.3 Měření naprázdno 7. TRANSFORMÁTORY Pro zjednodušení budeme měření provádět na jednofázovém transformátoru. Na trojfázovém transformátoru provedeme pouze ontrolu jeho zapojení měřením hodinových úhlů. 7.1 Štítové údaje

Více

1. KOMBINATORIKA. Příklad 1.1: Mějme množinu A a. f) uspořádaných pětic množiny B a. Řešení: a)

1. KOMBINATORIKA. Příklad 1.1: Mějme množinu A a. f) uspořádaných pětic množiny B a. Řešení: a) 1. KOMBINATORIKA Kombinatoria je obor matematiy, terý zoumá supiny prvů vybíraných z jisté záladní množiny. Tyto supiny dělíme jedna podle toho, zda u nich záleží nebo nezáleží na pořadí zastoupených prvů

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

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

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

Lineární programování

Lineární programování Lineární programování Petr Tichý 19. prosince 2012 1 Outline 1 Lineární programování 2 Optimalita a dualita 3 Geometrie úlohy 4 Simplexová metoda 2 Lineární programování Lineární program (1) min f(x) za

Více

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Báze vektorových prostorů, transformace souřadnic Michal Botur Přednáška

Více

3.2.9 Věta o středovém a obvodovém úhlu

3.2.9 Věta o středovém a obvodovém úhlu 3..9 ěta o středovém a obvodovém úhlu Předpolady: ody, rozdělují ružnici na dva oblouy. Polopřímy a pa rozdělují rovinu na dva úhly. rcholy obou úhlů leží ve středu ružnice říáme, že jde o středové úhly

Více

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice Jan Tomeček Tento stručný text si klade za cíl co nejrychlejší uvedení do teorie Greenových funkcí pro obyčejné diferenciální

Více

( ) Příklady na otočení. Předpoklady: Př. 1: Je dána kružnice k ( S ;5cm)

( ) Příklady na otočení. Předpoklady: Př. 1: Je dána kružnice k ( S ;5cm) 3.5.9 Přílady na otočení Předpolady: 3508 Př. 1: Je dána ružnice ( ;5cm), na teré leží body, '. Vně ružnice leží bod L, uvnitř ružnice bod M. Naresli obrazy bodů L, M v zobrazení řeš bez úhloměru. R (

Více

Úlohy krajského kola kategorie A

Úlohy krajského kola kategorie A 63. roční matematicé olympiády Úlohy rajsého ola ategorie A 1. Najděte všechna celá ladná čísla, terá nejsou mocninou čísla 2 a terá se rovnají součtu trojnásobu svého největšího lichého dělitele a pětinásobu

Více

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

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

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: IB102 Automaty, gramatiky a složitost, 6. 10. 2014 1/29 Regulární výrazy Definice 2.58. Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: 1 ε, a a pro každé a

Více

12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ

12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ 56 12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ Těžiště I. impulsová věta - věta o pohybu těžiště II. impulsová věta Zákony zachování v izolované soustavě hmotných bodů Náhrada pohybu skutečných objektů pohybem

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

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

PŘEDNÁŠKA 7 Kongruence svazů

PŘEDNÁŠKA 7 Kongruence svazů PŘEDNÁŠKA 7 Kongruence svazů PAVEL RŮŽIČKA Abstrakt. Definujeme svazové kongruence a ukážeme jak pro vhodné binární relace svazu ověřit, že se jedná o svazové kongruence. Popíšeme svaz Con(A) kongruencí

Více

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2 Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných

Více

KMA/P506 Pravděpodobnost a statistika KMA/P507 Statistika na PC

KMA/P506 Pravděpodobnost a statistika KMA/P507 Statistika na PC Přednáša 02 Přírodovědecá faulta Katedra matematiy KMA/P506 Pravděpodobnost a statistia KMA/P507 Statistia na PC jiri.cihlar@ujep.cz Náhodné veličiny Záladní definice Nechť je dán pravděpodobnostní prostor

Více

Základním pojmem v kombinatorice je pojem (k-prvková) skupina, nebo také k-tice prvků, kde k je přirozené číslo.

Základním pojmem v kombinatorice je pojem (k-prvková) skupina, nebo také k-tice prvků, kde k je přirozené číslo. přednáša KOMBINATORIKA Kombinatoria je obor matematiy, terý se zabývá uspořádáním daných prvů podle určitých pravidel do určitých supin Záladním pojmem v ombinatorice je pojem (-prvová) supina, nebo taé

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

SPOTŘEBITELSKÝ ÚVĚR. Na začátku provedeme inicializaci proměnných jejich vynulováním příkazem "restart". To oceníme při opakovaném použití dokumentu.

SPOTŘEBITELSKÝ ÚVĚR. Na začátku provedeme inicializaci proměnných jejich vynulováním příkazem restart. To oceníme při opakovaném použití dokumentu. Úloha 1 - Koupě nového televizoru SPOTŘEBITELSKÝ ÚVĚR Chceme si oupit nový televizor v hodnotě 000,-Kč. Bana nám půjčí, přičemž její úroová sazba činí 11%. Předpoládejme, že si půjčujeme na jeden ro a

Více

Binární vyhledávací stromy pokročilé partie

Binární vyhledávací stromy pokročilé partie Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald

Více

16. Goniometrické rovnice

16. Goniometrické rovnice @198 16. Goniometrické rovnice Definice: Goniometrická rovnice je taková rovnice, ve které proměnná (neznámá) vystupuje pouze v goniometrických funkcích. Řešit goniometrické rovnice znamená nalézt všechny

Více

Budeme pokračovat v nahrazování funkce f(x) v okolí bodu a polynomy, tj. hledat vhodné konstanty c n tak, aby bylo pro malá x a. = f (a), f(x) f(a)

Budeme pokračovat v nahrazování funkce f(x) v okolí bodu a polynomy, tj. hledat vhodné konstanty c n tak, aby bylo pro malá x a. = f (a), f(x) f(a) Předáša 7 Derivace a difereciály vyšších řádů Budeme poračovat v ahrazováí fuce f(x v oolí bodu a polyomy, tj hledat vhodé ostaty c ta, aby bylo pro malá x a f(x c 0 + c 1 (x a + c 2 (x a 2 + c 3 (x a

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

1. Úvod do základních pojmů teorie pravděpodobnosti

1. Úvod do základních pojmů teorie pravděpodobnosti 1. Úvod do záladních pojmů teore pravděpodobnost 1.1 Úvodní pojmy Většna exatních věd zobrazuje své výsledy rgorózně tj. výsledy jsou zísávány na záladě přesných formulí a jsou jejch nterpretací. em je

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

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

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

Algoritmy I, složitost

Algoritmy I, složitost A0B36PRI - PROGRAMOVÁNÍ Algoritmy I, složitost České vysoké učení technické Fakulta elektrotechnická v 1.01 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená??

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

Návrh vysokofrekvenčních linkových transformátorů

Návrh vysokofrekvenčních linkových transformátorů inové transformátory inové transformátory Při požadavu na transformaci impedancí v široém frevenčním pásmu, dy nelze obsáhnout požadovanou oblast mitočtů ani široopásmovými obvody, je třeba použít široopásmových

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

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

PRIMITIVNÍ FUNKCE DEFINICE A MOTIVACE

PRIMITIVNÍ FUNKCE DEFINICE A MOTIVACE PIMITIVNÍ FUNKCE V předchozích částech byly zkoumány derivace funkcí a hlavním tématem byly funkce, které derivace mají. V této kapitole se budou zkoumat funkce, které naopak jsou derivacemi jiných funkcí

Více