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

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

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

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

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

Postův korespondenční problém. Meze rozhodnutelnosti 2 p.1/13

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

Složitost Filip Hlásek

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

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

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

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

Z. Sawa (VŠB-TUO) Teoretická informatika 11. prosince / 63

Rozhodnutelné a nerozhodnutelné problémy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 24. dubna / 49

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

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

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.

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

Vztah jazyků Chomskeho hierarchie a jazyků TS

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

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.

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

NP-úplnost problému SAT

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

Formální jazyky a automaty Petr Šimeček

Syntaxí řízený překlad

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

Poznámky k přednášce NTIN090 Úvod do složitosti a vyčíslitelnosti. Petr Kučera

Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

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.

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

Univerzální Turingův stroj a Nedeterministický Turingův stroj

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

Poznámky k přednášce NTIN090 Úvod do složitosti a vyčíslitelnosti. Petr Kučera

/1: Teoretická informatika(ti) přednáška 4

Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula.

TURINGOVY STROJE. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Základy algoritmizace

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

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

Automaty a gramatiky. Roman Barták, KTIML. Separované gramatiky. Kontextové gramatiky. Chomského hierarchie

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

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

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

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})

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

c/mávnějakémpřípaděvýpočetstroje Mvícekrokůnežtisícinásobekdélkyvstupu?

Výpočetní složitost I

SIMULÁTOR TURINGOVÝCH STROJŮ POPSANÝCH POMOCÍ KOMPOZITNÍCH DIAGRAMŮ

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

AUTOMATY A GRAMATIKY

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY. Vyčíslitelnost a složitost 1. Mgr. Viktor PAVLISKA

Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory

Turingův stroj. Definice Formálně je Turingův stroj definován jako šestice

11 VYPOČITATELNOST A VÝPOČTOVÁ 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

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

Od Turingových strojů k P=NP

Turingovy stroje. Turingovy stroje 1 p.1/28

10. Techniky formální verifikace a validace

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

/01: Teoretická informatika(ti) přednáška 5

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 Σ

Studijnı opora k prˇedmeˇtu m teoreticke informatiky Petr Jancˇar 22. u nora 2005

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

Automaty a gramatiky. Uzávěrové vlastnosti v kostce R J BKJ DBKJ. Roman Barták, KTIML. Kvocienty s regulárním jazykem

NALG 001 Lineární algebra a geometrie 1, zimní semestr MFF UK Doba řešení: 3 hodiny

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNTAKTICKÁ ANALÝZA DOKONČENÍ, IMPLEMENTACE.

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC


Základy složitosti a vyčíslitelnosti

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

NP-úplnost a další. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

Čísla značí použité pravidlo, šipka směr postupu Analýza shora. Analýza zdola A 2 B 3 B * C 2 C ( A ) 1 a A + B. A Derivace zleva:

Vlastnosti regulárních jazyků

1 Projekce a projektory

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

Základy složitosti a vyčíslitelnosti

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

Báze konečněrozměrných vektorových prostorů, lineární zobrazení vektorových prostorů

10. Složitost a výkon

1. Algoritmy a problémy V matematice se často setkáváme s tvrzeními týkajícími se objektů, které neumíme zkonstruovat. Můžeme např.

Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA I, zimní semestr 2000/2001 Michal Marvan. 2.

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA

KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO LINEÁRNÍ ALGEBRA 1 OLGA KRUPKOVÁ VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN

Základy matematické analýzy

Úvod do informatiky. Miroslav Kolařík

YZTI - poznámky ke složitosti

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

Matematická logika. Miroslav Kolařík

Poznámky k přednášce NTIN090 Úvod do složitosti a vyčíslitelnosti

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

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.

Úvod do kvantového počítání

2. ZÁKLADY MATICOVÉ ALGEGRY 2.1. ZÁKLADNÍ POJMY

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

H. Dreyfuss: What computers can t do, 1972 What computers still can t do, J. Weizenbaum. Computer power and human reason, 1976

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27

1 Linearní prostory nad komplexními čísly

Cvičení 5 - Inverzní matice

Transkript:

Teoretická informatika průběh výuky v semestru 1 Týden 7 Přednáška (Výpočetní) problémy, rozhodovací(ano/ne) problémy,... Připomněli jsme si obecné definice a konkrétní problémy, jako např. SAT[problém splnitelnosti booleovských formulí], problém minimální kostry grafu(i v rozhodovací verzi). Je samozřejmé, že po pochopení problému musí být každý schopen uvést konkrétní příklady instancí(vstupů)apříslušnýchvýstupů... Také jsme diskutovali přirozené způsoby kódování vstupů a výstupů slovy ve vhodné abecedě(kterálzenakoneczakódovat binárně,tedypomocíslovvabecedě {0,1}). Turingovy stroje Připomněli jsme si, co bylo cílem(třiadvacetiletého) Alana Turinga, když v roce 1936 zaváděl tzv. Turingův stroj, a nastínili jsme význam tzv. Church-Turingovy teze, která se stručně dá vyjádřit sloganem algoritmus = Turingův stroj. NaznačilijsmekonstrukcikonkrétníhoTuringovastrojeM 1 sdvěmakoncovýmistavyq accept a q reject,kterýpřijímá(nebezkontextový)jazyk {a n b n c n n 1}. Jedná se vlastně o sestavení(jako vždy, pokud možno přehledného, okomentovaného) programu s jediným typem instrukcí; jeho začátek může vypadat následovně. (q 0,a) (q 1,ā,+1) (q 1,x) (q 1,x,+1)pro x {a, b} (q 1,b) (q 2, b,+1)... ZároveňjsmepřipomnělidefiniciTuringovastrojejakostruktury M =(Q,Σ,Γ,δ,q 0,F) (kdeσ ΓaΓ Σvždyobsahujespeciálnísymbol );speciálnějsmesiuvědomili,že přechodová funkce δ:(q F) Γ Q Γ { 1,0,+1} je, de facto, příslušnou množinou instrukcí... Připomněli jsme si, že na výpočet Turingova stroje M se dá pohlížet jako na posloupnost konfigurací K 0 M K 1 M K 2 M. (V našem konkrétním případě stroje M 1 např. platí (q 0 aaabbbccc) (āq 1 aabbbccc) (āaq 1 abbbccc) (āaaq 1 bbbccc) (āaa bq 2 bbccc) (āāā b b b c c cq accept ); ale např. (q 0 aabbbccc) āā b bq reject b c cc).)

Teoretická informatika průběh výuky v semestru 2 Uvědomili jsme si, že náš stroj(tedy algoritmus) řeší problém Název: Příslušnostkjazyku L={a n b n c n n 1} Vstup: w {a,b,c} Výstup:Ano,když w L,Nejinak. Jinými slovy, náš stroj(algoritmus) rozhoduje(rozhodovací, neboli Ano/ Ne) problém Název: Příslušnostkjazyku L={a n b n c n n 1} Vstup: w {a,b,c} Otázka:Je w L? Pakjsmesinačrtli,jakbypracovalTuringůvstroj M 2,kterýřešínásledujícíproblém(jenž není typu Ano/Ne): Název: Zdvojení slova v abecedě {a, b}. Vstup: w {a,b}. Výstup: ww. Uvědomilijsmesi,žekaždýTuringůvstroj M=(Q,Σ,Γ,δ,q 0,F)přirozenědefinuječástečné zobrazení f M :Σ Γ. Zobrazeníjeobecněčástečné(tedynenutnětotální)proto,žeproněkterévstupy w Σ se výpočet M nemusí zastavit a příslušný výstup tedy není definován; výrazem!m(w) se zpravidlaoznačujefakt,že Mseprovstup wzastaví(ahodnotavýstupu f M (w),někdy označovaná přímo jako M(w), je definována). Simulace mezi variantami Turingových strojů Zavedli jsme přirozenou definici dvoupáskového Turingova stroje(2p-ts) jako struktury M=(Q,Σ,Γ,δ,q 0,F),kde δ:(q F) Γ Γ Q Γ { 1,0,+1} Γ { 1,0,+1}, azkonstruovalijsmetakovýstroj,kterýřešíproblém Zdvojeníslova.Sestrojilijsme přitom následující množinu instrukcí. (q 0,x, ) (q 0,x,+1,x,+1)pro x {a,b} (q 0,, ) (q 1,, 1,,0) (q 1,x, ) (q 1,x, 1,,0)pro x {a,b} (q 1,, ) (q 2,,+1,,0) (q 2,x, ) (q 2,x,+1,x,+1)pro x {a,b} (q 2,, ) (q halt,,0,,0)

Teoretická informatika průběh výuky v semestru 3 Pak jsme si ujasnili, jak lze obecný dvoupáskový Turingův stroj(2p-ts) M simulovat jednopáskovýmdvouhlavýmturingovýmstrojem(1p-2h-ts) M.Stroje M, M majítedy stejné(vstupně/výstupní)chování,tj.realizujítutéž(částečnou)funkci f M = f M. (Ideaspočívávpoužití dvoustopépásky,tedymístoabecedyγstroje Mmá stroj M abeceduγ =Γ (Γ Γ).Prvníhlavaměníjen hornístopu,druhá jen dolnístopu.přitomsemusíošetřitpřípadnýzapisovacíkonflikt,když hlavy stojí na stejném políčku pásky.) Navázalijsmenáčrtemsimulaceobecného1P-2H-TS M standardnímstrojem,tedyjednopáskovým jednohlavým Turingovým strojem. (Ten si na pásce musí označovat místa, kde by stály simulované hlavy, a trochu senaběhá.) Rozhodnutelnost a nerozhodnutelnost problémů Nejprve jsme si důkladně připomněli, co to je(v našem kontextu) problém. Uvědomili jsmesi,žekaždémuproblému Pjejednoznačněpřiřazena(většinounekonečná) tabulka T P sdvěmasloupci:vprvnímsloupcijsouvjednotlivýchřádcíchvyjmenoványvšechny (přípustné) vstupy(neboli instance) problému P (vstupy jsou zadány vhodně zvolenými kódy = slovy v určité abecedě[de facto stačíabeceda {0,1}]ajsounapř.seřazenypodledélkyavrámcistejnédélky lexikograficky]) a v druhém sloupci jsou uvedeny příslušné výstupy (v i-témřádkujetedyv1.sloupci i-tývstup wav2.sloupcijepříslušný výstup p(w),kde pjezobrazení p:in OUTurčenéproblémem P;tabulka T P jeprostěreprezentacízobrazení p). V případě ANO/NE-problému se v druhém sloupci vyskytují jen výstupy Ano a Ne. Poznámka. S ohledem na budoucí úvahy si speciálně uvědomme, že pro každý vstupvtabulce T P jedefinovánpříslušnývýstup;vdruhémsloupcisetedy nikdeneobjeví nedefinováno (znak ). Např. u problému zdvojení slov v abecedě {0, 1} je možné příslušnou tabulku(zobrazení) znázornit takto:

Teoretická informatika průběh výuky v semestru 4 Vstup Příslušnývýstup ε ε 0 00 1 11 00 0000 01 0101 10 1010 11 1111 000 000000...... Analogicky si lze přirozeně představit příslušnou(nekonečnou) tabulku pro problém ekvivalence konečných automatů(eq-fa), problém ekvivalence bezkontextových gramatik(eq- CFG), problém zastavení Turingova stroje(hp, halting problem), diagonální problém zastavení(dhp), atd. Uvědomme si nyní, že každému algoritmu A odpovídá také jistá(vstupně/výstupní) tabulka T A,kterákaždémumožnémuvstupu walgoritmu Apřiřazuje výstupvydanýalgoritmema vpřípadě,žeběhalgoritmuaprovstup wjekonečný, nebospeciálníznak (nedefinováno) vpřípadě,žeběhalgoritmu Aprovstup w je nekonečný. Jak víme, můžeme si(díky Churchově-Turingově tezi) pod pojmem algoritmus představit(např.)turingůvstroj.každýturingůvstroj Mtedyurčujepříslušnoutabulku T M. Můžeme jí říkat např. vstupně/výstupní tabulka, zkráceně I/O-tabulka, stroje M. Je to prostě(nekonečná) reprezentace vstupně/výstupního chování stroje M, tedy reprezentacepříslušnéhoi/ozobrazení f M :Σ Γ { },kdeσjevstupníaγ(celková) pásková abeceda stroje M. Poznámka. Víme, že se bez ztráty obecnosti můžeme omezit na stroje s abecedamiσ = {0,1},Γ={0,1, },jejichži/ozobrazeníjetypu {0,1} {0,1} { }(cožmj.znamená,žestrojejsounavrženytak,abypřiukončení výpočtu zůstal na pásce jediný souvislý úsek nul a jedniček[nepřerušovaný znaky ]). Pomocí uvedených pojmů tabulky problému a I/O-tabulky algoritmu(turingova stroje) jsme vyjádřili, kdy je problém P algoritmicky řešitelný; v případě ANO/NE-problému hovoříme o algoritmické rozhodnutelnosti, či zkráceně jen rozhodnutelnosti. Jen nám tedy naprosto jasné, co je myšleno, když se řekne problém Eq-FA je rozhodnutelný a problémyeq-cfg,hp,dhpjsounerozhodnutelné.

Teoretická informatika průběh výuky v semestru 5 Partie textu k prostudování Problémy a algoritmy(část 6.1.), Turingovy stroje(část 6.2.).(Informativně) Model RAM (část 6.3.), simulace mezi výpočetními modely, Church-Turingova teze(6.4.), rozhodnutelnost a nerozhodnutelnost problémů(6.5.). Cvičení Příklad 7.1 Na přednášce jsme mj. diskutovali o(výpočetních) problémech. Zformulujte, co to je(v našem kontextu) pojem problém a pak speciálně rozhodovací(neboli ANO/NE) problém. Specifikujte např. problém jednoznačnosti bezkontextových gramatik, s ukázkou pozitivní a negativní instance. Zformulujte definici(algoritmicky) rozhodnutelného(obecně algoritmicky řešitelného) problému... (Vzpomínáte si, co jsme řekli o(ne)rozhodnutelnosti problému jednoznačnosti gramatik?) Příklad 7.2 Zformalizujte situaci obchodního cestujícího, který má soupis měst k projetí a zná vzdálenost mezi každými dvěma městy, jakožto(výpočetní) problém; jde přitom o nalezení co nejkratší cesty, při níž jsou navštívena všechna města. Pak navrhněte rozhodovací verzi problému(při níž je dán limit). Vždy uveďte příklady konkrétních instancí a příslušných výstupů.(v případě rozhodovací verze uveďte alespoň jednu pozitivní a jednu negativní instanci.) Příklad 7.3 Navrhněte(co nejjednodušší) Turingův stroj M řešící problém příslušnosti k jazyku(palindromů) L={w {a,b} w=w R }azadejtejej(přehledným)seznameminstrukcí. Příklad 7.4 Navrhněte(co nejjednodušší) dvoupáskový Turingův stroj(2p-ts) M řešící problém příslušnostikjazyku(palindromů) L={w {a,b} w=w R }. Porovnejte s řešením předchozího příkladu a později také s řešením následujícího příkladu. Příklad 7.5 K 2P-TS M z předchozího příkladu sestrojte standardní(jednopáskový, jednohlavový) Turingůvstroj M,kterýřešítentýžproblém.Přitomsesnažtepoužívatobecnýpostup, kterýklibovolnému2p-ts MsestrojístandardníTS M simulující M. Příklad 7.6 Navrhněte způsob, jak lze Turingův stroj s obecnou páskovou abecedou Γ simulovat Turingovým strojem s páskovou abecedou {0, 1, }.