
Интеллектуальные системы |
Лекция 9 |
|
|||||||||||||||||
Интеллектуальные системы применяются для
Интеллектуальные системы основываются на знаниях.
Знания – это выявленные закономерности предметной области (принципы, связи, законы), позволяющие решать задачи в этой области. Данные – это отдельные факты, характеризующие объекты, процессы и явления в предметной области, а так же их свойства. Знания основываются на данных, но представляют результат мыслительной деятельности человека, обобщают его опыт практической деятельности. |
|
|
|||||||||||||||||
Экспертные системы ( ЭС ) |
|
|
|||||||||||||||||
Р
Экспертные системы – это программные комплексы, содержащие знания специалистов в конкретных предметных областях и предоставляющие этот опыт менее квалифицированным пользователям. Структура экспертной системы Знания существуют в двух видах –
Рис. 2.ЭС не нужна Рис.3. Необходима ЭС.
|
Обобщённая структурная схема ЭС представлена на Рис.1 Реальные ЭС могут иметь более сложную структуру, однако блоки, изображённые на рисунке, непременно будут присутствовать в любой действительно ЭС. Если большая часть знаний в предметной области представлена в виде коллективного опыта, эта область не нуждается в экспертных системах (например, высшая математика) Рис.2. Если в предметной области большая часть знаний является личным опытом специалистов высокого уровня (экспертов), такая предметная область нуждается в экспертной системе Рис. 3.
|
|
|||||||||||||||||
Как видим, экспертная система состоит из трех основных частей. Взаимосвязь между частями может быть сложной, зависящей от природы и организации знаний, а также от методов и целей вывода.
Экспертные системы вместе с системами обработки естественных языков являются наиболее важными в коммерческом плане областями использования искусственного интеллекта. Таблица 1. Критерий применимости ЭС.
В целом ЭС не рекомендуется применять для решения следующих типов задач: - математических, решаемых обычным путем формальных преобразований и процедурного анализа; - задач распознавания, поскольку в общем случае они решаются численными методами; - задач, знания о методах решения которых отсутствуют (невозможно построить базу знаний). 1.4. Области применения экспертных систем.
|
|||||||||||||||||||
Определим основные термины. Пользователь – специалист предметной области, для которого предназначена система. Инженер по знаниям – специалист по искусственному интеллекту, выступающий в роли буфера между экспертом и базой знаний. Интерфейс пользователя – комплекс программ, реализующих диалог пользователя с ЭС. База знаний (БЗ) – совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю. Блок логического вывода – программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ. Подсистема объяснений – программа, позволяющая пользователю получать ответы на вопросы.
Интеллектуальный редактор – программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя сервисные средства, облегчающие работу с базой. В коллектив разработчиков ЭС входят:
Возглавляет коллектив инженер по знаниям. |
- Обычно его квалификация недостаточно высока, и он нуждается в помощи ЭС. - Синонимы: когнитолог, инженер - интерпретатор, аналитик. - Диалог на стадии ввода информации и получения результатов. - БЗ – ядро ЭС. Форма представления – некоторый язык, приближённый к естественному. - Синонимы – решатель, дедуктивная машина. - Как была получена та или иная рекомендация? Почему система приняла такое решение? Показывает все шаги цепи умозаключений. - Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок и других сервисных средств, облегчающих работу с базой.
Как минимум 4 человека
Это ключевая фигура при разработке систем, основанных на знаниях.
|
||||||||||||||||||
Классификация экспертных систем:
Классификация по решаемой задаче
|
Класс «Экспертные системы» сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям. Полезными могут оказаться следующие классификации.
Одна из традиционных задач для экспертных систем. Обычно предусматривается многовариантный анализ данных.
|
||||||||||||||||||
В процессе проектирования необходимо связать процесс вывода решения и процесс объяснения.
|
Неисправность – это отклонение от нормы. С единых теоретических позиций можно рассматривать и неисправность оборудования и живых организмов.
Главные проблемы – «пропуск» тревожной ситуации и задача «ложного» срабатывания. В прогнозе используется модель, в которой значения параметров подгоняются под заданную ситуацию. В ЭС используются модели поведения реальных объектов с тем, чтобы логически вывести последствия планируемой –деятельности. Системы обучения планируют общение с учеником в зависимости от успехов ученика с целью передачи знаний и ликвидации слабости в знаниях. |
||||||||||||||||||
Все системы, основанные на знаниях, можно подразделить на:
|
В задачах анализа множество решений может быть перечислено и включено в систему, в задачах синтеза – множество решений потенциально строится из решений компонентов или подпроблем.
|
||||||||||||||||||
Классификация по связи с реальным временем
|
|||||||||||||||||||
Классификация ЭС по типу ЭВМ:
|
|||||||||||||||||||
Классификация по степени интеграции с другими программами
Инструментальные средства построения ЭС:
|
|||||||||||||||||||
Традиционные языки программирования
Достоинство языков – высокая эффективность, связанная с их близостью к традиционной машинной архитектуре. Языки искусственного интеллекта
Эти языки позволяют работать с символьными и логическими данными. Специальный программный инструментарий Это библиотеки и надстройки над языком искусственного интеллекта Лисп: KEE, FRL, KRL, ARTS.
|
В эту группу инструментальных средств входят традиционные языки программирования, ориентированные в основном на численные алгоритмы и слабо подходящие для работы с символьными и логическими данными. Языки, предназначенные для решения задач искусственного интеллекта. Универсальность их меньше, но они позволяют работать с символьными и логическими данными, что крайне важно для задач искусственного интеллекта. Надстройки позволяют пользователям работать с заготовками экспертных систем на более высоком уровне, нежели это возможно в обычных языках искусственного интеллекта.
KEE-Знания в области инженерии FRL-Абстрактное представление система языка. KRL-Знание о том, как язык представляется. |
||||||||||||||||||
“Оболочки” Это «пустые» версии существующих экспертных систем, т.е. готовые ЭС без базы знаний:
Оболочки:
|
Достоинство оболочек в том, что они вообще не требуют работы программистов для создания готовой экспертной системы. Достаточно специалиста в предметной области для заполнения оболочки. |
||||||||||||||||||
Этапы разработки ЭС Целесообразность ЭС в областях:
Процесс разработки делится на 6 независимых этапов:
проблемы;
версии ЭС, спроектированной для проверки правильности кодирования фактов, связей и рассуждений. При этом:
прототипа ЭС;
концепций предметной области;
Выделяют два этапа:
|
Разработка программных комплексов ЭС находится на уровне искусства, чем науки. Т.к. разрабатываются несколько прототипных версий программ, прежде чем получается конечный результат.
Этот этап включает деятельность, предшествующую решению начать разрабатывать конкретную ЭС. Правильный выбор проблемы представляет самую критическую часть разработки в целом, т.е. можно создать систему, которая стоит намного больше, чем экономит или работает, но не приемлема для пользователя. Перед коллективом разработчиков стоит чётко определённая задача. Роли разработчиков являются постоянными на протяжении всей разработки. Идентификация проблемы – знакомство и обучение коллектива разработчиков, создание неформальной формулировки проблемы. Извлечение знаний – получение инженером по знаниям наиболее полного представления о предметной области. Концептуализация знаний – разработка неформального описания знаний о предметной области в виде графа, таблицы, диаграммы или текста. Формализация знаний – разработка БЗ на доступном языке. Реализация – разработка программного комплекса, демонстрирующего жизнеспособность подхода в целом. |
||||||||||||||||||
|
9_6 |
||||||||||||||||||
средствами в среде, где она будет работать.
Язык программирования Си повышает быстродействие ЭС, но уменьшает её гибкость.
|
Тестирование – выявление ошибок в подходе и реализации прототипа и выработка рекомендаций по доводке системы до промышленного образца. Система должна обеспечить пользователю возможность лёгким и естественным образом спрашивать непонятное. Эксперты могут вводить новые правила. Стыковка подразумевает разработка связей между ЭС и средой, в которой она действует. Язык Си приемлем, если система сохраняет все знания проблемной области и это знание не будет изменяться в ближайшем будущем. В противном случае необходимо поддерживать систему в инструментальной среде разработки. |