Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР-6.doc
Скачиваний:
2
Добавлен:
22.11.2019
Размер:
141.31 Кб
Скачать

Лабораторна робота № 6

Розрахована на 4 академічні години.

Тема: Нормальні алгоритми Маркова

Теоретичні відомості

Підстановки

Цікавою особливістю нормальних алгоритмів Маркова (НАМ) є те, що в них використовується лише одна елементарна дія - так звана підстановка, яка визначається таким чином.

Формулою підстановки називається запис виду α→β(читається "α замінити на β"), де α і β - будь-які слова (можливо, і порожні). При цьому α називається лівою частиною формули, а β - правою частиною.

Сама підстановка (як дія) задається формулою підстановки і застосовується до деякого слова Р. Суть операції зводиться до того, що в слові Р відшукується частина, співпадаюча з лівою частиною цієї формули (тобто з α), і вона замінюється на праву частину формули (тобто на β). При цьому інші частини слова Р (ліворуч і праворуч від β) не міняються. Слово, що вийшло, R називають результатом підстановки. Умовно це можна зображувати так:

Необхідні уточнення:

  1. Якщо ліва частина формули підстановки входить в слово Р, то говорять, що ця формула застосовна до Р. Але якщо α не входить в Р, то формула вважається непридатною до Р, і підстановка не виконується.

  2. Якщо ліва частина α входить в Р кілька разів, то на праву частину β, за визначенням, замінюється тільки перше входження α в Р:

3. Якщо права частина формули підстановки - порожнє слово, то підстановка α→зводиться до викреслювання частини α з Р (відмітимо попутно, що у формулах підстановки не прийнято як-небудь означати порожнє слово) :

4. Якщо в лівій частині формули підстановки вказано порожнє слово, то підстановка →β зводиться, за визначенням, до приписування β ліворуч до слова Р :

З цього правила витікає дуже важливий факт: формула з порожньою лівою частиною застосована до будь-якого слова. Відмітимо також, що формула з порожніми лівою і правою частинами не міняє слово.

Визначення нам

Нормальним алгоритмом Маркова (НАМ) називається непорожній кінцевий впорядкований набір формул підстановки:

У цих формулах можуть використовуватися два види стрілок: звичайна стрілка (→) і стрілка "з хвостиком" ( ). Формула із звичайною стрілкою називається звичайною формулою, а формула із стрілкою "з хвостиком" - завершальною формулою. Різниця між ними пояснюється трохи нижче.

Записати алгоритм у виді НАМ - означає пред'явити такий набір формул.

Правила виконання НАМ

Передусім, задається деяке вхідне слово Р. Де саме воно записане - не важливо, в НАМ це питання не обговорюється.

Робота НАМ зводиться до виконання послідовності кроків. На кожному кроці формули підстановки що входять в НАМ розглядаються зверху вниз і вибирається перша з формул, застосованих до вхідного слова Р, тобто сама верхня з тих, ліва частина яких входить в Р. Далі виконується підстановка згідно зі знайденою формулою. Виходить нове слово Р’ .

На наступному кроці це слово Р' береться за початкове і до нього застосовується та ж сама процедура, тобто формули знову розглядаються зверху вниз починаючи з самої верхньої і шукається перша формула, застосована до слова Р’, після чого виконується відповідна підстановка і виходить нове слово Р " І так далі:

Слід звернути особливу увагу на той факт, що на кожному кроці формули в НАМ завжди розглядаються починаючи з найпершої.

Необхідні уточнення:

    1. Якщо на черговому кроці була застосована звичайна формула (α→β), то робота НАМ триває.

    2. Якщо ж на черговому кроці була застосована завершальна формула (α β), то після її застосування робота НАМ припиняється. Те слово, яке вийшло у цей момент, і є вихідне слово, тобто результат застосування НАМ до вхідного слова.

Як видно, різниця між звичайної і завершальної формулами підстановки проявляється лише в тому, що після застосування звичайної формули робота НАМ триває, а після завершальної формули - припиняється.

    1. Якщо на черговому кроці до поточного слова непридатна жодна формула, то і в цьому випадку робота НАМ припиняється, а вихідним словом вважається поточне слово.

Таким чином, НАМ зупиняється з двох причин: або була застосована завершальна формула, або жодна з формул не підійшла. Те і інше вважається "хорошим" закінченням роботи НАМ. У обох випадках говорять, що НАМ застосовний до вхідного слова.

Проте може статися і так, що НАМ ніколи не зупиниться; це відбувається, коли на кожному кроці є застосовна формула і ця формула звичайна. Тоді говорять, що НАМ незастосовний до вхідного слова. В цьому випадку ні про який результат немає і мови.

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