Если несколько правил успешно сопоставлены с фактами, то МВ производит выбор по определенному критерию единственного правила, которое срабатывает в данном цикле.
Цикл работы МВ показан на рис.
Работа МВ зависит только от состояния РП и от состава базы знаний. На практике обычно учитывается история работы, т.е поведение МВ запоминается в памяти состояний, которая содержит протокол системы. (рис. ).
Пример:
П1. Если (отдых летом) И (человек активный)
ТО (ехать в горы)
П2. Если (любит солнце) ТО (отдых летом)
Предположим, что в систему поступили факты: человек активный и любит солнце.
1-проход.
Шаг 1. Пробуем П!, не работает (не хватает данных – отдых летом)
Шаг 2. Пробуем П2, работает, б базу поступает факт – отдых летом.
2-й проход.
Шаг 3. Пробуем П1, работает. Активизируется цель (ехать в горы), которая выступает как совет.
Стратегия управления выводом.
От метода поиска зависит порядок применения и срабатывания правил. Процедура выбора сводится к определению направления поиска и способа его осуществления.
Прямой и обратный вывод. В системах с прямым выводом по известным фактам отыскивается заключение, которое следует из этих фактов. Если такое заключение найдено, то оно заносится в РП. Такой вывод называют выводом, управляемым данными.
При обратном выводе вначале выдвигается гипотеза, а затем МВ как бы возвращается назад, переходя к фактам, пытаясь найти те, которые подтверждают гипотезу. Если она правильна, то выдвигается следующая гипотеза, детализирующая первую и являющуюся по отношению к ней подцелью. Далее отыскиваются факты, подтверждающие истинность подчиненной гипотезы. Вывод такого типа называется управляемым целями. Применяется в тех случаях, когда цели известны и их сравнительно немного.
В системах с более сотен правил желательно использовать стратегию управления выводом, позволяющую минимизировать время поиска решения и тем самым повысить эффективность работы системы. К числу таких стратегий относятся поиск в глубину, поиск в ширину, разбиение на подзадачи и альфа-бета стратегия.
При поиске в глубину в качестве подцели выбирается та, которая соответствует следующему, более детальному уровню описания задачи.
При поиске в ширину анализируются все начальные варианты. Разбиение на подзадачи заключается в выделении подзадач, решение которых рассматривается как достижение промежуточных целей. Альфа-бета стратегия заключается в удалении ветвей, неперспективных для успешного поиска.
Работа продукционной системы инициируется начальным описанием (состоянием) задачи. Из продукционного множества правил выбираются правила, пригодные для применения на очередном шаге. Эти правила могут создавать так называемое конфликтное множество. Для выбора правил из конфликтного множества существуют стратегии разрешения конфликтов, которые могут быть достаточно простыми, например, выбор первого правила. Могут быть и сложными эвристическими правилами. Следует отметить, что конфликтные множества представляют собой простейшие базы целей.
Кроме базовой структуры продукционных систем необходимы дополнительные средства – управление данными, уточняющими смысл:
Триплет: объект – атрибут (необходимый признак) – значение;
Пример; робот – степень подвижности – 4.
Четверка: – атрибут (необходимый признак) – значение – степень достоверности.
Пример: сверло – материал Р!* - стойкость 25 мин. – достоверность 0,7.
Условная часть может состоять из одного или нескольких условий, соединенных связкой И. Заключительная часть показывает данные, которыми следует пополнить РП при выполнении условной части. На практике при необходимости расширяют эти правила. Например, используют связку ИЛИ. В условной части, вводят условную часть с вычислениями на основании содержимого РП, либо вводят заключительную часть с пометкой – не дополнять содержимое РП.
Визуально такое отношение можно представить в виде графа с древовидной структурой (рис. ).
Если существует множество правил, из которых выводится одно и то же заключение, то выполняется процедура ИЛИ над всеми заключениями из этих правил. Таким образом всю систему продукций можно представить в виде одного графа И/ИЛИ (рис. ).
Система, реализующая прямую цепочку рассуждений, на основании имеющихся условий делает возможным логические выводы. Система, реализующая обратную цепочку рассуждений по имеющимся выводам, ищет необходимые для них условия.
По такому графу обратный вывод – это поиск пути на графе. Управление последовательностью поиска осуществляется механизмом вывода. Могут быть использованы различные стратегии поиска. Используются также системы с двунаправленными выводами, где сначала оценивается небольшой объем полученных данных и выбирается гипотеза (прямой вывод), а затем запрашиваются данные для принятия решения о пригодности данной гипотезы.
Для повышения эффективности функционирования ИС в проблемной области с увеличением числа правил используются методы группирования, упорядочения информации в РП, предварительной компиляции правил в виде графа.
Пример работы продукционной системы. Рассматривается роботизированный участок.
Правило 1: ЕСЛИ (станок без заготовки) (1)
И (заготовка на накопителе) (2)
ТО (робот подает заготовку на станок) (3)
Правило 2: ЕСЛИ (накопитель подал заготовку в загрузочную позицию) (4)
ТО (заготовка в загрузочной позиции)
Действия:
1. Допустим, в РП вносятся 1 и 4 образцы и рассматривается возможность применения правил. Сначала МВ сопоставляет образцы из условной части правил с образцами в РП.
2. Если все образцы имеются в РП, то условная часть считается истинной, в противном случае – ложной. Т.к. в условной части (2) отсутствует, то условная часть правила 1 считается ложной. Но правило 2 выполняется, т.к. посылка (4) верна, поэтому МВ выполняет его заключительную часть, и образец (2) заносится в РП.
3. Вторично применяется правило 1, т.к. правило 2 уже было применено и выбыло из числа кандидатов. Т.к. (1) истина и (2) истина, то (3) – вывод. В итоге правил, которые можно было бы применить не остается и система останавливается.
4. Для описания задач часто используют дерево решений.
Семантические сети
В бытовом понимании семантика означает смысл слова, действия, художественного произведения и т.п. Семантическая сеть – это граф, вершинам которого сопоставляются понятия (объекты, процессы, явления), дуги графа – это отношения между вершинами.
Возможные отношения в семантических сетях (не полный список):
Агент – это то, что (тот, кто) вызывает действие. Агент часто является подлежащим в предложении. Например, «Иванов ударил мяч».
Объект – это то, на что (на кого) направлено действие. В предложении объект часто выполняет роль прямого дополнения. Например, «Робот взял пирамиду».
Инструмент – это средство, которое используется агентом для выполнения действия. Например, «Иванов открыл дверь с помощью ключа».
Соагент – служит как подчиненный партнер главному агенту. Например, «Иванов сдал экзамен с помощью Петрова».
Пункт отправления и пункт назначения – это отправная и конечная позиция при перемещении агента или объекта. Например, «Робот переместился от одного станка к другому».
Траектория – это перемещение от пункта отправления к пункту назначения. Например, «Они прошли через дверь по ступенькам на лестницу».
Средство доставки – то в чем или на чем происходит перемещение. Например, «Иванов всегда едет домой на машине».
Местоположение – то место, где произошло (происходит, будет происходить) действие. Например, «Он работал за столом».
Потребитель – то лицо, для которого выполняется действие. Например, «Иванов собрал шпаргалки для Кати».
Сырье – это, как правило, материал из которого что-то сделано или состоит. Обычно сырье вводится предлогом из. Например, «Иванов собрал робот из интегральных схем».
Время – указывает на момент совершения действия. Например, «Он закончил работу поздно вечером».
Пример семантической сети: Поставщик осуществил поставку изделий по заказу клиента до 1 июня 2008 г. в количестве 1000 шт.
Поиск в семантической сети: Какой объект находится на желтом блоке?
Совместив запрос с сетью получим ответ – пирамида.
Классификация сетей.
По структуре:
Сети простого типа – у которых вершины не имеют собственной внутренней структуры.
Однородные сети – при одинаковых отношениях между вершинами.
Сети иерархического типа – таким сетям свойственны структуры с вершинами разного ранга, имеющими разный уровень или подчиненность от низших к высшим.
По характеру отношений, приписываемых дугам сети:
Функциональные сети. Дуги отражают тот факт, что вершина, из которой выходит дуга, играет по отношению к вершине, куда идет дуга, роль аргумента. Описания, соответствующие вершине – функции, задают процедуру нахождения результата.
Сценарии – однородные сети, в которых в качестве единственного отношения выступает отношение нестрогого порядка (например, отношение «не раньше, чем»), которое допускает одновременность. Чаще всего эти отношения определяют все возможные последовательности событий.
Семантические сети – в отличие от двух первых – неоднородны и иерархичны.
Семантические сети делятся на интенсиональные и экстенсиональные. Интенсиональная сеть содержит интенсиональные знания и описывает общую структуру модернизируемой предметной области на основе абстрактных объектов и отношений, т.е. обобщенных представителей некоторых классов объектов и отношений. Например, такие объекты как Производственный участок, груз, деталь могут являться обобщенными понятиями множества значений от которых образуется множество имен конкретных производственных участков (токарный, прессовый и т.п.), множество имен грузов (заготовка, кассета), множество классов деталей (болт, вал, гайка и т.п.).