Добавил:
rn Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экспертные системы (Шаповалов ФИБС БТС 10 семестр) / Материалы / Иллюстрированный самоучитель по экспертным системам.doc
Скачиваний:
84
Добавлен:
04.09.2023
Размер:
6.22 Mб
Скачать

Рекомендуемая литература

Для ознакомления с общими концепциями объектно-ориентированных вычислений и их практической реализацией я бы рекомендовал статьи из сборника [Peterson, 1987]. Обзор работ по объектно-ориентированной технологии применительно к задачам искусственного интеллекта читатель найдет в [Stefik and Bobrow, 1986]. В работе [Кеепе, 1989] довольно подробно описан язык CLOS.

Подробное описание C++ и методики программирования на этом языке содержится в книгах [Booch, 1994] и [Meyers, 1995], [Meyers, 1997], хотя я и не в восторге от двух последних.

Упражнения

1. Чем отличаются объектно-ориентированные языки программирования от обычных процедурных языков?

2. В чем состоит отличие между конкретными и абстрактными классами?

3. Почему при множественном наследовании иерархическая структура превращается в гетерархическую?

4. В чем состоит проблема наложения методов при множественном наследовании?

5. Что такое метакласс и в чем польза применения такой конструкции?

6. Что понимается под термином "список предшествования классов"? 7. Рассмотрите схему отношений между классами на рис. 7.9.

Используя конструкцию def class языка CLIPS, опишите эту структуру классов таким образом, чтобы соблюдался следующий порядок наследования в классах, имеющих несколько суперклассов:

wkg-man: (man worker) father: (parent man)

wkg-woman: (worker woman) mother: (parent woman)

wkg-father: (wkg-man father)

wkg-raother: (mother wrk-woman)

Начните с класса person:

(defclass person (is-a USER) (role concrete))

Какой вид будет иметь список предшествования классов wkg-father и wkg-mother?

Рис. 7.9. Схема структуры классов для упражнения 7

8. Предположим, что классы на рис. 7.9 имеют следующие предпочтения при выборе блюд на завтрак:

man: donut woman:

croissant parent:

fruit worker: bacon

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

Сформируйте следующие экземпляры классов:

Joan — экземпляр класса wrk-mother,

Jim — экземпляр класса wrk-man.

Передайте им сообщение, например, в такой форме:

(send [Joan] breakfast)

Чем ответят экземпляры Joan и Jim на такое сообщение и почему?

 

    • Глава 8. Логическое программирование

    • 8.1. Формальные языки

      • 8.1.1. Исчисление высказываний

      • 8.1.2. Исчисление предикатов

    • 8.2. Язык PROLOG

    • 8.3. Опровержение резолюций

      • 8.3.1. Принцип резолюций

      • 8.3.2. Поиск доказательства в системе резолюций

    • 8.4. Процедурная дедукция в системе PLANNER

    • 8.5. PROLOG и MBASE

      • 8.5.1. Правила поиска в языке PROLOG

      • 8.5.2. Управление поиском в системе MBASE

    • Рекомендуемая литература

    • Упражнения

Глава 8.

Логическое программирование

  • 8.1. Формальные языки

  • 8.2. Язык PROLOG

  • 8.3. Опровержение резолюций

  • 8.4. Процедурная дедукция в системе PLANNER

  • 8.5. PROLOG и MBASE

  • Рекомендуемая литература

  • Упражнения

Еще в конце 1970-х годов стала отчетливо просматриваться тенденция к использованию в исследованиях в области искусственного интеллекта "формальных" методов, т.е. основанных на аппарате математической логики. Эти методы противопоставлялись более интуитивным и менее формализованным эвристическим методам, скажем, таким, которые были использованы в системе MYCIN. Для того чтобы стало ясно, что все это значит, нужно познакомить вас с логическими языками, а затем показать, как соотносятся их свойства с теми методами рассуждений, которые должны поддерживать типовые экспертные системы.