Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

10545

.pdf
Скачиваний:
2
Добавлен:
25.11.2023
Размер:
6.75 Mб
Скачать

Объектно-ориeнтированное программирование в CLIPS

Пусть вас не смущает, что в обработчике сообщения анализируется условие, которое уже было проанализировано правилом, отославшим сообщение (в данном случае речь идет об условии safety off). Дело в том, что одно и то же сообщение может отсылаться разными правилами и нет никакой гарантии, что в каждом из них будет проверяться это условие.

После завершения стрельбы пистолет нужно вновь вернуть в положение "по-походному". Начинается это с того, что пистолет устанавливается на предохранитель, для чего используется ранее разработанный обработчик сообщения safety.

1. (defrule unready

2. (object (name [PPK]) (safety off))

3. (range-test (fired yes)) =>

4. (send [PPK] safety on) )

Следующая операция — вынуть обойму. Обратите внимание, что в нем мы вновь обращается к

обработчику сообщения drop.

5. (defrule drop

6. (object (name [PPK]) (safety on))

7. (range-test (fired yes)) =>

8. (send [PPK] drop) )

44

Объектно-ориeнтированное программирование в CLIPS

Последнее правило выбрасывает патрон из патронника, вызывая обработчик сообщения clear.

1.(defrule unload

2.(object (name [PPK]) (safety on) (magazine out))

3.(range-test (fired yes)) =>

4.(send [PPK] clear) )

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

45

Спасибо за внимание

46

«Онтологические модели

представления знаний о предметной области»

Что такое онтология?

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

Онтология, как модель, выражает определенный взгляд (разработчика) на некоторую предметную область и формально может быть описана следующим набором множеств:

O = <Х,R>

где: X – конечное множество концептов (понятий, терминов) предметной области, которую представляет онтология О. R – конечное множество отношений между концептами (понятиями, терминами) заданной предметной области. Ф – конечное множество функций интерпретации, заданных на

концептах и/или отношениях онтологии О.

2

Из всего множества отношений в онтологии выделяется специальный класс – простая таксономия:

О = Т° = < X, {is_a}, {}>

Под таксономической структурой понимается иерархическая система понятий, связанных между собой отношением is_a («быть элементом класса» или «быть подклассом класса»). Это отношение (is_a) позволяет организовать структуру понятий онтологии в виде

дерева. Отношение is_a имеет фиксированную заранее семантику. Предложение «Элемент А является подклассом класса В», описывается простой логической формулой (импликацией): А В –

«Если А, то В». Получаем формальную таксономию.

Таким образом, из определения онтологии следует, что основными ее компонентами являются: Классы (Концепты) или понятия, Индивидуальности (экземпляры), Отношения, Функции, Аксиомы.

3

Концептуальная схема онтологии

4

Причины потребности в разработке онтологий

Совместное использование людьми или программными агентами общего понимания структуры информации;

Разработка и управление терминологией;

Возможность повторного использования знаний в предметной области;

Получение надежного семантического базиса в определении содержания;

Отделение знаний в предметной области от оперативных знаний;

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

теории получать вывод новых знаний, явно не заложенных в онтологии;

Возможность использования онтологий для поддержки функционирования

и роста нового вида цифровых библиотек.

5

Процесс создания онтологий

1.Определение классов в онтологии;

2.Организация классов в некоторую иерархию (подкласс → класс);

3.Определение отношений (связей) между классами, между элементами классов;

4.Определение свойств (характеристик, атрибутов) элементов класса;

5.Определение экземпляров классов и задание значений их свойств.

6

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

Ясность: онтология должна быть ясной и легко передавать подразумеваемый смысл. Она должна быть объективной;

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

Возможность расширения: наличие возможности введения новых элементов без пересмотра остальных элементов;

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

7

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