Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bilety_po_AiP.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.1 Mб
Скачать
  1. Формализация понятия алгоритма: нормальные алгорифмы Маркова, определение и выполнение. Примеры.

Алгорифмы Маркова (нормальные алгорифмы) используются для представления алгоритмов, преобразующих одну цепочку символов (исходные данные) в другую (результат).

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

Если применив алгоритм к строке , мы, за конечное число шагов, получили результат , то такой алгоритм будем называть применимым и обозначать

Замены выполняются в соответствии с заданным правилом, которые и будут определять алгоритм. Такой алгоритм называется вербальным.

Расширим алфавит тремя символами « », « ». «|». Предполагается, что в алфавит эти символы не входят. В расширенном алфавите можно записывать разные слова, но особенное внимание уделим словам вида: , где - один из двух символов: стрелка или стрелка с точкой, - любая цепочка символов в алфавите .

Если такое правило срабатывает, то в исходной строке отыскивается подстрока и она целиком заменяется на .

Для определения алгоритма нужно задать не одно правило, не одну формулу подстановки, а множество, причем необходимо определить порядок их применения. Для этого вводится еще одно понятие схемы алгоритма. Схемой – называется слово в расширенном алфавите, имеющее вид , где - формулы подстановок. Чем меньше номер, тем выше приоритет. Это значит, что если в цепочке символов, которая преобразуется с помощью алгоритма, встречается несколько подстрок, то применяться будет формула, имеющая минимальный номер.

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

Если какая-то подстановка действует на исходную строку, причем левая часть встречается в строчке многократно, то формула подстановки применяется один раз. Причем применяется к самому левому вхождению.

При заменах могут использоваться пустые строки

Если в схеме используется несколько правил, в которых правые части совпадают, а левые части являются подстроками, которые можно объединить в какое-то множество, то пишут

, где - все элементы от А до Я

Пустая строка может встречаться и в левой части. Если есть такие правила, то пустота заменится слева. В этом случае при составлении схемы нужно думать о том, чтобы алгоритм был применим.

Каким образом алгоритм завершает работу?

Есть несколько вариантов:

1. Не применима ни одна подстановка в схеме (не действует на полученную строку)

2. Выбирается формула подстановки вида: . Такая формула подстановки называется заключительной. После ее применения алгоритм завершает работу. Если в левой части этой формулы используется пустая стока, то эта формула подстановки не должна иметь высокий приоритет и обязательно должна присутствовать заключительная формула с большим приоритетом.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]