Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Нормальные алгоритмы Маркова



Алфавитом будем называть любое непустое множество. Его элементы называются буква­ми, а любые последовательности букв - словами в данном алфа­вите. Для удобства рассуждений допускаются пустые слова (они не имеют в своем составе ни одной буквы). Пустое слово (пустой символ) обозначается как . Если А и В — два алфавита, причем А В, то алфа­вит В называется расширением алфавита А.

Слова алфавита (набор символов) обозначаются буквами: Р, Q, R... Одно слово может быть составной частью другого слова, тогда первое называется подсловом второго или вхождением во второе.

Марковской подстановкой называется опера­ция над словами, задаваемая с помощью упорядоченной пары слов (Р, Q), состоящая в следующем:

1) В заданном слове R находят первое вхождение слова Р (если таковое имеется);

2) Не изменяя остальных частей слова R, заменяют в нем это вхождение словом Q. Полученное слово называется результатом применения марков­ской подстановки (Р, Q) к слову R. Если же первого вхождения Р в слово R нет (и, следовательно, вообще нет ни одного вхожде­ния Р в R), то считается, что марковская подстановка (Р, Q) неприменима к слову R.

Пример. Примеры марковских подстановок рассмотрены в таблице, в каждой строке которой сначала дается преобразуемое слово, затем применяемая к нему марковская подстановка и, на­конец, получающееся в результате слово:

 

Преобразуемое слово Марковская подстановка Результат
138 578 926 (8 578 9, 00) 130 026
тарарам (ара, ) трам
шрам (ра, ар) шарм
функция ( , ) функция
логика (ика, ) лог
книга ( ) книга
поляна (пор, т) [неприменима]
     

 

Для обозначения марковской подстановки (Р, 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; Просмотров: 1946; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.043 с.)
Главная | Случайная страница | Обратная связь