Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по СИИ.doc
Скачиваний:
175
Добавлен:
02.05.2014
Размер:
3.54 Mб
Скачать

2.5.1. Неформальное введение в системы про­дукций

Для того чтобы очертить концептуальные рамки понятия "системы про­дукций" (СП), используемого сейчас в области искусственного интел­лекта, попытаемся проследить из каких понятий оно складывалось и как эволюционировало.

2.5.1.1 Алгоритмические модели

Начнем с такого общего понятия как алгоритм, который традиционно определяется как система указаний для перехода от исходных данных к искомому результату, обладающая свойством массовости, детерминиро­ванности и результативности.

По существу, все математические процедуры, приводящие к решению тех или иных задач, основаны на алгоритмах. Попытка уйти от интуи­тивного понимания алгоритма привела к ряду математических уточне­ний этого понятия. Наиболее известные среди них — машина Тьюринга, машина Поста и нормальные алгоритмы Маркова [30]. Для нас наиболь­ший интерес представляет формальное определение алгоритма, данное А.А.Марковым. Рассмотрим его более подробно. Нормальный ал­горитм задается упорядоченным списком вида

Q1R1,Q2R2, …,QnRn.

Выражение Qi Ri, называется подстановкой. Пусть дано некото­рое слово L. Подстановка QiRi, применяется к слову L следующим образом. Если слово Qi, входит в состав слова L, то его самое левое вхождение заменяется на Ri. Подстановки упорядочены в записи нор­мального алгоритма, и существует жесткий порядок их выполнения. К исходному слову L сначала всегда применяется первая по порядку под­становка. Если она изменила слово, то оно рассматривается как новое, и к нему вновь применяется первая подстановка. Если же подстановки, образующие нормальный алгоритм, не меняют слова, то оно считается окончательным, и применение подстановок прекращается.

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

Эти два типа уточнения понятия алгоритм в какой-то мере послужи­ли основой двух ортогональных подходов к разработке систем програм­мирования: процедурного и декларативного.

Обе отмеченные алгоритмические процедуры представляют собой образцы ясности и четкости. Жесткие правила применения подста­новок обеспечивают детерминированность процедуры, задаваемой нор­мальным алгоритмом. Это характерно и для машин Тьюринга. Детер­минированность и результативность, свойственные им, регламентируют получение однозначных результатов при одинаковых исходных данных.

Ослабление жестких требований, введенных в алгоритмических схе­мах, позволяет рассмотреть более гибкие процедуры. Одним из ослабления требований является отказ от детерминированности. Например, можно сделать произвольным выбор очередных подстановок на каждом шаге процесса. Процедуры подобного рода получили название исчисле­ний, или квазиалгоритмов. В монографии [62] исчисление определяется как "способ задания множеств путем указания исходных элементов (ак­сиом) и правил вывода, каждое из которых описывает, как строить новые элементы из исходных и уже построенных". Список, каждый элемент ко­торого является аксиомой или получен из предыдущих элементов списка по одному из правил вывода, называют выводом в исчислении.