Пусть машина ТьюрингаM
имеет алфавит лентыΣ={ ∧, 0, 1}
, алфавит состоянийQ= {q, p, r, !}
, начальное состояниеq
, заключительное состояние!
и программуФ
: В какую из следующих заключительных конфигураций она перейдет, начав работу в конфигурацииq 1010
?
! 0101
 
! 0110
 
! 1001
 
! 1110
 
Пусть машина ТьюрингаM
имеет алфавит лентыΣ={ ∧, 0, 1}
, алфавит состоянийQ= {q, p, r, !}
, начальное состояниеq
, заключительное состояние!
и программуФ
: В какую из следующих заключительных конфигураций она перейдет, начав работу в конфигурацииq 1100
?
! 1011
 
! 0110
 
! 0011
 
! 1110
 
Пусть машина ТьюрингаM
имеет алфавит лентыΣ={ ∧, 0, 1}
, алфавит состоянийQ= {q, p, r, !}
, начальное состояниеq
, заключительное состояние!
и программуФ
: В какую из следующих заключительных конфигураций она перейдет, начав работу в конфигурацииq 1010
?
! 1100
 
! 0101
 
! 1001
 
! 1101
 
Три машины ТьюрингаMi = < Σ, Q !, Pi, q, !> (i = 1,2, 3)
, имеют общий алфавит лентыΣ={ ∧, a, b}
, алфавит состоянийQ = { q, p, r, s, !}
, начальное состояниеq
, заключительное состояние!
и следующие программы: Какие из этих машин переводят любую начальную конфигурацию видаq an b
в заключительную конфигурацию! b an (n ≥ 0 )
?
M1
 
M2
 
M3
 
M1
и M2
 
M1
и M3
 
M2
и M3
 
Три машины ТьюрингаMi = < Σ, Q !, Pi, q, !> (i = 1,2, 3)
, имеют общий алфавит лентыΣ={ ∧, a, b}
, алфавит состоянийQ = { q, p, r, s, !}
, начальное состояниеq
, заключительное состояние!
и следующие программы: Какие из этих машин переводят любую начальную конфигурацию видаq a2n
b
в заключительную конфигурацию! b an (n ≥ 0 )
?
M1
 
M2
 
M3
 
M1
и M2
 
M1
и M3
 
M2
и M3
 
Три машины ТьюрингаMi = < Σ, Q !, Pi, q, !> (i = 1,2, 3)
, имеют общий алфавит лентыΣ={ ∧, a, b}
, алфавит состоянийQ = { q, p, r, s, !}
, начальное состояниеq
, заключительное состояние!
и следующие программы: Какие из этих машин переводят любую начальную конфигурацию видаq
an
b
в заключительную конфигурацию! b a2n (n ≥ 0 )
?
M1
 
M2
 
M3
 
M1
и M2
 
M1
и M3
 
M2
и M3
 
В конструкции для параллельной композиции машин Тьюринга на этапах 3 и 5 участвует служебная машина, назовем ееCHANGE
, меняющая местами аргументы, точнее переводящая любую конфигурацию видаx * q y
(x
иy
– слова в алфавитеΣ
, не содержащем символов∧
,*
и#
,q
– начальное состояние) в конфигурациюy* q’ x
(q'
– заключительное состояние). ПустьQ={ q, s, p, r, q'}∪ {pa | a ∈ Σ}
– множество состоянийCHANGE
. Какие из следующих программ выполняют требуемую работу, т.е. могут быть использованы в качестве программы дляCHANGE
? (В текстах программ a – это произвольный символ изΣ, а b
- это произвольный символ изΣ ∪ {*, #}
).
P1: q b → q b П , q ∧ → s # Л, s b → s b Л, s ∧ → p ∧ П, p a → pa ∧П, p * → r ∧П, pa b → pa b П, pa ∧ → s a Л, r a → r a П , r # → q’ * П.
P2: q a → q a П , q ∧ → s * Л, s b → s b Л, s ∧ → p ∧ П, p a → pa ∧П, p * → r ∧П, pa b → pa b П, pa ∧ → s a Л, r a → r a П , r*→ q’ * П.
P3: q a → q a П , q ∧ → s * Л, s b → s b Л, s ∧ → p ∧ П, p a → pa ∧П, p * → q’ * П, pa b → pa b П, pa ∧ → s a Л.
P1
 
P2
 
P3
 
P1
и P2
 
P1
и P3
 
P2
и P3
 
Предположим, что в некоторой конфигурации машины ТьюрингаM
на ленте записано словоw
в алфавитеΣ
, не содержащем символов∧
и*
, но головка "заблудилась" – она наблюдает символ∧
и не знает левее или правее слова w находится. Какие из следующих программ помогут найти начало слова w, т.е. любую конфигурацию видаq ∧k w
илиw∧k q ∧
(k > 0
) переведут в конфигурациюq'w
? (В текстах программa
– это произвольный символ изΣ
, используемые состояния:q, q', l, r, l1, r1 , l2 , r2, l3, r3, l4
)
P1: q ∧ → l1 * Л, l1∧→ r * П, l1a→ l2a П, l2 a→ l2 a Л, l2 ∧→ q'∧ П, r∧ → r ∧ П, r *→ r1 ∧ П, r1 ∧→ l * Л, l ∧→ l ∧ Л, l *→ l1 ∧ Л, r1 a→ r2a Л, r2 ∧→ r2∧ Л, r2 *→ r3∧ П, r3∧→ r3∧ П, r3 a→ q'a Н.
P2: q ∧ → l1 * Л, l1∧→ r * П, l1a→ l2a П, l2 ∧→ l2∧ П, l2 *→ l3∧ Л, l3 ∧→ l3∧ Л, l3 a→ q'a Н, r∧ → r ∧ П, r *→ r1 ∧ П, r1 ∧→ l * Л, l ∧→ l ∧ Л, l *→ l1 ∧ Л, r1 a→ r2a Л, r2 ∧→ r2∧ Л, r2 *→ r3∧ П, r3∧→ r3∧ П, r3 a→ q'a Н.
P3: q ∧ → l1 * Л, l1∧→ r * П, l1a→ l2a П, l2 ∧→ l2∧ П, l2 *→ l3∧ Л, l3 ∧→ l3∧ Л, l3 a→ l4 a Л, l4 a→ l4 a Л, l4 ∧→ q'∧ П, r∧ → r ∧ П, r *→ r1 ∧ П, r1 ∧→ l * Л, l ∧→ l ∧ Л, l *→ l1 ∧ Л, r1 a→ r2a Л, r2 ∧→ r2∧ Л, r2 *→ r3∧ П, r3∧→ r3∧ П, r3 a→ q'a Н.
P1
 
P2
 
P3
 
P1
и P2
 
P1
и P3
 
P2
и P3
 
В конструкции машины Тьюринга со стандартными заключительными конфигурациями нужна служебная машина Тьюринга, назовем ееMOVE
, которая сдвигает полученный результат в начальную позицию, отмеченную символом со штрихом. Точнее,MOVE
, начав работать в конфигурации видаq a w1 #k#'
(a ∈Σ, w1 ∈Σ*, k ≥ 0
), должна завершить работу в конфигурации∧kpa'w1
Пусть алфавит лентыMOVE
включает символы изΣ ∪ {a' | a ∈ Σ}∪ {∧, #, #'}
, а алфавит состоянийQ= {q, p, r} ∪ {pa | a ∈ Σ}
Какие из следующих программ выполняют требуемую работу, т.е. могут быть использованы в качестве программы дляMOVE
? (В текстах программa
иb
– это произвольные символы изΣ
),
P1: q a → pa ∧ П , q a' → p a' Н , pa b → pb a П, pa b' → pb a' П, pa # → r a Л, pa #' → r a' Л, pa ∧ → r a Л, r a → r a Л , r a' → r a' Л , r ∧ → q ∧ П.
P2: q a → pa ∧ П , pa b → pb a П, pa b' → pb a' П, pa # → r a Л, pa #' → r a' Л, pa ∧ → r a Л, r a → r a Л , r a' → r a' Л , r ∧ → q ∧ П.
P3: q a → pa ∧ П , pa b → pa b П, pa # → pa # П, pa #' → r a Л, pa b' → pa b' П, pa ∧ → r a Л, r a → r a Л , r a' → r a' Л , r ∧ → q ∧ П, q # → q ∧ П , q a' → p a' Н.
P1
 
P2
 
P3
 
P1
и P2
 
P1
и P3
 
P2
и P3
 
Пусть машина ТьюрингаM
построена из следующих простых машин Тьюринга:Копa
–копирует вход после разделительного символаa : w ⇐ w a w
;Зам(a, b)
– заменяет первое слева вхождение символаa
наb
:w1a w2 ⇐ w1 b w2 ( a ∉ w1 )
;Сум
- складывает два аргумента в унарной системе:|x * |y ⇐ |x+y
;Умн
- умножает два аргумента в унарной системе:|x * |y ⇐ |xy
; с помощью операций последовательного и параллельного применения следующим образом:M = Коп# ; par#( Коп* , Коп* ); par#( Умн, Сум); Зам(#, *); Сум
Какую из следующих арифметических функцийf(x)
(при унарном кодировании аргумента и результата) вычисляетM
?
f(x) = 2x2 + 2x
 
f(x) = x2 + x
 
f(x) = 2x2 + x
 
f(x) = x2 + 2x
 
Пусть машина ТьюрингаM
построена из следующих простых машин Тьюринга:с помощью операций последовательного и параллельного применения следующим образом:
Копa
–копирует вход после разделительного символаa : w ⇐ w a w
;Зам(a, b)
– заменяет первое слева вхождение символаa
наb
:w1a w2 ⇐ w1 b w2 ( a ∉ w1 )
;Сум
- складывает два аргумента в унарной системе:|x * |y ⇐ |x+y
;Умн
- умножает два аргумента в унарной системе:|x * |y ⇐ |xy
;Пуст
- не изменяет аргумент:w ⇐ w
Какую из следующих арифметических функций
M = Коп# ; par#( Коп* , Коп* ); par#( Умн, Сум); par#( Коп* ; Сум , Пуст ); Зам(#,?); Сум
f(x)
(при унарном кодировании аргумента и результата) вычисляетM
?
f(x) = 2x2 + 2x
 
f(x) = x2 + x
 
f(x) = 2x2 + x
 
f(x) = x2 + 2x
 
Пусть машина ТьюрингаM
построена из следующих простых машин Тьюринга:Копa
–копирует вход после разделительного символаa : w ⇐ w a w
;с помощью операций последовательного и параллельного применения следующим образом:
Зам(a, b)
– заменяет первое слева вхождение символаa
наb
:w1a w2 ⇐ w1 b w2 ( a ∉ w1 )
;Сум
- складывает два аргумента в унарной системе:|x * |y ⇐ |x+y
;Умн
- умножает два аргумента в унарной системе:|x * |y ⇐ |xy
;Пуст
- не изменяет аргумент:w ⇐ w
Какую из следующих арифметических функций
M = Коп# ; par#( Коп* ; Умн, Пуст ); par#( Коп* ; Сум , Пуст ); Зам(#,?); Сум
f(x)
(при унарном кодировании аргумента и результата) вычисляетM
?
f(x) = 2x2 + 2x
 
f(x) = x2 + x
 
f(x) = 2x2 + x
 
f(x) = x2 + 2x
 
Пусть машина ТьюрингаM
построена из простых машин ТьюрингаКопa , Зам(a, b), Сум, Умн и Пуст
, описанных в задаче 4, и машинс помощью операций последовательного и параллельного применения и конструкции условного оператора следующим образом:
Выбin
– выбираетi
-ый аргумент изn
аргументов:x1*…*xi*…*xn ⇐ xi
,Большеij
- выдает 0, если в аргументе вида|x1 *…*|xi *…*|xj *…*|xn
i
-ый аргументxi
большеj
-ого аргументаxj
, иначе выдает 1,M = Коп# ; par#( par* (Коп*, Пуст ); Зам(*, |), Пуст ); if Больше12 then par#( Пуст, Сум ) else par#( Пуст, Умн ) endif; Зам(#, *); Выб33. Какие результаты она получит на входных данных вида|x1 * |x2
приx1 = 3, x2 = 6 и при x1 = 2, x2 = 6
, соответственно?
Пусть машина ТьюрингаM
построена из простых машин ТьюрингаКопa , Зам(a, b), Сум, Умн
иПуст
, описанных в задаче 4, и машинс помощью операций последовательного и параллельного применения и конструкции условного оператора следующим образом:
Выбin
– выбираетi
-ый аргумент изn
аргументов:x1*…*xi*…*xn ⇐ xi
,Большеij
- выдает 0, если в аргументе вида|x1 *…*|xi *…*|xj *…*|xn
i
-ый аргументxi
большеj
-ого аргументаxj
, иначе выдает 1,M = Коп# ; par#( par* (Коп*, Пуст ); Зам(*, |), Пуст ); if Больше21 then par#( Пуст, Сум ) else par#( Пуст, Умн ) endif; Зам(#, *); Выб33. Какие результаты она получит на входных данных вида|x1 * |x2 при x1 = 2, x2 = 7
и приx1 = 3, x2 = 5
, соответственно?
Пусть машина ТьюрингаM
построена из простых машин ТьюрингаКопa , Зам(a, b), Сум, Умн
иПуст
, описанных в задаче 4, и машинс помощью операций последовательного и параллельного применения и конструкции условного оператора следующим образом:
Выбin
– выбираетi
-ый аргумент изn
аргументов:x1*…*xi*…*xn ⇐ xi
,Большеij
- выдает 0, если в аргументе вида|x1 *…*|xi *…*|xj *…*|xn
i
-ый аргументxi
большеj
-ого аргументаxj
, иначе выдает 1,M = Коп# ; par#( par* (Коп*, Пуст ); Зам(*, |), Пуст ); if Больше21 then par#( Пуст, Умн ) else par#( Пуст, Сум ) endif; Зам(#, *); Выб33. Какие результаты она получит на входных данных вида|x1 * |x2 при x1 = 4, x2 = 8
и приx1 = 1, x2 = 5
, соответственно?
Приведенные ниже машины ТьюрингаMi (i= 1,2,3,4)
построены из простых машин Тьюринга
M1 = Зам(∧, *); Зам(∧,|); while Нуль12 do par*( Выч1, Коп#; Зам(#, |); Выч1) enddo; Выб22
M2 = Зам(∧, *); Зам(∧,|); while Нуль12 do par*( Выч1, Коп#; par# (Пуст, Коп#); Зам(#, |); Зам(#, |); Выч1; Выч1) enddo; Выб22
M3 = if Нуль11 then Пуст else Коп* Зам(∧, *); Зам(∧,|); while Нуль13 do par*( Выч1, Коп#, Пуст); par# (Пуст, Умн); Зам(#, *)) enddo; Выб33 endif. M4 = if Нуль11 then Пуст else Коп* Зам(∧, *); while Нуль13 do par*( Выч1, Коп#, Пуст); par# (Пуст, Сум); Зам(#, *)) enddo; Выб33 endif. Копa , Зам(a, b), Сум, Умн
иПуст
, описанных в задаче 4, и машинКакая из этих машин вычисляет функцию
Выбin
– выбираетi
-ый аргумент изn
аргументов:x1*…*xi*…*xn ⇐ xi
,Нульin
- выдает 1, еслиi
-ый аргумент изn
аргументов равен∧
(нулю) и выдает 0, если этот аргумент не равен 0 (имеет вид|i, i >0
),Выч1
– вычитает единицу в унарной системе:|j ⇐ |j-1 (| ⇐ ∧)
f(x) = 3x
в унарном кодировании, т.е. переводит вход|x в выход |y, где y = 3x
?
M1
 
M2
 
M3
 
M4
 
Приведенные ниже машины Тьюринга Mi (i= 1,2,3,4)построены из простых машин Тьюринга
M1 = Зам(∧, *); Зам(∧,|); while Нуль12 do par*( Выч1, Коп#; Зам(#, |); Выч1) enddo; Выб22
M2 = Зам(∧, *); Зам(∧,|); while Нуль12 do par*( Выч1, Коп#; par# (Пуст, Коп#); Зам(#, |); Зам(#, |); Выч1; Выч1) enddo; Выб22
M3 = if Нуль11 then Пуст else Коп* Зам(∧, *); Зам(∧,|); while Нуль13 do par*( Выч1, Коп#, Пуст); par# (Пуст, Умн); Зам(#, *)) enddo; Выб33 endif. M4 = if Нуль11 then Пуст else Коп* Зам(∧, *); while Нуль13 do par*( Выч1, Коп#, Пуст); par# (Пуст, Сум); Зам(#, *)) enddo; Выб33 endif. Копa , Зам(a, b), Сум, Умн
иПуст
, описанных в задаче 4, и машинКакая из этих машин вычисляет функцию
Выбin
– выбираетi
-ый аргумент изn
аргументов:x1*…*xi*…*xn ⇐ xi
,Нульin
- выдает 1, еслиi
-ый аргумент изn
аргументов равен∧
(нулю) и выдает 0, если этот аргумент не равен 0 (имеет вид|i , i >0
),Выч1
– вычитает единицу в унарной системе:|j ⇐ |j-1 (| ⇐ ∧)
f(x) = 2x
в унарном кодировании, т.е. переводит вход|x в выход |y
, гдеy = 2x
?
M1
 
M2
 
M3
 
M4
 
Приведенные ниже машины ТьюрингаMi (i= 1,2,3,4)
построены из простых машин Тьюринга
M1 = Зам(∧, *); Зам(∧,|); while Нуль12 do par*( Выч1, Коп#; Зам(#, |); Выч1) enddo; Выб22
M2 = Зам(∧, *); Зам(∧,|); while Нуль12 do par*( Выч1, Коп#; par# (Пуст, Коп#); Зам(#, |); Зам(#, |); Выч1; Выч1) enddo; Выб22
M3 = if Нуль11 then Пуст else Коп* Зам(∧, *); Зам(∧,|); while Нуль13 do par*( Выч1, Коп#, Пуст); par# (Пуст, Умн); Зам(#, *)) enddo; Выб33 endif. M4 = if Нуль11 then Пуст else Коп* Зам(∧, *); while Нуль13 do par*( Выч1, Коп#, Пуст); par# (Пуст, Сум); Зам(#, *)) enddo; Выб33 endif. Копa , Зам(a, b), Сум, Умн
иПуст
, описанных в задаче 4, и машинКакая из этих машин вычисляет функцию
Выбin
– выбираетi
-ый аргумент изn
аргументов:x1*…*xi*…*xn ⇐ xi
,Нульin
- выдает 1, еслиi
-ый аргумент изn
аргументов равен∧
(нулю) и выдает 0, если этот аргумент не равен 0 (имеет вид|i , i >0
),Выч1
– вычитает единицу в унарной системе:|j ⇐ |j-1 (| ⇐ ∧, ∧ ⇐ ∧)
f(x) = xx
в унарном кодировании, т.е. переводит вход|x
в выход|y
, гдеy = xx
(пустьf(0)=0
) ?
M1
 
M2
 
M3
 
M4