Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы алгоритмы.doc
Скачиваний:
51
Добавлен:
29.02.2016
Размер:
69.12 Кб
Скачать

  1. Интуитивное понятие алгоритма. Свойства алгоритмов.

Алгоритм это-определенная последовательность действий для решения определенной проблемы.

Такими свойствами являются:

• Дискретность (прерывность, раздельность) – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.

• Определенность – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.

• Результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов.

• Массовость – алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.

  1. Машина Поста. Описание, примеры задач. Формулировка 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.

  1. Определение машины Тьюринга. Применение машин Тьюринга к словам.

Маши́на Тью́ринга (МТ) — 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 перерабатывает в то же самое слово и останавливается, обозревая самую правую ячейку с нулем.