Упражнение 2.1.25 |
Алгоритмические проблемы
Упражнение 14.1.20. Рассмотрим детерминированную машину Тьюринга, изображенную на рисунке.
![\objectwidth={5mm} \objectheight={5mm} \let\objectstyle=\scriptstyle
\xymatrix {
*=[o][F-]{1}
\ar @`{+/l16mm/} [] ^{}
\ar "1,2" ^{b:b\dr}
& *=[o][F-]{2}
\ar "1,3" ^{a:b\dr}
\ar "2,3" _{b:b\dn}
& *=[o][F-]{3}
\ar "1,4" ^{a:b\dr}
\ar "2,3" ^{b:b\dn}
& *=[o][F-]{4}
\ar "1,5" ^{a:b\dr}
\ar "2,3" ^{b:b\dn}
& *=[o][F-]{5}
\rloop{0,1} ^{a:b\dr}
\ar "2,5" ^{b:b\dn}
\\
%
&
& *=[o][F=]{6}
&
& *=[o][F=]{7}
}](/sites/default/files/tex_cache/096a0b090cd17343003bddf24a963431.png)
![\mathbb{N}](/sites/default/files/tex_cache/015a3944166e757f2cfb3f0bc7d798a3.png)
![\mathbb{N}](/sites/default/files/tex_cache/015a3944166e757f2cfb3f0bc7d798a3.png)
Упражнение 14.1.21. Рассмотрим детерминированную машину Тьюринга, изображенную на рисунке.
![\objectwidth={5mm} \objectheight={5mm} \let\objectstyle=\scriptstyle
\xymatrix {
%
& *=[o][F-]{6}
\rloop{0,1} ^{b:b\dr}
\ar "1,3" ^{a:a\dr}
& *=[o][F-]{7}
\rloop{0,1} ^{a:a\dr}
\ar "2,3" ^{b:a\dl}
&
& *=[o][F-]{1}
\ar @`{+/l16mm/} [] ^{}
\ar "1,6" ^{b:a\dr}
& *=[o][F-]{2}
\rloop{0,1} ^{a:a\dr}
\ar "1,7" ^{b:b\dr}
& *=[o][F-]{3}
\rloop{0,1} ^{a:b\dr}
\ar @/^4mm/ "3,2" ^{b:a\dl}
\\
%
&
& *=[o][F-]{8}
\rloop{0,-1} ^{a:a\dl}
\ar "3,2" _{b:b\dl}
&
&
&
&
\\
*=[o][F-]{5}
\ar "1,2" ^{a:a\dr}
\ar "4,2" _{b:b\dr}
& *=[o][F-]{4}
\rloop{0,-1} ^{b:b\dl}
\ar "3,1" _{a:b\dl}
&
&
& *=[o][F-]{10}
\ar "4,7" ^{b:a\dr}
&
&
\\
%
& *=[o][F-]{9}
\rloop{0,-1} ^{a:b\dl}
\ar "3,5" ^{b:b\dr}
& *=[o][F-]{15}
\rloop{0,-1} ^{a:a\dl}
\ar "4,5" ^{b:a\dr}
&
& *=[o][F-]{16}
\rloop{0,1} ^{a:a\dr}
\ar "4,7" ^{b:b\dr}
&
& *=[o][F-]{11}
\rloop{0,1} ^{b:b\dr}
\ar "5,6" ^{a:a\dl}
\\
%
&
&
& *=[o][F-]{14}
\rloop{0,-1} ^{b:b\dl}
\ar "4,3" ^(0.3){a:a\dl}
& *=[o][F-]{13}
\ar "5,4" ^{b:b\dl}
\ar "6,4" ^{a:b\dl}
& *=[o][F-]{12}
\ar "5,5" ^{b:a\dl}
\ar "6,7" ^(0.3){a:b\dr}
&
\\
%
&
&
& *=[o][F-]{17}
\ar "4,2" ^{a:b\dl}
\ar "6,7" ^{b:b\dr}
&
&
& *=[o][F-]{18}
\rloop{0,1} ^{b:b\dr}
\ar "7,7" ^{a:b\dn}
\\
%
&
&
&
&
&
& *=[o][F=]{19}
}](/sites/default/files/tex_cache/5fd0c2fbd44abc5ee33e0da0c80994f4.png)
![\mathbb{N} \times \mathbb{N}](/sites/default/files/tex_cache/5a28202156d5bf5a368ff2a287135157.png)
![\mathbb{N}](/sites/default/files/tex_cache/015a3944166e757f2cfb3f0bc7d798a3.png)
14.2. Разрешимые и перечислимые множества
Определение 14.2.1. Говорят, что детерминированная машина Тьюринга
![\lalg Q , \Sigma , \Gamma , b_0 , \Delta ,
\{ \qinitial \} , \{ \qaccept , \qreject \} \ralg](/sites/default/files/tex_cache/6cf0dca23a7f2e7c278ea28c7e655942.png)
![L \subseteq \Sigma ^*](/sites/default/files/tex_cache/d6d8ea098b4e2196c59f5ce393542537.png)
1) для каждого слова
найдутся такие
и
,
что
;
2) для каждого слова
найдутся такие
и
,
что
.
Состояние qa
называется допускающим
( принимающим, accept state),
состояние qr
называется отвергающим
( непринимающим, (reject state).
Пример 14.2.2. Рассмотрим детерминированную машину Тьюринга
![M \peq \lalg Q , \Sigma , \Gamma , b_0 , \Delta ,
\{ \qinitial \} , \{ \qaccept , \qreject \} \ralg ,](/sites/default/files/tex_cache/3c42e1eb2319283c01cfd797187ce6eb.png)
![Q = \{ 0 , 1 , 2 , 3 , 4 , 5 \}](/sites/default/files/tex_cache/be902e4dd0624aa08f9357043cfb3538.png)
![\Sigma = \{ a \}](/sites/default/files/tex_cache/48ada54901dbd22cbc5142146a678207.png)
![\Gamma = \{ a , b \}](/sites/default/files/tex_cache/0264dc1e3f1b342785133c3d9f182723.png)
![b_0 = b](/sites/default/files/tex_cache/ef9061ff3b91d1f83a3b53a54b37017e.png)
![\qinitial = 0](/sites/default/files/tex_cache/c1a53c497b12dbaef0a62cd4e179bd50.png)
![\qaccept = 4](/sites/default/files/tex_cache/eba9d7da1c49a67d40b3f6dadbb2817e.png)
![\qreject = 5](/sites/default/files/tex_cache/9d3052b521e560fabf4d6478c8100ea8.png)
![\begin{align*}
{}
\Delta &= \{
\lp \lp 0 , b \rp , \lp 1 , b , 1 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 1 , a \rp , \lp 2 , b , 1 \rp \rp ,\
\lp \lp 2 , a \rp , \lp 3 , b , 1 \rp \rp ,\
\lp \lp 3 , a \rp , \lp 1 , b , 1 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 1 , b \rp , \lp 4 , b , 0 \rp \rp ,\
\lp \lp 2 , b \rp , \lp 5 , b , 0 \rp \rp ,\
\lp \lp 3 , b \rp , \lp 5 , b , 0 \rp \rp
\} .
\end{align*}](/sites/default/files/tex_cache/649c842a89c9dc39b83e615574466308.png)
![\objectwidth={5mm} \objectheight={5mm} \let\objectstyle=\scriptstyle
\xymatrix {
*=[o][F-]{0}
\ar @`{+/l16mm/} [] ^{}
\ar "1,2" ^{b:b\dr}
& *=[o][F-]{1}
\ar "1,3" ^{a:b\dr}
\ar "2,2" ^{b:b\dn}
& *=[o][F-]{2}
\ar "1,4" ^{a:b\dr}
\ar "2,4" _{b:b\dn}
& *=[o][F-]{3}
\ar `ul^l{+/u7mm/}`l^dl{[0,-2]}_{a:b\dr} "1,2"
\ar "2,4" ^{b:b\dn}
\\
%
& *=[o][F=]{4}
&
& *=[o][F=]{5}
}](/sites/default/files/tex_cache/90f70974fb81f4579c8b0e5c50860750.png)
![\{ a^{3n} \mid n \in \mathbb{N} \}](/sites/default/files/tex_cache/cde4266db1b9cf4e891c8deeb7cd9038.png)
Определение 14.2.3.
Язык L
над алфавитом
называется разрешимым
или рекурсивным (decidable, recursive),
если
существует детерминированная машина Тьюринга
![\lalg Q , \Sigma , \Gamma , b_0 , \Delta ,
\{ \qinitial \} , \{ \qaccept , \qreject \} \ralg](/sites/default/files/tex_cache/6cf0dca23a7f2e7c278ea28c7e655942.png)
Определение 14.2.4. Говорят, что машина Тьюринга
![M \peq \lalg Q , \Sigma , \Gamma , b_0 , \Delta ,
\{ \qinitial \} , \{ \qaccept \} \ralg](/sites/default/files/tex_cache/1cdf548949fc80ce93ea30f6cedb900f.png)
![w \in \Sigma ^*](/sites/default/files/tex_cache/45ac711deb660662c67fedd8acfb3178.png)
![m \in \mathbb{N}](/sites/default/files/tex_cache/7b35c4ed023dc212b4fc4c0d401c2be6.png)
![n \in \mathbb{N}](/sites/default/files/tex_cache/50100444a526bcc8967f6d37a829fc09.png)
![\lp \varepsilon , \qinitial , b_0 , w \rp \overstar{\vdash} \lp b_0 ^m , \qaccept , b_0 , b_0 ^n \rp](/sites/default/files/tex_cache/3e35d0e15d2992d91b56308004125f2d.png)
Определение 14.2.5. Язык, допускаемый машиной Тьюринга M, - это язык, состоящий из всех допускаемых данной машиной Тьюринга слов.
Определение 14.2.6. Язык называется перечислимым ( рекурсивно перечислимым, полуразрешимым, recursively enumerable), если существует детерминированная машина Тьюринга, допускающая этот язык.
Замечание 14.2.7. В определении 14.2.6 можно отбросить требование детерминированности машины Тьюринга.
Теорема 14.2.8. Каждый разрешимый язык является перечислимым.
Доказательство. Пусть дана машина Тьюринга
![M \peq \lalg Q , \Sigma , \Gamma , b_0 , \Delta ,
\{ \qinitial \} , \{ \qaccept , \qreject \} \ralg](/sites/default/files/tex_cache/6fd32f25ad8eb951bf6e5c8f592aa035.png)
![L \subseteq \Sigma ^*](/sites/default/files/tex_cache/d6d8ea098b4e2196c59f5ce393542537.png)
![M' \peq \lalg Q , \Sigma , \Gamma , b_0 , \Delta ,
\{ \qinitial \} , \{ \qaccept \} \ralg](/sites/default/files/tex_cache/c3da1a4ca27cfa5a7ad57a0c2eb3722e.png)
Пример 14.2.9.
Если в машине Тьюринга
из примера 14.1.15
заменить переход
на
,
то получится машина Тьюринга, допускающая язык
.
Следовательно,
этот язык является перечислимым.
Можно доказать, что он даже является разрешимым.
Теорема 14.2.10. Существует такая машина Тьюринга
над однобуквенным алфавитом , что язык, допускаемый этой машиной Тьюринга,
неразрешим.
Доказательство. Доказательство существования перечислимого неразрешимого множества можно найти, например, в [31, 9.2].
Упражнение 14.2.11.
Найти детерминированную машину Тьюринга
с входным алфавитом {a},
разрешающую язык .
Упражнение 14.2.12.
Найти детерминированную машину Тьюринга
с входным алфавитом {a},
допускающую язык