Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекція_3_4_моделі_под_знань.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
479.74 Кб
Скачать

Продукційні системи Поста

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

Крім того, продукційні правила використаються в лінгвістиці у формі правил підстановки для визначення граматики мови. Комп'ютерні мови звичайно визначаються за допомогою продукційних правил, відомих як нормальна форма Бекуса-Наура (BNF).

Основна ідея полягала в тім, що будь-яка математична або логічна система є набір правил щодо перетворення одного рядка символів в інший рядок символів. Тобто продукційне правило після одержання вхідного рядка (антецедента) здатне виробити новий рядок (консеквент). Така ідея є дійсною стосовно програм і експертних систем, у яких початковий рядок символів є вхідні дані, а вихідний рядок є результатом певних перетворень вхідних даних.

Продукційна система Поста складається із групи продукційних правил, наприклад

(1) двигун автомобіля не запускається → перевірити акумулятор

(2) двигун автомобіля не запускається → перевірити наявність бензину

(3) перевірити акумулятор AND акумулятор несправний → замінити акумулятор

(4) перевірити наявність бензину AND бензин відсутній → заповнити бак бензином

Якщо є рядок "двигун автомобіля не запускається", то можна використати правило (1) або (2) для вироблення рядків "перевірити акумулятор" й "перевірити наявність бензину". Але може бути застосовано лише одне з них, обоє правила послідовно або жодного з правил. Якщо є рядок "перевірити акумулятор", а також рядок "акумулятор несправний", то може бути застосоване правило (3) для вироблення рядка "замінити акумулятор".

На відміну від звичайної мови програмування, такої як С або С++, порядок, у якому записані правила, не має значення.

Основним обмеженням продукційних правил Поста з погляду програмування є відсутність стратегії керування щодо впорядкування виклику правил. Система Поста дозволяє застосовувати правила до рядків будь-якої форми, оскільки відсутня специфікація, що визначає, як повинні застосовуватись ті або інші правила.

Марковскі алгоритми

Наступний великий крок у розробці методів застосування продукційних правил зроблений на основі відкриття Маркова щодо визначення структури керування для продукційних систем.

Марковський алгоритм - це застосування впорядкованої групи продукцій до вхідного рядка в порядку пріоритету. Якщо правило з найвищим пріоритетом є непридатним, то виконується наступне правило і т.д.

Марковський алгоритм завершує роботу за умов:

  • остання з продукцій не застосовна до рядка,

  • виконано продукцію, що кінчається крапкою.

Марковскі алгоритми можуть застосовуватись також до підрядків рядків, починаючи зліва. Так, продукційна система з єдиного правила:

ABHIJ

після її застосування до вхідного рядка GABKAB виробляє новий рядок GHIJKAB. Оскільки тепер продукція застосовується до нового рядка, кінцевим результатом стає рядок GHIJKHIJ.

Окрім констант передбачено два типи змінних:

  • односимвольні змінні (a, b, c, …, x, y, z) представляють будь-який окремий символ;

  • грецькі букви α, β і т.д. використаються в рядках як спеціальні знаки пунктуації.

Сховані марковські моделі (Hidden Marcov Model – HMM) використаються в розпізнаванні образів, зокрема, розпізнаванні мови.