Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
История информационных технологий I.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
8.02 Mб
Скачать

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

Предложенное А.А. Марковым определение нормального алгоритма конкретизирует правила подстановки ассоциативного исчисления.

Примечание. А.А. Марков употреблял термин "алгорифм".

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

I. Алгоритм применим к некоторому слову P, если, отправляясь от этого слова и действуя согласно предписанию, мы получим через конечное число шагов некоторое новое слово Q, на котором процесс оборвется. Принято говорить, что алгоритм перерабатывает P в Q.

Пример алгоритма. Перепиши заданное слово, начиная с конца. Полученное слово есть результат. Останов.

Определение I слишком широко: уточнение понятия алгоритма связано с использованием аппарата подстановок, т.е. с понятием ассоциативного исчисления.

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

Предыдущие два определение расплывчаты, что такое "общепонятное указание"?

Марков дал определение нормального алгоритма, зафиксировав порядок использования подстановок.

Задается алфавит A и фиксируется система подстановок.

Исходя из произвольного слова P' в алфавите A, просмотреть формулы подстановок в том порядке, в каком они заданы в схеме, разыскивая первую формулу с левой частью, входящей в P'.

Если такой формулы не найдется - процесс останавливается.

В противном случае берется эта первая формула и делается подстановка ее правой части вместо первого вхождения ее левой части в P'. Получается P''.

P'=XY  XY=P'' (42)

Повторение 2 для слова P''.

Процесс обрывается в двух случаях:

получается такое слово Pn, что ни одна из левых частей формул схемы в него не входит;

при получении нового слова применяется последняя формула.

Пример нормального алгоритма сложения.

Числа представляются в "примитивной системе счисления" – величина числа представляется количеством единиц в записи числа.

A = {1,+} алфавит I:{1+  +1; правила подстановки

+1  1;

1  1}

P = 1111+11+111

1

1

1

1

+

1

1

+

1

1

1

1

1

1

+

1

1

1

+

1

1

1

1

1

+

1

1

1

1

+

1

1

1

1

+

1

1

1

1

1

+

1

1

1

+

1

1

1

1

1

1

+

1

1

1

+

1

1

1

1

1

+

1

1

1

1

+

1

1

1

1

+

1

1

1

1

1

+

1

1

1

+

1

1

1

1

1

1

+

1

1

+

1

1

1

1

1

1

1

+

1

+

1

1

1

1

1

1

1

1

+

+

1

1

1

1

1

1

1

1

1

+

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

Еще две системы подстановок определяющие алгоритмы эквивалентные приведенному алгоритму сложения:

II: {+  } III: {1+  +1;

++  +

+  }

Гипотеза Маркова: всякий алгоритм в алфавите A эквивалентен некоторому нормальному алгоритму в этом же алфавите.

Говоря другими словами, функция вычислима, если для нее может быть построен нормальный алгоритм.

[Айзерман, Л.А. Гусев и др.Гос. изд-во ф.м. л-ры, М.: 1960]