Марафон: задание 12

80 задач подряд, по 20 на странице. Цель — довести до автоматизма. Прогресс сохраняется в браузере (в аккаунте — и в карте пробелов).

Страница 1 из 4 · задачи 1–20 из 80
⏱ 00:00:000 из 20 заполнено
  1. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an − 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qn − 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an-1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qn-1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_1 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записана последовательность из 1000 символов, включающая только нули и единицы. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке справа от последовательности.

    Программа работы исполнителя.

     

    λ10
    q0λ, L, q1
    q1λ, S, q10, S, q11, L, q1

     

    После выполнения программы на ленте осталось ровно 343 нуля. Определите максимально возможное число нулей в исходной последовательности.

  2. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an − 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qn − 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an-1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qn-1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_0 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записана последовательность из 600 символов, включающая только нули и единицы. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке справа от последовательности.

    Программа работы исполнителя.

     

    λ10
    q0λ, L, q1
    q1λ, S, q10, S, q11, L, q1

     

    После выполнения программы на ленте осталось ровно 233 нуля. Определите максимально возможное число нулей в исходной последовательности.

  3. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an − 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qn − 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an-1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qn-1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_0 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записана последовательность из 400 символов, включающая только нули и единицы. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке слева от последовательности.

    Программа работы исполнителя.

     

    λ10
    q0λ, R, q1
    q1λ, S, q10, R, q11, S, q1

     

    После выполнения программы на ленте осталось ровно 168 нулей. Определите минимально возможное число единиц в исходной последовательности.

  4. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an − 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qn − 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an-1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qn-1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_0 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записана последовательность из 1000 символов, включающая только нули и единицы. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке справа от последовательности.

    Программа работы исполнителя.

     

    λ10
    q0λ, L, q1
    q1λ, S, q10, S, q11, L, q1

     

    После выполнения программы на ленте осталось ровно 652 нуля. Определите минимально возможное число нулей в исходной последовательности.

  5. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an − 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qn − 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an-1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qn-1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_0 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записана последовательность из 1000 символов, включающая только нули, единицы и двойки. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке слева от последовательности.

    Программа работы исполнителя.

     

    λ210
    q0λ, R, q1
    q1λ, S, q10, R, q12, R, q11, R, q1

     

    После выполнения программы на ленте оказались цифры, сумма которых равна 371. Определите максимально возможное число двоек в исходной последовательности.

  6. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an − 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qn − 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an-1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qn-1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_0 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записана последовательность из 1600 символов, включающая только нули, единицы и двойки. Каждый из символов должен быть в последовательности. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке слева от последовательности.

    Программа работы исполнителя.

     

    λ210
    q0λ, R, q1
    q1λ, S, q11, R, q12, R, q12, R, q1

     

    После выполнения программы на ленте оказалось, что в строке одинаковое количество четных и нечетных цифр. Определите максимально возможное число единиц в исходной последовательности.

  7. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an − 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qn − 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an-1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qn-1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_0 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записана последовательность из 1100 символов, включающая только нули, единицы и двойки. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке слева от последовательности.

    Программа работы исполнителя.

     

    λ210
    q0λ, R, q1
    q1λ, S, q11, R, q10, R, q11, R, q1

     

    После выполнения программы на ленте оказалось, что сумма цифр в строке равна 701. Определите количество нулей в исходной последовательности, при условии что в ней максимально возможное число двоек, но их меньше, чем единиц.

  8. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an − 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qn − 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an-1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qn-1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_0 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записана последовательность из 1200 символов, включающая только нули и единицы. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке справа от последовательности.

    Программа работы исполнителя.

     

    λ10
    q0λ, L, q1
    q1λ, S, q10, S, q11, L, q1

     

    После выполнения программы оказалось, что на ленте осталось столько единиц, что их сумма является простым числом. Определите максимально возможное число нулей в исходной последовательности, если известно, что их количество четное число.

  9. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an − 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qm − 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an-1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qm-1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_1 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записана последовательность из 1000 символов, включающая только нули и единицы. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке справа от последовательности.

    Программа работы исполнителя.

     

    λ10
    q0λ, L, q1
    q1λ, S, q10, S, q11, L, q1

     

    После выполнения программы на ленте осталось ровно 605 нулей. Определите минимально возможное число нулей в исходной последовательности.

  10. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an − 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qm − 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an-1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qm-1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_1 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записана последовательность из 1000 символов, включающая только нули и единицы. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке справа от последовательности.

    Программа работы исполнителя.

     

    λ10
    q0λ, L, q1
    q1λ, S, q10, S, q11, L, q1

     

    После выполнения программы на ленте осталось ровно 506 нулей. Определите минимально возможное число нулей в исходной последовательности.

  11. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов  A = левая фигурная скобка a_0, a_1, \ldots, a_n минус 1 правая фигурная скобка правая круглая скобка , включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний  Q = левая фигурная скобка q_0, q_1, \ldots, q_m минус 1 правая фигурная скобка . В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может заменить символ в текущей ячейке (или оставить символ неизменным) и переместиться в ячейку справа или слева от текущей (или остаться в той же ячейке). После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an – 1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qm – 1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i-⁠й строки и j-⁠го столбца находится команда, которую выполняет МТ, когда головка обозревает j-⁠й символ, находясь в i-⁠м состоянии. Если пара «символ–состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды. Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Выполните задание.

    На ленте исполнителя МТ в соседних ячейках записана последовательность из 999 символов, которая может включать только пятёрки, семёрки и девятки, расположенные в произвольном порядке. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке справа от последовательности. Программа для исполнителя:

     

    λ57901
    q0λ, L, q1
    q1λ, S, q11, L, q11, L, q10, L, q1

     

    Известно, что после выполнения программы получилась строка, в которой все соседние символы различны. Определите минимальное возможное значение суммы цифр в исходной строке.

  12. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов  A = левая фигурная скобка a_0, a_1, \ldots, a_n минус 1 правая фигурная скобка правая круглая скобка , включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний  Q = левая фигурная скобка q_0, q_1, \ldots, q_m минус 1 правая фигурная скобка . В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может заменить символ в текущей ячейке (или оставить символ неизменным) и переместиться в ячейку справа или слева от текущей (или остаться в той же ячейке). После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an – 1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qm – 1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i-⁠й строки и j-⁠го столбца находится команда, которую выполняет МТ, когда головка обозревает j-⁠й символ, находясь в i-⁠м состоянии. Если пара «символ–состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды. Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZX
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_1 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записано двоичное представление числа 145 682 без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей слева от последовательности ячейке.

    Программа работы исполнителя:

     

    λ01
    q01, R, q1
    q10, R, q20, R, q11, R, q1
    q20, R, q3
    q31, S, q3

     

    Определите результат работы программы. В ответе запишите получившееся на ленте число в десятичной системе счисления.

  13. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов  A = левая фигурная скобка a_0, a_1, \ldots, a_n минус 1 правая фигурная скобка правая круглая скобка , включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний  Q = левая фигурная скобка q_0, q_1, \ldots, q_m минус 1 правая фигурная скобка . В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может заменить символ в текущей ячейке (или оставить символ неизменным) и переместиться в ячейку справа или слева от текущей (или остаться в той же ячейке). После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an – 1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qm – 1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i-⁠й строки и j-⁠го столбца находится команда, которую выполняет МТ, когда головка обозревает j-⁠й символ, находясь в i-⁠м состоянии. Если пара «символ–состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды. Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZX
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_1 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записано двоичное представление числа 134 287 без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей слева от последовательности ячейке.

    Программа работы исполнителя:

     

    λ01
    q01, R, q1
    q10, R, q20, R, q11, R, q1
    q21, R, q3
    q30, S, q3

     

    Определите результат работы программы. В ответе запишите получившееся на ленте число в десятичной системе счисления.

  14. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов  A = левая фигурная скобка a_0, a_1, \ldots, a_n минус 1 правая фигурная скобка правая круглая скобка , включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний  Q = левая фигурная скобка q_0, q_1, \ldots, q_m минус 1 правая фигурная скобка . В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может заменить символ в текущей ячейке (или оставить символ неизменным) и переместиться в ячейку справа или слева от текущей (или остаться в той же ячейке). После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an – 1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qm – 1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i-⁠й строки и j-⁠го столбца находится команда, которую выполняет МТ, когда головка обозревает j-⁠й символ, находясь в i-⁠м состоянии. Если пара «символ–состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды. Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Выполните задание.

    На ленте исполнителя МТ в соседних ячейках записана последовательность из N > 300 символов, которая может включать только тройки, шестёрки и девятки, расположенные в произвольном порядке. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке слева от последовательности. Программа для исполнителя:

     

    λ36987
    q0λ, R, q1
    q1λ, S, q17, R, q18, R, q13, R, q1

     

    Известно, что после выполнения программы получилась строка с шестизначной суммой цифр S, содержащая не менее 300 нечётных цифр.

    Определите минимально возможное значение выражения S + N.

  15. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов  A = левая фигурная скобка a_0, a_1, \ldots, a_n минус 1 правая фигурная скобка правая круглая скобка , включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний  Q = левая фигурная скобка q_0, q_1, \ldots, q_m минус 1 правая фигурная скобка . В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может заменить символ в текущей ячейке (или оставить символ неизменным) и переместиться в ячейку справа или слева от текущей (или остаться в той же ячейке). После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an – 1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qm – 1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i-⁠й строки и j-⁠го столбца находится команда, которую выполняет МТ, когда головка обозревает j-⁠й символ, находясь в i-⁠м состоянии. Если пара «символ–состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды. Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Выполните задание.

    На ленте исполнителя МТ в соседних ячейках записана последовательность из N > 300 символов, которая может включать только тройки, шестёрки и девятки, расположенные в произвольном порядке. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей ячейке слева от последовательности. Программа для исполнителя:

     

    λ36987
    q0λ, R, q1
    q1λ, S, q17, R, q18, R, q13, R, q1

     

    Известно, что после выполнения программы получилась строка с пятизначной суммой цифр S, содержащая не менее 100 чётных цифр.

    Определите максимально возможное значение выражения S + N.

  16. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов  A = левая фигурная скобка a_0, a_1, \ldots, a_n минус 1 правая фигурная скобка правая круглая скобка , включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний  Q = левая фигурная скобка q_0, q_1, \ldots, q_m минус 1 правая фигурная скобка . В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может заменить символ в текущей ячейке (или оставить символ неизменным) и переместиться в ячейку справа или слева от текущей (или остаться в той же ячейке). После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an – 1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qm – 1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i-⁠й строки и j-⁠го столбца находится команда, которую выполняет МТ, когда головка обозревает j-⁠й символ, находясь в i-⁠м состоянии. Если пара «символ–состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды. Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZX
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_1 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записано двоичное представление целого положительного числа без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей слева от последовательности ячейке.

    Программа работы исполнителя:

     

    λ01
    q0λ, R, q1
    q10, L, q20, R, q11, R, q1
    q21, L, q31, L, q21, L, q2
    q30, L, q4
    q41, S, q4

     

    Определите наибольшее число, не превышающее 903, которое может получиться на ленте в результате работы программы.

    В ответе запишите получившееся на ленте число в десятичной системе счисления.

  17. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов  A = левая фигурная скобка a_0, a_1, \ldots, a_n минус 1 правая фигурная скобка правая круглая скобка , включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний  Q = левая фигурная скобка q_0, q_1, \ldots, q_m минус 1 правая фигурная скобка . В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может заменить символ в текущей ячейке (или оставить символ неизменным) и переместиться в ячейку справа или слева от текущей (или остаться в той же ячейке). После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an – 1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qm – 1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i-⁠й строки и j-⁠го столбца находится команда, которую выполняет МТ, когда головка обозревает j-⁠й символ, находясь в i-⁠м состоянии. Если пара «символ–состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды. Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZX
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечно состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_1 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записано двоичное представление целого положительного числа без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей слева от последовательности ячейке.

    Программа работы исполнителя:

     

    λ01
    q0λ, R, q1
    q11, L, q20, R, q11, R, q1
    q20, L, q31, L, q21, L, q2
    q31, L, q4
    q41, S, q4

     

    Определите наибольшее число, не превышающее 941, двоичная запись которого может получиться на ленте в результате работы программы.

    В ответе запишите получившееся на ленте число в десятичной системе счисления.

  18. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an − 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qn − 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an-1
    q0командакоманда...команда
    q1командакоманда...команда
    ...............
    qn-1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа.

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1
    q2λ, S, q2X, L, q2

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечное состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_2 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записано двоичное представление числа 1023 без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей справа к последовательности ячейке.

    Программа работы исполнителя.

     

    λ01
    q0λ, L, q1
    q11, L, q21, S, q20, L, q1
    q2λ, S, q2

     

    Определите результат выполнения программы. В ответе запишите получившееся число в десятичной системе счисления.

  19. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an –⁠ 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qn –⁠ 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an –⁠ 1
    q0командакоманда...команда
    q1командакоманда...команда
    ...командакоманда...команда
    qn –⁠ 1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечное состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_1 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записано двоичное представление числа 2026 без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей слева от последовательности ячейке.

    Программа работы исполнителя:

     

    λ01
    q0λ, R, q1
    q11, R, q20, R, q11, R, q1
    q2λ, R, q3
    q3λ, S, q3

     

    Определите результат выполнения программы. В ответе запишите получившееся число в десятичной системе счисления.

  20. Задание 12

    Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A  =  {a0, a1, ..., an –⁠ 1}), включая специальный пустой символ a0.

    Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q  =  {q0, q1, ..., qn –⁠ 1}. В начальный момент времени головка находится в начальном состоянии q0.

    На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя находящийся в ней символ, или заменить символ в текущей ячейке без сдвига в соседнюю ячейку. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.

    Программа работы исполнителя МТ задаётся в табличном виде.

     

    a0a1...an –⁠ 1
    q0командакоманда...команда
    q1командакоманда...команда
    ...командакоманда...команда
    qn –⁠ 1командакоманда...команда

     

    В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце  — возможные состояния головки. На пересечении i⁠-й строки и j⁠-го столбца находится команда, которую выполняет МТ, когда головка обозревает j⁠-й символ, находясь в i⁠-м состоянии. Если пара «символ  — состояние» невозможна, то клетка для команды остаётся пустой.

    Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент  — записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент  — один из четырёх символов «L», «R», «N», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «N»  — отсутствие сдвига, «S»  — завершение работы исполнителя МТ после выполнения текущей команды.

    Сдвиг происходит после записи символа в текущую ячейку. Третий элемент  — новое состояние головки после выполнения команды.

     

    Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.

     

    Приведём пример выполнения программы, заданной таблично. На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном ненулевом расстоянии справа от самого правого символа «Z».

     

    Программа

     

    λZ
    q0λ, L, q0X, L, q1
    q1λ, S, q1X, L, q1

     

    заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».

    Возможное начальное состояние исполнителя.

     

    ...λλZZZZλ\underbrace\lambda_q_0 ...

     

    Конечное состояние исполнителя после завершения выполнения программы.

     

    ...λ\underbrace\lambda_q_1 XXXXλλ...

     

    Выполните задание.

    На ленте в соседних ячейках записано двоичное представление числа 2027 без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей слева к последовательности ячейке.

    Программа работы исполнителя:

     

    λ01
    q0λ, R, q1
    q11, R, q20, R, q11, R, q1
    q21, R, q3
    q3λ, S, q3

     

    Определите результат выполнения программы. В ответе запишите получившееся число в десятичной системе счисления.