Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Презентации лекций по ТОИ / 8-Алгорифмы Маркова.pps
Скачиваний:
65
Добавлен:
02.06.2015
Размер:
309.76 Кб
Скачать

Нормальные алгорифмы Маркова: определение

Расширим алфавит А тремя символами

. | (эти символы не должны первоначально входить в А).

В расширенном алфавите можно записывать разные слова, но мы особое внимание уделим словам вида L R , где – это один из двух символов: стрелка ( ) или стрелка с точкой ( .), а L и R – слова в алфавите А.

Такие слова (вида L R или L . R) называются формулами подстановок:

L R – простые формулы подстановок,

L . R – заключительные формулы подстановок

11 (L – левая часть формулы подстановки, R – правая часть).

Нормальные алгорифмы Маркова: определение

Обозначим формулы подстановок буквой F.

Будем говорить, что формула подстановки F действует на слово P, если L (левая часть формулы F) входит в слово P, т.е.

слово P можно представить в виде

P = W L V,

где W и V – слова в алфавите А, может быть пустые.

Результатом действия F на P будет слово W R V,

т.е. результат подстановки правой части формулы вместо левой (результат замены подстроки).

12

Нормальные алгорифмы Маркова: определение

Остались вопросы:

1.В каком порядке применять формулы, если имеется вхождение в слово строк, представляющих левые части нескольких правил?

2.Если левая часть правила (формулы подстановки) несколько раз входит в исходную строку, то в каком порядке делать замену?

3.Когда завершаются преобразования в соответствии с алгорифмом Маркова?

13

Нормальные алгорифмы Маркова: определение

Если L входит в P несколько раз, то подстановка R будет

 

осуществляться вместо первого вхождения L.

 

Порядок применения формул задаётся схемой.

 

Схемой Z называется слово в расширенном алфавите, имеющее

 

вид

 

| F1 | F2 | F3 | ... | Fi | ... | Fn |

 

где Fi – формулы подстановок.

 

Схема Z действует на слово P, если в схеме найдется формула

 

подстановки, действующая на это слово.

 

Если в схеме несколько таких формул, то берется первая

 

наименьшим номером) формула и результат ее действия (слово P’)

 

считается результатом действия схемы Z.

14

Говорят, что схема Z переводит слово Р в слово Р’ (просто

переводит или заключительно переводит в зависимости от типа

 

примененной подстановки).

Нормальные алгорифмы Маркова: определение

Нормальный алгорифм задается указанием трех объектов:

алфавита А,

алфавита { , ., | } и

некоторой схемы Z.

Алфавит А называют алфавитом алгорифма , а схему –

Z схемой алгорифма.

Всякий нормальный алгорифм однозначно определяет пошаговый процесс преобразования входного слова P.

15

Нормальные алгорифмы Маркова: выполнение

На первом шаге берется само слово P, и если схема Z действует на это слово, то оно переводится в результате одной подстановки в слово P’.

На следующем шаге берется слово P’ и процесс продолжается.

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

Если схема Z не действует на очередное слово T, то процесс также обрывается.

При этом результатом работы нормального алгорифма будет слово S или T и этот результат обозначается (P).

Если процесс преобразования слова P никогда не

16завершается, то результат преобразования P алгорифмом

не определен.

Нормальные алгорифмы Маркова: выполнение

 

В формулах подстановок слова L или R могут быть пустыми.

 

Если слово R пустое, то результатом действия такой

 

подстановки на слово P = WLV будет слово WV.

 

Если пустым является слово L, то считается, что результатом

 

подстановки является слово RP, т.е. правая часть правила

 

приписывается слева к слову P.

 

Например, алгорифм со схемой

 

Z = | . |,

 

где обозначает пустое слово (пустое слово не содержит ни

 

одной буквы), задает тождественную функцию f(P) = P, а

 

алгорифм со схемой

17

Z = | |

вычисляет нигде не определенную функцию.

Нормальные алгорифмы Маркова: пример 1

Имеем произвольный алфавит А, не включающий символов , . и | ).

Схема

Z = | . Q |. Для всякого слова Р в алфавите А

: P QP ,

т.е. все, что алгорифм делает, – это приписывает к слову Р слева всегда одно и то же слово Q, после чего останавливается.

18

Нормальные алгорифмы Маркова: пример 2

Задан алфавит А = {а, б, в, г}.

Схема

Z = | а | б | в | г | .

Алгорифм с такой схемой будет аннулирующим алгорифмом, так как он переводит любое слово в пустое:

: P

19

Нормальные алгорифмы Маркова: пример 3

Однотипные правила в схеме удобно записывать в сокращенном виде. Обозначим буквой произвольную букву алфавита A. Тогда все 4 правила в примере 2 могут быть записаны как одно правило и вся схема будет записана

 

сокращенно как

 

Z = | |,

 

где пробегает алфавит A.

 

Пусть дано некоторое слово C в алфавите A и схема

 

Z = | | . C |,

 

где x пробегает алфавит.

20

Алгорифм с такой схемой переводит любое слово в слово C:

: P C

Соседние файлы в папке Презентации лекций по ТОИ