игра брюс 2048
Главная / Алгоритмы и дискретные структуры / Введение в схемы, автоматы и алгоритмы / Тест 9

Введение в схемы, автоматы и алгоритмы - тест 9

Упражнение 1:
Номер 1
 Пусть машина Тьюринга M имеет алфавит ленты Σ={ ∧, 0, 1}, алфавит состояний Q= {q, p, r, !}, начальное состояние q, заключительное состояние ! и программу  Ф:

\begin{array}{lll}
q\ 0 \rightarrow q\ 0\ П & p\ 0 \rightarrow p\ 1\ Л  &  r\ 0 \rightarrow r\ 0\ Л
q\ 1 \rightarrow q\ 1\ П & p\ 1 \rightarrow r\ 0\ Л  & r\ 1 \rightarrow r\ 1\ Л 
q \wedge \rightarrow p\ \wedge Л  &  p \wedge \rightarrow ! \wedge П  & r \wedge \rightarrow ! \wedge П
\end{array}


В какую из следующих заключительных конфигураций она перейдет, начав работу в конфигурации q 1010 ?


Ответ:

 (1) ! 0101 

 (2) ! 0110 

 (3) ! 1001 

 (4) ! 1110 

 (5) ни в одну из выше указанных 


Номер 2
 Пусть машина Тьюринга M имеет алфавит ленты Σ={ ∧, 0, 1}, алфавит состояний Q= {q, p, r, !}, начальное состояние q, заключительное состояние ! и программу  Ф:

\begin{array}{lll}
q\ 0 \rightarrow q\ 0\ П & p\ 0 \rightarrow p\ 1\ Л  &  r\ 0 \rightarrow r\ 0\ Л
q\ 1 \rightarrow q\ 1\ П & p\ 1 \rightarrow r\ 0\ Л  & r\ 1 \rightarrow r\ 1\ Л 
q \wedge \rightarrow p \wedge Л  &  p \wedge \rightarrow ! \wedge П  & r \wedge \rightarrow ! \wedge П
\end{array}


В какую из следующих заключительных конфигураций она перейдет, начав работу в конфигурации q 1100 ?


Ответ:

 (1) ! 1011 

 (2) ! 0110 

 (3) ! 0011 

 (4) ! 1110 

 (5) ни в одну из выше указанных 


Номер 3
 Пусть машина Тьюринга M имеет алфавит ленты Σ={ ∧, 0, 1}, алфавит состояний Q= {q, p, r, !}, начальное состояние q, заключительное состояние ! и программу  Ф:

\begin{array}{lll}
q\ 0 \rightarrow q\ 0\ П & p\ 0 \rightarrow p\ 1\ Л  &  r\ 0 \rightarrow r\ 0\ Л
q\ 1 \rightarrow q\ 1\ П & p\ 1 \rightarrow r\ 0\ Л  & r\ 1 \rightarrow r\ 1\ Л 
q \wedge \rightarrow p \wedge Л  &  p \wedge \rightarrow ! \wedge П  & r \wedge \rightarrow ! \wedge П
\end{array}

В какую из следующих заключительных конфигураций она перейдет, начав работу в конфигурации q 1010 ?


Ответ:

 (1) ! 1100 

 (2) ! 0101 

 (3) ! 1001 

 (4) ! 1101 

 (5) ни в одну из выше указанных 


Упражнение 2:
Номер 1
 Три машины Тьюринга Mi = < Σ, Q !, Pi, q, !> (i = 1,2, 3), имеют общий алфавит ленты Σ={ ∧, a, b}, алфавит состояний Q = { q, p, r, s, !}, начальное состояние q, заключительное состояние ! и следующие программы:
files
Какие из этих машин переводят любую начальную конфигурацию вида  q an b в заключительную конфигурацию ! b an  (n ≥ 0 )?


Ответ:

 (1) только M1 

 (2) только M2 

 (3) только M3 

 (4) M1 и M2 

 (5) M1 и M3 

 (6) M2 и M3 

 (7) ни одна 


Номер 2
 Три машины Тьюринга Mi = < Σ, Q !, Pi, q, !> (i = 1,2, 3), имеют общий алфавит ленты Σ={ ∧, a, b}, алфавит состояний Q = { q, p, r, s, !}, начальное состояние q, заключительное состояние ! и следующие программы:
files
Какие из этих машин переводят любую начальную конфигурацию вида  q a2n b в заключительную конфигурацию ! b an  (n ≥ 0 )?


Ответ:

 (1) только M1 

 (2) только M2 

 (3) только M3 

 (4) M1 и M2 

 (5) M1 и M3 

 (6) M2 и M3 

 (7) ни одна 


Номер 3
 Три машины Тьюринга Mi = < Σ, Q !, Pi, q, !> (i = 1,2, 3), имеют общий алфавит ленты Σ={ ∧, a, b}, алфавит состояний Q = { q, p, r, s, !}, начальное состояние q, заключительное состояние ! и следующие программы:
files
Какие из этих машин переводят любую начальную конфигурацию вида  q an b в заключительную конфигурацию ! b a2n  (n ≥ 0 )?


Ответ:

 (1) только M1 

 (2) только M2 

 (3) только M3 

 (4) M1 и M2 

 (5) M1 и M3 

 (6) M2 и M3 

 (7) ни одна 


Упражнение 3:
Номер 1
 В конструкции для параллельной композиции машин Тьюринга на этапах 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 Л.


Ответ:

 (1) только P1 

 (2) только P2 

 (3) только P3 

 (4) P1 и P2 

 (5) P1 и P3 

 (6) P2 и P3 

 (7) ни одна 


Номер 2
 Предположим, что в некоторой конфигурации машины Тьюринга 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 Н.


Ответ:

 (1) только P1 

 (2) только P2 

 (3) только P3 

 (4) P1 и P2 

 (5) P1 и P3 

 (6) P2 и P3 

 (7) ни одна 


Номер 3
 В конструкции машины Тьюринга со стандартными заключительными конфигурациями нужна служебная машина Тьюринга, назовем ее 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' Н.


Ответ:

 (1) только P1 

 (2) только P2 

 (3) только P3 

 (4) P1 и P2 

 (5) P1 и P3 

 (6) P2 и P3 

 (7) ни одна 


Упражнение 4:
Номер 1
 Пусть  машина Тьюринга 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?


Ответ:

 (1) f(x) = 2x2 + 2x 

 (2) f(x) = x2 + x  

 (3) f(x) = 2x2 + x 

 (4) f(x) = x2 + 2x 

 (5) ни одну из выше перечисленных 


Номер 2
 Пусть  машина Тьюринга 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?

    Ответ:

     (1) f(x) = 2x2 + 2x 

     (2) f(x) = x2 + x  

     (3) f(x) = 2x2 + x 

     (4) f(x) = x2 + 2x 

     (5) ни одну из выше перечисленных 


    Номер 3
     Пусть  машина Тьюринга 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?

    Ответ:

     (1) f(x) = 2x2 + 2x 

     (2) f(x) = x2 + x  

     (3) f(x) = 2x2 + x 

     (4) f(x) = x2 + 2x 

     (5) ни одну из выше перечисленных 


    Упражнение 5:
    Номер 1
    Пусть  машина Тьюринга 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, соответственно?

    Ответ:

     (1) 9 и 8 

     (2) 18 и 12 

     (3) 9 и 12 

     (4) 18 и 8 

     (5) ни один из предыдущих ответов не подходит 


    Номер 2
    Пусть  машина Тьюринга 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, соответственно?

    Ответ:

     (1) 9 и 8 

     (2) 9 и 15 

     (3) 14 и 8 

     (4) 14 и 15 

     (5) ни один из предыдущих ответов не подходит 


    Номер 3
    Пусть  машина Тьюринга 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, соответственно?

    Ответ:

     (1) 12 и 5 

     (2) 12 и 6 

     (3) 32 и 5 

     (4) 32 и 6 

     (5) ни один из предыдущих ответов не подходит 


    Упражнение 6:
    Номер 1
    Приведенные ниже машины Тьюринга 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?

    Ответ:

     (1) M1 

     (2) M2 

     (3) M3 

     (4) M4 

     (5) ни одна 


    Номер 2
    Приведенные ниже машины Тьюринга 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?

    Ответ:

     (1) M1 

     (2) M2 

     (3) M3 

     (4) M4 

     (5) ни одна 


    Номер 3
    Приведенные ниже машины Тьюринга 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) ?

    Ответ:

     (1) M1 

     (2) M2 

     (3) M3 

     (4) M4 

     (5) ни одна 




    Главная / Алгоритмы и дискретные структуры / Введение в схемы, автоматы и алгоритмы / Тест 9