Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
элементы дискретной математики.doc
Скачиваний:
23
Добавлен:
05.09.2019
Размер:
2.19 Mб
Скачать

Для каждого алгоритма u из класса к1 существует равносильный ему алгоритм l из класса к2.

Обычно доказательство состоит в описании процедуры, по заданному алгоритму( или программе) U класса К1 строят такой алгоритм(программу) L класса К2, который средствами, доступными в классе К2, имитирует работу U.

10.2. Нормальный алгоритм Маркова

Алгоритмическая система – это всякий общий способ задания алгоритма.

Алгоритмическая система, созданная А.А.Марковым, основана на соответствии между словами в абстрактном алфавите. Она включает в себя объекты двоякой природы: элементарные операторы и элементарные распознаватели.

Алгоритм задают в виде граф-схемы - ориентированного графа, вершинами которого являются элементарные операторы и распознаватели. На вход граф - схемы алгоритма (ГСА) подается некоторое входное слово р.

Кроме того, задана система подстановок, реализующих отображение

рi qi, i=1,…,k.

Распознаватель проверяет условие – имеет ли место вхождение рi во входное слово р. Если ДА, то алфавитный оператор заменяет первое слева вхождение слова рi на слово qi. Если НЕТ, то управление передается на вход следующего распознавателя.

Например ГСА для трех подставок (К=3) имеет три вершины распознавателя(РВ1,РВ2,РВ3) и три операторные вершины (ОП1,ОП2,ОП3).

Граф имеет два типа

вершин:

а) вершины – распоз -

наватели;

б) операторные вер-

шины;

Кроме того, имеются

входная и выходная

вершины.

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

И з схемы следует, что каждая подстановка рi qi, i=1,…,k циклически применяется до тех пор, пока имеются вхождения pi в p.

После первого применения подстановки pi qi, i=1,…,k входное слово p = p(1) преобразуется в слово p(1), после второго применения - в слово p(2) и так далее, пока после последнего применения подстановки не преобразуется в выходное слово p(4) = q .

Алгоритм применим к слову p, если оно преобразуется в слово q через конечное число шагов.

Например, если р=bcbaab, а подстановки заданы как ba ab, bc ba,

bb ac, то работа алгоритма будет иметь следующий вид.

р=bcbaab bcabab bcaabb baaabb baaaac=q.

Нормальными алгоритмами называются алгоритмы, ГСА которых удовлетворяют следующим условиям:

1. Номера вершин – распознавателей упорядочиваются от 1 до n.

2. Дуги, исходящие из операторных вершин, подсоединяются либо к первой вершине – распознавателю, либо к выходной вершине. В первом случае подстановка называется обычной, во втором – заключительной.

3. Входная вершина связана дугой с первым распознавателем.

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

р=bcbaab bcabab bcaabb

baaabb abaabb aababb

aaabbb aaaacb.

Для нормального алгоритма преобразование входного слова р=bcbaab в выходное слово q будет иметь следующий вид:

Пример. Задан алфавит А={+, 1} и система подстановок:

‘1+1’ ‘11’ , ‘1’ .

Обычная Заключительная

подстановка подстановка

Пусть дано входное слово р=’11+11+1’. Оно перерабатывается алгоритмом в строку:

‘11+11+1’ ‘1111+1’ ‘11111’

Алгоритм реализует сложение единиц.

Эквивалентный ему алгоритм можно задать с помощью системы подстановок:

‘+’ , ‘1’

Преобразование слова р в q будет аналогично.

Либо же система подстановок может иметь и такой вид:

‘ 1+’ ‘+1’ , ‘+1’ ‘1’, ‘1’

Тезис Маркова

Для любого алгоритма в произвольном конечном алфавите А можно построить эквивалентный ему нормальный алгоритм.

Все известные до сих пор алгоритмы нормализуемы.

ЛИТЕРАТУРА

1. Алферова З.В. Теория алгоритмов. – М.: Статистика, 1973. – 164 с.

2. Баранов С.И. Синтез микропрограммных автоматов. – Л.: Энергия, 1974. – 216 с.

3. Горбатов В.А. Основы дискретной математики. - М.: Высшая школа, 1986. - 311c.

4. Знакомьтесь: компьютер. - М.: 1989. - 240c.

5. Информатика в понятиях и терминах /под ред. Извозчикова В.А. - М.: Просвещение, 1991. - 208c.

6. Информатика: Энциклопедический словарь для начинающих/Сост. Д.А.Поспелов. - М.: Педагогика - Пресс, 1994. - 352c.

7. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. – М.: МЦНМО, 2000. – 960 с.

8. Кузнецов О.П., Адельсон-Вельский Г.М. Дискретная математика для инженера. - М.: Энергия, 1980. - 344c.

9. Некрасов В.П. Теоретическая информатика. Ч.2. Элементы дискретной математики: учебное пособие. – Екатеринбург: УГГГА, 1996. - 54 с.

10. Некрасов В.П. Теоретическая информатика. Ч.4. Комбинаторные алгоритмы: учебное пособие. – Екатеринбург: УГГГА, 1997. - 55 с.

11. Нефедов В.Н., Осипова В.А. Курс дискретной математики: Учеб. Пособие. – М.: МАИ, 1992. – 264 с.

12. Поспелов Д.А. Фантазия или наука. На пути к искусственному интеллекту. - М.: Наука, 1982. - 224c.

13. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика. – М.: Мир, 1980. – 478 с.

14. Свами М., Тхуласираман К. Графы, сети и алгоритмы. – М.: Мир, 1984. – 455 с.

15. Сигорский В.П. Математический аппарат инженера. - Киев: Технiка, 1977. - 768c.

16. Теория и методы автоматизации проектирования вычислительных систем. /Под ред. Брейера М. - М.: Мир, 1977. - 285c.

17. Ульман Дж. Основы систем баз данных. - М.: Финансы и статистика, 1983. - 336с.

18. Харари Ф. Теория графов. - М.: Мир, 1973. - 302с.

19. Шевченко В.Е. Некоторые способы решения логических задач. - Киев: Вища школа, 1979. - 80с.

20. Яглом И.М. Необыкновенная алгебра. - М.: Наука, 1968. - 72с.