Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Нормальные алгоритмы Маркова ⇐ ПредыдущаяСтр 7 из 7
Алфавитом будем называть любое непустое множество. Его элементы называются буквами, а любые последовательности букв - словами в данном алфавите. Для удобства рассуждений допускаются пустые слова (они не имеют в своем составе ни одной буквы). Пустое слово (пустой символ) обозначается как . Если А и В — два алфавита, причем А В, то алфавит В называется расширением алфавита А. Слова алфавита (набор символов) обозначаются буквами: Р, Q, R... Одно слово может быть составной частью другого слова, тогда первое называется подсловом второго или вхождением во второе. Марковской подстановкой называется операция над словами, задаваемая с помощью упорядоченной пары слов (Р, Q), состоящая в следующем: 1) В заданном слове R находят первое вхождение слова Р (если таковое имеется); 2) Не изменяя остальных частей слова R, заменяют в нем это вхождение словом Q. Полученное слово называется результатом применения марковской подстановки (Р, Q) к слову R. Если же первого вхождения Р в слово R нет (и, следовательно, вообще нет ни одного вхождения Р в R), то считается, что марковская подстановка (Р, Q) неприменима к слову R. Пример. Примеры марковских подстановок рассмотрены в таблице, в каждой строке которой сначала дается преобразуемое слово, затем применяемая к нему марковская подстановка и, наконец, получающееся в результате слово:
Для обозначения марковской подстановки (Р, Q) используется запись . Она называется формулой подстановки (Р, Q). Подстановки вида будем называть заключительными. Для обозначения таких подстановок будем использовать запись , называя ее формулой заключительной подстановки. Слово Р называется левой частью, a Q -правой частью в формуле подстановки. Упорядоченный конечный список формул подстановок: в алфавите А называется схемой (или записью) нормального алгоритма в А. Нормальным алгоритмом Маркова в алфавите А называется следующее правило построения последовательности Vi слов в алфавите А, исходя из данного слова V в этом алфавите. В качестве начального слова V0 последовательности берется слово V. Пусть для некоторого слово Vi построено и процесс построения рассматриваемой последовательности еще не завершился. Если при этом в схеме нормального алгоритма нет формул, левые части которых входили бы в Vi то Vi+1 полагают равным Vi, и процесс построения последовательности считается завершившимся. Если же в схеме имеются формулы с левыми частями, входящими в Vi, то в качестве Vi+l берется результат марковской подстановки правой части первой из таких формул вместо первого вхождения ее левой части в слово Vi. Процесс построения последовательности считается завершившимся, если на данном шаге была применена формула заключительной подстановки, и продолжающимся- в противном случае. Если процесс построения упомянутой последовательности обрывается, то говорят, что рассматриваемый нормальный алгоритм применим к слову V. Последний член W последовательности называется результатом применения нормального алгоритма к слову V. Говорят, что нормальный алгоритм перерабатывает V в W. Последовательность Vi, будем записывать следующим образом: . Если алгоритм Маркова задан в некотором расширении алфавита А, то он называется - нормальный алгоритм над алфавитом А. Рассмотрим примеры нормальных алгоритмов. Пример. Пусть А = {a, b} — алфавит. Рассмотрим следующую схему нормального алгоритма в А: Рассмотрим последовательность слов: aabab → abab. Всякое слово V в алфавите А, содержащее хотя бы одно вхождение буквы а, он перерабатывает в слово, получающееся из V вычеркиванием в нем самого левого (первого) вхождения буквы а. Пустое слово он перерабатывает в пустое. Алгоритм не применим к таким словам, которые содержат только букву b. Пример. Пусть А = {a, b} — алфавит. Рассмотрим следующую схему нормального алгоритма в А: Рассмотрим последовательность слов: bab → abab → aabab → aacab. Первая подстановка применима всегда, т. к. пустой символ мы можем приписать слева от любого слова. Пример. Пусть A = {a0, a1..., an} — алфавит. Рассмотрим схему: Она определяет нормальный алгоритм, перерабатывающий всякое слово (в алфавите А) в пустое слово: . Как и машины Тьюринга, нормальные алгоритмы не производят вычислений, а производят преобразования слов, заменяя в них одни буквы другими по предписанным им правилам, результаты применения которых можно интерпретировать как вычисления. Пример. В алфавите А = {1} схема определяет нормальный алгоритм, который к каждому слову в алфавите А = {1}, вида: , 1, 11, 111, 1111, 11111 и т. д., приписывает слева 1. Следовательно, алгоритм реализует (вычисляет) функцию . Пример. Пусть A = {a, b, с, d} — алфавит. Рассмотрим схему: Данная схема удаляет из слова все вхождения символа c, после чего заменяется bb на ddd, затем алгоритм остановится: сbaсbb → babb → baddd.
задание
Индивидуальное задание 5 Нормальный алгоритм в алфавите А={а, b, с, d) задается схемой: , , , , . Примените его к следующим словам. 5.1 a) deb; б) dbc в) bcd. 5.2 a) dabeb; б) ddbac в) bbcbd. 5.3a) dabceb; б) bcadbc в) bcaadd. 5.4 a) dedabb; б) baddbc в) aadbbcd. 5.5 a) deaacbadb; б) ddfadbc в) bcdbcd. Нормальный алгоритм в алфавите А={а, b, с, d) задается схемой: , , , , Примените его к следующим словам. 5.6 a) dageb; б) dbadc в) bcaabbd. 5.7 a) dabbaeb; б) abddbac в) dbabd. 5.8a) dabcadeb; б) bcaaddbc в) bcdaadd. 5.9 a) bcadabb; б) badadbc в) adbdcd. 5.10 a) debabadb; б) ddaddbc в) bcdbfad. Нормальный алгоритм в алфавите А={а, b, с, d) задается схемой: , , , , Примените его к следующим словам. 5.6 a) dadbeb; б) bdbadc в) adbcad. 5.7 a) bcdabab; б) ccbabac в) caddba. 5.8a) dbcbdadeb; б) badbcaddbc в) bcbcadd. 5.9 a) bcaadabb; б) badadbc в) abcdbd. 5.10 a) debadadb; б) ddadbcbcd в) bcccddad.
6 В алфавите А нормальный алгоритм задается схемой.
Примените его к следующим словам. 6.1 а) 1001; б) 240; в) 99; 6.2 а) 201; б) 56; в) 2001; 6.3 а) 5; б) 41; в) 152; 6.4 а) 6001; б) 352; в) 25; 6.5 а) 401; б) 24; в) 182.
В алфавите А нормальный алгоритм задается схемой
Примените его к следующим словам. 6.6 а) 1098; б) 249; в) 55; 6.7 а) 209; б) 58; в) 300; 6.8 а) 58; б) 49; в) 200; 6.9 а) 3088; б) 399; в) 34; 6.10 а) 4088; б) 159; в) 180.
В алфавите А нормальный алгоритм задается схемой
Примените его к следующим словам. 6.11 а) 2466; б) 548; в) 995; 6.12 а) 487; б) 196; в) 2098; 6.13 а) 1966; б) 148; в) 1059; 6.14 а) 899; б) 1238; в) 198; 6.15 а) 1291; б) 2096; в) 998.
Популярное:
|
Последнее изменение этой страницы: 2016-04-11; Просмотров: 2024; Нарушение авторского права страницы