Министерство образования и науки Российской Федерации
Балтийский государственный технический университет «Военмех»
Кафедра информационных систем и компьютерных технологий
,
ЭКСПЕРТНЫЕ системы
Учебное пособие
Санкт-Петербург
2007
УДК 681.3.06
,
Экспертные системы: учебное пособие / , ; Балт. гос. техн. ун-т. — СПб., 2007 — с.
В данном учебном пособии в краткой форме изложены основные понятия, характеристики, а также принципы устройства и функционирования экспертных систем и систем представления знаний. В пособии содержится большое количество иллюстраций и таблиц, что будет полезно студентам при изучении дисциплин «Языки программирования в интеллектуальных системах» и «Моделирование систем представления знаний», как в рамках теоретического курса, так и при выполнении практических работ, предусмотренных учебной программой.
Пособие предназначено для студентов, обучающихся по специальности «Автоматизированные системы обработки информации и управления» и «Информационные системы и технологии».
УДК 681.3.06
Рецензент доц. Т. Павловская
Утверждено
редакционно-издательским
советом университета
© БГТУ, 2007
© , , 2007
ВВЕДЕНИЕ
Как известно, одной из наивысших человеческих способностей является генерация знаний, в особенности новых знаний. В недалеком прошлом считалось, что это доступно только естественному интеллекту. Однако в связи с развитием за последние десятилетия технической и информационной среды для существования искусственного интеллекта, проблема генерации новых знаний может решаться на автоматизированной основе.
Одним из наиболее развитых типов интеллектуальных систем являются экспертные системы, при изучении которых важным является представление структуры экспертных систем и их классификация, принципы построения и технология их разработки, представление знаний в экспертных системах и достижение целей. При этом особое внимание уделено рассмотрению продукционных экспертных систем.
В данном учебном пособие дается общее представление об экспертных системах и о методах поиска и извлечения знаний.
Пособие состоит из пяти глав. В первой главе дается общая классификация экспертных систем. Во второй главе рассказывается об общих принципах построения экспертных систем. В третьей главе представлены модели представления знаний. В четвертой главе рассмотрены методы эвристического поиска. В пятой главе даны методы формализации знаний о предметной области. В библиографический список включена литература, рекомендуемая для детального изучения тематики экспертных систем.
1. Классификация систем искусственного интеллекта
Экспертные системы (ЭС) являются одним из уже реализованных видов систем, получивших общее название «систем искусственного интеллекта». Под системой искусственного интеллекта понимают программную систему, имитирующую на компьютере мышление человека. Существующие в настоящее время системы искусственного интеллекта можно условно разделить следующим образом.
1. Системы восприятия и распознавания образов. Предназначены для преобразования исходных данных, поступающих в информационную систему по каналам восприятия, в образы, которыми может оперировать данная система. Наиболее важными для человека источниками информации являются органы зрения и слуха. Техническими аналогами глаза являются системы технического зрения (телекамеры, лазерные координаторы). Технические слуховые системы реализуются с помощью различных микрофонов. Однако системы распознавания образов могут работать и с информацией, недоступной для непосредственного восприятия человеком: например, системы распознавания радиолокационных или инфракрасных образов, системы распознавания гидроакустической информации.
2. Системы автоматического доказательства теорем и решения задач. Одной из первых областей применения систем искусственного интеллекта были задачи автоматического построения вычислительной процедуры (такие системы называются автоматическими решателями задач) и задачи автоматического доказательства теорем. В процессе создания таких программ были более глубоко изучены и получили дальнейшее развитие теории доказательств и эффективных методов их построения.
3. Системы управления. Системы с элементами искусственного интеллекта используются для автоматизации различных технологических процессов (управление роботами, роботами-манипуляторами, автопилоты) и других задач управления сложными техническими системами.
4. Системы решения игровых задач. Игры, характеризующиеся четкими правилами и конечным числом ситуаций, являются хорошей сферой применения дедуктивных методов. Широко известны системы, способные самостоятельно играть в интеллектуальные игры (например, шахматы).
5. Экспертные системы. Реализация при помощи компьютера процесса принятия решений специалистом в некоторой предметной области (экспертом – специалистом очень высокого класса).
Приведем формальное определение экспертной системы: Экспертная система – это программа для компьютера, которая оперирует со знаниями в определенной области с целью выработки рекомендаций или решения проблем.
Важной особенностью экспертных систем является изначальное их предназначение для использования человеком и оказания ему эффективной помощи. Необходимым средством для этого является возможность диалога на естественном языке программы со специалистом. Кроме того, необходимо, чтобы специалист понимал систему и в случае необходимости мог сообщить ей свои рассуждения и «убедить» ее в их справедливости. Для этого нужно, чтобы декларативные знания, используемые системой, были отделены от обслуживающих их программных средств и в то же время были доступны самой системе. Необходимо также, чтобы выводы системы были простыми и устойчивыми и их можно было легко объяснить.
И самое главное состоит в том, чтобы специалисты и эксперты могли легко передавать системе свои знания, обогащать ее. Для этого нужно иметь возможность вводить в систему знания в произвольном порядке, чисто описательным способом (не ориентируясь на их будущее использование, в отличие от классических жестких алгоритмических процедур). Сама система должна уметь упорядочивать и структурировать эти знания, сравнивать их с уже имеющимися и строить свою собственную модель знаний.
Смена поколений вычислительной техники приравнивается к очередной научно-технической революции, и это не преувеличение. С компьютеров появлением нового поколения не только стал решаться принципиально новый класс задач во всех отраслях науки и техники, но и существенно расширяются возможности при решении прежних традиционных задач на новом, более качественном, уровне.
Более высокий качественный уровень в решении задач предполагает, прежде всего, обеспечение необходимой и достаточной интеллектуальной поддержкой. Интеллектуализация информационно-вычислительных систем (ИВС) имеет в виду использование не только нового поколения инструментальных средств, но и нового поколения математического, алгоритмического и программного обеспечения.
Информационно-вычислительные системы с интеллектуальной поддержкой, как правило, применяются для решения сложных задач, где логическая (смысловая) обработка информации превалирует над вычислительной. Примерами подобных задач являются:
1. понимание и синтез текстов на естественном языке (ЕЯ);
2. понимание и синтез речи;
3. анализ визуальной информации;
4. управление роботами;
5. анализ ситуаций и принятие решений.
В последние десятилетия подобные системы получили значительное распространение в мире.
Прежде всего, уточним определение системы с элементами искусственного интеллекта и понятия «интеллектуальной системы» и «интеллектуализированной системы».
Интеллектуальная система — 1. Это информационно-вычислительная система (ИВС) с интеллектуальной поддержкой при решении задач без участия оператора (лица, принимающего решение — ЛПР). 2. Это ИВС с интеллектуальной поддержкой при решении задач с участием оператора — ЛПР. 3. Система, способная самостоятельно принимать решения.
Под способностью системы самостоятельно принимать решение необходимо понимать способность системы получать и анализировать информацию, понимать ее и делать новые выводы (пополняя ее), формулировать заключения, т. е. «мыслить», помогая естественному интеллекту — человеку, который, в свою очередь, корректируя, «улучшает» принятое интегрированное решение.
Здесь следует оговорить, что существуют автоматы или просто механическое или электронное реле, которые реагируют на наличие или отсутствие сигнала или при контроле параметров работают по принципу «годен — негоден». Это тоже принятие решения, однако, отнесем их к ИВС с низким уровнем «интеллектуализации».
Под интеллектуализированной системой (ИнС) будем понимать систему, способную принимать решение в условиях:
— необходимости обрабатывать и анализировать большой массив информационной базы данных;
— ограниченной информации;
— неопределенности;
— многомерного пространства;
— необходимости распознавать ситуацию (образы, сцены и т. д.);
— различных стадий жизненного цикла объектов (процессов);
— проектирования, производства, эксплуатации;
— динамических, эволюционизирующих, нестационарных фактов, влияющих на решение задачи;
— формализации и представления знаний;
— адаптации, самообучения, самоорганизации и т. д.
Таким образом, если ИВС имеет необходимую математическую, алгоритмическую, программную и инструментальную поддержку в принятии решения в перечисленных условиях, то будем считать, что она имеет интеллектуальную поддержку при решении широкого класса разнообразных задач.
Иными словами, можно формально записать:
ИнС = <МО, АО, ПО, ИО>|(А, В, …, И),
где МО, АО, ПО, ИО — соответственно математическое, алгоритмическое, программное и инструментальное обеспечение; <>|() — означает при условии.
Все существующие ИнС можно разбить на два класса: общего назначения и специализированные. К ИнС общего назначения отнесены те, которые не только исполняют заданные процедуры; но на основе метапроцедур поиска генерируют и исполняют процедуры решения новых конкретных задач. Технология использования таких систем состоит в следующем. Пользователь-оператор (эксперт) формирует знания (данные и правила), описывающие выбранное приложение (прикладные задачи, предметную область). Затем на основании этих знаний, заданной цели и исходных данных метапроцедуры системы генерируют и исполняют процедуру решения конкретной задачи.
![]() |
Рис. 1. Технология использования ИнС общего назначения (инженерия знаний)
Данную технологию называют технологией систем, основанных на знании, или технологией инженерии знаний (рис. 1).
К специализированным ИнС отнесены те, которые выполняют решение фиксированного набора задач, предопределенного при проектировании системы. Для использования таких систем требуется наполнить их данными, соответствующими выбранному приложению (прикладным задачам, предметной области).
До недавнего времени при разработке специализированных ИнС использовалась технология традиционного (процедурного) программирования, что позволяет обеспечить их высокую эффективность (рис. 2).
Рис. 2. Традиционный подход к разработке специализированных ИнС (с использованием процедурного программирования)
Однако эта технология существенно ограничивала способность ИнС к изменению их поведения при изменяющемся окружении, что крайне важно при решении многих интеллектуальных задач. В связи с этим в последнее время для устранения этого недостатка отдельные виды ИнС (системы речевого общения, обработки изображений и т. д.) стали разрабатывать, используя технологию инженерии знаний, в виде ЭС. Примерами специализированных ИнС являются интеллектуальные диалоговые системы и прикладные ЭС.
Так как терминология в области разработки ИнС находится на стадии формирования, для ясности определим основные термины.
Предметная область — объектно-ориентированным образом выделенная и формально описанная область человеческой деятельности (множество сущностей, описывающих область исследования или экспертизы).
Проблемная область — предметная область плюс совокупность решаемых в ней задач.
Неформализованные задачи — задачи, которые обладают одной или несколькими из следующих характеристик:
1. они не могут быть заданы в числовой форме, т. е. задаются в качественном виде или в терминах теории нечетких множеств;
2. цели не могут быть выражены в терминах точно определенной целевой функции;
3. не существует алгоритмического решения задач;
4. алгоритмическое решение существует, но его нельзя использовать из-за ограниченности ресурсов (время, память).
Экспертная система (система, основанная на знаниях, СОЗ) — сложный программный комплекс, аккумулирующий в формальном виде знания специалистов в конкретных предметных областях.
Пользователь (конечный пользователь) — лицо, для которого предназначена система.
Инженер по знаниям (когнитолог, инженер-интерпретатор) — специалист по ИИ, выступающий в роли промежуточного буфера между экспертом и базой знаний.
Эксперт — высококвалифицированный специалист, согласившийся поделиться опытом в рассматриваемой предметной области.
Интерфейс пользователя — комплекс программ, реализующих диалог пользователям с ИнС на всех стадиях функционирования ИнС.
База знаний (БЗ) — ядро ИнС, совокупность знаний предметной области, записанная на машинный носитель на языке представления знаний (обычно приближенном к естественному).
Решатель (машина логического вывода, дедуктивная машина, интерпретатор) — программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ.
Подсистема объяснений — программа, позволяющая пользователю получать ответы на вопросы: как была получена та или иная рекомендация и почему система приняла такое решение?
Технология синтеза ЭС — технология создания на основе знаний экспертов систем, решающих неформализованные задачи в слабоструктурированных предметных областях.
Существует порядка 8—10 типовых задач (табл. 1), для которых использование технологии ИнС приносит значительные результаты.
В общем случае все ИнС можно подразделить на решающие задачи анализа и на решающие задачи синтеза. Примерами задач анализа являются задачи интерпретации данных и диагностики. Примерами задач синтеза являются задачи проектирования и планирования. Комбинированные задачи — задачи обучения, мониторинга, управления.
Таблица 1. Типы задач, решаемых ИнС
Тип задачи | Определение (адресуемые задачи) |
Интерпретация | Процесс определения смысла данных (построение описаний по наблюдаемым данным) |
Диагностика | Процесс обнаружения неисправностей (в технике и в живых организмах) |
Слежение (мониторинг) | Непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходах параметров за допустимые пределы |
Прогнозирование | Предсказание будущих событий на базе моделей прошлого и настоящего (вывод вероятных следствий из заданных ситуаций) |
Планирование | Конструирование плана, т. е. программы действий |
Проектирование | Построение спецификаций на создание объектов с заранее определенными свойствами |
Отладка, ремонт | Выработка рекомендаций по устранению неисправностей |
Обучение | Диагностика, интерпретация, планирование, проектирование |
Управление | Интерпретация, прогноз, планирование, моделирование, оптимизация выработанных решений, мониторинг |
На рис. 3 — 6 представлены наиболее распространенные типы классификаций ИнС.
Существуют и другие классификации ИнС:
— по предметной области (медицина, геология, авиация и т. д.);
Рис. 3. Классификация ИнС по степени реализации (стадиям существования)
![]() |
Рис. 4. Классификация ИнС по степени сложности
— по моделям представления данных (продукционные, фреймовые и др.);
— по типу вывода (прямого или обратного);
— по типу компьютеров (персональные компьютеры, сетевые сервера, универсальные высокопроизводительные компьютеры — мейнфреймы, кластерные системы и суперкомпьютеры. Ранее было распространено деление на малые, средние, большие компьютеры).
Следует отметить, что подавляющее число ИнС, используемых для решения практически значимых задач, являются интегрированными, т. е. состоящими из традиционной ИнС и других программных систем (рис. 5), с которыми ИнС взаимодействуют в процессе работы (СУБД, пакеты прикладных программ (ППП), электронные таблицы и т. д.).
Базовой проблемой в таких ИнС является проблема интеграции, которую можно рассматривать с точки зрения следующих аспектов:
— интеграция в ИнС различных компонентов, определяющих специфику функционирования системы в целом (ИнС с поверхностной и глубинной интеграцией компонентов);
— интеграция (функциональная, структурная, концептуальная), связанная с основными проектными решениями и концепциями;
![]() |
Рис. 5. Классификация ИнС по степени интеграции с другими программными системами (САПР — система автоматизированного проектирования; СУБД — система управления базами данных; ППП — пакет прикладных программ)
![]() |
Рис. 6. Классификация ИнС по сложности и типу компьютеров
— интеграция (информационная, программная, техническая), связанная с используемыми технологиями программирования, инструментальными средствами и платформами.
Следует отметить, что с ростом производительности средств вычислительной техники, традиционно относимых к классу персональных компьютеров, на них становится возможным выполнение и определенной части сложных ИнС, в результате чего приведенная на рис. 6 классификация становится менее четкой.
В настоящее время в области искусственного интеллекта выделено шесть основных проблем (направлений развития).
1. Представление знаний. В рамках этой проблемы решаются задачи, связанные с формализацией и представлением знаний в памяти ИнС. Для этого разрабатываются специальные модели представления знаний и языки для описания знаний, выделяются различные типы знаний. Изучаются источники, из которых ИнС может черпать знания, и создаются процедуры и приемы, с помощью которых возможно приобретение знаний для ИнС. Проблема представления знаний для ИнС чрезвычайно актуальна, так как ИнС — это система, функционирование которой опирается на знания о проблемной области, которые хранятся в ее памяти.
2. Манипулирование знаниями. Для того чтобы знаниями можно
было пользоваться при решении задач, ИнС должна уметь:
1. оперировать знаниями;
2. пополнять знания (с помощью разрабатываемых способов на основе неполного описания знаний);
3. классифицировать хранящиеся в системе знания;
4. обобщать по тем или иным разработанным процедурам знания;
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 |






