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



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.

Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula.

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

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

NP-úplnost problému SAT

Složitost her. Herní algoritmy. Otakar Trunda

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

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

Referáty budou přiděleny v zásadě na prvním cvičení. Studenti, kteří to nestihnou, se musí urychleně přihlásit cvičícímu(třeba em).

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

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

KMI/VCS1 Vyčíslitelnost a složitost

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.

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

Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy.

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

Složitost a moderní kryptografie

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.

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

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

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

Od Turingových strojů k P=NP

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

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

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

Úvod do teoretické informatiky

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

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

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

Vztah jazyků Chomskeho hierarchie a jazyků TS

Složitost Filip Hlásek

Modely Herbrandovské interpretace

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

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

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

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

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

Úvod do teoretické informatiky(2017/2018) cvičení 11 1

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

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

V ypoˇ cetn ı sloˇ zitost v teorii graf u Martin Doucha

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

10. Techniky formální verifikace a validace

Elegantní algoritmus pro konstrukci sufixových polí

Testování prvočíselnosti

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa

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

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

Rekurentní rovnice, strukturální indukce

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

Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39

19. a 20. přednáška z kryptografie

Úvod do teorie her

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

Principy indukce a rekursivní algoritmy

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

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

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

Diskrétní matematika. DiM /01, zimní semestr 2016/2017

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

TGH12 - Problém za milion dolarů

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

Usuzování za neurčitosti

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

Matematická analýza pro informatiky I. Limita funkce

Pravděpodobnost a statistika (BI-PST) Cvičení č. 4

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

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

Vlastnosti regulárních jazyků

ALGORITMY A DATOVÉ STRUKTURY

Matematická indukce, sumy a produkty, matematická logika

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

MFF UK Praha, 22. duben 2008

Vrcholová barevnost grafu

Matematická logika. Lekce 1: Motivace a seznámení s klasickou výrokovou logikou. Petr Cintula. Ústav informatiky Akademie věd České republiky

Matematika pro informatiky

Rozhodovací procesy v ŽP HRY A SIMULAČNÍ MODELY

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Matematické důkazy Struktura matematiky a typy důkazů

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

Úvod do informatiky. Miroslav Kolařík

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

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

Historie matematiky a informatiky Cvičení 1

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

10. Složitost a výkon

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

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

Úvod do teorie her

Jak funguje asymetrické šifrování?

YZTI - poznámky ke složitosti

Dokumentace programu piskvorek

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

Cvičení 5. Přednášející: Mgr. Rudolf B. Blažek, Ph.D. prof. RNDr. Roman Kotecký, DrSc.

Konečně,všechnyaspoňdvouprvkovémnožinyužzřejměgenerujíceléZ 5.Zjistili jsme,žealgebra(z 5,+)obsahujeprávědvěpodalgebry {0}aZ 5.

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

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

Matematická logika. Miroslav Kolařík

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 α

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

Transkript:

Teoretická informatika průběh výuky v semestru 1 Týden 14 Přednáška PSPACE, NPSPACE, PSPACE-úplnost Uvědomili jsme si nejprve, že např. pro zjištění toho, zda Bílý má nějakou strategii ve hře ŠACHY, která 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 připomněli jsme si Savitchovu větu z referátu na cvičení(a z učebního textu), která mj. implikuje PSPACE = NPSPACE. Znázornili jsme si obrázkem 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ů).(žádnému posluchači samozřejmě nedělá nejmenší problém uvést přesné definice problémů a příklady pozitivních a negativních instancí, že ano.) 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é. Aproximační algoritmy Přiblížili jsme si elementární základy zachycené v sekci 10.3. Pravděpodobnostní algoritmy Přiblížili jsme si elementární základy zachycené v sekci 10.4. Speciálně jsme se věnovali problému prvočíselnosti. Uvědomili jsme si, že algoritmus Máš-li testovat prvočíselnost zadaného(např. několikasetmístného) k, projdi všechna a,1 < a < kazjišťuj,zda Divides(a,k)(tedyzda(k mod a)=0)... je exponenciální(ve velikosti zápisu k).(a to i při přímočarých vylepšeních, při nichž zkoumámejenlichá a kapod.) Také jsme si všimli, že pravděpodobnostní algoritmus Vygenerujnáhodné a(řekněmeliché a,1 < a k);jestliže Divides(a,k), return NE, jinak return ANO. nám moc nepomůže. Vydá-li(nějaký) jeho běh NE, tak sice víme jistě, že k není prvočíslo, ale vydá-li ANO pro dané k třeba při miliónkrát opakovaném provedení, nemůžeme si vůbecbýtjisti,že kjeprvočíslem.(např.provelkéčíslo m=pq,kde p,qjsouprvočísla, je náhodná trefa jednoho z dělitelů p, q téměř nemožná.) Pak jsme naznačili, že(malá) Fermatova věta, je základem podstatně lepšího algoritmu(k čemuž se ještě vrátíme na cvičení). Sekce pro hlubší zájemce důkazy Diskutovali jsme jeden pozoruhodný důkaz z oblasti teorie složitosti, který se dá vyjádřit sloganem

Teoretická informatika průběh výuky v semestru 3 nedeterministický prostor je uzavřený na doplněk. Ukázali jsme ovšem jen následující speciální Tvrzení: Ke každému nedeterministickému Turingovu stroji M s prostorovou složitostí O(n), který rozhodujeproblém P,existuje(lzesestrojit)nedeterministickýTuringůvstroj M rovněžs prostorovou složitostí O(n), který rozhoduje problém P (tedy doplňkový problém problému P). Jestliže tedy M má pro slovo w alespoň jeden přijímající výpočet, tak všechny výpočty stroje M na wjsounepřijímající;jestliževšechnyvýpočtystroje Mna wjsounepřijímající, pakexistujealespoňjedenvýpočet M na w,kterýjepřijímající. Toto tvrzení mj. znamená, že třída tzv. kontextových jazyků je uzvařena na doplněk. To byl od 60. let 20. století známý otevřený problém a mezi zainteresovanými převládal názor, že tato třída na doplněk uzavřena není. Tvrzení dokázal jako první student informatiky namffukvbratislavěr.szelepcsenyinajaře1987.nežovšembylořešení(dopracováno, zobecněno a) oznámeno odborné veřejnosti, přišel nezávisle s řešením známý vědecn.immermanvusa.protosetomutotvrzení(vobecnějšípodobě)dnesříká The Immerman-SzelepcsenyiTheorem. Načrtli jsme si hlavní myšlenku: Má-li M uloženovčítači cčíslo c i udávajícípočetkonfiguracístroje M,dokterýchse tentostrojmůžedostatvikrocíchvýpočtuna w,pakdočítače c spočte c i+1 následovně: Generuje systematicky všechny možné konfigurace C 1,C 2,...,C m stroje M velikosti S M ( w )(kde S M jeprostorovásložitoststroje M);nazačátkutakévynuluječítač c. Prokaždouvygenerovanou C j zjišťuje,zda C j můžebýtdosaženavi+1krocíchtakto: Generuje(vjinémkouskupaměti)systematickyvšechnymožnékonfigurace D 1,D 2,...,D m stroje Mvelikosti S M ( w );nazačátkutakévynuluječítač d. Prokaždou D l nedeterministicky hádá,zda D l jedosažitelnávikrocích.pokudsitipne, žene,pokračujevygenerovaním D l+1...pokudsitipne,žeano,odsimulujenedeterministickyzvolených ikrokůstroje M na w:kdyžtaktodosaženákonfiguracenenítotožnás D l,stroj M neúspěšněskončí;kdyžtaktodosaženákonfiguracejetotožnásd l (M tedy ověřil,že D l jedosažitelnávikrocích), M zvýšíčítač do1aověří,zdazd l lzejedním krokemdosáhnout C j :pokudano,zvýšíčítač c azačnezkoumat C j+1,pokudne,pokračuje vygenerováním D l+1... Pokudtaktoprošelvšechny D 1,D 2,...,D m,anižzjistil,že C j jedosažitelnávi+1krocích, takověří,zdahodnotyvčítačích cadjsoustejné:kdyžnejsou, M neúspěšněkončí,když jsou(tedy M skutečněsprávněuhodlaověřilvšechnykonfigurace D l,kteréjsoudosažitelné v ikrocích,ataktoověřil,že C j skutečněnenídosažitelnávi+1krocích),pokračuje M zkoumáním C j+1 (anižzvýšil c )... Po(úspěšném)spočtení c i+1 (včítači c ),zkopíruje M hodnotu c dočítače c,vynuluje c apustísedovýpočtu c i+2...totoprovádíprovš. i m,kde mjepočetvšechmožných konfiguracístroje Mvelikosti S M ( w );kontrolujesitentohlavnícyklusspeciálnímčítačem, pronějžmuzajistéstačíprostor O(n).Pokudběhempráce M někdyzjistí,žejedosažitelná nějakápřijímajícíkonfigurace(stroje Mpřivýpočtuna w), M okamžitěskončíneúspěšně

Teoretická informatika průběh výuky v semestru 4 (tedynepřijme).pokudsetonestaloastroj M prošel(bezneúspěšnéhoukončenízdůvodů popsanýchvýše)výpočet c 1,c 2,...,c m,takpřijme. K ověření korektnosti dodejme: Když M má přijímající výpočet pro w, tak má také přijímající výpočet, v němž se neopakují dosažené konfigurace, a tedy má výpočet délky m. Poznámka. Detailnější popis důkazu(obecnějšího tvrzení) lze najít např. i v Internetových zdrojích.(google: Immerman-Szelepcsenyi Theorem.) Partie textu k prostudování Kapitola 9(speciálně Třída PSPACE). Sekce 10.3.(Aproximační algoritmy). Sekce 10.4. (Pravděpodobnostní algoritmy). Cvičení Prezentace referátů Referát č. 26(Problém QBF; Quantified Boolean Formulas) Uvažujme problém 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á? Navrhněte algoritmus, který řeší problém QBF a má prostorovou složitost omezenou polynomem.(tím ukážete, že QBF je v PSPACE.) Návod.Řekneme,žeformule F(x 1,x 2,...,x 2n )jeokproposloupnostbooleovskýchhodnot b 1,b 2,...,b i,kde0 i 2n,jestliže buď i=2naf(b 1,b 2,...,b 2n )=true, nebo i <2n, ijelichéafjeokjakpro b 1,b 2,...,b i,true,takpro b 1,b 2,...,b i,false, nebo i <2n, ijesudéafjeokproalespoňjednuzposloupností b 1,b 2,...,b i,true a b 1,b 2,...,b i,false. Ověřte nejprve, že formule ( x 1 )( x 2 )( x 3 )( x 4 )...( x 2n 1 )( x 2n )F(x 1,x 2,...,x 2n ) je pravdivá právě tehdy, když F je OK pro prázdnou posloupnost. Pak sestavte kýžený algoritmus(a prokažte, že jeho prostorová[tedy paměťová] složitost je polynomiální). Referát č. 27(Oblázková hra v PSPACE) Uvažujme problém, jehož instancí je orientovaný graf s vybraným vrcholem v a dále k oblázků. Můžeme v jakémkoli pořadí provádět následující elementární kroky:

Teoretická informatika průběh výuky v semestru 5 navrchol xmůžemepoložitoblázek,pokudvdanýokamžikležíoblázkynavšech vrcholech,znichžvedehranado x, oblázek položený na vrchol můžeme odebrat(a znovu použít později). Otázkou je, zda existuje posloupnost kroků, při níž položíme oblázek na zadaný vrchol v. Prokažte, že problém je v PSPACE. (Jednou z motivací problému je problém přidělování paměti při výpočtu; stačí daný počet registrů k provedení určeného výpočtu?) Příklady Příklad 14.1 Připomeňme si(pspace-úplný) problém 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. PakdefinujtepřesněpravidlahryprohráčeEva( existenčníhráč )aadam( univerzální hráč )načrtnuténapřednášce.jdeoto,definovathrutak,abyevamělavítěznoustrategii (mimochodem, co to je vítězná strategie?) právě tehdy, když je zadaná 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 14.2 Následujícítvrzeníjeznámojako MaláFermatovavěta. Tvrzení.Jestliže pjeprvočíslo,takprokaždé a,0 < a < p,platí a p 1 1 (mod p). (Když p není prvočíslo, tak to neplatí, jak byste se měli být schopni sami snadno přesvědčit [např. zbude-li čas na cvičení]). Přesvěčdtese,žetvrzeníplatípro p=11.přitomsiuvědomte,jakjeužitečnétzv.opakované umocňování. Můžete postupovat vyplněním následující tabulky; přitom využijte, že x 10 = x 8 x 2,tedy x 10 mod11=(x 8 mod11) (x 2 mod11) mod11.

Teoretická informatika průběh výuky v semestru 6 x 1 2 3 4 5 6 7 8 9 10 x 2 mod11 x 4 mod11 x 8 mod11 x 10 mod11 Pak vyplňte podobnou tabulku pro neprvočíslo 15. x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 x 2 mod15 x 4 mod15 x 8 mod15 x 14 mod15 Uvedená pozorování nabízejí zvážit jistý(polynomiální) pravděpodobnostní algoritmus k testování prvočíselnosti(velkých čísel). Jak vypadá tento algoritmus? (Poznámka.Tenalgoritmus téměř funguje, ošálí jejaletzv.carmichaelovačísla;naprosto korektní pravděpodobnostní algoritmus využívá o něco hlubší poznatky z teorie čísel.)