- •Основные понятия теории алгоритмов
- •Конечные автоматы
- •Рекурсивные функции
- •Операция суперпозиции
- •Операции примитивной рекурсии
- •Определение минимального корня. Метод минимизации.
- •Машины Тьюринга (мт)
- •Разработка машин Тьюринга
- •Несмотря на количество лент такая машина может выполнять стандартный набор действий: -лево
- •Пример:
- •Итого, получаем следущий нам:
- •Итого, получаем следующий алгоритм перевода чисел из четверичной системы в двоичную
- •Все эти действия реализуются в виде следующего нам
Определение минимального корня. Метод минимизации.
С помощью операции минимизации определяется новая арифметическая функция f(n) с помощью ранее построенной арифметической функции g(n+1).
Это реализуется следующим методом.
Для некоторого заданного набора значений x1 = a1, x2 = a2,…, xn = an в качестве значения функции f(x1,…,xn) = y принимается наименьший целый неотрицательный корень уравнения g(a1,…,an,y) = 0.
Таким образом, механизм вычисления функции f сводится к тому, что фиксируется набор аргументов и затем решается уравнения.
Данный процесс будет продолжаться бесконечно в следующих случаях:
если значения f(x1,…,xn, xn-1, 0) в точке 0 для xn не определено;
f(x1,…,xn-1, y) для y = 1,2,3,…,a-1) в точке y = a значение функции не определено.
Машины Тьюринга (мт)
МТ также относится к алгебраическим системам.
МТ представляет собой совокупность трех элементов:
бесконечная лента, разделенная на ячейки, в каждой из которых записывается один символ входного алфавита;
считывающая головка, которая в каждый момент времени находится над какой-то ячейкой ленты;
управляющее устройство, которое выполняет некоторый фиксированный набор команд:
читать символ, находящийся в ячейке под считывающей головкой;
записать в ячейку новый символ;
переместить ленту влево на одну ячейку;
переместить ленту вправо на одну ячейку;
остаться в этой же позиции.
Si
В результате МТ может выполнить следующие команды:
считать Si символ и в зависимости от этого символа перемещать ленту влево, вправо либо остаться на месте;
читать символ Si и в зависимости от его значения заменить его новым символом.
Состояния:
Л – лево;
П – право;
С – стоп.
МТ задается следующим набором данных:
– входной алфавит;
Q – внутренний алфавит, множество состояний;
H – множество команд которые МТ может реализовать.
Множество команд H можно задавать двумя способами:
Перечень строк каждая, из которых состоит из 5 символов;
giSi → gjSjK
Находясь в состоянии gi над ячейкой Si переходит в состояние gj заменяя символ на Sj, завершает действие К = (Л,П,С). При этом Sj может быть равен Si.
Множество команд H задается таблицей:
Q |
a |
b |
c |
q0 |
gjSjK |
|
|
q1 |
|
|
|
… |
|
|
|
qn |
|
|
|
Необходимо указать конечное состояние. Если символа в ячейке нет то это S0. МТ останавливается в двух случаях: когда находясь в некотором состоянии не находится команды из множества Н и когда попадает в конечное состояние.
Под конфигурацией МТ понимается входная последовательность, поступающая на вход МТ с указанием начального состояния и положения считывающей головки. Под программой МТ понимается множество Н. Алгоритм МТ представляет собой 2 колонки: команды и конфигурация.
Команда Конфигурация
qiSi→qjSjK S1S2S3qjS4…Sn
Стандартная МТ с внешним алфавитом {0,1} называется не стирающей, если она способна выполнять только команды:
qi0→qjaT a – 0 или 1
qi1→qj1T Т – {Л,П,С}