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

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

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

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

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

Turingovy stroje. Turingovy stroje 1 p.1/28

Teoretická informatika - Úkol č.1

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

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

Čí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:

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 Σ

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

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

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

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

Syntaxí řízený překlad

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

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

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

Vlastnosti regulárních jazyků

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

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.

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

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

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

Vztah jazyků Chomskeho hierarchie a jazyků TS

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

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

Jednoznačné a nejednoznačné gramatiky

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

Naproti tomu gramatika je vlastně soupis pravidel, jak

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

Hardwarová realizace konečných automatů

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

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

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

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

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.

Složitost Filip Hlásek

Automaty a gramatiky. Na zopakování X*/~ Roman Barták, KTIML. Iterační (pumping) lemma. Pravidelnost regulárních jazyků

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

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.

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

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

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

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

Složitost a NP-úplnost

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

Automaty a gramatiky

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

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

AUTOMATY A GRAMATIKY

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39

YZTI - poznámky ke složitosti

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/31

4 Pojem grafu, ve zkratce

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

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

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

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

5. Sekvenční logické obvody

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

Základy algoritmizace

Formalisace intuitivního pojmu algoritmus

Další NP-úplné problémy

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

Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula.

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

Vyhledávání v textu. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

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

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

Teoretická informatika TIN 2013/2014

BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS MASTER S THESIS AUTHOR

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

Na rozšiřující přednášce minulý týden jsme se věnovali zejména. algoritmu, který k zadanému konečnému automatu sestrojí ekvivalentní regulární výraz

a) b) c) Radek Mařík

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

Lineární algebra Kapitola 1 - Základní matematické pojmy

3. Sekvenční logické obvody

Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE. Jan Vacek Universální Turingův stroj. Katedra algebry

Od Turingových strojů k P=NP

57. ročník Matematické olympiády 2007/2008

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A

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

NP-úplnost problému SAT

Úvod do teorie grafů

Katedra informatiky a výpočetní techniky. 10. prosince Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc.

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

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

Úlohy k procvičování textu o univerzální algebře

Automaty a gramatiky. Roman Barták, KTIML. Chomského normální forma

Teoretická informatika TIN

Implementace LL(1) překladů

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ

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

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

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.

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

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.

Transkript:

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 rozdělit na tři samostatné části. Jednotlivé části jsou v obrázku naznačeny přerušovanými čarami. V první části se provádí pouze kontrola, zda je na vstupní pásce validní vstup ve tvaru A#B, kde A, B {, } +. Ve druhé části je vstup zarovnán tak, aby oba operandy byly zobrazeny naδ stejném počtu bitů. Tímto si zjednodušíme následné sčítání, které můžeme provádět obecněji a nemusíme tuto skutečnost ošetřovat při samotném sčítání. Ve třetí části je pak již provedeno pouze samotné sčítání dvou binárních čísel stejné délky. Výsledek sčítání je pak uložen na pásce dle zadání. L #,#,# L Δ # L } Δ Δ L } ΔL Δ L } Δ Δ Δ L } # Δ Δ S L Δ L# Δ Δ L } Δ Δ S L Δ LS L Δ # Δ L # L Δ SL } S L Δ L } S L ΔS L Δ L # Δ S L Δ L # Δ S L Δ L # Δ S L Δ L # ΔS L Δ L # Δ S L Δ L # Obrázek : Turingův stroj reprezentující sčítání dvou binárních čísel.

2. Třídu jazyků přijímaných turingovým strojem označme L T S. Třídu jazyků přijímaných dvojzásobníkovým automatem označme L DA. Jsou-li tyto dvě třídy jazyků ekvivalentní, je třeba dokázat obě inkluze L T S L DA a L DA L T S. První inkluzi L T S L DA dokážeme algoritmem, který k turingovu stroji sestrojí odpovídající dvojzásobníkový automat. Idea tohoto algoritmu je popsána slovně. Zvolme Z = #. Bez ujmy na obecnosti můžeme prohlásit, že # / Σ. Symbol # je tedy dno zásobníku. Vstup dvojzásobníkového automatu odpovídá řetězci w, který odpovídá řetězci neblankových symbolů počáteční konfigurace pásky turingova stroje, která je ve tvaru w. Na první zásobník vložíme symbol. Vrchol prvního zásobníku odpovídá pozici hlavy simulovaného turingova stroje. Dále je třeba definovat operace, které umožňuje turingův stroj, tedy zápis, posun doprava a posun doleva. Při posunu doprava je třeba rozlišovat tři možné varianty, které mohou nastat. Pokud je na druhém zásobníku pouze symbol # (dno zásobníku) a vstup dvojpáskového zásobníku obsahuje ještě neprázdný řetězec, přečteme symbol z pásky a uložíme jej na vrchol prvního zásobníku. Pokud je na druhém zásobníku pouze symbol # a na vstupu automatu je již prázdný řetězec, vložíme na vrchol prvního zásobníku symbol. Pokud je na druhém zásobníku mimo symbol # ještě jiný symbol, vezmeme symbol z vrcholu druhého zásobníku, odebereme ho z druhého zásobníku a uložíme ho na vrchol prvního zásobníku. Při posunu doleva se přečte symbol z vrcholu prvního zásobníku a přesune se na druhý zásobník. Pokud je na vrcholu prvního zásobníku symbol dna zásobníku #, představuje to situaci, kdy běh odpovídajicího turingova stroje posunul čtecí hlavu doleva před začátek pásky. Při zápisu znaku na místo čtecí hlavy (vrchol prvního zásobníku) je znak z vrcholu odebrán a nahrazen novým zpět na vrchol prvního zásobníku. Při simulaci TS při přechodu mezi stavy se znak z prvního zásobníku přečte a vrátí zpět. Při řádne formalizaci popsaného algoritmu pak není težké ukázat, že výsledný dvojzásobníkový automat simuluje turingův stroj. Druhou inkluzi L DA L T S dokážeme slovním popisem algoritmu simulace dvojzásobníkového automatu pomocí turingova stroje. Použijeme třípáskový turingový stroj, kde na první pásku položme vstupní řetězec dvojzásobníkového automat. Druhou a třetí pásku budeme považovat za dva zásobníky. Již bylo dokázáno, že vícepáskové turingovy stroje nezvyžují sílu a tudíž jsou ekvivalentní s jednopáskovými turingovy stroji. Druhou a třetí pásku, budeme používat tak, jak jsme zvyklí z práce se zásobníky. Budeme tedy vždy pracovat pouze s posledním symbolem, který představuje vrchol zásobníku. Zásobníkové operace jistě lze provádět pomocí turingova stroje. Při řádné formalizaci popsaného postupu můžeme dokázat, že dvojzásobníkový automat lze simulovat třípáskovým turingovým strojem, tedy i jednopáskovým turingovým strojem. Třídy jazyků L T S a L DA jsou tedy ekvivalentní, jak bylo dokázano neformálním popisem obou stran inkluze. 2

3.. Nerozhodnutelnost edukcí z problému zastaveni TS. Problém zastavení lze charakterizovat jazykem HP = {<M >#<w> M je TS takový, že zastaví, je-li spuštěn na řetězci w}. Problém, zda jazyk daného TS obsahuje alespoň jedno slovo z jazyka L 3 = {ww w {a, b} }, lze charakterizovat jazykem P = {<M> (L(M) L 3 ) }. Sestrojíme redukci σ : {,, #} {a, b} z jazyka HP na jazyk P. TS M σ vyčíslujicí σ přiřadí každému vstupu x {,, #} řetězec <M x >, kde M x je TS, který na vstupu w {a, b} pracuje tatko: (a) M x smaže řetězec w ze svého vstupní pásky. (b) Na vstupní pásku zapíše řetězec x. (c) M x ověří, zda x má strukturu x #x 2, kde x je kód TS a x 2 kód jeho vstupu. Nemá-li tuto strukturu, odmítne. (d) M x odsimuluje na své pásce běh TS s kódem x na řetězci s kódem x 2. Vede-li simulace k zastavení, přijme, jinak cyklí. M σ lze zřejmě realizovat jako úplný TS jedná se o výpis předpřipravených komponent TS (body a, c, d) a o kód TS, tkerý přepíše zadaný řetězec x na pásku (bod b). Pro jazyk TS M x platí: L(M x ) = (L(M x ) L 3 ) = x není platnou instancí problému zastavení nebo pokud x = x #x 2 a TS s kódem x nezastaví na řetězci s kódem x 2 (x / HP ). L(M x ) = {a, b} (L(M x ) L 3 ) x = x #x 2 a TS s kódem x zastaví na řetězci s kódem x 2 x HP. 2. Částečnou rozhodnutelnost není ze zadání třeba dokazovat. 3

4. Turingovu stroji M 4 odpovídá gramatika G 4 = ({S, A, B}, {a, b}, P, S), kde P je konečná množina pravidel definováných následovně P: S a aa A bb B bb as Mějme řetězec w = abbbaabaa, pro který jistě platí, že w L(M 4 ). Běh stroje M 4 pro tento řetězec po té vypadá následovně pro počáteční konfiguraci pásky w. (, abbbaabaa, ) (, abbbaabaa, 2) (2, abbbaabaa, 3) (3, abbbaabaa, 4) (3, abbbaabaa, 5) (3, abbbaabaa, 6) (, abbbaabaa, 7) (2, abbbaabaa, 8) (3, abbbaabaa, 9) (, abbbaabaa, ) (2, abbbaabaa, ) (5, abbbaabaa, ) (6, abbbaaba, ) (5, abbbaaba, 9) (6, abbbaab, 9) (5, abbbaab, 8) (6, abbbaa, 8) (5, abbbaa, 7) (6, abbba, 7) (5, abbba, 6) (6, abbb, 6) (5, abbb, 5) (6, abb, 5) (5, abb, 4) (6, ab, 4) (5, ab, 3) (6, a, 3) (5, a, 2) (6,, 2) (5,, ) (7,, 2) (8, Y, 2) (8, Y, ) Dané slovo w je generováno gramatikou G 4 následující posloupností derivací: S aa abb abbb abbbb abbbas abbbaaa abbbaabb abbbaabaa abbbaabaa. 4