Rozhodnutelnost. Teoretická informatika Tomáš Foltýnek

Podobné dokumenty
Turingovy stroje. Teoretická informatika Tomáš Foltýnek

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

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

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

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

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

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

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

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

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

Teoretická informatika Tomáš Foltýnek Teorie čísel Nekonečno

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

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

Turingovy stroje. Turingovy stroje 1 p.1/28

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

Vlastnosti regulárních jazyků

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.

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

Vztah jazyků Chomskeho hierarchie a jazyků TS

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

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

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

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

Složitost Filip Hlásek

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

Od Turingových strojů k P=NP

YZTI - poznámky ke složitosti

Naproti tomu gramatika je vlastně soupis pravidel, jak

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

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

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

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 Σ

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

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

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

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

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

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

Lineární algebra : Báze a dimenze

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

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

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy

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

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

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

Lineární algebra : Násobení matic a inverzní matice

Teoretická informatika TIN

Lineární algebra : Násobení matic a inverzní matice

15. Moduly. a platí (p + q)(x) = p(x) + q(x), 1(X) = id. Vzniká tak struktura P [x]-modulu na V.

Teoretická informatika - Úkol č.1

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

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

Základy teorie množin

Základy matematické analýzy

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

AUTOMATY A GRAMATIKY

Těleso racionálních funkcí

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

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.

Principy indukce a rekursivní algoritmy

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

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

KMI/VCS1 Vyčíslitelnost a složitost

Základy složitosti a vyčíslitelnosti

KYBERNETIKA A UMĚLÁ INTELIGENCE

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30

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

Teoretická informatika Tomáš Foltýnek Algebra Struktury s jednou operací

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

1 Kardinální čísla. množin. Tvrzení: Necht X Cn. Pak: 1. X Cn a je to nejmenší prvek třídy X v uspořádání (Cn, ),

Dijkstrův algoritmus

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

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

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

ALGORITMY A DATOVÉ STRUKTURY

10 Přednáška ze

Základy složitosti a vyčíslitelnosti

Množiny, relace, zobrazení

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

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.

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

Intervalová data a výpočet některých statistik

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

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava luk76/la1

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

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

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

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

Úvod do informatiky. Miroslav Kolařík

Báze a dimenze vektorových prostorů

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

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

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

Logika. 6. Axiomatický systém výrokové logiky

Substituce. Petr Štěpánek. S využitím materialu Krysztofa R. Apta. Logické programování 2 1

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

Složitost her. Herní algoritmy. Otakar Trunda

Základy elementární teorie čísel

Složitost a NP-úplnost

Základy algoritmizace

Transkript:

Rozhodnutelnost Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz

Teoretická informatika 2 Opakování z minulé přednášky Co je to Turingův stroj? Jak je Turingův stroj formálně definován? Co je to konfigurace, krok výpočtu a výpočet TS? Jaký je rozdíl mezi jazykem akceptovaným a rozhodovaným TS? Co je to rekursivní a rekursivně spočetný jazyk? Jak lze použít TS pro výpočet hodnot funkcí? Co je to rozhodnutelný, částečně rozhodnutelný a nerozhodnutelný problém? Jaké varianty TS znáte? Jaké jsou uzávěrové vlastnosti rekurzivních a rekurzivně spočetných jazyků?

Teoretická informatika 3 Otázky pro dnešní přednášku Existují jazyky (problémy), které nejsou rekursivně spočetné (částečně rozhodnutelné)? Existují jazyky (problémy), které jsou rekursivně spočetné (částečně rozhodnutelné), ale nejsou rekursivní (rozhodnutelné)? Pokud ano, které to jsou?

Teoretická informatika 4 Osnova přednášky Formalizace pojmu algoritmus Churchova teze Další formalizace algoritmu Kódování strojů a slov Univerzální TS Problém příslušnosti Diagonalizace Problém zastavení Redukce Důsledky nerozhodnutelnosti

Teoretická informatika 5 Churchova teze Algoritmus = postup řešení určitého problému Obecný Konečný Deterministický Srozumitelný Opakovatelný Jak pojem algoritmus formalizovat? Church-Turingova teze: Každý proces, který lze intuitivně nazvat algoritmem, lze ralizovat pomocí Turingova stroje Ztotožnění pojmů algoritmicky řešitelný a řešitelný pomocí TS

Teoretická informatika 6 Další formalizace algoritmu Postovy systémy Minského stroje µ-rekursivní funkce λ-kalkul while programy Všechny jsou výpočetně ekvivalentní Turingově stroji

Teoretická informatika 7 Kódování Turingova stroje Je dán TS M = (Q, Σ, Γ,,, δ, q 0, q A, q R ). Předpokládejme seřazení a očíslování prvků množin Q, Σ, Γ takové, že Q = {q 0, q A, q R, }, Γ = {,, } Dále označme s 1 = L a s 2 = R Pak hodnotu přechodové funkce δ(q i,x j ) = (q k,x l,s m ) lze jednoznačně zakódovat binárním řetězcem 0 i 10 j 10 k 10 l 10 m Binárním kódem TS M je pak řetězec 111<KÓD1>11 <KÓD2>11 11 <KÓDr>111 Analogicky lze kódvat i vstupní slova stroje M Kód stroje M označíme <M>, kód slova w označíme <w>

Teoretická informatika 8 Univerzální Turingův stroj Díky kódování TS a vstupního slova lze sestrojit Univerzální TS U takový, že L(U) = {<M>#<w> M akceptuje slovo w} Výpočet stroje U: Ověří, že je slovo požadovaného tvaru (pokud ne, tak zamítá) Simuluje krok po kroku výpočet stroje M nad slovem w. U má 3 pásky: kód stroje M, aktuální obsah pásky stroje M, aktuální stav stroje M U akceptuje (zamítá) právě tehdy, když M nad w akceptuje (zamítá). Pokud M nad w cyklí, pak i U nad <M>#<w> cyklí.

Teoretická informatika 9 Problém příslušnosti pro TS Problém určit, zda stroj M slovo w akceptuje, nebo neakceptuje (tj. zamítne, nebo bude cyklit). Tedy problém určit, zda w L(M) Definujeme jazyk odpovídající problému: PP = {<M>#<w> stroj M akceptuje slovo w} Tedy PP = {<M>#<w> w L(M)}

Teoretická informatika 10 Rozhodnutelnost PP Snadno lze ověřit, že PP je částečně rozhodnutelný L(U) = PP U není úplný, proto zatím nevíme, zda je PP rozhodnutelný Může existovat i jiná metoda, než je UTS? Odpověď na otázku za chvíli

Teoretická informatika 11 Diagonalizace I. Existuje jazyk, který není rekursivně spočetný Každý řetězec nad abecedou {0,1} lze chápat jako kód nějakého TS, resp. jako kód nějakého slova. Pro dané slovo x {0,1} * označme M x Turingův stroj s kódem x a w x slovo s kódem x. Všechna slova nad abecedou lze snadno uspořádat a sestrojit dvourozměrnou tabulku

Teoretická informatika 12 Diagonalizace II. w ε w 0 w 1 w 00 w 01 w 10 M ε 1 0 1 1 0 1 M 0 0 1 1 1 0 1 M 1 1 1 1 0 1 1 M 00 0 0 0 0 0 1 M 01 1 0 0 1 0 0 M 10 0 0 0 1 1 0

Teoretická informatika 13 Diagonalizace III. Zkonstruujeme jazyk D nad abecedou {0,1}. Zařadíme do něj právě taková slova w d, která nejsou akceptována strojem M d. Sestrojili jsme jazyk, který není akceptován žádným Turingovým strojem. Kdyby byl akceptován nějakým strojem M m, pak by nesměl obsahovat slovo w m právě tehdy, když jej obsahuje, a naopak.

Teoretická informatika 14 Důkaz ne-rozhodnutelnosti PP Sporem. Předpokládejme existenci úplného TS T akceptujícího jazyk PP Pro vstup <M>#<w> stroj T pracuje takto: T zastaví a akceptuje právě tehdy, když M zastaví a akceptuje T zastaví a zamítne právě tehdy, když M zastaví a zamítne, anebo když cyklí na w. Zkonstruujeme stroj N, který pro vstup x pracuje takto: Na pásku zapíše řetěz x#x Simuluje výpočet stroje T na vstupu x#x N akceptuje právě tehdy, když T zamítne vstup x#x N zamítne právě tehdy, když T akceptuje vstup x#x Stroj N nad vstupem <N> pak nechá stroj T simulovat sebe sama a zamítne právě tehdy, když akceptuje, a akceptuje právě tehdy, když tamítne Dostáváme tedy spor, tudíž stroj T nemůže existovat Jazyk PP tedy není rekursivní

Teoretická informatika 15 Důsledek ne-rozhodnutelnosti PP Jazyk co-pp = {<M>#<w> M neakceptuje w} není rekursivně spočetný PP je rekursivně spočetný. Kdyby byl i co-pp rekursivně spočetný, pak by byl PP i co-pp rekursivní Víme, že PP není rekursivní, tudíž co-pp nemůže být ani rekurisvně spočetný Neexistuje tedy (ani neúplný) TS akceptující jazyk co-pp

Teoretická informatika 16 Problém zastavení I. Problém rozhodnout, zda daný TS M nad daným vstupem w zastaví, není rozhodnutelný Jazyk PZ = {<M>#<w> výpočet M na w je konečný} není rekursivní Důkaz provedeme sporem. Předpokládáme rozhodnutelnost PZ, tedy existenci TS T, L(T) = PZ Ukážeme, že pak by existoval úplný TS akceptující PP Ten však existovat nemůže, tudíž nemůže existovat ani T.

Teoretická informatika 17 Problém zastavení II. Sestrojíme stroj N akceptující jazyk PP. Stroj bude pracovat takto: Simuluje výpočet stroje T (PZ) na vstupu <M>#<w> Pokud T akceptuje, pak to znamená, že výpočet M nad w je konečný. N může tedy simulovat výpočet M na w Pokud T zamítne, pak to znamená, že M nad w cyklí. N tedy vstup zamítne. Protože PP není rekursivní, stroj N nemůže existovat. Nemůže tedy existovat stroj T, na němž je výpočet stroje N založen.

Teoretická informatika 18 Redukce Problém příslušnosti jsme převedli (redukovali) na problém zastavení. Kdybychom měli k dispozici algoritmus PZ (stroj T), pak bychom měli i algoritmus PP (stroj N). Víme-li že neexistuje algoritmus pro PP (stroj N), pak nemůže existovat ani algoritmus PZ (stroj T)

Teoretická informatika 19 Formální definice redukce Redukce jazyka A Σ * na jazyk B Ψ * (značíme A B) je rekursivní funkce r: Σ * Ψ * taková, že w A r(w) B Jedná se tedy o funkci realizovatelnou TS (rekursivní fce) zachovávající příslušnost do jazyka Zobrazení, které všechna slova z jazyka A zobrazí na slova z jazyka B a všechna slova napatřící do jazyka A zobrazí na slova nepatřící do jazyka B.

Teoretická informatika 20 Využití redukce Nechť A B. Pak platí: Není-li jazyk A rekursivně spočetný, pak není ani jazyk B rekursivně spočetný Není-li jazyk A rekursivní, pak není ani jazyk B rekursivní Je-li jazyk B rekursivně spočetný, pak je i jazyk A rekursivně spočetný Je-li jazyk B rekursivní, pak je i jazyk A rekursivní

Teoretická informatika 21 Důsledky pro informatiku Existují problémy, které nelze řešit pomocí počítače Problém zastavení Postův korespondenční problém Problém rozhodnout, zda jazyk generovaný danou CFG je konečný Problém rozhodnout, zda dvě CFG generují stejný jazyk Každá netriviální vlastnost rekursivně spočetných jazyků

Teoretická informatika 22 Rozhodnutelné problémy Je-li problém rozhodnutelný, ještě to neznamená, že je rozhodnutelný v rozumném čase. Za rozumný čas považujeme takový čas, kdy je pro nás výsledek výpočtu ještě využitelný. Rozhodnutelností se zabývá teorie vyčíslitelnosti Časovou (a prostorovou) náročností se zabývá teorie složitosti Můžete se těšit na příští přednášku