MLTA_dlya_vsekh (1) / Электронные лекции 2013 / лекция 4
.pdf1
МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ
Бригаднов Игорь Альбертович
доктор физико-математических наук, профессор
2
Лекция 4
ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
3.1. Понятие алгоритма
Определение 4.0. Алгоритм – это точное предписание, определяющее процесс переработки исходных данных в требуемый результат.
3
При этом:
исходные данные заданы в конкретном алфавите и принимают значения из некоторого множества, т.е. носят массовый характер;
процесс переработки данных является детерминированным, т.е. состоит из отдельных
дискретных шагов;
четко указаны условия остановки и даны критерии для результата процесса.
4
Прикладная теория алгоритмов занимается разработкой эффективных алгоритмов, их описанием, преобразованием и реализацией на современных ЭВМ.
Для наглядного представления структуры алгоритмов применяются графические средства: графы, блок-схемы, сети.
Формальное и полное описание алгоритмов осуществляется на языках программирования высокого уровня (C++, PASCAL, FORTRAN и др.).
5
Примеры алгоритмически неразрешимых задач.
1. Проблема останова универсальной вычислительной машины, реализующей произвольный алгоритм. Как следствие -
невозможно создать универсальную отладочную
программу для обнаружения возможности
зацикливания отлаживаемой программы.
6
2.Проблема выводимости в исчислении предикатов: существует ли для любых формул P и Q дедуктивная цепочка, ведущая от P к Q? (Для исчисления высказываний и одноместных предикатов эта проблема разрешима.)
7
4.2. Машина Тьюринга
Модель алгоритма, называемая машиной Тьюринга, состоит из бесконечной ленты (БЛ), разделенной на ячейки, и управляющей головки (УГ), которая перемещается по ленте и способна считывать символ в ячейке, против которой она находится, а также замещать обозреваемый символ новым (Рис.4.1).
8
УГ
БЛ
Рис.4.1. Машина Тьюринга
9
В каждой ячейке может быть записан один символ из ленточного алфавита A. Головка может находиться в одном из внутренних состояний, принадлежащих конечному множеству (алфавиту состояний) Q. Работа машины происходит в дискретном времени в соответствии с программой, задаваемой набором команд вида
qa a+Dq+.
10
В зависимости от состояния головки q Q и символа a A, против которого она стоит, головка записывает на ленте новый символ a+ (или оставляет старый), переходит в новое состояние q+ (или остается в старом) и передвигается: вправо (П), влево (Л) или остается в прежнем положении (Н).