
-
Интуитивное понятие алгоритма. Свойства алгоритмов.
Алгоритм это-определенная последовательность действий для решения определенной проблемы.
Такими свойствами являются:
• Дискретность (прерывность, раздельность) – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
• Определенность – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
• Результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов.
• Массовость – алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
-
Машина Поста. Описание, примеры задач. Формулировка l.
Маши́на По́ста (МП) — абстрактная вычислительная машина, предложенная Эмилем Леоном Постом (англ. Emil Leon Post), которая отличается от машины Тьюрингабольшей простотой. Обе машины алгоритмически «эквивалентны» и были придуманы для уточнения понятия «алгоритм». В 1936 г. американский математик Эмиль Пост в статье описал систему, обладающую алгоритмической простотой и способную определять, является ли та или иная задача алгоритмически разрешимой. Если задача имеет алгоритмическое решение, то она представима также в форме последовательности команд для машины Поста.
Сложение двух чисел тривиально — достаточно поставить 1 между ними и стереть два крайних правых «1» у Q. Программа вычитания состоит из последовательного изменения крайних левых «1» у последовательности «1» в изображении Q и правых «1» у последовательности «1» в изображении P. В начале программы каретка установлена на крайнюю левую «1» у Q:
1. ← - шаг влево
2. ? 1, 3 - если в ячейке пусто, перейти к 1 шагу, если нет, к 3
3. 0 - удалить метку
4. → - шаг вправо
5. ? 4, 6 - если в ячейке пусто, перейти к 4 шагу, если нет, к 6
6. 0 - удалить метку
7. → - шаг вправо
8. ? 9, 1 - если в ячейке пусто, перейти к 9 шагу, если нет, к 1
9. ! - конец
Отметим, что номер команды перехода не указывается, если переход происходит на следующую по порядку строку (для наглядности текста). В 6-й строке возможно зацикливание, если Q > P.
-
Определение машины Тьюринга. Применение машин Тьюринга к словам.
Маши́на Тью́ринга (МТ) — aбстрактный исполнитель (абстрактная вычислительная машина). Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма.
Машина Тьюринга является расширением конечного автомата и, согласно тезису Чёрча — Тьюринга, способна имитировать все исполнители (с помощью задания правил перехода), каким-либо образом реализующие процесс пошагового вычисления, в котором каждый шаг вычисления достаточно элементарен.
Машина
Тьюринга обладает внешним алфавитом А =
{a0, a1, …, an}, символы которого
записываются на ленту машины, и алфавитом
внутренних состояний Q =
{q0, q1, …, qm}, где q1 – начальное
состояние, q0 – заключительное.
Работа машины определяется программой (функциональной
схемой). Программа состоит из команд.
Каждая команда T(i, j) (i =
1, 2, …, m; j =
0, 1, …, n) представляет собой выражение
одного из следующих видов:
;
;
,
где
0 ≤ k ≤ m;
0 ≤ l ≤ n,
С – машина продолжает обозревать ту же
ячейку, П – машина сдвигается на клетку
вправо, Л – на клетку влево.
Синтез
машин Тьюринга является достаточно
сложной задачей, требующей определенного
уровня развития алгоритмического
мышления.
Машина
Тьюринга работает со словами своего
внешнего алфавита. Пусть ^ А =
{0, 1} (здесь 0 – символ пустой ячейки).
Полезно ввести следующие обозначения.
Для натурального х обозначаем:
,
.
Приведем
программы следующих машин Тьюринга:
«левый сдвиг»
и
«правый сдвиг»
.
Первая из начального стандартного
положения перерабатывает слово 01x0 в то
же самое слово и останавливается,
обозревая самую левую ячейку с нулем.
Вторая машина из начального состояния,
в котором обозревается левая ячейка с
нулем, 01x0 перерабатывает в то же самое
слово и останавливается, обозревая
самую правую ячейку с нулем.