- Главная
- Математика
- Лекции 19. Алгоритмы Маркова
Содержание
- 2. Ассоциативные исчисления. Пусть имеется алфавит (конечный набор различных символов). Составляющие его символы будем называть буквами. Любая
- 3. Чтобы задать ассоциативное исчисление, достаточно задать алфавит и систему подстановок. Слова P1 и Р2 в некотором
- 4. Лемма. Пусть P~Q; тогда, если в каком-либо слове R имеется вхождение Р, то в результате подстановки
- 5. В 1946 и 1947 годах русский математик А.А.Марков и американский математик Э.Пост независимо один от другого
- 6. Пример 1.2 (Г.С.Цейтин). Дано ассоциативное исчисление, включающее алфавит A={ a, b, c, d, e} и систему
- 7. Формальные основы экспертных систем Большинство экспертных систем базируется на понятии "формальная продукционная система". Продукционные системы берут
- 8. Пусть некоторое слово Y начинается словом xi . Применить к Y продукцию xiW →Wyi - это
- 10. Алгоритмы Маркова Введем понятие алгоритма на основе ассоциативного исчисления: алгоритмом в алфавите А называется понятное точное
- 11. Алгоритмы Маркова Введем понятие алгоритма на основе ассоциативного исчисления: алгоритмом в алфавите А называется понятное точное
- 12. Система подстановок В: cb → cc сса→ аb ab → bса Применяя систему подстановок В из
- 13. Проанализируем сложение натуральных чисел. На входе алгоритма поступают два натуральных числа x и y. Пусть числа
- 14. Нормальные алгоритмы Маркова Теория нормальных алгоритмов (или алгорифмов, как называл их создатель теории) была разработана советским
- 15. Алфавит и схема нормального алгоритма. Нормальный алгоритм М задается двумя компонентами: алфавитом алгоритма, схемой алгоритма. 1)
- 16. Работа нормального алгоритма. Пусть на вход нормального алгоритма A со схемой Z поступило слово P. Начинаем
- 17. Таким образом, в результате получаем ровно один из двух случаев I или II. I. Процесс переработки
- 18. Такой набор предписаний вместе с алфавитом А и набором подстановок В определяют нормальный алгоритм. Процесс останавливается
- 19. 2. Вычисление остатка при делении на 4. Построим нормальный алгоритм, который находит остаток от деления натурального
- 20. 3. Вычитание единицы (считаем, что 0 − 1 = 0): А = {| , ?}. |
- 21. 5. Аннулирующий алгоритм. Зададим нормальный алгоритм М схемой a1 →ε a2 →ε . . . ak
- 22. Отметим, что не все вербальные алгоритмы являются нормальными алгоритмами. Вербальные алгоритмы реализуют произвольные преобразования слов, а
- 23. Определение 1. Пусть заданы алфавиты A и A1. Если A ⊆ A1, то алфавит A1 называется
- 24. Примеры. 1. Алгоритм М левого присоединения слова v. В нем для любого входного слова u выходным
- 25. 2. Алгоритм правого присоединения. В этом случае нет простейшего алгоритма. Для реализации правого присоединения расширим алфавит
- 26. 3. Алгоритм удаления первой буквы непустого слова. Алфавит Σ = {?, ?,c}. Вставим в начало слова
- 27. При записи системы подстановок (т.е. схемы алгоритма) иногда удобно сокращать запись, вводя новые буквы, не принадлежащие
- 28. Если применить эту схему к пустому слову, то мы получим зацикливание (первые две подстановки останутся после
- 29. Таким же образом, добавляя буквы к алфавиту A , можно получить схему для операции перевертывания слов
- 30. 4. Увеличение на единицу натурального числа в двоичной форме. Действие алгоритма будет состоять из двух этапов:
- 31. Второй этап: подстановки (е) или (ё) заменяют ? на ? и либо срабатывают заключительные подстановки (a)
- 32. А.А.Марков предложил следующий тезис. Принцип нормализации. Пусть задан произвольный вербальный алгоритм В в алфавите A .
- 33. Данный принцип не может быть строго доказан, поскольку понятие произвольного алгоритма не является строго определенным и
- 35. Скачать презентацию
Слайд 2 Ассоциативные исчисления.
Пусть имеется алфавит (конечный набор различных символов). Составляющие его
Ассоциативные исчисления.
Пусть имеется алфавит (конечный набор различных символов). Составляющие его
Рассмотрим два слова N и М в некотором алфавите А. Если N является частью М, то говорят, что N входит в М.
Зададим в некотором алфавите конечную систему подстановок
N - М, S - Т,..., где N, М, S, Т,... - слова в этом алфавите.
Любую подстановку N-M можно применить к некоторому слову К следующим способом: если в К имеется одно или несколько вхождений слова N, то любое из них может быть заменено словом М, и, наоборот, если имеется вхождение М, то его можно заменить словом N.
Пример. Пусть в алфавите А = {а, b, с} имеются слова N = ab, М = bcb,
К = abcbcbab, Заменив в слове К слово N на М, получим bcbcbcbab или abcbcbbcb, и, наоборот, заменив М на N, получим aabcbab или аbсаbаb.
Подстановка ab - bcb недопустима к слову bacb, так как ни ab, ни bcb не входит в это слово. К полученным с помощью допустимых подстановок словам можно снова применить допустимые подстановки и т.д.
Совокупность всех слов в данном алфавите вместе с системой допустимых подстановок называют ассоциативным исчислением.
Слайд 3 Чтобы задать ассоциативное исчисление, достаточно задать алфавит и систему подстановок.
Чтобы задать ассоциативное исчисление, достаточно задать алфавит и систему подстановок.
Последовательность слов Р, P1, Р2, ..., М называется дедуктивной цепочкой, ведущей от слова Р к слову М, если каждое из двух рядом стоящих слов этой цепочки - смежное.
Если можно построить цепочку, ведущую от слова R к слову S, то в силу симметричности подстановок можно построить и цепочку, ведущую от S к R. Слова R и S будут эквивалентными в данном ассоциативном исчислении (R~S).
Пример.
Алфавит {а, b, с, d, е}.
Подстановки:
ас – сa; abac - abace
ad - da; eca - ae
bc - cb; eda - be
bd - db; edb - be
Слова abcde и acbde - смежные (подстановка bc - cb). Слова abcde и cadbe -эквивалентны.
Слайд 4Лемма. Пусть P~Q; тогда, если в каком-либо слове R имеется вхождение Р,
Лемма. Пусть P~Q; тогда, если в каком-либо слове R имеется вхождение Р,
Если для ассоциативного исчисления можно указать способ, с помощью которого для любой пары слов S1 и S2 можно определить, являются ли эти слова эквивалентными или нет, то говорят, что в этом ассоциативном исчислении разрешима проблема эквивалентности слов.
Пример 1.1. Дано исчисление: алфавит A={a, b, c} и система подстановок:
ba ↔ ab
ca ↔ ac
cb ↔ bc
Доказать, что в подобном исчислении разрешима проблема эквивалентности слов.
Легко заметить, что приведенная система подстановок обладает одним свойством: каждая подстановка меняет порядок букв в слове, не изменяя количества этих букв. Алгоритм определения, являются ли два заданных слова S1 и S2 эквивалентными, состоит в подсчете количества букв a, b, c в данных словах: если число букв a, b, c в слове S1 равно числу тех же букв в слове S2, то вне зависимости от расположения этих букв в S1 и S2 слова будут эквивалентными.
Слайд 5В 1946 и 1947 годах русский математик А.А.Марков и американский математик Э.Пост
В 1946 и 1947 годах русский математик А.А.Марков и американский математик Э.Пост
Слайд 6Пример 1.2 (Г.С.Цейтин). Дано ассоциативное исчисление, включающее алфавит A={ a, b, c,
Пример 1.2 (Г.С.Цейтин). Дано ассоциативное исчисление, включающее алфавит A={ a, b, c,
1. ac ↔ ca, 5. abac ↔ abace,
2. ad ↔da, 6. eca ↔ ae,
3. bc ↔ cb, 7. edb ↔ be.
4. bd ↔ db,
В данном исчислении неразрешима проблема эквивалентности слов.
Слайд 7 Формальные основы экспертных систем
Большинство экспертных систем базируется на понятии "формальная
Формальные основы экспертных систем
Большинство экспертных систем базируется на понятии "формальная
Другими словами, продукционные системы универсальны, т.е. любая формальная система, оперирующая символами, может быть реализована в виде одной из продукционных систем Е.Поста.
Система продукций Поста задается своим алфавитом С= {с ,...,с}и системой базисных продукций xiW →Wyi (i =1,...,1),
где xi, yi - слова в алфавите С.
Слайд 8
Пусть некоторое слово Y начинается словом xi . Применить к
Пусть некоторое слово Y начинается словом xi . Применить к
Каждая система продукций понимается как формальная система с правилами вывода pi (i = 1, ... , n), где pi (F,Y) считается истинным (применимым), если слово Y получается из F при помощи продукции xiW → Wyi.
Наложив на набор упорядоченных продукций неявную управляющую структуру, перейдем к понятию нормального алгоритма Маркова. В алгоритме Маркова упорядоченные продукции (формулы подстановок) применяются к некоторому заданному слову.
Слайд 10 Алгоритмы Маркова
Введем понятие алгоритма на основе ассоциативного исчисления: алгоритмом
Алгоритмы Маркова
Введем понятие алгоритма на основе ассоциативного исчисления: алгоритмом
Алгоритм в алфавите А задается в виде системы допустимых подстановок, дополненной точным предписанием о том, в каком порядке нужно применять допустимые подстановки и когда наступает остановка.
Пример.
Алфавит: А = {а, b, с}
Система подстановок В:
cb → cc
сса→ аb
ab → bса
Предписание о применении подстановок: в произвольном слове Р надо сделать возможные подстановки, заменив левую часть подстановок на правую; повторить процесс с вновь полученным словом.
Слайд 11 Алгоритмы Маркова
Введем понятие алгоритма на основе ассоциативного исчисления: алгоритмом
Алгоритмы Маркова
Введем понятие алгоритма на основе ассоциативного исчисления: алгоритмом
Алгоритм в алфавите А задается в виде системы допустимых подстановок, дополненной точным предписанием о том, в каком порядке нужно применять допустимые подстановки и когда наступает остановка.
Пример.
Алфавит: А = {а, b, с}
Система подстановок В:
cb → cc
сса→ аb
ab → bса
Предписание о применении подстановок: в произвольном слове Р надо сделать возможные подстановки, заменив левую часть подстановок на правую; повторить процесс с вновь полученным словом.
Слайд 12Система подстановок В:
cb → cc
сса→ аb
ab → bса
Применяя систему подстановок В из
cb → cc
сса→ аb
ab → bса
Применяя систему подстановок В из
babaac → bbcaaac → остановка
bcacabc → bcacbcac → bcacccac → bсасаbс → бесконечные процесс (остановки нет), так как мы получили исходное слово.
Слайд 13 Проанализируем сложение натуральных чисел. На входе алгоритма поступают два натуральных числа
Проанализируем сложение натуральных чисел. На входе алгоритма поступают два натуральных числа
Мы рассматриваем цифры 0, 1, 2, . . . , 9 и знак сложения ,,+” как буквы.
Получаем алфавит
A = {0, 1, 2, . . . , 9, +} из 11 букв.
При операции сложения на вход алгоритма поступает слово 1253+2754 длины 9. На выходе алгоритма имеем слово 4007 в алфавите A . Поэтому сложение натуральных чисел - это процесс переработки слов в алфавите A .
Алгоритмы, которые являются процессами переработки слов, назовем вербальными алгоритмами. Поскольку речь идет о произвольных, а не строго заданных правилах действий со словами, то понятие вербального алгоритма является интуитивным понятием.
Среди вербальных алгоритмов выделим некоторые алгоритмы - нормальные алгоритмы со строго заданными правилами переработки слов. Поэтому понятие нормального алгоритма является строгим математическим понятием.
Слайд 14Нормальные алгоритмы Маркова
Теория нормальных алгоритмов (или алгорифмов, как называл их создатель
Нормальные алгоритмы Маркова
Теория нормальных алгоритмов (или алгорифмов, как называл их создатель
Слайд 15 Алфавит и схема нормального алгоритма.
Нормальный алгоритм М задается двумя
Алфавит и схема нормального алгоритма.
Нормальный алгоритм М задается двумя
алфавитом алгоритма,
схемой алгоритма.
1) Алфавит нормального алгоритма М - это некоторая конечная совокупность символов A = {a1, . . . , an}. Элементы из A мы будем называть буквами. Из букв алфавита A составляются слова - конструктивные объекты, которые поступают на вход и перерабатываются в алгоритме М. При этом говорят, что М - алгоритм в алфавите A .
2) Схема нормального алгоритма. Рассмотрим две буквы → и →∙ ,
которые не входят в алфавит A. Формулой подстановки назовем выражение
u → v
или выражение
u →∙ v,
где u и v—произвольные слова в алфавите A.
Формула без точки называется простой формулой, а формула с точкой называется заключительной формулой. В обоих случаях формула имеет левую часть u и правую часть v, которые должны быть словами в алфавите A .
Схема Z нормального алгоритма A - это конечная упорядоченная последовательность формул подстановок
u1 → v1
u2 → v2
. . .
uk → vk,
где вместо некоторых формул ui → vi могут быть формулы с точкой ui →∙ vi.
Слайд 16 Работа нормального алгоритма.
Пусть на вход нормального алгоритма A со
Работа нормального алгоритма.
Пусть на вход нормального алгоритма A со
1) Среди левых частей u1, u2, . . . , uk нужно отыскать первое по порядку слово ui, которое входит в слово P.
2) Заменить найденное слово ui в слове P на слово vi, и получить некоторое слово P1. Возможно несколько вхождений ui в слово P. Тогда заменяется на vi первое вхождение ui в слове P.
3) Если при замене применялась заключительная формула ui →∙ vi, то переработка слова P завершена и алгоритм останавливается. Полученное слово P1 - результат переработки слова P.
4) Если при замене применялась незаключительная формула ui → vi,
то слово P1 заново обрабатывается схемой Z и алгоритм продолжает работу.
5) Возможно, что при проходе по схеме Z вообще не обнаружено ни одного вхождения слов u1, u2, . . . , uk в слово P. Тогда результат переработки - само слово P и алгоритм останавливается.
Слайд 17
Таким образом, в результате получаем ровно один из двух случаев
Таким образом, в результате получаем ровно один из двух случаев
I. Процесс переработки слов обрывается и получено слово Q = А(P),
т.е. получен результат применения нормального алгоритма А к слову P.
II. Процесс переработки слов бесконечен. Тогда нет результата Q = А(P), и алгоритм А неприменим к слову P.
Очевидно, что описанный выше нормальный алгоритм А удовлетворяет всем требованиям, предъявляемым к понятию алгоритма, и является точным математическим понятием.
Слайд 18Такой набор предписаний вместе с алфавитом А и набором подстановок В определяют нормальный алгоритм. Процесс останавливается
Такой набор предписаний вместе с алфавитом А и набором подстановок В определяют нормальный алгоритм. Процесс останавливается
когда подходящая подстановка не найдена; 2) когда применена последняя подстановка из их набора. Различные нормальные алгоритмы отличаются
друг от друга алфавитами и системами подстановок.
Приведем пример нормального алгоритма, описывающего сложение -натуральных чисел (представленных наборами единиц).
Пример
Алфавит: Система подстановок В:
А = (+, 1) 1 + → + 1
+ 1 → 1
1 → 1
Слово Р: 11+11+111
Последовательная переработка слова Р с помощью нормального алгоритма Маркова проходит через следующие этапы:
Р = 11 + 11 + 111 Р5 = + 1 + 111111
Р1 = 1 + 111 + 111 Р6 = ++ 1111111
Р2 = + 1111 + 111 Р7 = + 1111111
Р3 = + 111 + 1111 Р8 = 1111111
Р4 = + 11 + 11111 Р9 = 1111111
Примеры НАМ
Алгоритм сложения натуральных чисел.
Алфавит: А = (+, 1).
Система подстановок В:
1+ → +1
+1 → 1
1 →∙ 1
Слово Р: 11+11+111.
Последовательная переработка слова Р с помощью нормального алгоритма Маркова проходит через следующие этапы:
Р = 11+11+111 Р5 = +1+111111
Р1 = 1+111+111 Р6 = ++1111111
Р2 = +1111+111 Р7 = +1111111
Р3 = +111+1111 Р8 = 1111111
Р4 = +11+11111 Р9 = 1111111
Слайд 192. Вычисление остатка при делении на 4. Построим нормальный алгоритм, который находит
2. Вычисление остатка при делении на 4. Построим нормальный алгоритм, который находит
Рассмотрим алфавит из двух символов A = {0, |}.
Искомый нормальный алгоритм имеет схему из одной формулы
|||| → ε
(простой формулы подстановки, правая часть которой - пустое слово).
Пусть на вход алгоритма подается слово
P = 0 ||||…|||| |…|
q r
Оно изображает натуральное число x = 4q+r, где r ∈{0, 1, 2, 3} - остаток от деления числа x на 4. После q проходов по схеме в слове P сотрется 4q палочек и останется r палочек. При q+1 проходе замены нет, алгоритм останавливается. Результат переработки Q равен
0 | . . . |
r и изображает остаток r.
Слайд 203. Вычитание единицы (считаем, что 0 − 1 = 0):
А = {|
3. Вычитание единицы (считаем, что 0 − 1 = 0):
А = {|
| →. ?
4. Алгоритм делимости числа на три. Для этого будем стирать по три цифры за один шаг алгоритма, после чего проверим, что осталось. Результатом преобразования будет символ |, если число делится на 3 и пустое слово в противном случае. Схема алгоритма имеет следующий вид:
||| −→ ?
|| −→. ?
| −→. ?
? −→. |
Примеры: ||||||| ⇒ |||| ⇒ | ⇒ ? (7 не делится на 3),
||||||||| ⇒ |||||| ⇒ ||| ⇒ ? ⇒ | (9 делится на 3).
Слайд 215. Аннулирующий алгоритм. Зададим нормальный алгоритм М схемой
a1 →ε
5. Аннулирующий алгоритм. Зададим нормальный алгоритм М схемой
a1 →ε
. . .
ak → ε
Пусть P = ai1 . . . aim - слово на входе.
Вначале алгоритм совершит m проходов по схеме, каждый раз стирая в слове по одной букве с наименьшим индексом. При m+1 проходе на входе пустое слово. Алгоритм останавливается. Получаем результат М(P) = ε.
Слайд 22 Отметим, что не все вербальные алгоритмы являются нормальными алгоритмами. Вербальные алгоритмы
Отметим, что не все вербальные алгоритмы являются нормальными алгоритмами. Вербальные алгоритмы
Например, можно задать вербальный алгоритм в алфавите A = {a1, . . . , an}, где n > 1, с единственным правилом: любое слово P = ai1 . . . aim в алфавите A перерабатывается в перевернутое слово Q = aim . . . ai1 (обращающий алгоритм).
Можно доказать, что не существует нормального алгоритма в алфавите A с данным действием.
Поэтому класс нормальных алгоритмов Маркова не совпадает с классом вербальных алгоритмов, а имеет другую формулировку.
Слайд 23Определение 1. Пусть заданы алфавиты A и A1. Если
A ⊆ A1, то
Определение 1. Пусть заданы алфавиты A и A1. Если
A ⊆ A1, то
Определение 2. Нормальный алгоритм в каком-либо расширенииA1 алфавита A называется нормальным алгоритмом над алфавитом A .
Нормальный алгоритм в каком-либо расширении A1 при действии на словах алфавита A реализует более богатый набор преобразований слов по сравнению с нормальным алгоритмом в алфавите A .
Слайд 24Примеры.
1. Алгоритм М левого присоединения слова v. В нем для любого входного
1. Алгоритм М левого присоединения слова v. В нем для любого входного
Искомый нормальный алгоритм М имеет простейший вид. Его схема состоит из одной формулы подстановки
ε →∙v //стоящий слева или справа одиночный символ ε
можно опустить.
Пусть имеется входное слово u. Оно имеет вид u = εu.
Пустое слово ε заменяется на v. Получается слово vu, что и нужно.
Слайд 252. Алгоритм правого присоединения. В этом случае нет простейшего алгоритма. Для реализации
2. Алгоритм правого присоединения. В этом случае нет простейшего алгоритма. Для реализации
A = {a1, . . . , an}. Пусть α - некоторая буква, отличная от всех букв алфавита A . Добавив букву α, получим новый алфавит A1 = A ∪ {α} - расширение алфавита A .
Рассмотрим нормальный алгоритм A1 в новом алфавите A1. В соответствии с определением 2, алгоритм М1 - это алгоритм над старым алфавитом A .
Его схема имеет следующий вид.
αa1 → a1α
. . .
αan → anα
α →∙ v
→ α
Пусть на вход A1 поступило слово u в алфавите A . Оно не содержит буквы α. Поэтому при первом проходе по схеме сработает последняя формула подстановки α. Пустое слово в начале u заменится на α. В результате к слову u слева добавится буква α. При следующих проходах по схеме буква α перемещается несколько раз вправо, пока не станет в конце слова. При следующем проходе буква α заменится на v и алгорифм
остановится. Слово u переработалось в слово uv.
Слайд 263. Алгоритм удаления первой буквы непустого слова.
Алфавит Σ = {?, ?,c}.
3. Алгоритм удаления первой буквы непустого слова.
Алфавит Σ = {?, ?,c}.
Вставим в начало слова вспомогательный символ *, а затем удалим его вместе со следующей за ним буквой заключительной подстановкой (таких
подстановок в схеме должно быть две по числу букв в алфавите).
Схем подстановок:
*? →. ?
*? →. ?
*c →. ?
? → *
Замечание. При разработке схемы следует внимательно относиться к порядку следования подстановок, учитывая, что применяется всегда первая из применимых к слову подстановок.
Вспомогательный символ фиксирует во входном слове начальную позицию. Без его использования отличить первую букву от всех последующих невозможно. Заметим, что на первом шаге нормального алгоритма всегда будет применяться последняя подстановка схемы, а на втором - первая, вторая или третья (заключительная):
????c ⇒ *????c ⇒ ???c
c??? ⇒ *c??? ⇒ ???
Слайд 27При записи системы подстановок (т.е. схемы алгоритма) иногда удобно сокращать запись, вводя
*? →. ?
*? →. ?
*c →. ?
можно ввести обобщенную подстановку
*ƺ →. ?, где ƺ∈ {?, ?,c}.
Слайд 28
Если применить эту схему к пустому слову, то мы получим
Если применить эту схему к пустому слову, то мы получим
Устранить такое поведение можно, добавив третью заключительную подстановку, удаляющую одинокий символ *:
*? →. ?
*? →. ?
* →. ?
? → *
Теперь поведение на пустом слове следующее: ? ⇒ * ⇒ ?.
Применение заключительных подстановок становится возможным только после применения последней подстановки, вставляющей вспомогательный символ * в начало слова.
Слайд 29 Таким же образом, добавляя буквы к алфавиту A , можно получить
Таким же образом, добавляя буквы к алфавиту A , можно получить
Таким образом, добавляя новые буквы к алфавиту A , мы получаем нормальный алгоритм A1 в расширенном алфавите A1, который при ограничении на словах из алфавита A имеет наперед заданное действие.
Слайд 304. Увеличение на единицу натурального числа в двоичной форме.
Действие алгоритма
4. Увеличение на единицу натурального числа в двоичной форме.
Действие алгоритма
сначала найдём конец слова (для этого вставленный в начало слова вспомогательный символ будет последовательно перемещаться в его конец);
выполним прибавление единицы с переносом единичного разряда (перенос будет реализован движением в обратном направлении), если это окажется необходимым. Схема этого алгоритма имеет следующий вид (для удобства подстановки здесь помечены):
Алфавит А={0,1}. В расширенный алфавит добавим два символа: a и b.
0? →. 1 (а)
1? → ?0 (б)
? →. 1 (в)
?0 → 0? (г)
?1 → 1? (д)
0? → 0? (е)
1? → 1? (ё)
? → ? (ж)
Первый этап реализуется применением подстановки (ж) и следующей за ней последовательностью применений подстановок (г) и (д). В результате первого этапа вспомогательный символ ? оказывается в конце слова.
Слайд 31 Второй этап: подстановки (е) или (ё) заменяют ? на ? и
Второй этап: подстановки (е) или (ё) заменяют ? на ? и
? (ж) ⇒ ? (ж) ⇒ ?? (ж) ⇒ ??? (ж) ⇒ . . .
0 (ж) ⇒ ?0 (г) ⇒ 0? (е) ⇒ 0? (а) ⇒ 1
1 (ж) ⇒ ?1 (д) ⇒ 1? (ё) ⇒ 1? (б) ⇒ ?0 (в) ⇒ 10
11 (ж) ⇒ ?11 (д) ⇒ 1?1 (д) ⇒ 11? (ё) ⇒ 11? (б) ⇒ 1?0 (б) ⇒ ?00 (в) ⇒ 100
После достижения первым вспомогательным символом конца слова действуют следующие соображения. Если число заканчивается на цифру 0, то она заменяется на 1 и вычисление завершается. Если число заканчивается на цифру 1, то она заменяется на 0, а затем запускается перенос разряда. Разработанный алгоритм к пустому слову неприменим.
Эту схему нетрудно обобщить на десятичную систему счисления: для этого достаточно добавить подстановки, дублирующие подстановки (а), (г)-(ё) для остальных цифр 2–9 и учесть, что роль 1, как разряда, для которого возникает перенос, теперь будет играть цифра 9.
Таким образом, добавляя новые буквы к алфавиту A , мы получаем нормальный алгоритм М в расширенном алфавите A1, который при ограничении на словах из алфавита A имеет наперед заданное действие.
Слайд 32 А.А.Марков предложил следующий тезис.
Принцип нормализации. Пусть задан произвольный вербальный алгоритм В
А.А.Марков предложил следующий тезис.
Принцип нормализации. Пусть задан произвольный вербальный алгоритм В
произвольное слово P в алфавите A перерабатывается нормальным алгорифмом М в тот же самый результат, в который слово P перерабатывается исходным вербальным алгоритмом В.
Нормальный алгоритм Маркова можно рассматривать как универсальную форму задания любого алгоритма. Универсальность нормальных алгоритмов декларируется принципом нормализации: для любого алгоритма в произвольном конечном алфавите А можно построить эквивалентный ему нормальный алгоритм над алфавитом А,
Принцип нормализации теперь может быть высказан в видоизмененной форме: все алгоритмы нормализуемы.
Слайд 33 Данный принцип не может быть строго доказан, поскольку понятие произвольного алгоритма
Данный принцип не может быть строго доказан, поскольку понятие произвольного алгоритма
Доказано, что данная формулировка понятия алгоритма (принцип нормализации) эквивалентна другим формулировкам понятия алгоритма: тезису Черча, использующему частично рекурсивные функции, и тезису Тьюринга, использующему понятие вычислительной машины. Поэтому еще раз подкрепляется уверенность в том, что мы нашли и выразили в трех формах фундаментальное понятие математики, логики и информатики - понятие алгоритма. При этом частичная рекурсивность, машина Тьюринга и нормальный алгоритм - лишь различные формы выражения этого самостоятельного понятия.