Понятие алгоритма и связанных с ним категорий.

Под алгоритмом понимается некоторое конечное предписание, с помощью которого можно найти решение за конечное число шагов задачи из некоторого класса задач..

Алгоритм работает над данными, преобразуя входные данные в выходные. В процессе преобразования могут образовываться промежуточные данные. Входные, выходные и промежуточные данные характеризуются определенной лексикой, т.е. кодируются символами определенного алфавита. Для всякой задачи длина слова входных данных (количество символов в коде данных) называется размерностью задачи над алфавитом входных данных.

Понятие алгоритма и связанных с ним категорий. - student2.ru Работа алгоритма характеризуется дискретностью, т.е. разбивается на ряд операций. В зависимости от однозначности или неоднозначности перехода между операциями алгоритмы подразделяются на детерминированные и недетерминированные.

Работа алгоритма отличается результативностью. Если алгоритм применим к некоторому слову входных данных, то через конечное число проведенных операций алгоритм построит слово выходных данных результата и останавливается. В противном случае алгоритм не останавливается.

Работа алгоритма производится на некотором устройстве реализации, содержащем процессор для выполнения операций, внешнюю и внутреннюю память для хранения поиска и изменения данных.

Машина Тьюринга

Одним из формальных методов представления алгоритмов является машина Тьюринга (МТ), которая включает следующие компоненты:

  1. Устройство управления, имеющее одно из состояний множества

Понятие алгоритма и связанных с ним категорий. - student2.ru ..Множество состояний всегда содержит состояние

Понятие алгоритма и связанных с ним категорий. - student2.ru , с которого МТ начинает работать, а также состояние Понятие алгоритма и связанных с ним категорий. - student2.ru , с наступлением которого работа МТ заканчивается;

  1. Бесконечную ленту, разбитую на ячейки, в каждой из которых содержится один из символов адфавита Понятие алгоритма и связанных с ним категорий. - student2.ru .Любой алфавит МТ всегда содержит пустой символ _ - "пробел";
  2. Считывающую/записывающую головку, которая в зависимости от текущего состояния устройства управления и от текущего символа на ленте под головкой может передвинуться на одну ячейку вдоль ленты направо (R)., налево (L) или остаться на месте (Е) , а также может записатьв соответствии с заданием в ячейку под собой любой символ из алфавита А .

Задание МТ образует совокупность продукций (команд) Понятие алгоритма и связанных с ним категорий. - student2.ru , означающих, что, если устройство управления МТ находится в состоянии Понятие алгоритма и связанных с ним категорий. - student2.ru , головка "обозревает" на ленте символ Понятие алгоритма и связанных с ним категорий. - student2.ru , то устройство управления переходит в состояние Понятие алгоритма и связанных с ним категорий. - student2.ru , головка МТ записывает в ячейку символ Понятие алгоритма и связанных с ним категорий. - student2.ru (возможно тот же, что и был ранее) и передвигается либо влево на один символ, либо вправо на один символ, либо остается на месте (рис. 4).

Понятие алгоритма и связанных с ним категорий. - student2.ru

Рис: 4. Машина Тьюринга

Конфигурацией или полным состоянием МТ называется Понятие алгоритма и связанных с ним категорий. - student2.ru ,

где Понятие алгоритма и связанных с ним категорий. - student2.ru - состояние устройства управления; Понятие алгоритма и связанных с ним категорий. - student2.ru - слово над алфавитом слева от головки; Понятие алгоритма и связанных с ним категорий. - student2.ru - слово справа от головки .первый символ которого Понятие алгоритма и связанных с ним категорий. - student2.ru -"обозревается" головкой. Выполнение продукции задания приводит к переходу от конфигурации Понятие алгоритма и связанных с ним категорий. - student2.ru к конфигурации Понятие алгоритма и связанных с ним категорий. - student2.ru .

Считают, что начальная и заключительная конфигурации МТ таковы, что считывающая/записывающая головка расположена слева от слова исходных данных данных или результата, над первым символом.

Машина Тьюринга правильно реализует некоторую функцию Понятие алгоритма и связанных с ним категорий. - student2.ru (или предикат), если от начальной конфигурации Понятие алгоритма и связанных с ним категорий. - student2.ru за конечное число шагов машина переходит к заключительной конфигурации Понятие алгоритма и связанных с ним категорий. - student2.ru , причем если значение Понятие алгоритма и связанных с ним категорий. - student2.ru - неопределено, то МТ никогда не останавливается.

Любые две МТ считаются одинаковыми, если они реализуют одну и ту же функцию.

Пример 9. Построить копирующую машину MTС, выполняющую копирование произвольного унарного числа. Для представления чисел на ленте МТ часто используется унарная система. В унарном счислении натуральное число кодируется последовательностью символов «1» количество которых равно величине числа, например число 3 представляется в единичном коде как Понятие алгоритма и связанных с ним категорий. - student2.ru

Для распознавания позиции конца слова будем считать, что в конце исходных данных стоит специальный символ Понятие алгоритма и связанных с ним категорий. - student2.ru .

1. Система продукций копирующей MTС

1.1. Понятие алгоритма и связанных с ним категорий. - student2.ru - запоминание копируемого символа;

1.2. Понятие алгоритма и связанных с ним категорий. - student2.ru -перенос копируемого символа вправо;

1.3. Понятие алгоритма и связанных с ним категорий. - student2.ru -копирование;

1.4. Понятие алгоритма и связанных с ним категорий. - student2.ru - возврат к последней скопированной позиции на ленте

1.5. Понятие алгоритма и связанных с ним категорий. - student2.ru - восстановление скопированного символа и продолжение копирования;

1.6. Понятие алгоритма и связанных с ним категорий. - student2.ru - завершение процесса копирования;

1.7. Понятие алгоритма и связанных с ним категорий. - student2.ru - вывод головки в исходное положение;

1.8. Понятие алгоритма и связанных с ним категорий. - student2.ru - остановка.

Замечание. Продукции 1.2 и 1.4 представляют групповую запись, означающую сходное функционирование МТ при разных данных.

2. Алфавит Понятие алгоритма и связанных с ним категорий. - student2.ru

3. Состояния устройства управления Понятие алгоритма и связанных с ним категорий. - student2.ru

4. Проверочная последовательность конфигураций для контрольного примера исходных данных Понятие алгоритма и связанных с ним категорий. - student2.ru

Понятие алгоритма и связанных с ним категорий. - student2.ru

Текущее состояние устройства управления и "обозреваемый" символ называются условиями применения продукции. В отличие от команд алгоритмических языков продукции МТ применяются не в порядке очередности, а при выполнении условий, обозначенных в левой части продукции. Для детерминированной МТ каждая продукция в задании МТ имеет оригинальные условия применения. В недетерминированной МТ одним и тем же. условиям приневения соответствует более одного варианта перехода к следующей конфигура­ции. При выполнении таких продукций недетерминированная МТ создает овои копии по числу вариантов перехода. Все копии сообщаются между собой и также обладают возможностью создавать свои копии при появлении недтерминированной продукции. Недетерминированная МТ завершают свою работу, если хотя бы одна копий переходит в заключительное состояние.

Тезис Тьюринга

Тезис Тьюринга: «всякий алгоритм может быть реализован в виде МТ» - определяет критерий, позволяющий отделить алгоритмически разрешимую проблему от проблем, не относящихся к таковым.

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

Композиция МТ

Если МТ1 и МТ2 реализуют соответственно функции f1(X) и f2(У) - причем область значений f1 совпадает с областью определения f2, то может быть построена композиция MT=MT2°MT1, реализующая функцию. f2(f1(X)). Композиция МТ представляет собой последовательное подключение машин МТ1 и МТ2 (последовательный вычислительный процесс), при котором результат первой машины поступает на обработку второй (см. рис.5а).

Для построения МТ композиции ее начальное состояние полагают равным начальному состоянию МТ1, конечное состояние МТ1 полагают равным начальному состоянию МТ2, а конечное состояние композиции полагают равным конечному состоянию MT2.

Понятие алгоритма и связанных с ним категорий. - student2.ru

а) б)

Рис. 5. Операции над МТ: а - композиция б - разветвление

Разветвление МТ

Если МТ1 и МТ2 реализуют соответственно функции f1(X) и f2(Х) с одинаковыми областями определения, существует МТР, реализующая некоторый предикат Р(х), то может быть построена MT -разветвления , реализующая функцию

Понятие алгоритма и связанных с ним категорий. - student2.ru

МТ – разветвления представляет параллельное подключение МТ1 и МТ2 (разветвление вычислительного процесса ), при котором результат формируется первой машиной, если значение предиката истинно, а иначе - формируется второй. МТ - разветвления начинает свою работу с копирования исходных данных, по одному из экземпляров которых машина предиката вырабатывает признак, указывающий на то, какая из функциональных машин формирует результат.

На­чальное состояние МТ- разветвления полагают равным начальному состоянию МТ композиции, состоящей из последовательного подключения копирующей MTС, и МТР , реализующей предикат Р . Вводятся две новые продукции:

услови­ям конечного состояния MTС°МТР и символу 1 (истинности предиката Р), сопоставля­ется начальное состояние MT1,

условиям конечного состояния MTС°МТР и символу 0 (ложности предиката Р) сопоставляется начальное состояние МТ2.

Конечные состояния МТ1 и МТ2 отождествляются с конечным состоянием
МТ - разветвления (рис. 5)

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

Наши рекомендации