Лекция 2. Нормальные алгоритмы Маркова. Принцип нормализации и его обоснование. Композиции машин Тьюринга и нормальных алгоритмов Маркова.
Как было отмечено выше, всякий общий способ задания алгоритмов называется алгоритмической системой. Алгоритмическая система, основанная на соответствии между словами в абстрактном алфавите, включает в себя объекты двух типов: элементарные операторы и элементарные распознаватели.
Элементарные операторы представляют собой алфавитные операторы, предназначенные для реализации алгоритмов в рассматриваемой алгоритмической системе.
Элементарные распознаватели служат для распознавания наличия тех или иных свойств перерабатываемой алгоритмом информации и для изменения, в зависимости от результатов распознавания, порядка следования элементарных операторов.
Для указания набора элементарных операторов и порядка их следования при задании конкретного алгоритма используют ориентированные графы, называемые граф-схемами соответствующих алгоритмов.
Граф-схема алгоритма представляет собой конечное множество соединенных между собой вершин (или геометрических фигур), называемых узлами граф-схемы. Каждому узлу, кроме особых узлов, называемых входом и выходом, сопоставляется какой-либо элементарный оператор (ЭО) или элементарный распознаватель (ЭР). При этом из каждого узла, которому сопоставлен оператор, а также из входного узла исходит по одной дуге, а из каждого узла, которому сопоставлен распознаватель, исходит по две дуги. Из выходного узла не исходит ни одной дуги. Число дуг, входящих в узел граф-схемы, может быть любым.
Вариант такой граф-схемы представлен на рис. 1.6. Алгоритм, определенный граф-схемой, работает следующим образом. Входное слово поступает на вход и двигается по направлениям, указанным стрелками. При попадании слова в распознавательный узел осуществляется проверка условия, сопоставленного этому узлу. При выполнении условия слово направляется в операторный узел, при невыполнении — к следующему распознавателю.
Если входное слово р, поданное на вход граф-схемы, проходя через узлы схемы и преобразуясь, попадает через конечное число шагов на выход, то считается, что алгоритм применим к слову р (слово р входит в область определения этого алгоритма). Результатом воздействия на слово р будет то слово, которое оказывается на выходе схемы. Если после подачи слова р на вход графа его преобразование и движение по граф-схеме продолжается бесконечно долго, не приводя на выход, считается, что алгоритм не применим к слову р, т.е. слово р не входит в область определения алгоритма.
Рис. 1.6. Вариант граф-схемы алгоритма
В нормальных алгоритмах в качестве элементарного оператора используют оператор подстановки (ОП), а в качестве элементарного распознавателя — распознаватель вхождения (РВ).
Распознаватель вхождения проверяет условие — имеет ли место вхождение рассматриваемого слова р1 в качестве подслова некоторого заданного слова q.
Оператор подстановки заменяет первое слева вхождение слова р1 в слово q на некоторое заданное слово р2. Оператор подстановки задается обычно в виде двух слов, соединенных стрелкой р1→р2.
Например, для слова 01230123 применение подстановок и через четыре шага приводит к слову 32103210 (рис.1.7):
Рис.1.7. Граф-схема алгоритма преобразования входного слова 01230123 в слово 32103210
Последовательность слов , получаемых в процессе реализации алгоритма, называется дедуктивной цепочкой, ведущей от слова р1 к слову р2.
Алгоритмы, которые задаются графами, составленными только из распознавателей вхождения слов и операторов подстановки, называют обобщенными нормальными алгоритмами. При этом предполагается, что к каждому оператору подстановки ведет только одна дуга, исходящая из соответствующего распознавателя.
Нормальными алгоритмами называют обобщенные нормальные алгоритмы, граф-схемы которых удовлетворяют следующим условиям.
1. Все узлы, соответствующие распознавателям, упорядочиваются путем их нумерации от 1 до n.
Дуги, исходящие из узлов, соответствующих операторам подстановки, подсоединяются либо к узлу, соответствующему первому распознавателю, либо к выходному узлу. В первом случае подстановка называется обычной, во втором — заключительной.
Входной узел подсоединяется дугой к первому распознавателю.
Нормальные алгоритмы принято задавать упорядоченным множеством подстановок всех операторов данного алгоритма, называемым схемой алгоритма. При этом обычные подстановки записываются, как и в обобщенных алгоритмах, в виде двух слов, соединенных стрелкой , а заключительные подстановки обозначаются стрелкой с точкой . Процесс выполнения подстановок заканчивается лишь тогда, когда ни одна из подстановок схемы не применима к полученному слову или когда выполнена (первый раз) какая-либо заключительная подстановка.
Вариант граф-схемы нормального алгоритма в общем виде представлен на рис.1.8.
В качестве примера рассмотрим работу нормального алгоритма А.А. Маркова, алфавит которого представлен алфавитом русского языка, и задано множество подстановок:
4.
5.
6.
Тогда, если на вход подать слово «СЛОН», то оно переработается алгоритмом в выходное слово «МУХА» (рис.1.9):
«СЛОН» «СУОН» «МУОН» «МУХН» «МУХА».
На рис.1.10 представлена граф-схема нормального алгоритма А.А. Маркова, реализующего сложение единиц в непозиционной системе счисления при заданном алфавите А={+, 1} и системе подстановок «l+l» ’11’, «1» ’1’. При подаче на вход строки ‘11+11+1’ она перерабатывается алгоритмом в строку «11+11+1» ‘1111+1’ ‘11111’ ‘11111’.
Рис 1.10. Граф-схема алгоритма преобразования входного слова «11+11+1» в слово «11111»
Наличие в нормальных алгоритмах подстановок двух видов: заключительной и обычной — необходимое условие универсальности нормальных алгоритмов, т. е. возможности построения нормального алгоритма, эквивалентного любому наперед заданному алгоритму.
Новые алгоритмы могут быть построены из уже известных алгоритмов путем суперпозиции, объединения, разветвления алгоритмов и повторения (итерации)
В теории алгоритмов строго доказано, что по своим возможностям преобразования нормальные алгоритмы эквивалентны машине Тьюринга и другим моделям, уточняющим понятие алгоритма.
Достарыңызбен бөлісу: |