(k-páskový deterministický) TS je 5-tice: M = (Q, ∑, δ, q0, F) |
* Q je konečná množina stavů (řídící jednotky) * ∑ je konečná pásková abeceda ** obsahuje znak λ pro prázdné políčko * <math>δ : Q \times ∑^k -> Q \times ∑^k \times \{R, N, L\}^k ∪ \{⊥\}</math> je přechodová fce ** ⊥ je nedefinovaný přechod * q0 ∈ Q je počáteční stav * F ⊆ Q je množina přijímajících stavů. 💡 Pozn: UTS umí simulovat libovolný jiný TS M nad libovolným vstupem w. |
Algoritmicky nerozhodnutelné problémy (halting problem) (9×🎓)
{{Zkazky|
Algoritmicky nerozhodnutelné problémy, halting problem (2015, Kučera, ke konci i Majerech) - prolítnul můj důkaz LHALT a chtěl dokázat problem: "ekvivalence 2 TS" je RSJ nebo RJ? jsem se s tím v životě nesetkal, tak jsem jenom něco málo odvodil z definice a vlastností m-převoditelnosti, ale asi to na vyhazov nebylo
Halting problém (2013, Kolman) - Tu som zadefinoval TS, spomenul som kódovanie TS (nič konkrétne iba že to je číslo), Postovu vetu a dokázal som, že L HALT nie je rekurzivný, na záver som spomenul, že to isté sa dá urobiť aj cez množiny. Žiadne doplnkové otázky.
Algoritmicky nerozhodnutelné problémy (2012, A.Kučera) - Napsal jsem Halting problém + ten jednoduchý důkaz. Dále jsem napsal Riceovu větu a jak souvisí s halting problémem. Nakonec jsem napsal Postův korespondenční problém. To zkoušejícímu stačilo a nebyly žádné další otázky.
Nerozhodnutelné problémy (2012, Kucera) - Halting problem - jak se dokazuje, Postuv problem, rozhodnuti zdali dana funkce vycisluje dany program
Algoritmicky nerozhodnutelne problemy (2012, Dvorak) - Zacal sem Church-Turingovou tezi a pojem algoritmus vztahl k TS. Pak sem zadefinoval Rekurzivne spocetne a rekurzivni jazyky. Halting problem, Diagonalni jazyk, Univerzalni jazyk, Postova veta. Pak sem presel od TS k CRF tady sem jako priklad uvedl K a K0, definoval CRF a ORF + intuitivni srovnani s TS U vetsiny veci sem mel i dukazy ( vycislitelnosti sem se bal nejvic z okruhu takze sem to mel celkem nadrceny ). Pak se dvorak ptal jak zjistim ze nejakekj problem je nerozhodnutelny ( aniz by clovek musel furt vymyslet specialni dukazy ) to sem chvili vahal ale pak sem si vzpomel na prevoditelnost Rekurzivnich a rekurzivne spocetnych mnozin pomoci prevodni fce ktera musi byt ORF coz se ukazalo jako spravna odpoved. Posledni sada otazek uz smerovala k tomu co se bude dit kdyz budu mit TS s orakulem, jestli potom budou vsechny problemy budou rozhodnutelne...tady sem nevedel, odpovidal sem hodne diplomaticky ( spravna odpoved je TS s 1 orakulem umi resit nejaky problemy, TS s 2 orakulama umi resit jeste vic problemu atd...ale nikdy nelze pokryt vsechny jazyky ) Jeste dodam ze tohle nakonec Dvorak okomentoval slovy ze je to spis takova zajimavost, nic zasadniho pro statnice.
Algoritmicky nerozhodnutelné problémy (2012) - Napsal jsem Halting problém + ten jednoduchý důkaz. Dále jsem napsal Riceovu větu a jak souvisí s halting problémem. Nakonec jsem napsal Postův korespondenční problém. To zkoušejícímu stačilo a nebyly žádné další otázky.
Algoritmicky nerozhodnutelné problémy (2011, Kucera) - Způsob zkoušení: Zdá se, že mu jde o témata, které mají praktický dopad (např. halting problem). Ptal se, jestli znám ještě další nerozhodnutelný problém. Dostali jsme se i k Riceově větě, ale bránil mi ji dokazovat, protože to nebylo v otázce. Známku mi neříkal. S Majerechem zkoušeli někoho společně. Uklidňovali ho, že mu chtějí pomoct.
Algoritmicky nerozhodnutelné problémy (2010) - Co to je rozh. problém, halting problém, že to souvisí s tím, že množina K není rekurzivní, Riceova věta s důkazem.
Alg. nerozhodnutelne problemy (2010, P. Kucera) - klasika, definice co to je problem, rozdil mezi rekurzivne spocetnym a rekurzivnim, Churchova teze a ekvivalence s TS, dale halting problem + ten snadny dukaz, Riceho veta a jeste jeden dva dalsi problemy jako zajimavost.
Nerozhodnutelne problemy (2009, Mlcek) - Halting a Riceova s dokazom, ostatne len nazov
}}
instance problému - vstup
rozhodovací problém(odpověď typu ano/ne) - jazyk řetězců popisujících pozitivní instance a otázku, zda dané slovo – instance problému – patří do tohoto jazyka (kladná instance daného problému)
Jazyk <math>L</math> je rekurzivní (také rozhodnutelný), pokud ∃ TS <math>M</math>, který se vždy zastaví a <math>L = L(M)</math>.
{{theorem
|LHALT = {e;x | Mₑ(x)↓} je RSJ, ale není RJ
| problém zastavení }}Dk (sporem přes UTS HALT zdroj):
Sporem nechť máme TS HALT(e;x) rozhodující, zda se TS Mₑ zastaví nad daty x (a TS HALT se zastaví vždy a vydá buď 0 nebo 1).
Potom lze vyrobit TS PODRAZₚ(x)↓ ⇔ HALT(x;x)↓ = 0 ( tj. pokud HALT(x;x)↓ = 1 tak se PODRAZₚ(x) uměle zacyklí - tedy můžeme ho vytvořit úpravou TS HALT ).
PODRAZₚ má Gödelovo číslo p. Pak ale:
HALT(p;p)↓ = 1 <math>\stackrel{\text{z def.HALT}}{⇔}</math> PODRAZₚ(p)↓ <math>\stackrel{\text{z def.PODRAZ}}{⇔}</math>HALT(p;p)↓ = 0
a to je spor.
</math> {{theorem
| LDIAG = {wᵢ ∈ {0, 1}* | wᵢ ∉ L(Mᵢ) }
není RSJ (tedy ani RJ)
| diagonalizační jazyk
}} {{collapse|Dk (sporem)|2=
Předpokládáme že <math>L_{DIAG}</math> je RSJ ⇒ ∃ TS M že <math>L_{DIAG} = L(M_e)</math> z čekož nám vychází ale spor:
<math>w_e \in L(M_e) ⇔ w_e ∈ L_{DIAG} ⇔ w_e \notin L(M_e)</math>, kde první ekvivalence vyplývá z toho, že <math>L_{DIAG} = L(M_e)</math> a druhá ekvivalence z definice <math>L_{DIAG}</math>
}} {{theorem
| Lᵤ =
L(U) (kde U je UTS) je RSJ, ale není RJ
| univerzální jazyk
}} {{collapse|Dk (sporem)|2=
To, že <math>L_u</math> je RSJ jsme ukázali tím, že jsme popsali UTS, který jej přijímá.
Zbývá tedy ukázat, že není rekurzivní. Z Postovy věty stačí dokázat pouze, že <math>\overline L_u</math> není RSJ.
Sporem nechť <math>\overline L_u = L(M)</math>. Pomocí stroje <math>M</math> zkonstruujeme stroj <math>M’</math>, který bude přijímat diagonalizační jazyk <math>L_{DIAG}</math>. Už víme, že <math>L_{DIAG}</math> není RSJ a dospějeme tím tedy ke sporu.
<math>M’</math> dostane na vstupu slovo <math>w</math> a má rozhodnout, zda <math>w ∈ L_{DIAG}</math>, tedy jestli stroj s kódem <math>w</math> odmítne slovo <math>w</math>.
<math>M’</math> udělá pouze to, že zkontroluje, zda w kóduje Turingův stroj způsobem, jaký jsme popsali při popisu UTS. Pokud <math>w</math> nekóduje syntakticky správně TS, odpovídá prázdnému TS, který slovo <math>w</math> určitě nepřijme a <math>M’</math> tedy skončí přijetím. V opačném případě připíše <math>M’</math> za <math>w</math> kód <math>111</math> (kód „;“) a za ně okopíruje opět slovo <math>w</math>. Poté <math>M’</math> spustí na tomto slově stroj <math>M</math>, pokud <math>M</math> přijme, přijme i <math>M’</math>, pokud se <math>M</math> zastaví a odmítne, odmítne i <math>M’</math>, pokud se <math>M</math> nezastaví, nezastaví se ani <math>M’</math>.
<math>M’</math> ale přijímá jazyk <math>L_{DIAG}</math>, protože <math>M’(w)</math> přijme ⇔ <math>w</math> je validním kódem TS <math>N</math> a <math>N(w)</math> nepřijme, což je ekvivalentní tomu, že <math>U(w;w)</math> nepřijme a <math>M(w; w)</math> přijme. Fakt, že <math>L(M’) = L_{DIAG}</math>, je však ve sporu s tím, že <math>L_{DIAG}</math> není RSJ.
}}
{{collapse|další problém: Postův korespondenční problém|2=
- Vstup
dva konečné seznamy <math>\alpha_{1}, \ldots, \alpha_{N}</math> and <math>\beta_{1}, \ldots, \beta_{N}</math> slov nad abecedou <math>A</math> z alepoň 2 symbolů.
- Řešení
sekvence indexů <math>(i_k)_{1 \le k \le K}</math> kde <math>K \ge 1</math> a <math> 1 \le i_k \le N</math> pro všechna <math>k</math>, že:
<math>\alpha_{i_1} \ldots \alpha_{i_K} = \beta_{i_1} \ldots \beta_{i_K}.</math>
- Problém
Zda existuje řešení. }}
{{Statnice I2}}