Московский государственный университет имени М.В.Ломоносова
Опубликован: 09.07.2007 | Доступ: свободный | Студентов: 1945 / 517 | Оценка: 4.56 / 4.26 | Длительность: 20:40:00
ISBN: 978-5-9556-0062-8
Специальности: Математик
Лекция 15:

Алгоритмические проблемы

< Лекция 14 || Лекция 15: 12345 || Лекция 16 >

Определение 14.1.12. Пусть f - частичная функция из \Sigma ^* в \Sigma ^* . Детерминированная машина Тьюринга

M \peq \lalg Q , \Sigma , \Gamma , b_0 , \Delta , I , F \ralg
вычисляет (computes) функцию f тогда и только тогда, когда для каждого слова w \in \Sigma ^* 1) если f(w) не определено, то не существует таких p \in I , q \in F , a \in \Gamma , x \in \Gamma ^* , y \in \Gamma ^* , что
\lp \varepsilon , p , b_0 , w \rp
 \overstar{\vdash} \lp x , q , a , y \rp ;
2) если f(w)=z, то для некоторых p \in I , q \in F , m \in \mathbb{N} и n \in \mathbb{N} выполнено условие
\lp \varepsilon , p , b_0 , w \rp
 \overstar{\vdash} \lp b_0 ^m , q , b_0 , z b_0 ^n \rp .

Определение 14.1.13. Частичная функция из \Sigma ^* в \Sigma ^* называется вычислимой, если существует детерминированная машина Тьюринга, вычисляющая эту функцию.

Пример 14.1.14. Машина Тьюринга из примера 14.1.9 вычисляет следующую частичную функцию:

f( a ^n ) =
 \begin{cases}
  \varepsilon ,          &\text{если число $ n $ четно,} \\
  \text{не определено,} &\text{если число $ n $ нечетно.}
 \end{cases}

Пример 14.1.15. Рассмотрим детерминированную машину Тьюринга

\lalg Q , \Sigma , \Gamma , b_0 , \Delta , I , F \ralg ,
где
\begin{align*}
 Q &= \{ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 \} ,\\
 \Sigma &= \{ a \} ,\\
 \Gamma &= \{ a , b \} ,\\
 b_0 &= b ,\\
 I &= \{ 1 \} ,\\
 F &= \{ 7 \} ,\\
\Delta &= \{
\lp \lp 1 , b \rp , \lp 2 , b , 1 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 2 , b \rp , \lp 7 , b , 0 \rp \rp ,\
\lp \lp 2 , a \rp , \lp 3 , a , -1 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 3 , b \rp , \lp 3 , a , 1 \rp \rp ,\
\lp \lp 3 , a \rp , \lp 4 , b , 1 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 4 , b \rp , \lp 5 , b , -1 \rp \rp ,\
\lp \lp 4 , a \rp , \lp 8 , a , 0 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 5 , b \rp , \lp 6 , b , -1 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 6 , a \rp , \lp 6 , a , -1 \rp \rp ,\
\lp \lp 6 , b \rp , \lp 7 , b , 0 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 8 , b \rp , \lp 8 , b , 1 \rp \rp ,\
\lp \lp 8 , a \rp , \lp 9 , a , 1 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 9 , a \rp , \lp 9 , a , 1 \rp \rp ,\
\lp \lp 9 , b \rp , \lp 10 , b , -1 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 10 , a \rp , \lp 11 , b , -1 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 11 , b \rp , \lp 11 , b , 0 \rp \rp ,\
\lp \lp 11 , a \rp , \lp 12 , b , -1 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 12 , a \rp , \lp 12 , a , -1 \rp \rp ,\
\lp \lp 12 , b \rp , \lp 13 , b , -1 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 13 , b \rp ,\! \lp 13 , b , -1 \rp \rp ,\
\lp \lp 13 , a \rp ,\! \lp 14 , b , -1 \rp \rp ,\
\\ &\hphantom{ {} = {} \{ } %\}
\lp \lp 14 , a \rp ,\! \lp 8 , a , 1 \rp \rp ,\
\lp \lp 14 , b \rp ,\! \lp 3 , b , 1 \rp \rp
\} .
\end{align*}
\objectwidth={5mm} \objectheight={5mm} \let\objectstyle=\scriptstyle
\xymatrix {
  %
& *=[o][F=]{7}
& *=[o][F-]{6}
 \rloop{0,-1} ^{a:a\dl}
 \ar  "1,2"  _{b:b\dn}
& *=[o][F-]{5}
 \ar  "1,3"  _{b:b\dl}
& 
& 
\\
  %
& *=[o][F-]{1}
 \ar @`{+/l16mm/} [] ^{}
 \ar  "2,3"  ^{b:b\dr}
& *=[o][F-]{2}
 \ar  "1,2"  ^*!/u1.5mm/{b:b\dn}
 \ar  "3,2"  ^*!/u2mm/{a:a\dl}
& 
& 
& 
\\
  %
& *=[o][F-]{3}
 \rloop{0,1} ^{b:a\dr}
 \ar  "3,4"  ^{a:b\dr}
& 
& *=[o][F-]{4}
 \ar  "1,4"  _{b:b\dl}
 \ar  "3,5"  ^{a:a\dn}
& *=[o][F-]{8}
 \rloop{0,1} ^{b:b\dr}
 \ar  "3,6"  ^{a:a\dr}
& *=[o][F-]{9}
 \rloop{0,1} ^{a:a\dr}
 \ar  "4,5"  ^{b:b\dl}
\\
  *=[o][F-]{14}
 \ar  "3,5" <-0.2mm> ^-(.3){a:a\dr}
 \ar  "3,2"  ^{b:b\dr}
& *=[o][F-]{13}
 \rloop{0,-1} ^{b:b\dl}
 \ar  "4,1"  ^{a:b\dl}
& *=[o][F-]{12}
 \rloop{0,-1} ^{a:a\dl}
 \ar  "4,2"  ^{b:b\dl}
& *=[o][F-]{11}
 \rloop{0,-1} ^{b:b\dn}
 \ar  "4,3"  ^{a:b\dl}
& *=[o][F-]{10}
 \ar  "4,4"  ^{a:b\dl}
& 
}
Можно проверить, что для любых i \in \mathbb{N} , j \in \mathbb{N} и k \in \mathbb{N} выполняется следующее:
\begin{align*}
& \underset{ 1 }{ b } a ^{k+2} \overstar{\vdash}
 a b \underset{ 8 }{ a } a ^k ,\\
& a b ^{j+1} \underset{ 8 }{ a } a ^2 \overstar{\vdash}
 \underset{ 7 }{ b } a ^{j+2} ,\\
& a b ^{j+1} \underset{ 8 }{ a } a ^{k+3} \overstar{\vdash}
 a ^{j+2} b \underset{ 8 }{ a } a ^k ,\\
& a ^{i+2} b ^{j+1} \underset{ 8 }{ a } a ^{k+2} \overstar{\vdash}
 a ^{i+1} b ^{j+2} \underset{ 8 }{ a } a ^k ,\\
& a b ^{j+1} \underset{ 8 }{ a } a ^{k+2j+5} \overstar{\vdash}
 a b ^{j+2} \underset{ 8 }{ a } a ^k .
\end{align*}
Следовательно,
\begin{align*}
& \underset{ 1 }{ b } a ^{i+(j+2)^2} \squeeze{\overstar{\vdash}}
 a b ^{j+1} \underset{ 8 }{ a } a ^{i+2} ,\\
& \underset{ 1 }{ b } a ^{(k+2)^2} \overstar{\vdash}
 \underset{ 7 }{ b } a ^{k+2} .
\end{align*}
Рассматриваемая машина Тьюринга вычисляет следующую частичную функцию:
f( a ^n ) =
 \begin{cases}
  a^{\sqrt{n}} ,        &\text{если $ \sqrt{n} \in \mathbb{N} $,} \\
  \text{не определено,} &\text{если $ \sqrt{n} \notin \mathbb{N} $.}
 \end{cases}

Замечание 14.1.16. Тезисом Черча-Тьюринга (а иногда просто тезисом Черча ) называется следующее неформальное утверждение: для каждой вычислимой в интуитивном смысле частичной функции из \Sigma ^* в \Sigma ^* существует машина Тьюринга, которая эту функцию вычисляет.

Упражнение 14.1.17. Найти детерминированную машину Тьюринга с входным алфавитом {a}, вычисляющую функцию f, заданную соотношением

f(an) = an+1.

Упражнение 14.1.18. Найти детерминированную машину Тьюринга с входным алфавитом {a}, вычисляющую функцию f, заданную соотношением

f(a^n) = \varepsilon .

Определение 14.1.19. Зафиксируем два различных символа a и b и положим \Sigma = \{a,b\} . Пусть k - положительное целое число и f - частичная функция из \mathbb{N}^k в \mathbb{N} . Детерминированная машина Тьюринга

M \peq \lalg Q , \Sigma , \Gamma , b , \Delta , I , F \ralg
вычисляет функцию f тогда и только тогда, когда для любых натуральных чисел n_1 , \ldots , n_k выполняются следующие условия:

1) если f ( n_1 , \ldots , n_k ) не определено, то не существует таких p \in I , q \in F , a \in \Gamma , x \in \Gamma ^* , y \in \Gamma ^* , что

\lp \varepsilon , p , b , a^{n_1} b a^{n_2} b \ldots b a^{n_k} \rp
 \overstar{\vdash} \lp x , q , a , y \rp ;

2) если f ( n_1 , \ldots , n_k ) = l , то для некоторых p \in I , q \in F , m \in \mathbb{N} и n \in \mathbb{N} выполнено условие

\lp \varepsilon , p , b , a^{n_1} b a^{n_2} b \ldots b a^{n_k} \rp
 \overstar{\vdash} \lp b ^m , q , b_0 , a^l b ^n \rp .

< Лекция 14 || Лекция 15: 12345 || Лекция 16 >
Юлия Маковецкая
Юлия Маковецкая

Упражнение 2.1.25

Евгения Гунченко
Евгения Гунченко

Сдавала тест экстерном, результат получен 74 после принятия данного результата и соответственно оплаты курса, будет ли выдано удостоверение о повышении квалификации?

Наталья Алмаева
Наталья Алмаева
Россия
Николай Щербаков
Николай Щербаков
Россия, Москва