Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
Множественное наследование в CLOS и clips
Содержание книги
- Фактически система, состоящая из трех компонентов
- Символический уровень и уровень знаний
- Язык включает средства (правда, ограниченные), позволяющие комбинировать правила и объекты.
- Системы порождающих правил для решения проблем
- Пусть задано порождающее правило в форме
- В данном случае предпосылка состоит в том, что определенный микроорганизм имеет форму палочки и размножается в воздушной среде.
- Удовлетворяет предпосылку в правиле
- Управление функционированием интерпретатора
- Свойства механизмов разрешения конфликтов, которые реально применяются в системах, при всем их разнообразии можно разделить на три довольно компактные группы.
- Стратегия сложности. Использует тот же критерий, что и стратегия простоты, но располагает правила в обратном порядке — более сложные занимают более приоритетное место в списке.
- Аса, aacaa, caacaac, bcaacaacb, cbcaacaacbc.
- Трассировка программы строительства башни
- Свойство выпуклости в clips: пингвины обретают способность летать (или не обретают)
- Таким образом, и образец в левой части порождающего правила, и сопоставляемые с ним элементы в рабочей памяти должны соответствовать этим шаблонам.
- Следующее Определение сети более близко к специфике задач искусственного интеллекта, которыми мы сейчас занимаемся.
- Два аспекта модели памяти, предложенной квиллианом, оказали особенно существенное влияние на последующее развитие исследований в области применения систем семантических сетей.
- Анализ адекватности ассоциативных сетей
- Из сказанного выше ясно, что первоначальные виды формализмов ассоциативных сетей страдают минимум двумя недостатками.
- Значения по умолчанию и демоны
- Если отсутствует любая информация о параметрах четырехугольника, не выполнять никаких вычислений.
- Система инициализируется командой (reset). Теперь можно активизировать демон, послав ему сообщение
- Подводя итог всему сказанному выше об ассоциативных сетях и фреймах, отметим, что в большинстве предлагаемых структур сетей не удалось дать четкий ответ на два важных вопроса.
- Для этого вам понадобится сначала внести изменения в определение класса square.
- Формирование объекта класса на языке clips
- Скомбинировать их таким образом, чтобы получить желаемый эффект.
- Множественное наследование в CLOS и clips
- Наложение методов в CLOS и clips
- В CLOS поддерживаются три базовых метакласса.
- Объекты в основном являются средствами реализации вычислений.
- Поиск доказательства в системе резолюций
- Использование квантора существования позволяет преобразовать термы с квантором общности в соответствии с определением
- Иными словами, это не тот случай, когда некоторый Объект X находится в комнате А и, следовательно, переменная имеет экзистенциальную подстановку.
- Если u и ф представляют две произвольные фразы, которые можно представить в конъюнктивной нормальной форме, и
- Поиск доказательства в системе резолюций
- Процедурная дедукция в системе PLANNER
- В следующем разделе мы кратко остановимся на системах, в которых была предпринята попытка устранить эти недостатки
- Обратите внимание на то, что если бы в теле процедуры отсутствовал предикат ввс, то программа очень быстро зациклилась.
- Occur)U, Exprl, 2), collect(U, Exprl, Expr2), isolate(U, Expr2, Ans).
- I) ни один Человек не является островом. (джон донн (john donne))
- Глава 9. Представление неопределенности знаний и данных
- В более общей форме правило байеса имеет вид
- Можно с уверенностью Т заключить, что пациент страдает заболеванием DI.
- Множество, определенное такой характеристической функцией, представляется формулой
- Которая после подстановки дает
- Какова вероятность того, что из полной колоды будет вытянута одна из старших карт (король, дама или валет).
- Преимущество использования такой программы — снижение трудоемкости процесса, поскольку перенос знаний от эксперта к системе осуществляется в один прием.
- В основу оболочки KADS положено пять базовых принципов.
- Оболочки CommonKADS и KASTUS
- Сопровождение и редактирование баз знаний с помощью программы teiresias
- В составе teiresias Имеются и средства, которые помогают оболочке emycin следить за поведением экспертной системы в процессе применения набора имеющихся правил.
Механизм множественного наследования в языках CLOS и CLIPS работает практически так же, как и в языке LOOPS. Порядок, в котором базовые классы перечислены в определении подкласса, задает и порядок приоритетов наследования данных и процедур. Кроме того, существует правило, в соответствии с которым определение процедуры или свойства, сделанное в классе, всегда имеет приоритет перед унаследованными от суперклассов. Эти соглашения позволяют разрешить проблему неоднозначности при множественном наследовании путем формирования списка предшествования классов.
Рассмотрим фрагмент программы на языке CLIPS, представленный в листинге 7.1. Этот фрагмент описывает "Алмаз Никсона", о котором шла речь в главе 6. Класс person определен как объявленный пользователем, классы quaker и republican — производные от person, a republican-quaker — производный как от quaker, так и от republican. Класс USER является системным абстрактным классом, т.е. может быть использован только для создания подклассов. Если планируется создавать экземпляры любого класса, производного от USER, то этот класс нужно объявлять с квалификатором concrete, как это и сделано при объявлении класса republican-quaker.
Листинг 7.1. Объявление классов на языке CLIPS
(defclass person (is-a USER)
(defclass quaker (is-a person)
(defclass republican (is-a person)
(defclass republican-quaker
(is-a republican quaker) (role concrete)
Список предшествования классов для класса republican-quaker будет иметь вид (republican-quaker republican,quaker person).
Список формируется в результате прослеживания графа связей системы классов, который неявно представлен слотами is-a в определениях классов.
Роль списка предшествования классов становится ясной при разработке обработчика событий для производного класса. Определим поведение классов quaker и republican как "голубей" и "ястребов" соответственно:
(defmessage-handler quaker speak () (printout t crlf "Peace")
)
(defmessage-handler republican speak ()
(printout t crlf "War"))
Сформируем экземпляр класса republican-quaker:
(definstances people
(richard of republican-quaker))
Теперь загрузим все это в исполняющую систему CLIPS и введем запрос к экземпляру Richard:
(send [richard] speak)
В ответ интерпретатор выведет "War" (война). Оказывается, что "ястребиный" характер республиканцев возобладал у экземпляра richard, поскольку в списке предшествования классов republican стоит раньше, чем quaker. Изменим порядок перечисления этих классов в определении republican-quaker:
(defclass republican-quaker
(is-a quaker republican)
(role concrete))
Теперь в характере экземпляра Richard миролюбие квакеров будет доминировать. Ничего не изменится в поведении экземпляра и в том случае, если добавить обработчик сообщения в класс person:
(defmessage-handler person speak ()
(printout t crlf "Beer"))
Эта реализация метода speak перекрывается другими, поскольку класс находится в списке предшествования на последнем месте.
Слоты данных в языке COOL также поддерживают фацеты, т.е. свойства, ответственные за доступ к слотам в процессе работы программы. Например, существует фацет visibility (видимость), который определяет, какие другие классы могут обратиться к слоту. Значение private означает, что только обработчик сообщения данного класса может получить доступ к данным, а значение public позволяет это сделать также обработчикам сообщений производных классов и суперклассов.
Другие фацеты позволяют реализовать следующие возможности:
автоматическое определение функций доступа и присвоения значений слотам;
хранение данных, к которым возможен доступ со стороны всех экземпляров класса, аналогично статическим членам классов в языке C++.
|