Экспертные системы. Принципы разработки и программирование
Джозеф Джарратано
Данное четвертое издание представляет собой результат существенного пересмотра известного во всем мире учебника по экспертным системам и разработке программного обеспечения с помощью инструментария языка экспертных систем CLIPS.
Книга включает сведения, относящиеся к двум основным направлениям; в первой половине книги излагается теория экспертных систем и показано, какое место занимают экспертные системы во всем объеме компьютерных наук, а во второй приведены сведения по программированию с помощью языка CLIPS. Еще одним новым средством, описанным в данном издании, является объектно-ориентированный язык COOL. В начале книги содержится отдельное введение в тематику искусственного интеллекта, объем которого достаточен для изучения экспертных систем.
Теоретический материал изложен на уровне, доступном для восприятия студентов старших курсов и аспирантов, интересующихся экспертными системами, которые специализируются в области компьютерных наук, информационных управленческих систем, в программотехнике и других областях. Книга может оказаться полезной для широкого круга читателей, желающих применить экспертные системы в своей работе.
Издательство: Вильямс, 2007 г.
ISBN 978-5-8459-1156-8, 0-534-38447-1
Количество страниц: 1152.
Содержание книги «Экспертные системы. Принципы разработки и программирование»:
- 27 Глава 1. Введение в экспертные системы
- 27 1.1. Введение
- 27 1.2. Определение понятия экспертной системы
- 38 1.3. Преимущества экспертных систем
- 39 1.4. Общие понятия экспертных систем
- 43 1.5. Характеристики экспертной системы
- 47 1.6. Разработка технологии экспертных систем
- 48 Решение задач человеком и продукционные правила
- 54 Широкое распространение систем, основанных на знаниях
- 57 1.7. Приложения и предметные области экспертных систем
- 57 Приложения экспертных систем
- 61 Наиболее подходящие области применения экспертных систем
- 65 1.8. Языки, командные интерпретаторы и инструментальные средства
- 69 1.9. Элементы экспертной системы
- 77 1.10. Продукционные системы
- 78 Продукционные системы Поста
- 81 Марковские алгоритмы
- 82 Rete-алгоритм
- 85 1.11. Процедурные подходы
- 86 Императивное программирование
- 89 Функциональное программирование
- 94 1.12. Непроцедурные подходы
- 94 Декларативное программирование
- 94 Объектно-ориентированное программирование
- 96 Логическое программирование
- 100 Экспертные системы
- 102 Недекларативное программирование
- 102 Программирование на основе индукции
- 103 1.13. Искусственные нейронные системы
- 105 Задача коммивояжера
- 106 Элементы искусственной нейронной системы
- 108 Характеристики искусственной нейронной системы
- 110 Новейшие достижения в технологии искусственных нейронных систем
- 113 Приложения технологии искусственных нейронных систем
- 114 1.14. Коннекционистские экспертные системы и индуктивное обучение
- 115 1.15. Современное состояние разработок в области искусственного интеллекта
- 122 1.16. Резюме
- 124 Задачи
- 127 Глава 2. Представление знаний
- 127 2.1. Введение
- 131 2.2. Смысл знаний
- 139 2.3. Продукции
- 144 2.4. Семантические сети
- 149 2.5. Тройки "объект-атрибут-значение"
- 150 2.6. Язык PROLOG и семантические сети
- 151 Основные сведения о языке PROLOG
- 153 Обеспечение поиска в языке PROLOG
- 157 2.7. Трудности, связанные с использованием семантических сетей
- 159 2.8. Схемы
- 162 2.9. Фреймы
- 167 2.10. Трудности, связанные с использованием фреймов
- 169 2.11. Логика и теория множеств
- 172 2.12. Пропозициональная логика
- 181 2.13. Логика предикатов первого порядка
- 181 2.14. Квантор всеобщности
- 184 2.15. Квантор существования
- 185 2.16. Кванторы и множества
- 187 2.17. Ограничения логики предикатов
- 187 2.18. Резюме
- 188 Задачи
- 193 Глава 3. Методы логического вывода
- 193 3.1. Введение
- 194 3.2. Деревья, решетки и графы
- 199 3.3. Пространства состояний и пространства задач
- 199 Примеры пространств состояний
- 205 Пространства слабо структурированных задач
- 206 3.4. Деревья AND-OR и цели
- 211 3.5. Дедуктивная логика и силлогизмы
- 220 3.6. Правила вывода
- 231 3.7. Ограничения пропозициональной логики
- 233 3.8. Логика предикатов первого порядка
- 235 3.9. Логические системы
- 241 3.10. Резолюция
- 245 3.11. Системы резолюции и дедукция
- 248 3.12. Поверхностные и причинные рассуждения
- 254 3.13. Резолюция и логика предикатов первого порядка
- 255 Преобразование в форму с логическими выражениями
- 259 Унификация и правила
- 262 3.14. Прямой и обратный логический вывод
- 271 3.15. Другие методы логического вывода
- 271 Аналогия
- 274 Метод формирования и проверки
- 275 Абдукция
- 278 Немонотонный вывод
- 284 3.16. Метазнания
- 285 3.17. Скрытые марковские модели
- 288 3.18. Резюме
- 289 Задачи
- 295 Глава 4. Рассуждения в условиях неопределенности
- 295 4.1. Введение
- 296 4.2. Неопределенность
- 301 4.3. Типы ошибок
- 304 4.4. Ошибки и индукция
- 308 4.5. Классическая вероятность
- 308 Определение классической вероятности
- 312 Выборочные пространства
- 314 Теория вероятностей
- 315 4.6. Экспериментальные и субъективные вероятности
- 317 4.7. Сложные вероятности
- 321 4.8. Условные вероятности
- 321 Мультипликативный закон
- 326 Теорема Байеса
- 328 4.9. Гипотетические рассуждения и обратная индукция
- 335 4.10. Временные рассуждения и марковские цепи
- 341 4.11. Анализ вероятностных систем на основе понятий шансов и убеждений
- 344 4.12. Достаточность и необходимость
- 347 4.13. Применение неопределенности при формировании цепей логического вывода
- 348 Несовместимость коэффициентов, заданных экспертом
- 349 Неопределенное свидетельство
- 353 Исправление недостатков, связанных с неопределенностью
- 354 4.14. Комбинация свидетельств
- 354 Варианты классификации неопределенных свидетельств
- 357 Комбинирование свидетельств с использованием нечеткой логики
- 359 Логическая комбинация свидетельств
- 359 Эффективные значения правдоподобия
- 361 Сложности, связанные с использованием условной независимости
- 362 4.15. Сети логического вывода
- 363 Система PROSPECTOR
- 365 Сети логического вывода
- 368 Отношения логического вывода
- 373 Архитектура сети логического вывода
- 377 4.16. Распространение вероятностей
- 381 4.17. Резюме
- 383 Задачи
- 389 Глава 5. Нестрогие рассуждения
- 389 5.1. Введение
- 390 5.2. Неопределенность и правила
- 390 Источники неопределенности в правилах
- 392 Отсутствие надежных теоретических оснований
- 393 Взаимодействия правил
- 394 Разрешение конфликтов
- 397 Обобщение и неопределенность
- 399 5.3. Коэффициенты достоверности
- 400 Трудности, связанные с применением байесовского метода
- 401 Степени доверия и недоверия
- 404 Меры, применяемые для измерения степени доверия и недоверия
- 407 Вычисления, проводимые с использованием коэффициентов достоверности
- 412 Сложности, связанные с использованием коэффициентов достоверности
- 414 5.4. Теория Демпстера-Шефера
- 414 Рамки различения
- 417 Массовые функции и незнание
- 422 Комбинирование свидетельств
- 428 Нормализация степени доверия
- 430 Движущиеся массы и множества
- 431 Сложности, связанные с применением теории Демпстера-Шефера
- 432 5.5. Приближенные рассуждения
- 434 Нечеткие множества и естественный язык
- 447 Операции с нечеткими множествами
- 453 Нечеткие отношения
- 459 Лингвистические переменные
- 465 Принцип расширения
- 466 Нечеткая логика
- 469 Нечеткие правила
- 473 Композиция max-min
- 477 Метод максимума и метод моментов
- 482 Возможность и вероятность
- 485 Правила преобразования
- 489 Неопределенность в нечетких экспертных системах
- 492 5.6. Состояние неопределенности
- 495 5.7. Некоторые коммерческие приложения нечеткой логики
- 497 5.8. Резюме
- 497 Задачи
- 505 Глава 6. Проектирование экспертных систем
- 505 6.1. Введение
- 506 6.2. Выбор соответствующей задачи
- 508 Выбор наиболее приемлемого подхода
- 509 Выигрыш
- 509 Инструментальные средства
- 512 Стоимость
- 514 6.3. Общее описание процесса разработки экспертной системы
- 514 Руководство проектом
- 517 Проблема доставки
- 519 Сопровождение и развитие
- 521 6.4. Ошибки, возникающие на различных этапах разработки
- 529 6.5. Разработка программного обеспечения и экспертные системы
- 533 6.6. Жизненный цикл экспертной системы
- 534 Расходы на сопровождение
- 535 Модель каскадного развития жизненного цикла
- 537 Модель развития жизненного цикла на основе "кодирования и исправления
- 537 Инкрементная модель жизненного цикла
- 538 Модель спирального развития жизненного цикла
- 538 6.7. Подробная модель жизненного цикла
- 541 Планирование
- 542 Определение знаний
- 544 Проектирование знаний
- 546 Разработка кода и отладка
- 546 Верификация знаний
- 547 Оценка системы
- 548 6.8. Резюме
- 549 Задачи
- 551 Глава 7. Введение в CLIPS
- 551 7.1. Введение
- 552 7.2. Язык CLIPS
- 554 7.3. Система обозначений
- 556 7.4. Поля
- 559 7.5. Вход и выход из системы CLIPS
- 561 7.6. Факты
- 562 Конструкция deftemplate
- 563 Многозначные слоты
- 563 Упорядоченные факты
- 564 7.7. Добавление и удаление фактов
- 568 7.8. Модификация и дублирование фактов
- 570 7.9. Команда watch
- 571 7.10. Конструкция deffacts
- 573 7.11. Компоненты правила
- 576 7.12. Рабочий список правил и выполнение программы
- 577 Отображение рабочего списка правил
- 578 Правила и релаксация правил
- 579 Отслеживание активизаций, правил и статистических данных
- 581 7.13. Команды, применяемые для манипулирования конструкциями
- 581 Отображение списка элементов указанной конструкции
- 582 Отображение текстового представления указанного элемента конструкции
- 583 Удаление указанного элемента конструкции
- 584 Удаление всех конструкций из среды CLIPS (очистка среды)
- 585 7.14. Команда printout
- 586 7.15. Использование нескольких правил
- 587 Отражение в правиле свойств реального мира
- 587 Правила с несколькими шаблонами
- 589 7.16. Команда set-break
- 590 7.17. Загрузка и сохранение конструкций
- 590 Загрузка конструкций из файла
- 591 Отслеживание операций компиляции
- 592 Сохранение конструкций в файле
- 592 7.18. Комментирование конструкций
- 593 7.19. Переменные
- 595 7.20. Многократное использование переменных
- 596 7.21. Адреса фактов
- 599 7.22. Однозначные подстановочные символы
- 601 7.23. Мир блоков
- 608 7.24. Многозначные подстановочные символы и переменные
- 608 Многозначные подстановочные символы
- 609 Многозначные переменные
- 611 Применение нескольких различных способов согласования с шаблонами
- 612 Реализация стека
- 613 Еще один вариант программы для мира блоков
- 615 7.25. Резюме
- 615 Задачи
- 625 Глава 8. Развитые средства сопоставления с шаблонами
- 625 8.1. Введение
- 626 8.2. Ограничения полей
- 626 Ограничение поля not
- 627 Ограничение ноля or
- 628 Ограничение поля and
- 628 Совместное применение ограничений полей с другими конструкциями
- 630 8.3. Функции и выражения
- 630 Элементарные математические функции
- 633 Переменное количество параметров
- 634 Определение приоритета и уровня вложенности выражений
- 635 8.4. Суммирование значений с использованием правил
- 638 8.5. Функция bind
- 639 8.6. Функции ввода-вывода
- 639 Функция read
- 640 Функция open
- 642 Функция close
- 643 Чтение из файла и запись в файл
- 644 Функция format
- 646 Функция readline
- 648 8.7. Игра в палочки
- 651 8.8. Предикативные функции
- 652 8.9. Условный элемент test
- 654 8.10. Предикативное ограничение поля
- 656 8.11. Ограничение поля для возвращаемого значения
- 658 8.12. Программа Sticks
- 659 8.13. Условный элемент or
- 662 8.14. Условный элемент and
- 664 8.15. Условный элемент not
- 667 8.16. Условный элемент exists
- 670 8.17. Условный элемент forall
- 673 8.18. Условный элемент logical
- 678 8.19. Резюме
- 679 Задачи
- 693 Глава 9. Модульное проектирование, управление выполнением и эффективность правил
- 693 9.1. Введение
- 694 9.2. Атрибуты def template
- 694 Атрибут type
- 696 Статическая и динамическая проверка ограничений
- 698 Атрибуты допустимого значения
- 699 Атрибут range
- 699 Атрибут cardinality
- 700 Атрибут default
- 702 Атрибут default-dynamic
- 704 Конфликтующие атрибуты слота
- 704 9.3. Значимость
- 708 9.4. Фазы и управляющие факты
- 714 9.5. Неправильное употребление подхода на основе значимости
- 717 9.6. Конструкция defmodule
- 719 Способы задания имен модулей в командах
- 722 9.7. Импорт и экспорт фактов
- 726 9.8. Модули и управление выполнением программы
- 728 Команда focus
- 730 Манипулирование стеком фокусов и его изучение
- 732 Команда return
- 734 Средство auto-focus
- 735 Отказ от фаз и управляющих фактов
- 737 9.9. Rete-алгоритм сопоставления с шаблонами
- 741 9.10. Сеть шаблонов
- 744 9.11. Сеть соединений
- 748 9.12. Важность правильного выбора порядка расположения шаблонов
- 749 Учет характеристик правила match-1
- 750 Учет характеристик правила match-2
- 752 Команда matches
- 754 Наблюдение за изменяющимся состоянием
- 755 9.13. Упорядочение шаблонов в целях повышения эффективности
- 756 Первоочередное размещение наиболее конкретных шаблонов
- 756 Размещение в последнюю очередь шаблонов, согласующихся с непостоянными фактами
- 757 Первоочередное размещение шаблонов, сопоставляющихся с наименьшим количеством фактов
- 757 9.14. Многозначные переменные и эффективность
- 758 9.15. Условный элемент test и эффективность программы
- 760 9.16. Встроенные ограничения сопоставления с шаблонами
- 761 9.17. Сравнение общих правил с конкретными правилами
- 763 9.18. Сравнение простых правил со сложными правилами
- 766 9.19. Резюме
- 768 Задачи
- 779 Глава 10. Процедурное программирование
- 779 10.1. Введение
- 779 10.2. Процедурные функции
- 780 Функция if
- 781 Функция while
- 782 Функция switch
- 784 Функция loop-for-count
- 786 Функция progn$
- 787 Функция break
- 787 Функция halt
- 788 10.3. Конструкция deffunction
- 790 Функция return
- 792 Еще один вариант программы Sticks
- 794 Рекурсия
- 794 Предварительные объявления
- 796 Отслеживание работы конструкций deffunction
- 798 Параметр с подстановочным символом
- 799 Команды для работы с конструкцией deffunction
- 801 Функции, определяемые пользователем
- 802 10.4. Конструкция defglobal
- 804 Команды, применяемые наряду с конструкциями defglobal
- 805 Принципы сброса (переустановки) значения переменной defglobal
- 806 Отслеживание значений переменных defglobal
- 807 Переменные defglobal и сопоставление с шаблонами
- 808 Использование конструкций defglobal
- 811 10.5. Конструкции defgeneric и defmethod
- 813 Еще один вариант конструкции deffunction с именем check-input
- 817 Приоритеты методов
- 824 Ограничения запроса
- 828 Отслеживание работы универсальных функций и методов
- 829 Команды defmethod
- 830 Команды defgeneric
- 831 Перегруженные функции и команды
- 832 10.6. Процедурные конструкции и конструкции defmodule
- 835 10.7. Полезные команды и функции
- 835 Загрузка и сохранение фактов
- 836 Команда system
- 837 Команда batch
- 839 Команды dribble-on и dribble-off
- 839 Выработка случайных чисел
- 840 Преобразование строки в поле
- 841 Поиск символа
- 841 Сортировка списка полей
- 843 10.8. Резюме
- 844 Задачи
- 851 Глава 11. Классы, экземпляры и обработчики сообщений
- 851 11.1. Введение
- 852 11.2. Конструкция defclass
- 853 11.3. Создание экземпляров
- 854 11.4. Обработчики сообщений, определяемые системой
- 857 11.5. Конструкция definstances
- 858 11.6. Классы и наследование
- 862 Разрешение конфликтов между определениями слотов
- 865 Абстрактные и конкретные классы
- 866 Команды, относящиеся к конструкции defclass
- 869 11.7. Сопоставление с шаблоном объекта
- 871 Сопоставление с шаблоном объекта и наследование
- 872 Ключевые слова is-a и name
- 875 Активизация шаблонов объектов
- 877 Атрибут сопоставления с шаблонами
- 878 Шаблоны объектов и условный элемент logical
- 881 Шаблон initial-object
- 882 11.8. Обработчики сообщений, определяемые пользователем
- 884 Сокращенные ссылки на слоты
- 887 Отслеживание процесса передачи сообщений и функционирования обработчиков сообщений
- 889 Команды defmessage-handler
- 890 11.9. Доступ к слоту и создание обработчика
- 894 11.10. Обработчики сообщений before, after и around
- 896 Обработчики before и after
- 899 Обработчики around
- 903 Перекрытие параметров обработчика сообщений
- 906 Порядок вызова обработчиков на выполнение
- 915 11.11. Создание экземпляра, инициализация и удаление обработчиков сообщений
- 917 Атрибут storage
- 919 11.12. Модификация и дублирование экземпляров
- 924 11.13. Классы и универсальные функции
- 925 11.14. Функции запроса множества экземпляров
- 926 Определение того, успешно ли выполнен запрос
- 928 Определение экземпляров, удовлетворяющих запросу
- 929 Выполнение действий над экземплярами, удовлетворяющими запросу
- 931 11.15. Множественное наследование
- 933 Конфликты, связанные с множественным наследованием
- 935 Сохранение и восстановление значений слотов
- 939 11.16. Конструкции defclass и defmodule
- 942 11.17. Загрузка и сохранение экземпляров
- 944 11.18. Резюме
- 945 Задачи
- 949 12. Примеры проектов экспертных систем
- 949 12.1. Введение
- 949 12.2. Коэффициенты достоверности
- 955 12.3. Деревья решений
- 957 Деревья решений с несколькими ребрами
- 959 Деревья решений, позволяющие проводить обучение
- 961 Программа для работы с деревом решений, основанная на правилах
- 967 Пошаговая трассировка программы обучения дерева решений
- 972 12.4. Обратный логический вывод
- 972 Алгоритм работы программы обратного логического вывода
- 975 Представление правил обратного логического вывода в языке CLIPS
- 978 Машина обратного логического вывода на языке CLIPS
- 980 Поэтапная трассировка работы программы обратного логического вывода
- 986 12.5. Задача текущего контроля
- 987 Формулировка задачи
- 990 Уточнение деталей, с которого должна начинаться разработка
- 992 Определения структур представления знаний
- 995 Управление работой программы
- 995 Чтение бесформатных показаний датчиков
- 1004 Распознавание тенденций
- 1008 Формирование предупреждающих сообщений
- 1011 12.6. Резюме
- 1012 Задачи
- 1015 Приложение А. Некоторые широко применяемые эквивалентности
- 1017 Приложение Б. Некоторые элементарные кванторы и их значение
- 1019 Приложение В. Некоторые свойства множеств
- 1021 Приложение Г. Информация о поддержке CLIPS
- 1023 Приложение Д. Общие сведения о командах и функциях CLIPS
- 1059 Приложение Е. Определение языка в нормальной форме Бэкуса-Наура
- 1069 Приложение Ж. Программные ресурсы
- 1119 Приложение З. Литература
- 1125 Предметный указатель
Инструкция как скачать книгу Джозеф Джарратано: Экспертные системы. Принципы разработки и программирование в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.