
- •О.А. Печень
- •Оглавление
- •Предисловие
- •Раздел 1. Теоретические основы построения иис Тема 1.1. Развитие и области применения интеллектуальных информационных систем
- •1.1.1. Предмет, цель и задачи дисциплины
- •1.1.2. Классификация иис, место и роль иис в ит
- •Контрольные вопросы по теме
- •Тема 1.2. Знания и методы представления знаний
- •1.2.1. Знания, свойства и классификация знаний
- •1.2.2. Модели представления знаний
- •1.2.3. Логическая модель представления знаний
- •1.2.3. Нечеткая логика как расширение логической модели
- •1.2.4. Продукционная модель представления знаний
- •База правил
- •База правил
- •1.2.5. Модель представления знаний на основе семантических сетей
- •1.2.6. Представление знаний с применением фреймов
- •1.2.8. Использование различных моделей представления знаний
- •Контрольные вопросы по теме
- •Тема 1.3. Инженерия знаний и получение знаний
- •1.3.1. Инженерия знаний
- •1.3.2. Методы получения знаний
- •Контрольные вопросы по теме
- •Раздел 2. Технологии экспертных систем
- •2.1.2. Структура экспертных систем
- •2.1.3. Классификация экспертных систем
- •Контрольные вопросы по теме
- •Тема 2.2. Технология разработки экспертных систем
- •2.2.1. Этапы разработки экспертной системы
- •2.2.2. Состав и взаимодействие участников процесса разработки и эксплуатации эс
- •Контрольные вопросы по теме
- •Тема 2.3. Процесс поиска решений и механизмы вывода и рассуждений
- •2.3.1. Поиск как основа функционирования иис
- •2.3.2. Методы поиска решений в пространстве состояний
- •2.3.3. Стратегии поиска в глубину и ширину
- •2.3.4. Стратегия эвристического поиска
- •2.3.5. Формализация задач в пространстве состояний
- •Контрольные вопросы по теме
- •Раздел 3. Технологии нейронных сетей
- •Тема 3.1. Введение в нейронные сети и нейросетевые системы
- •3.1.1. Основы нейросетевого подхода
- •3.1.2. Построение и применение нейросетей
- •Контрольные вопросы по теме
- •Тема 3.2. Классификация и выбор структуры нейросетей
- •3.2.1. Классификация нейросетей
- •3.2.2. Выбор структуры нейросетей
- •Контрольные вопросы по теме
- •Тема 3.3. Решение задач с помощью нейросетей
- •3.3.1. Общий подход к построению нейросети
- •3.3.2. Обучение нейросети
- •3.3.3. Применение обученной нейросети
- •Контрольные вопросы по теме
- •Раздел 4. Эволюционные вычисления
- •Тема 4.1. Эволюционные вычисления и генетические алгоритмы
- •4.1.1. Сущность эволюционного подхода к вычислениям
- •4.1.2. Основы теории генетических алгоритмов
- •4.1.3. Направления развития генетических алгоритмов
- •Контрольные вопросы по теме
- •Раздел 5. Средства разработки и интерфейсы иис
- •Тема 5.1. Инструментальные средства разработки иис
- •5.1.1. Общие сведения о средствах разработки иис
- •5.1.2. Языки программирования для разработки иис
- •Тема 5.2. Интеллектуальные интерфейсы
- •5.2.1. Речевое взаимодействие с иис
- •5.2.2. Графические интеллектуальные интерфейсы
- •5.2.3. Интеллектуальные поисковые системы
- •5.2.4. Обучающие системы и тренажеры
- •Контрольные вопросы по теме
- •Литература
Контрольные вопросы по теме
Расскажите об эволюционном подходе.
Расскажите об основных парадигмах эволюционных вычислений.
Дайте описание, что такое генетический алгоритм.
Приведите основные операторы генетических алгоритмов и объясните назначения каждого оператора.
Перечислите основные характеристики генетических алгоритмов.
Расскажите общую последовательность работы генетического алгоритма.
Перечислите критерии остановки генетического алгоритма и объясните их.
Расскажите об эффективности генетических алгоритмов.
Опишите, каким способом можно повысить скорость работы генетических алгоритмов.
Расскажите, что вам известно об устойчивости работы генетических алгоритмов.
Перечислите направления развития генетических алгоритмов и кратко их опишите.
Раздел 5. Средства разработки и интерфейсы иис
Тема 5.1. Инструментальные средства разработки иис
5.1.1. Общие сведения о средствах разработки иис
Различные инструментальные средства построения ИИС можно разделить на ряд классов:
специализированные языки программирования;
языки представления знаний;
средства автоматизации построения ИИС;
оболочки для создания систем ИИ.
Коротко рассмотрим все четыре группы.
Языки программирования
Язык программирования можно рассматривать как механизм абстрагирования. Он дает возможность программисту описать вычисления на некотором абстрактном уровне и затем автоматически перевести это описание в форму, пригодную для выполнения на ЭВМ. Первоначально языки программирования, применяемые для ИИС были обычными высокоуровневыми проблемно-ориентированными языками (например Фортран или Паскаль).
Затем были предложены концепции, я затем реализации языков манипулирования символами (наиболее известен из них Лисп). Языки манипулирования символами предназначены для решения прикладных задач в области искусственного интеллекта. В основу языка Лисп положены следующие принципы: использование единого спискового представления для программ и данных; применение выражений для определения функций; скобочный синтаксис языка.
Несколько позже появилась концепция языка Пролог. В Прологе программист описывает предметную область, задавая для этого необходимые факты и правила, а Пролог-система сама строит дедуктивный вывод на введенных данных. Логическая программа представляет собой выполнимую формулу в некоторой логике.
Подробно языки программирования ИИС будут рассмотрены в следующем разделе.
Языки представления знаний
Языки, реализующие ту или иную модель представления знаний, называют языками представления знаний. Традиционно выделяют четыре модели представления знаний — логическую, продукционную, фреймовую, сетевую — и соответственно можно говорить о четырех типах языков представления знаний. Одними из самых известных являются фреймовые языки: GUS, KRL, FRL, OWL. Из продукционных языков самым распространенным языком является OPS5.
Языки представления знаний позволяют построить модель предметной области и описать решаемую задачу, а затем выполнять необходимые манипуляции над данными.
Подробно языки представления знаний нами рассматриваться не будут. Теоретичесик основы представления знаний были рассмотрены ранее в первом разделе теоретического курса. Пример такого языка рассмотрен в лабораторном практикуме при работе с оболочкой экспертных систем.
Средства автоматизации построения ИИС
Средства автоматизации построения ИИС предоставляют разработчику разнообразные средства быстрой разработки с учетом особенностей приложений. Такие средства объединяют в рамках одной среды различные методы решения задач, представления знаний и вывода. Типичными представителями этого класса инструментальных средств являются ART и KBE. Интегрированная среда ART объединяет два формализма представления знаний: правила и фреймы, причем приоритет здесь отдается правилам. Модели вывода в среде ART традиционны: прямой и обратный, однако они могут объединяться в один механизм вывода. Сситема предлагает дружественный интерфейс с развитой системой подсказок, системой меню и графическим пакетом, а также редактор баз знаний.
В отличие от ART инструментальное средство КBЕ являетс ядром, в основе которого лежат фреймы. Причем здесь слоты фреймов могут быть связаны с процедурными знаниями. Описание объектов и правил в КBЕ представляется в виде иерархии фреймов. Каждый объект представляется слотами, которые могут иметь различные значения, либо ссылки на процедуры, а процедуры, в свою очередь, могут иметь множественные значения. Интерфейс включает редактор базы знаний и графические средства.
Пример средства автоматизации построения ИИС детально рассматривается в лабораторном практикуме при конструировании нейронной сети на основе визуальной среды.
Оболочки для создания систем ИИ
Оболочки содержат все компоненты для создания ИИС в готовом виде. Как правило оболочки представляют собой некоторую среду, позволяющую описать структуру ИСС, либо содержат готовые варианты структуры системы (это справедливо для оболочек построения экспертных систем). Оболочка может содержать языковые средства для описания предметной области, специализированные редакторы и мастера для ускорения работы, средства для тестирования и отладки разрабатываемой системы. Но как правило, оболочки нацелены на решение некоторого класса задач, и им часто не хватает общности и гибкости, а разработчик ограничен только средсвами, предоставляемыми оболочкой.
На самом деле основным ограничением для всех инструментальных средств является наличие готовых механизмов вывода или управляющих стратегий. С одной стороны они резко сокращают время на разработку, с другой могут не соответствовать методам решения, которые требуется использовать для данной области применения, что способно приводить к неэффективным, а возможно, и неправильным решениям.
Пример оболочки рассматривается в лабораторном практикуме при построении учебной экспертной системы.