Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula.

Podobné dokumenty
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 14. Přednáška. Teoretická informatika průběh výuky v semestru 1. PSPACE, NPSPACE, PSPACE-úplnost

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

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

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

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

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

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

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

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

10. Techniky formální verifikace a validace

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

Popište a na příkladu ilustrujte(rychlý) algoritmus testující, zda dané dva automaty jsou izomorfní.

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

Teoretická informatika průběh výuky v semestru 1

Od Turingových strojů k P=NP

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

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

NP-úplnost problému SAT

Úvod do informatiky. Miroslav Kolařík

KMI/VCS1 Vyčíslitelnost a složitost

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

FEI, VŠB-TUO, Teoretická informatika( /01) zadání referátů 1

10. Složitost a výkon

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

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

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

Složitost Filip Hlásek

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

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

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

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

Matematická analýza 1

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í.

Modely Herbrandovské interpretace

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

Vlastnosti regulárních jazyků

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

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

Logika a regulární jazyky

Složitost her. Herní algoritmy. Otakar Trunda

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

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

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

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16

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

Vztah jazyků Chomskeho hierarchie a jazyků TS

(viztakéslidyktétopřednášce...) Poznámka. Neudělali jsme vše tak podrobně, jak je to v zápisu.

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

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

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

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Teoretická informatika průběh výuky v semestru 1

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

Poznámka. Kezkoušcejemožnojítjenposplněnípožadavkůkzápočtu. Kromě čistého papíru a psacích potřeb není povoleno používat žádné další pomůcky.

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

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

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

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

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

Výpočetní složitost algoritmů

Základy logiky a teorie množin

Testování prvočíselnosti

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

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

Formální systém výrokové logiky

1 Lineární prostory a podprostory

Složitost a moderní kryptografie

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

Matematická analýza pro informatiky I. Limita funkce

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

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

Matematická logika. Miroslav Kolařík

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

Matematická indukce, sumy a produkty, matematická logika

Regulární výrazy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března / 20

1 Pravdivost formulí v interpretaci a daném ohodnocení

Výroková logika. Teoretická informatika Tomáš Foltýnek

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

Úvod do informatiky. Miroslav Kolařík

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.

Principy indukce a rekursivní algoritmy

Systém přirozené dedukce výrokové logiky

SINGULÁRNÍ VÝROKY: Jednoduchý singulární výrok vznikne spojením singulárního termínu s termínem obecným pomocí spony=slova je.

Doporučené příklady k Teorii množin, LS 2018/2019

LOGIKA VÝROKOVÁ LOGIKA

Hilbertovský axiomatický systém

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Matematická logika. Rostislav Horčík. horcik

Sémantika predikátové logiky

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

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

Překladač sestrojující k regulárnímu výrazu ekvivalentní konečný automat Připomeňme si jednoznačnou gramatiku G pro jazyk RV({a, b})

Zásobníkový automat. SlovoaaaabbbbpatřídojazykaL={a i b i i 1} a a a a b b b b

Poznámka. Kezkoušcejemožnojítjenposplněnípožadavkůkzápočtu. Kromě čistého papíru a psacích potřeb není povoleno používat žádné další pomůcky.

Logické programy Deklarativní interpretace

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici

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

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

Lineární algebra : Polynomy

Transkript:

Teoretická informatika průběh výuky v semestru 1 Týden 11 Přednáška Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula. PSPACE, NPSPACE, PSPACE-úplnost Uvědomilijsmesi,ženapř.prozjištěnítoho,zdaBílýmánějakoustrategiivehřeŠACHY, která mu zaručuje vítězství v 200 tazích(rozumí se, že Bílý táhne maximálně 200-krát), bychom uměli celkem přímočaře sestavit algoritmus; např. zavoláme MaBilyVS(VychoziPozice, Bílý, 200), kde MaBilyVS(Pozice, NaTahu, Limit): if((pozice, NaTahu) představuje mat Černému) return ANO; if((pozice, NaTahu) představuje pat nebo mat Bílému nebo Limit=0) return NE; if(natahu=bílý) {Postupně pro každý tah Bílého v Pozice zavolej MaBilyVS(Pozice, Černý, Limit), kde Pozice vznikne z Pozice provedením příslušného tahu; když je v nějakém případě vráceno ANO, tak return ANO, jinak return NE}; if(natahu=černý) {Postupně pro každý tah Černého zavolej MaBilyVS(Pozice, Bílý, Limit-1); když je ve všech případech vráceno ANO, tak return ANO, jinak return NE}. Snadno si ovšem spočteme, že odpovědi bychom se od tohoto algoritmu nedočkali, ale není to tím, že by přetekla paměť. Je snadno vidět, že pro přirozenou implementaci v zásadě stačípaměťvelikosti400pozic(400 šachovnic ).(Ano,jednáseojistýprůchodstromem hloubky 400; přitom není třeba konstruovat v paměti celý strom, ale stačí vždy udržovat aktuální větev.) Tím jsme si připomněli, že i v malém prostoru(malé paměti) se pochopitelně dají provádět časově náročné výpočty. Nadefinovali jsme třídy PSPACE, NPSPACE a uvedli si Savitchovu větu(z učebního textu), která mj. implikuje PSPACE = NPSPACE. Uvědomili jsme si inkluze PTIME NPTIME PSPACE=NPSPACE. Máseobecnězato,žeoběinkluzejsouvlastní,byťnikdonevyvrátilmožnostPTIME= PSPACE. Připomněli jsme si, co jsou NP-úplné problémy a nadefinovali jsme PSPACE-úplné problémy. Jako příklady PSPACE-úplných problému jsme uvedli QBF(problém pravdivosti

Teoretická informatika průběh výuky v semestru 2 kvantifikovaných booleovských formulí), Eq-NFA(ekvivalence nedeterministických konečných automatů) a Eq-RegExp(ekvivalence regulárních výrazů).(každý posluchač je jistě již schopen každý námi zkoumaný problém přesně specifikovat a uvést příklady pozitivních anegativníchinstancí...) Uvedli jsme také, že nejrůznější deskové a grafové hry se dají zformalizovat jako PSPACEtěžké(případně PSPACE-úplné) problémy. Např. u šachů by to ovšem chtělo definovat např. (n n)-šachy(provšechna n,nejen n=8).(připomeňme,žepodlenašichdefinicpatří každý problém s konečně mnoha instancemi do třídy T(1), tedy má konstantní složitost!) Všimli jsme si, že problém QBF lze definovat jako zjišťování existence vítězné strategie ve hředvouhráčů,kdeeva( existenčníhráč )nasazujeexistenčněvázanéproměnnéaadam ( univerzálníhráč )nasazujeuniverzálněvázanéproměnné. Dokazatelně nezvládnutelné problémy Jestliže prokážeme NP-obtížnost či PSPACE-obtížnost nějakého problému, říkáme, že je prakticky nezvládnutelný (intractable). Je totiž jasné, že navrhneme-li algoritmus, který řeší(přesněten)danýproblém,aneobjevíme-lipřitomgeniální trik,nakterýdosud nikdo nepřišel, bude mít algoritmus tzv. superpolynomiální(typicky exponenciální či ještě horší) složitost. Obecně používat algoritmus(resp. odpovídající program) budeme moci jen na velmi malá vstupní data. Teoreticky ovšem pořád ještě možnost rychlého algoritmu (založenéhona geniálnímtriku )existuje. Samozřejmě je možné, že exponenciální algoritmus ve skutečnosti chceme použít jen na maládata,anebohotřebapoužívámenadata,přinichžseneprojevíona(worstcase) exponenciální složitost. V tomto smyslu praktická nezvládnutelnost(obecného) problému ještě neznamená, že ho v praxi nemůže počítačový program úspěšně řešit v pro nás zajímavýchpřípadech.(existujíijinémožnosti,jakvpraxiúspěšněřešiti nezvládnutelný problém. Zmíníme se o tom v partiích o aproximačních a pravděpodobnostních algoritmech.) Známe ovšem i tzv. dokazatelně nezvládnutelné problémy(provably intractable problems), tj. ty, u nichž máme dokázáno, že pro ně neexistují polynomiální algoritmy. Definujeme-li např. třídy EXPTIME = T(2 nk ), EXPSPACE= k=0 S(2 nk ) k=0 pak EXPTIME-těžký či EXPSPACE-těžký problém je takovým dokazatelně nezvládnutelným problémem. Dá se totiž ukázat, že inkluze PTIME EXPTIME, PSPACE EXPSPACE jsou skutečně vlastní(tzn., že neplatí rovnost).(my to zde ale dokazovat nebudeme.) Např. následující problém je EXPSPACE-úplný:

Teoretická informatika průběh výuky v semestru 3 Název: RE 2 (ekvivalenceregulárníchvýrazůsmocněním) Vstup:dvaregulárnívýrazy,vnichžjemožnépoužítmocnění(tzn.jemožnopsát α 2 místo α α). Otázka: reprezentují zadané výrazy tentýž jazyk? Připomeňme, že problém Eq-RegExp pro standardní regulární výrazy(bez mocnění) je PSPACE-úplný, stejně jako problém Eq-NFA jazykové ekvivalence nedeterministických konečných automatů.(víme, že složitost je funkcí velikosti vstupu; mocnění v regulárních výrazech umožňuje exponenciálně zkrátit zápis některých dlouhých standardních výrazů.) Existují samozřejmě i dokazatelně těžší(superexponenciální) problémy. Ilustrujme je příkladem problému Presburgerovy aritmetiky(rozhodování pravdivosti formulí teorie sčítání). Rozhodnutelnost Presburgerovy aritmetiky(jen sčítání) Název: ThAdd(problém pravdivosti teorie sčítání) Vstup:formulejazyka1.řáduužívajícíjediný nelogický symbol ternární(tj.3-ární) predikátovýsymbol PLUS(PLUS(x,y,z) df x+y= z). Otázka:jedanáformulepravdivápromnožinu N={0,1,2,...},kde PLUS(a,b,c)je interpretovánojako a+b=c? Důkaz rozhodnutelnosti Presburgerovy aritmetiky (využívající jen predikát PLUS(x,y,z)),tedydůkazvěty9.3.zkapitoly9: Zde vůbec není zřejmé, že existuje algoritmus, který daný problém řeší. Presburger ukázal takový algoritmus ve 20. létech 20. století(jedním z cílů tzv. Hilbertova programu bylo ukázat podobný algoritmus i s připuštěním predikátu pro násobení nemožnost řešení tohoto úkolu ukázal později Gödel). Mnohem později bylo ukázáno, že každý algoritmus, řešícíproblémthaddmásložitostminimálně2 2n. Presburger ukázal algoritmus využitím tzv. metody eliminace kvantifikátorů. Elegantní důkaz umožňují také výsledky, které známe z teorie konečných automatů. Věta. Existuje algoritmus rozhodující problém ThAdd. Představme si třístopou pásku, kde v každé stopě je řetězec nul a jedniček, tj. binární zápis čísla. Na pásku samozřejmě můžeme hledět jako na jednostopou s tím, že povolené symboly abecedy jsou uspořádané trojice nul a jedniček. Snadno nahlédneme, že existuje konečný automat,kterýpřijímáprávětaslovav abecedětrojic,kterámajítuvlastnost,žesoučet číslavprvnístopěsčíslemvdruhéstopějerovenčísluvetřetístopě.ihnedjetojasné při čtení odzadu; pak si stačí připomenout, že regulární jazyky jsou uzavřeny na zrcadlový obraz. Z dalších uzávěrových vlastností snadno vyvodíme, že pro libovolnou formuli F(x 1,x 2,...,x n )jazykathaddkteráneobsahujekvantifikátory,lzezkonstruovatkon.au-

Teoretická informatika průběh výuky v semestru 4 tomat A F přijímajícíprávěbinárnízápisytěch n-ticčísel(na n-stopépásce),prokteréje F(x 1,x 2,...,x n )pravdivá. Proformuli( x n )F(x 1,x 2,...,x n )jemožnézkonstruovatautomat,kterýpřijímáprávě binární zápisy těch (n 1)-tic čísel (dosazených za x 1,x 2,...,x n 1 ), pro které je ( x n )F(x 1,x 2,...,x n )pravdivá:automatpracujena(n 1)-stopépásce,alesimuluje A F tak, že obsah n-té stopy nedeterministicky hádá!(pak ho samozřejmě lze převést na ekvivalentní deterministický automat.) Jelikož( x n )F(x 1,x 2,...,x n )jeekvivalentní ( x n ) F(x 1,x 2,...,x n ),načrtlijsmetakto postup, který k formuli jazyka ThAdd v prenexní formě postupnou aplikací zmíněných konstrukcí sestrojí konečný automat, který přijme prázdné slovo(neboli nějakou posloupnost 0-tic )právětehdy,kdyžvýchozíformulejepravdivá. Nerozhodnutelnost aritmetiky(se sčítáním a násobením) Uvedli jsme si jen hlavní myšlenku nerozhodnutelnosti pravdivosti uzavřených formulí 1.řáduspredikáty PLUS(x,y,z)(tj. x+y = z)amult(x,y,z)(tj. x y = z)ve standardním modelu aritmetiky(n, +, ). (Využili jsme nerozhodnutelnosti existence akceptujícího výpočtu zadaného Turingova stroje Mnazadanémslově w.) Partie textu k prostudování Kapitola 9(speciálně Třída PSPACE). Cvičení Příklad 11.1 DefinujtetříduPSPACEapojem PSPACE-úplnýproblém ;příklademje: Název: QBF(problém pravdivosti kvantifikovaných booleovských formulí) Vstup: formule ( x 1 )( x 2 )( x 3 )( x 4 )...( x 2n 1 )( x 2n )F(x 1,x 2,...,x 2n ), kde F(x 1,x 2,...,x 2n )jebooleovskáformulevkonjunktivnínormálníformě. Otázka: je daná formule pravdivá? Uveďte nějaké malé, ale netriviální, příklady pozitivních a negativních instancí problému. (Zbytek příkladu je nepovinný.) DefinujtepravidlahryprohráčeEva( existenčníhráč )aadam( univerzálníhráč ), kteří postupně nasazují hodnoty proměnných. Jde o to, definovat hru tak, aby Eva měla vítěznou strategii(mimochodem, co to je vítězná strategie?) právě tehdy, když je zadaná

Teoretická informatika průběh výuky v semestru 5 formule pravdivá(a Adam měl vítěznou strategii právě tehdy, když je zadaná formule nepravdivá). Zbude-li čas, nakonec ilustrujte na malém příkladu, jak lze obecnou plně kvantifikovanou booleovskouformuli φpřevést(vpolynomiálnímčase)naekvivalentní φ,kterájevetvaru požadovaném pro vstup problému QBF. Příklad 11.2 Nejprve objasněte, co to je třída NPSPACE. UvažujmenynínedeterministickýTuringůvstroj M=(Q,Σ,Γ,δ,q 0,F),jehožprostorová složitost je omezena polynomem p(při práci na vstupu délky n navštíví jakýkoli výpočet stroje M nejvýš p(n) políček pásky. Nechť c je konstanta zaručující, že všech možných konfigurací uqvstroje M,kde uv l,jenejvýše2 cl (provš. l 0). Vysvětlete, co dělá následující funkce(programová procedura): function XY (w: iniciální obsah pásky stroje M) function R (n:integer, C,C : konfigurace stroje M, k:integer) if k=0 then if C = C or C - C (* tj.: stroj M může nejvýš jedním krokem přejít z C do C *) then return TRUE else return FALSE if k>0 then for all C of size p(n) do if R(n,C,C,k-1) and R(n,C,C,k-1) then return TRUE return FALSE for all C of size p(n) do if C je koncová (* tedy tvaru uqv, kde q je v F *) and R( w, q0 w, C, c p( w )) then return TRUE return FALSE Odvoďte, jakou paměťovou složitost funkce XY má.(speciálně vezměte v potaz, že ona dvě volání R(n,C,C,k-1) and R(n,C,C,k-1) mohou pro svou práci využívat tutéž pracovní paměť.) Jeužteďjasné,žePSPACE=NPSPACE? Příklad 11.3 Co myslíte, je třída NPSPACE uzavřena na doplněk?(tedy platí, že pro každý problém v NPSPACE je jeho doplňkový problém[s obrácenou otázkou] také v NPSPACE?)(Nápověda: využijte faktu, že PSPACE = NPSPACE.)

Teoretická informatika průběh výuky v semestru 6 Příklad 11.4 Co myslíte, je třída NPTIME uzavřena na doplněk? Platí např., že problém Název: co-sat(doplňkový problém k problému splnitelnosti booleovských formulí) Vstup:booleovskáformule F(x 1,x 2,...,x n )(případněvkonjunktivnínormálníformě). Otázka: je pravda, že daná formule F není splnitelná?(tedy je F nesplnitelná? Neboli je F kontradikcí?) Pokudjstepromysleliaváhátesodpovědí,takvězte,žeotázka,zdaNP = conp,je takéstáleotevřená.kdybyněkdorozřešilotázku,zdap=np,dalobytoautomaticky odpověďnaotázkunp? =conp?(pokudnevoboumožnýchpřípadech,taktřebaalespoň vjednom?) Příklad 11.5 Uvažujte následující problém. Název: Eq-NFA(problém ekvivalence nedeterministických konečných automatů) Vstup:dvaNFA A 1, A 2. Otázka:platí L(A 1 )=L(A 2 )? Připomeňte si nejdříve algoritmus rozhodující daný problém, který znáte. Prokázali jste jím,žeproblémeq-nfapatřídoexptime? Zamyslete se, zda se vám podaří ukázat příslušnost problému Eq-NFA k PSPACE.(Nápověda. Jak víme, stačí ukázat že Non-Eq-NFA(doplněk k Eq-NFA) patří do NPSPACE. Vysvětlete,pročtostačí,apaksetosnažteukázat.) (Pozn. Eq-NFA je také jeden ze známých PSPACE-úplných problémů.) Příklad 11.6 Diskutujte ukázku(struktury) zápočtové písemky(na webu TI); máte tak přirozenou možnost si objasnit všechny případné související problémy.