Брачная не статья. Алгорифмы Маркова. Часть 2.

Добрый день/вечер/ночь. Вы этого не просили и даже Мынка нас не уговаривал, но вот. Мы снова тут. И мы поговорим про Нормальные Алгорифмы Маркова, да да именно про алгориФмы. Ну что, готовы посмотреть туда, куда смотрит Мынка?

Начало

Будем рассматривать алфавитные операторы вида

Брачная не статья. Алгорифмы Маркова. Часть 2., image #1

(то, есть входной и выходной алфавиты совпадают).

При этом, это не ограничивает общность:

Брачная не статья. Алгорифмы Маркова. Часть 2., image #2

Способ задания оператора Γ будет основан на элементарных действиях двух типов:

  1. распознаватель вхождения: проверяет, является ли слово α подсловом слова β;
  2. оператор подстановки
Брачная не статья. Алгорифмы Маркова. Часть 2., image #3

заменяет вхождение слова

Брачная не статья. Алгорифмы Маркова. Часть 2., image #4

в слове

Брачная не статья. Алгорифмы Маркова. Часть 2., image #5

на

Брачная не статья. Алгорифмы Маркова. Часть 2., image #6

в итоге получаем слово

Брачная не статья. Алгорифмы Маркова. Часть 2., image #7

Схема (система подстановок) нормального алгорифма Маркова задаётся следующим образом:

  1. выписывается (обычно в столбик) упорядоченная последовательность операторов подстановки;
  2. в последовательности могут быть выделены заключительные подстановки; обозначаются
Брачная не статья. Алгорифмы Маркова. Часть 2., image #8

Определение. Нормальным алгорифмом Маркова в алфавите A называется пара объектов (A, S), где A — алфавит, S — система подстановок.

Алгорифм работает в соответствии с предписанием о порядке применения подстановок к заданному слову β:

  1. Просмотреть систему подстановок с самого начала и найти первую по порядку применимую подстановку
Брачная не статья. Алгорифмы Маркова. Часть 2., image #9

, т. е. такую подстановку, левая часть которой является подсловом слова β.

2. Если применимой подстановки не найдено, то выход, ответ: β.

3. Найденная подстановка применяется к слову β, а именно: первое (самое левое) вхождение

Брачная не статья. Алгорифмы Маркова. Часть 2., image #10

в β заменяется на

Брачная не статья. Алгорифмы Маркова. Часть 2., image #11

4. Если применена заключительная подстановка, то выход, ответ: β, иначе переход к п. 1.

Обратим внимание:

  1. на каждом шаге возвращаемся к началу системы подстановок и к началу слова;
  2. алгорифм завершает свою работу в двух случаях:
    а) если ни одна подстановка не применима;
    б) если применена заключительная подстановка.

Рассмотрим пример:

Брачная не статья. Алгорифмы Маркова. Часть 2., image #12

Остановились, так как ни одна подстановка не применима.

Другой пример:

Брачная не статья. Алгорифмы Маркова. Часть 2., image #13

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

А теперь, хотите попробовать сделать это сами? Если да, то вот вам задание, если нет, то ответ ниже.

Брачная не статья. Алгорифмы Маркова. Часть 2., image #14
Брачная не статья. Алгорифмы Маркова. Часть 2., image #15

Решение довольно простое:

Брачная не статья. Алгорифмы Маркова. Часть 2., image #16

Но если мы столкнёмся с такой задачей:

Задача подводка(а вы знали что если заменить в слове подводка одну букву будет подлодка?). A = {0, 1}; Надо инвертировать булев вектор.

То мы столкнёмся не только с задачей, но и с трудностями, ведь решение которое первое приходит на ум

Брачная не статья. Алгорифмы Маркова. Часть 2., image #17

является неверным, так как подстановки применимы всегда.

Что же тогда сделать? — спросите вы. И я отвечу — расширим алфавит, товарищи.

Брачная не статья. Алгорифмы Маркова. Часть 2., image #18

И теперь запишем систему подстановок:

Брачная не статья. Алгорифмы Маркова. Часть 2., image #19

И возьмём любой булев вектор и получим:

Брачная не статья. Алгорифмы Маркова. Часть 2., image #20

Как вы могли заметить роль ∗ — разделяет «пройденную» и «не пройдённую» части слова.

Заметим особенность подстановки λ → α: она всегда применима. Поэтому если система подстановок содержит такую подстановку, то:

  1. она должна стоять последней,
  2. в системе должны быть заключительные подстановки.

Нормальный алгорифм Маркова, в системе подстановок которого используются дополнительные (не входящие в алфавит A) символы, называется алгорифмом над алфавитом A;
Заметим что при этом, исходные данные и результат работы алгоритма — по-прежнему слова в алфавите A.

А теперь рассмотрим более сложные интересные вещи, а именно композиции.

Определение. Композиции алгоритмов — получение из известных алгоритмов новых, более сложных.

Существуют 4 основных способа композиции.

Суперпозиция или последовательная композиция(Шредингера на вас нет)

Брачная не статья. Алгорифмы Маркова. Часть 2., image #21

Дано:

Брачная не статья. Алгорифмы Маркова. Часть 2., image #22

Алгоритм Z = Y (X) — суперпозиция алгоритмов X и Y , если

Брачная не статья. Алгорифмы Маркова. Часть 2., image #23

Пример:

Брачная не статья. Алгорифмы Маркова. Часть 2., image #24

Что делает композиция Y (КОП)?

, где КОП — копирующий нормальный алгорифм Маркова, который для любого числа в естественном коде

Брачная не статья. Алгорифмы Маркова. Часть 2., image #25

получает слово

Брачная не статья. Алгорифмы Маркова. Часть 2., image #26

Ответ прост. Композиция Y (КОП) — умножение на 2 числа в естественном коде.

Объединение или параллельная композиция

Брачная не статья. Алгорифмы Маркова. Часть 2., image #27

Дано:

Брачная не статья. Алгорифмы Маркова. Часть 2., image #28

Алгоритм Z = X||Y — объединение алгоритмов X и Y , если

Брачная не статья. Алгорифмы Маркова. Часть 2., image #29

Пример:

Брачная не статья. Алгорифмы Маркова. Часть 2., image #30

Что делает композиция E||X?

Ответ не сложный E||X = КОП

Разветвление

Брачная не статья. Алгорифмы Маркова. Часть 2., image #31

Разветвление — композиция трёх алгоритмов.

Дано:

Брачная не статья. Алгорифмы Маркова. Часть 2., image #32

Алгоритм W — разветвление алгоритмов X, Y и Z, если

Брачная не статья. Алгорифмы Маркова. Часть 2., image #33

Итерация или повторение

Одни и те же действия повторяются многократно, пока не получим результат, обладающий свойством C.

Дано:

НАМ X, распознающий НАМ Z.

Алгоритм T — итерация алгоритмов X и Z, если для исходного слова α он строит последовательность слов

Брачная не статья. Алгорифмы Маркова. Часть 2., image #34
Брачная не статья. Алгорифмы Маркова. Часть 2., image #35

Тогда

Брачная не статья. Алгорифмы Маркова. Часть 2., image #36

.

Итог.

На этом вторая часть нашего цикла заканчивается. И именно поэтому, мы не можем вас оставить без задания.

Задание:

A = {|, ∗}; Построить КОП не используя композиции.

На этом всё. Надеемся вам было интересно.

Если у вас появились вопросы мы с радостью ответим на них в комментариях или сообщениях группы.

353 views·9 shares