Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
УНИВЕРСИТЕТ РОССИЙСКОЙ АКАДЕМИИ ОБРАЗОВАНИЯ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И ПРИКЛАДНОЙ МАТЕМАТИКИ
КАКАЯ-ТО РАБОТА
по дисциплине «Базы данных и экспертные системы»
на тему «Экспертные системы»
Исполнитель:
студент
формы обучения: заочная
Кузнецов Юрий Александрович
Руководитель:
Доцент Григорьев Анатолий Алексеевич
Дата защиты________________
Оценка_____________________
Зав. кафедрой_____________
/ Ф.И.О. /
Москва 2013
Содержание
Введение______________________________________________________3стр.
1. Экспертные системы, их особенности____________________________5стр.
1.1. Определение экспертных систем, достоинство и назначение_______5стр.
1.2. Классификация экспертных систем____________________________7стр.
1.3. Отличие экспертных систем от традиционных программ_________12стр.
1.4. Области применения экспертных систем______________________17стр.
1.5. Оболочки экспертных систем_________________________________________20стр.
2.Структура экспертных систем_________________________________24стр.
2.1Основные компоненты экспертных систем_____________________24стр.
2.2. Классификация инструментальных средств экспертных систем___28стр.
2.3. Организация знаний в экспертных системах___________________29стр.
Заключение__________________________________________________34стр.
Литература__________________________________________________37стр.
Введение
Экспертные системы возникли как значительный практический результат в применении и развитии методов искусственного интеллекта - совокупности научных дисциплин, изучающих методы решения задач интеллектуального (творческого) характера с использованием ЭВМ.
Область искусственного интеллекта имеет более чем сорокалетнюю историю развития. С самого начала в ней рассматривался ряд весьма сложных задач, которые, наряду с другими, и до сих пор являются предметом исследований: автоматические доказательства теорем, машинный перевод, распознавание изображений и анализ сцен, планирование действий роботов, алгоритмы и стратегии игр.
Экспертная система - это набор программ, выполняющий функции эксперта при решении задач из некоторой предметной области. Экспертные системы выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение экспертных систем на предприятиях способствует эффективности работы и повышению квалификации специалистов.
Главным достоинством экспертных систем является возможность накопления знаний и сохранение их длительное время. В отличие от человека к любой информации экспертные системы подходят объективно, что улучшает качество проводимой экспертизы.
При создании экспертных систем возникает ряд затруднений. Это, прежде всего, связано с тем, что заказчик не всегда может точно сформулировать свои требования к разрабатываемой системе. Также возможно возникновение трудностей чисто психологического порядка: при создании базы знаний системы эксперт может препятствовать передаче своих знаний, опасаясь, что впоследствии его заменят «машиной». Но эти страхи не обоснованы, так как экспертные системы не способны обучаться, они не обладают здравым смыслом, интуицией. Но в настоящее время ведутся разработки экспертных систем, реализующих идею самообучения. Также экспертные системы неприменимы в больших предметных областях и в тех областях, где отсутствуют эксперты.
Причиной повышенного интереса, который экспертные системы вызывают к себе на протяжении всего своего существования, является возможность их применения к решению задач из самых различных областей человеческой деятельности.
Поэтому, для того чтобы более подробно познакомиться с экспертными системами. В курсовой работе будут рассмотрены основные понятия и компоненты экспертных систем, их достоинства и недостатки, различные классификации, отличия экспертных систем от других программ.
1.Экспертные системы, их особенности
1.1.Определение экспертных систем, достоинство и назначение
Экспертные системы - это яркое и быстро прогрессирующее направление в области искусственного интеллекта.
Искусственный интеллект самое молодое научное направление. Появление его было подготовлено развитием мощности вычислительных машин.
Искусственный интеллект занимает исключительное положение. Это связано со следующим:
часть функций программирования в настоящее время оказалось возможным передать машине. При этом общение с машиной происходит на языке, близком к разговорному. Для этого в ЭВМ закладывают огромную базу знаний, способы решения, процедуры синтеза, программы, а также средства общения, позволяющие пользователю легко общаться с ЭВМ.
Системы, относящиеся к системам искусственного интеллекта в настоящее время:
Экспертная система - это набор программ или программное обеспечение, которое выполняет функции эксперта при решении какой-либо задачи в области его компетенции. Экспертная система, как и эксперт-человек, в процессе своей работы оперирует со знаниями. Знания о предметной области, необходимые для работы экспертных систем, определённым образом формализованы и представлены в памяти ЭВМ в виде базы знаний, которая может изменяться и дополняться в процессе развития системы.
Экспертные системы выдают советы, проводят анализ, выполняют классификацию, дают консультации и ставят диагноз. Они ориентированы на решение задач, обычно требующих проведения экспертизы человеком-специалистом. В отличие от машинных программ, использующий процедурный анализ, экспертные системы решают задачи в узкой предметной области (конкретной области экспертизы) на основе дедуктивных рассуждений. Такие системы часто оказываются способными найти решение задач, которые неструктурированны и плохо определены. Они справляются с отсутствием структурированности путём привлечения эвристик, то есть правил, взятых «с потолка», что может быть полезным в тех системах, когда недостаток необходимых знаний или времени исключает возможность проведения полного анализа.
Главное достоинство экспертных систем - возможность накапливать знания, сохранять их длительное время, обновлять и тем самым обеспечивать относительную независимость конкретной организации от наличия в ней квалифицированных специалистов. Накопление знаний позволяет повышать квалификацию специалистов, работающих на предприятии, используя наилучшие, проверенные решения.
Практическое применение искусственного интеллекта на машиностроительных предприятиях и в экономике основано на экспертных системах, позволяющих повысить качество и сохранить время принятия решений, а также способствующих росту эффективности работы и повышению квалификации специалистов.
1.2.Классификация экспертных систем
Схема классификации
Класс «экспертные системы» сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям.
Классификация по решаемой задаче
Интерпретация данных. Это одна из традиционных задач для экспертных систем. Под интерпретацией понимается определение смысла данных, результаты которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анализ данных.
Пример:
ТЕСТ и МИКРОЛЮШЕР и других.
Диагностика. Под диагностикой понимается обнаружение неисправности в некоторой системе. Неисправность - это отклонение от нормы. Такая трактовка позволяет с единых теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания живых организмов, и всевозможные природные аномалии. Важной спецификой является необходимость понимания функциональной структуры («анатомии») диагностирующей системы.
Пример:
Мониторинг. Основная задача мониторинга - непрерывная интерпретация данных в I реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы «пропуск» тревожной ситуации и инверсная задача «ложного» срабатывания. Сложность этих проблем в размытости симптомов тревожных ситуаций и необходимость учёта временного контекста.
Пример:
диспетчерам атомного реактора - REACTOR;
Проектирование. Проектирование состоит в подготовке спецификаций на создание «объектов» с заранее определёнными свойствами. Под спецификацией понимается весь набор необходимых документов - чертёж, пояснительная записка и так далее. Основные проблемы здесь - получение чёткого структурного описания знаний об объекте и проблема «следа». Для организации эффективного проектирования и, в ещё большей степени, перепроектирования необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связываются два основных процесса, выполняемых в рамках соответствующей экспертной системы: процесс вывода и процесс объяснения.
Пример:
Прогнозирование. Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров «подгоняются» под заданную ситуацию. Выводимые из этой модели следствия составляют основу для прогнозов с вероятностными оценками.
Пример:
Планирование. Под планированием понимается нахождение планов действий, относящихся к объектам, способным выполнять некоторые функции. В таких экспертных системах используются модели поведения реальных объектов с тем, чтобы логически вывести последствия планируемой деятельности.
Пример:
Обучение. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом «ученике» и его характерных ошибках, затем в работе способны диагностировать слабости в знаниях обучаемых и находить соответствующие средства для их ликвидации. Кроме того, они планируют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний.
Пример:
В общем случае все системы, основанные на знаниях, можно подразделить на системы, решающие задачи анализа, и на системы, решающие задачи синтеза. Основное отличие задач анализа от задач синтеза заключается в следующем: если в задачах анализа множество решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально строится из решений компонентов или подпроблем. Задача анализа - это интерпретация данных, диагностика; к задачам синтеза относятся проектирование, планирование. Комбинированные задачи: обучение, мониторинг, прогнозирование.
Классификация по связи с реальным временем
Статические экспертные системы разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени. Они стабильны.
Пример.
Диагностика неисправностей в автомобиле.
Квазидинамические экспертные системы интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.
Пример. Микробиологические экспертные системы, в которых снимаются лабораторные измерения с технологического процесса один раз в 4-5 ч. (например, производство лизина) и анализируется динамика полученных показателей по отношению к предыдущему измерению.
Динамические экспертные системы работают в сопряжении с датчиками объектов в режиме реального времени с непрерывной интерпретацией поступаемых данных.
Пример. Управление гибкими производственными комплексами, мониторинг в реанимационных палатах и так далее.
Классификация по типу ЭВМ
На сегодняшний день существуют:
Классификация по степени интеграции с другими программами
Автономные экспертные системы работают непосредственно в режиме консультаций с пользователем для специфических «экспертных» задач, для решения которых не требуется привлекать традиционные методы обработки данных (расчёты, моделирование и так далее.).
Гибридные экспертные системы представляют программный комплекс, агрегирующий стандартные пакеты прикладных программ (например, математическую статистику, линейное программирование или системы управления базами данных) и средства манипулирования знаниями. Это может быть интеллектуальная надстройка над ППП или интегрированная среда для решения сложной задачи с элементами экспертных знаний.
Несмотря на внешнюю привлекательность гибридного подхода, следует отметить, что разработка таких систем являет собой задачу, на порядок более сложную, чем разработка автономной экспертной системы. Стыковка не просто разных пакетов, а разных методологий (что происходит в гибридных системах) порождает целый комплекс теоретических и практических трудностей.
1.3.Отличие экспертных систем от традиционных программ
Один из способов определить экспертные системы - это сравнить их с обычными программами. Главное различие состоит в том, что экспертные системы манипулируют знаниями, тогда как обычные программы манипулируют данными. Фирма Теknowledge, которая занимается производством коммерческих экспертных систем, описывает эти различия, как показано в следующей таблице.
Обработка данных |
Инженерия знаний |
Представление и использование данных Алгоритмы Повторный прогон Эффективная обработка больших баз данных |
Представление и использование знаний Эвристики Процесс логического вывода Эффективная обработка баз знаний |
Специалисты в области искусственного интеллекта имеют несколько более узкое (и более сложное) представление о том, что такое экспертная система. Под экспертной системой понимается программа для ЭВМ, обладающая следующими свойствами.
Компетентность. Экспертная система должна демонстрировать компетентность, то есть достигать в конкретной предметной области того же уровня профессионализма, что и эксперты-люди. Но просто уметь находить хорошие решения ещё недостаточно. Настоящие эксперты не только находят хорошие решения, но часто находят их очень быстро, тогда как новичкам для нахождения тех же решений, как правило, требуется намного больше времени. Следовательно, экспертная система должна быть умелой - она должна применять знания для получения решений эффективно и быстро, используя приёмы и ухищрения, какие применяют эксперты-люди, чтобы избежать громоздких или ненужных вычислений. Для того чтобы по-настоящему подражать поведению эксперта-человека, экспертная система должна обладать робастностъю. Это подразумевает не только глубокое, но и достаточно широкое понимание предмета. А этого можно достичь, используя общие знания и методы нахождения решений проблем, чтобы уметь рассуждать исходя из фундаментальных принципов в случае некорректных данных или неполных наборов правил. Это один из наименее разработанных методов в современных экспертных системах, но именно им успешно пользуются эксперты-люди.
Символьные рассуждения. Эксперты, решая какие-то задачи (особенно такого типа, для решения которых применяются экспертные системы), обходятся без решения систем уравнений или других трудоёмких математических вычислений. Вместо этого они с помощью символов представляют понятия предметной области и применяют различные стратегии и эвристики в процессе манипулирования этими понятиями. В экспертной системе знания тоже представляются в символьном виде, то есть наборами символов, соответствующих понятиям предметной области. В искусственном интеллекте символ - это строка знаков, соответствующая содержанию некоторого понятия реального мира.
Примеры символов:
Продукт
ответчик
0.8
Эти символы можно объединить, чтобы выразить отношения между ними. Когда эти отношения представлены в программе искусственного интеллекта, они называются символьными структурами.
Примеры символьных структур:
(ДЕФЕКТНЫЙ продукт)
(ВЫПУЩЕННЫЙ ответчиком продукт)
(РАВНО (ОТВЕТСТВЕННОСТЬ ответчик) 0.8)
Эти структуры можно интерпретировать следующим образом: «продукт является дефектным», «продукт был выпущен в продажу ответчиком» и «ответственность ответчика равна 0.8».
При решении задачи экспертная система вместо выполнения стандартных математических манипулирует этими символами. Нельзя сказать, что экспертная система вообще не производит математических расчётов, она их делает, но в основном она приспособлена для манипулирования символами. Вследствие подобного подхода представление знаний - выбор, форма и интерпретация используемых символов - становится очень важным. Кроме того, эксперты могут получить задачу, сформулированную неким произвольным образом, и преобразовать её к тому виду, который в наибольшей степени соответствует быстрому получению решения или гарантирует его максимальную эффективность. Эта способность переформулирования задачи - как раз то свойство, которое должно быть присуще экспертной системе для того, чтобы приблизить их мастерство к уровню экспертов-людей. К сожалению, большинство существующих в настоящее время экспертных систем не обладают этим свойством.
Глубина. Экспертная система должна иметь глубокие знания; это значит, что она способна работать эффективно в узкой предметной области, содержащей трудные, нетривиальные задачи. Поэтому правила в экспертной системе с необходимостью должны быть сложными либо в смысле сложности каждого правила, либо в смысле их обилия. Экспертные системы, как правило, работают с предметными областями реального мира, а не с тем, что специалисты в области искусственного интеллекта называют игрушечными предметными областями. В предметной области реального мира тот, кто решает задачу, применяет фактическую информацию к практической проблеме и находит решения, которые являются ценными с точки зрения некоторого критерия, определяющего соотношение стоимости и эффективности. В игрушечной предметной области либо задача подвергается чрезвычайному упрощению, либо производится нереалистическая адаптация некоторой сложной проблемы реального мира. Тот, кто решает такую проблему, обрабатывает искусственную информацию, которая в целях облегчения решения упрощена и порождает решения, имеющие чисто теоретический интерес.
В тех случаях, когда по отношению к сложной задаче или данным о ней сделаны существенные упрощения, полученное решение может оказаться неприменимым в масштабах, которые характерны для реальной проблемы. Рекомендации, методы представления знаний, организация знаний, необходимые для применения методов решения задач к этим знаниям, часто связаны с объёмом и сложностью пространства поиска, т.е. множества возможных промежуточных и окончательных решений задачи. Если проблема сверхупрощена или нереалистична, то размерность пространства поиска будет, скорее всего, резко уменьшена, и не возникнет проблем с быстродействием и эффективностью, столь характерных для реальных задач. Эта проблема размерности возникает столь естественно и неуловимо, что специалисты в искусственном интеллекте могут не оценить её истинные масштабы.
Самосознание. Экспертные системы имеют знания, позволяющие рассуждать об их собственных действиях, и структуру, упрощающую такие рассуждения. Например, если экспертная система основана на правилах, то ей легко просмотреть цепочки выводов, которые она порождает, чтобы прийти к решению задачи. Если заданы ещё и специальные правила, из которых ясно, что можно сделать с этими цепочками выводов, то можно использовать эти знания для проверки точности, устойчивости и правдоподобия решений задачи и даже построить доводы, оправдывающие или объясняющие процесс рассуждения. Это знание системы о том, как она рассуждает, называется метазнанием, что означает всего лишь знания о знаниях.
У большинства ныне существующих экспертных систем есть так называемый механизм объяснения. Это знания, необходимые для объяснения того, каким образом система пришла к данным решениям. Большинство этих объяснений включают демонстрацию цепочек выводов и доводов, объясняющих, на каком основании было применено каждое правило в цепочке. Возможность проверять собственные процессы рассуждения и объяснять свои действия - это одно из самых новаторских и важных свойств экспертных систем. Но почему это свойство так важно?
«Самосознание» так важно для экспертных систем потому, что: пользователи начинают больше доверять результатам, испытывать большую уверенность в системе;
ускоряется развитие системы, так как систему легче отлаживать;
предположения, положенные в основу работы системы, становятся явными, а не подразумеваемыми;
легче предсказывать и выявлять влияние изменений на работу системы.
Умение объяснить - это всего лишь один из аспектов самосознания. В будущем самосознание позволит экспертной системе делать даже больше. Они сами смогут создавать обоснования отдельных правил путём рассуждения, исходящего из основных принципов. Они будут приспосабливать свои объяснения к требованиям пользователя. Они смогут измерить собственную внутреннюю структуру путём коррекции правил, реорганизации базы знаний и реконфигурации системы.
Первый шаг в этом направлении - выделить метазнания и сделать их явными, точно так же как знания о предметной области выделены и сделаны явными. Ниже приведён пример метазнания - знания о том, как использовать предметные знания.
ЕСЛИ: к данной ситуации применимо несколько правил,
ТО: использовать сначала правила, предложенные экспертами, прежде чем прибегнуть к правилам, предложенным новичками.
Это метаправило говорит экспертной системе, каким образом она должна выбирать те правила, которые надо выполнить. Специалисты по искусственному интеллекту только начинают экспериментировать с формами представления метазнаний и их организацией в экспертных системах.
Экспертные системы делают ошибки. Существует очень важное отличие экспертных систем от традиционных программ. Тогда как традиционные программы разрабатываются таким образом, чтобы каждый раз порождать правильный результат, экспертные системы разработаны с тем, чтобы вести себя как эксперты, которые, как правило, дают правильные ответы, но иногда способны ошибаться.
На первый взгляд кажется, что в этом отношении программы имеют явное преимущество. Однако это преимущество кажущееся. Традиционные программы для решения сложных задач, напоминающих те, которые подходят для экспертных систем, тоже могут делать ошибки. Но их ошибки чрезвычайно трудно исправлять, поскольку стратегии, эвристики и принципы, лежащие в основе этих программ, явно не сформулированы в их тексте. Следовательно, эти ошибки нелегко определить и исправить. Подобно своим двойникам-людям экспертные системы могут делать ошибки. Но в отличие от обычных программ они имеют потенциальную способность учиться на своих ошибках. С помощью компетентных пользователей можно заставить экспертные системы совершенствовать своё умение решать задачи в ходе практической работы.
1.4.Области применения экспертных систем
Области применения систем, основанных на знаниях, могут быть сгруппированы в несколько основных классов: медицинская диагностика, контроль и управление, диагностика неисправностей в механических и электрических устройствах, обучение.
Диагностические системы используются для установления связи между нарушениями деятельности организма и их возможными причинами. Наиболее известна диагностическая система MYCIN, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях. Её первая версия была разработана в Стенфордском университете в середине 70-х годов. В настоящее время эта система ставит диагноз на уровне врача-специалиста. Она имеет расширенную базу знаний, благодаря чему может применяться и в других областях медицины.
Прогнозирующие системы предсказывают возможные результаты или события на основе данных о текущем состоянии объекта. Программная система «Завоевание Уолл-стрита» может проанализировать конъюнктуру рынка и с помощью статистических методов алгоритмов разработать план капиталовложений на перспективу. Она не относится к числу систем, основанных на знаниях, поскольку использует процедуры и алгоритмы традиционного программирования. Хотя пока ещё отсутствуют экспертные системы, которые способны за счёт своей информации о конъюнктуре рынка помочь увеличить капитал, прогнозирующие системы уже сегодня могут предсказывать погоду, урожайность и поток пассажиров. Даже на персональном компьютере, установив простую систему, основанную на знаниях, можно получить местный прогноз погоды.
Планирующие системы предназначены для достижения конкретных целей при решении задач с большим числом переменных. Дамасская фирма Informat впервые в торговой практике предоставляет в распоряжение покупателей 13 рабочих станций, установленных в холле своего офиса, на которых проводятся бесплатные 15-минутные консультации с целью помочь покупателям выбрать компьютер, в наибольшей степени отвечающий их потребностям и бюджету. Кроме того, компания Boeing применяет экспертные системы для проектирования космических станций, а также для выявления причин отказов самолётных двигателей и ремонта вертолётов. Экспертная система XCON, созданная фирмой DEC, служит для определения или изменения конфигурации компьютерных систем типа VAX и в соответствии с требованиями покупателя. Фирма DEC разрабатывает более мощную систему XSEL, включающую базу знаний системы XCON, с целью оказания помощи покупателям при выборе вычислительных систем с нужной конфигурацией. В отличие от XCON система XSEL является интерактивной.
Интерпретирующие системы обладают способностью получать определенные заключения на основе результатов наблюдения. Система PROSPECTOR, одна из наиболее известных систем интерпретирующего типа, объединяет знания девяти экспертов. Используя сочетания девяти методов экспертизы, системе удалось обнаружить залежи руды стоимостью в миллион долларов, причём наличие этих залежей не предполагал ни один из девяти экспертов. Другая интерпретирующая система - HASP/SIAP. Она определяет местоположение и типы судов в тихом океане по данным акустических систем слежения.
Системы, основанные на знаниях, могут применяться в качестве интеллектуальных систем контроля и принимать решения, анализируя данные, поступающие от нескольких источников. Такие системы уже работают на атомных электростанциях, управляют воздушным движением и осуществляют медицинский контроль. Они могут быть также полезны при регулировании финансовой деятельности предприятия и оказывать помощь при выработке решений в критических ситуациях.
В этой сфере системы, основанные на знаниях, незаменимы как при ремонте механических и электрических машин (автомобилей, дизельных локомотивов и т.д.), так и при устранении неисправностей и ошибок в аппаратном и программном обеспечении компьютеров.
Экспертные системы, выполняющие обучение, подвергают диагностике, «отладке» и исправлению (коррекции) поведение обучаемого. Примером является обучение студентов отысканию неисправностей в электрических цепях, обучение военных моряков обращению с двигателем на корабле и обучение студентов-медиков выбору антимикробной терапии. Обучающие системы создают модель того, что обучающийся знает и как он эти знания применяет к решению проблемы. Системы диагностируют и указывают обучающемуся его ошибки, анализируя модель и строя планы исправлений указанных ошибок. Они исправляют поведение обучающихся, выполняя эти планы с помощью непосредственных указаний обучающимся.
Большинство экспертных систем включают знания, по содержанию которых их можно отнести одновременно к нескольким типам. Например, обучающая система может также обладать знаниями, позволяющими выполнять диагностику и планирование. Она определяет способности обучаемого по основным направлениям курса, а затем с учетом полученных данных составляет учебный план. Управляющая система может применяться для целей контроля, диагностики, прогнозирования и планирования.
1.5.Оболочки экспертных систем
Класс программ, которые называются оболочкой экспертной системы, создавался с целью позволить непрограммистам воспользоваться результатами работы программистов, решавших аналогичные проблемы. При применении этого типа инструментария разработчик ЭС полностью освобождается от работ по созданию программ и занимается лишь наполнением базы знаний.
Типичным представителем инструментальных средств является пакет EXSYS (оболочка по определению разработчика компании MultiLogic Inc., США, http://www.exsys.com/index.html) и его последующая модификация Exsys Developer 8.0. предназначенный для создания прикладных экспертных систем в различных предметных областях. Система построена на использовании сложных правил вида ЕСЛИ-ТО-ИНАЧЕ. Для выбора стратегии получения заключения в системе по умолчанию используется обратная цепочка вывода. Прямая цепочка может быть задана при настройке системы. Система обладает развитым графическим интерфейсом, способна обращаться к внешним базам данных, проверять правила на непротиворечивость. При определенной настройке может работать с русскоязычными текстами. Exsys Corvid Expert System Demos
Программа EMYCIN позволяет использовать архитектуру системы MYCIN в приложении к другим областям медицины (программа MYCIN была ориентирована только на заболевания крови). На базе EMYCIN были разработаны экспертные системы как для медицины (например, система PUFF для диагностики легочных заболеваний), так и для других областей знаний, например программа структурного анализа SACON.
Совершенно очевидно, что оболочки экспертных систем являются программами, ориентированными на достаточно узкий класс задач, хотя и более широкий, чем та программа, на основе которой была создана та или иная оболочка. Автор системы EMYCIN Ван Мелле одним из первых подчеркнул, что оболочки экспертных систем отнюдь не являются универсальной архитектурой для решения проблем. Разработанная им система EMYCIN ориентирована на те проблемы диагностирования с большими объемами данных, которые поддаются решению с помощью дедуктивного подхода в предположении, что пространство диагностических категорий стационарно.
К сожалению, нельзя слишком доверять рекомендациям о возможности использования оболочки экспертной системы для решения конкретных проблем. Дело в том, что мы еще не имеем настолько четкого представления о классификации задач, решаемых экспертными системами, чтобы можно было точно представить, к какому именно классу следует отнести конкретную систему.
Большинство коммерческих продуктов типа оболочек экспертных систем подходит только для тех проблем, в которых пространство поиска невелико. Как правило, в них применяется метод исчерпывающего поиска с построением обратной цепочки вывода и ограниченными возможностями управления процессом. Но некоторые современные оболочки, как утверждают их создатели, могут применяться для решения широкого круга задач, поскольку они поддерживают множество функций представления знаний и управления, включая и моделирование прямой цепочки логического вывода, процедуры, передачу сообщений и т.п.
Простота языков представления знаний, применяемых в большинстве оболочек экспертных систем, является, с одной стороны, достоинством, а с другой « недостатком такого рода систем. На это обратила внимание Эйкинс в критическом замечании по поводу реализации экспертной системы PUFF на базе оболочки EMYCIN:
Использованный в EMYCIN формализм порождающих правил затрудняет разделение разных видов знаний эвристических, управляющих, знаний об ожидаемых значениях параметров.
Недостаточная структурированность набора порождающих правил в EMYCIN также затрудняет и восприятие новых знаний, поскольку добавление в базу знаний нового правила требует внесения изменений в различные компоненты системы. Например, нужно вносить изменения в таблицы знаний, содержащие информацию о медицинских параметрах. Это одна из проблем, решением которой гордятся создатели системы TEIRESIAS.
Другое критическое замечание Эйкинс касается не столько конкретной системы PUFF или EMYCIN, сколько функциональных возможностей систем, базирующихся на правилах, в общем, а, следовательно, и всех оболочек экспертных систем, в которых порождающие правила используются в качестве основного языка представления знаний. Значительная часть экспертности это знания о типовых случаях, т.е. довольно часто встречающихся в предметной области. Эксперты легко распознают известные типовые случаи и способны без особого труда классифицировать их в терминах идеальных прототипов даже при наличии определенных помех или неполных данных. Они интуитивно различают подходящие случаю или необычные значения исходных данных и принимают адекватное решение о том, как поступить в дальнейшем при решении проблемы. Такие знания практически невозможно представить в экспертной системе, если пользоваться только правилами в форме «условие-действие». Для этого потребуется значительно более сложный формализм, который сведет на нет одно из главных достоинств использования порождающих правил в качестве основного средства принятия решений.
В оболочках экспертных систем существует также проблема с реализацией механизма обработки неопределенности. Некоторые оболочки уже включают в себя определенный формальный механизм работы с неопределенностью, например основанный на использовании коэффициентов уверенности. Однако большинство, если не все использованные в оболочках экспертных систем механизмы такого рода, не согласуются с выводами теории вероятностей и обладают свойствами, которые с трудом поддаются анализу. Конечно, конкретному методу обработки неопределенности при решении конкретной задачи в данной предметной области можно дать прагматическое обоснование, как поступил, например, Шортлифф по отношению к схеме обработки коэффициентов уверенности в системе MYCIN. Но вряд ли оправданно распространять этот аппарат на другие области применения, встроив его в оболочку.
По сравнению с первыми разработками современные оболочки экспертных систем более гибкие, по крайней мере, в том, что без особого труда могут быть интегрированы в большинство операционных сред, доступных на рынке программного обеспечения, и оснащены достаточно развитыми средствами пользовательского интерфейса.
2.Структура экспертных систем
2.1.Основные компоненты экспертных систем
Типичная экспертная система состоит из следующих основных компонентов: решателя (интерпретатора), рабочей памяти (РП), называемой также базой данных (БД), базы знаний (БЗ), компонентов приобретения знаний, объяснительного и диалогового компонентов (рисунок 1).
Интерфейс
пользователя
База знаний
Подсистема объяснений
Решатель
Интеллектуальный редактор базы знаний
Инженер + Эксперт по знаниям Пользователь
Рис. 1. Структура экспертной системы.
База данных предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (и в первую очередь не текущих, а долгосрочных), хранимых в системе.
База знаний в экспертной системе предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области.
Решатель, используя исходные данные из РП и знания из БЗ, формирует такую последовательность правил, которые, будучи применёнными к исходным данным, приводят к решению задачи.
Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решения) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.
Диалоговый компонент ориентирован на организацию дружелюбного общения со всеми категориями пользователей как в ходе решения задач, так и приобретения знаний, объяснения результатов работы.
В разработке экспертной системы участвуют представители следующих специальностей:
эксперт в той проблемной области, задачи которой будет решать экспертная система;
инженер по знаниям - специалист по разработке экспертных систем;
программист - специалист по разработке инструментальных средств (ИС).
Необходимо отметить, что отсутствие среди участников разработки инженера по знаниям (то есть его замена программистом) либо приводит к неудаче процесс создания экспертной системы, либо значительно удлиняет его. Эксперт определяет знания (данные и правила), характеризующие проблемную область, обеспечивает полноту и правильность введения в экспертную систему знаний.
Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы экспертной системы, осуществляет выбор того ИС, которое наиболее подходит для данной проблемной области, и определяет способ того представления знаний в этом ИС, выделяет и программирует (традиционными средствами) стандартные функции (типичные для данной проблемной области), которые будут использоваться в правилах, вводимых экспертом.
Программист разрабатывает ИС, содержащее в пределе все основные компоненты экспертной системы, осуществляет сопряжение ИС с той средой, в которой оно будет использовано.
Экспертная система работает в двух режимах: приобретения знаний и решения задач (называемом также режимом консультации или режимом использования экспертной системы).
В режиме приобретения знаний общение с экспертной системой осуществляется через посредничество инженера по знаниям. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования данными, характерные для рассматриваемой проблемной области. Эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют экспертной системе в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области.
Важную роль в режиме приобретения знаний играет объяснительный компонент. Именно благодаря ему эксперт на этапе тестирования локализует причины неудачной работы экспертной системы, что позволяет эксперту целенаправленно модифицировать старые или вводить новые знания. Обычно объяснительный компонент сообщает следующее: как правильно используют информацию пользователя; почему искались или не использовались данные или правила; какие были сделаны выводы и так далее. Все объяснения делаются, как правило, на ограниченном естественном языке или языке графики.
Режиму приобретения знаний при традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирования и отладки, выполняемые программистом. В отличие от традиционного подхода разработку программ осуществляет эксперт (с помощью экспертной системы), не владеющий программированием, а не программист.
В режиме консультации общение с экспертной системой осуществляет конечный пользователь, которого интересует результат и (или) способ получения решения. Пользователь в зависимости от назначения экспертной системы может не быть специалистом в данной проблемной области, в этом случае он обращается к экспертной системе за советом, не умея получить ответ сам, или быть специалистом, в этом случае он обращается к экспертной системе, чтобы либо ускорить процесс получения результата, либо возложить на экспертную систему рутинную работу. Термин «пользователь» означает, что им является и эксперт, и инженер по знаниям, и программист. Поэтому, когда хотят подчеркнуть, что речь идёт о том, для кого делалась экспертная система, используют термин «конечный пользователь».
В режиме консультации данные о задаче пользователя обрабатываются диалоговым компонентом, который выполняет следующие действия:
распределяет роли участников (пользователя и экспертной системы) и организует их взаимодействие в процессе кооперативного решения задачи;
преобразует данные пользователя о задаче, представленные на привычном для пользователя языке, на внутренний язык системы;
преобразует сообщения системы, представленные на внутреннем языке, в сообщения на языке, привычном для пользователя (обычно это ограниченный естественный язык или язык графики).
После обработки данные поступают в РП. На основе входных данных в РП, общих данных о проблемной области и правил из БЗ решатель (интерпретатор) формирует решение задачи.
В отличие от традиционных программ экспертная система в режиме решения задачи не только исполняет предписанную последовательность, но и предварительно формирует её. Если ответ экспертной системы не понятен пользователю, то он может потребовать объяснения, как ответ получен.
2.2.Классификация инструментальных средств экспертных систем
В широком толковании в инструментарий включают и аппаратуру, ориентированную на разработку экспертных систем (аппаратурный инструментарий).
На проектирование и создание одной экспертной системы раньше требовалось 20-30 чел.-лет. В настоящее время имеется ряд средств, ускоряющих создание экспертных систем. Эти средства называются инструментальными (ИС), или инструментарием. Использование ИС сокращает время разработки экспертных систем в 3 - 5 раз.
Экспертные системы выполняются на ЭВМ следующих типов: общего назначения; ПЭВМ; интеллектуальные рабочие станции (то есть рабочие станции типа San, Арроlо и др., снабжённые эффективными ИС для создания экспертной системы); последовательные символьные ЭВМ типа ЛИСП - машин (Symbolik-3670, А1рhа, Ехр1огег, Хегох 1100 и дугие) и ПРОЛОГ - машин; параллельные символьные ЭВМ (Connection, Dado, Faun, Hyper Cube и другие).
Программные ИС определяются следующей совокупностью характеристик: назначение; стадия существования; тип ИС; тип используемых методов и знаний; универсальность; основные свойства; среда функционирования.
Назначение определяет, для работы в каких проблемных областях и для создания какой стадии экспертной системы предназначено ИС.
По степени отработанности ИС обычно выделяют три стадии существования: экспериментальная, исследовательская, коммерческая. Экспериментальные ИС создаются для решения узких специфических задач и редко проверяются на других задачах, обычно они работают медленно и неэффективно. Следующей стадией является исследовательская. Средства, достигшие этой стадии, обычно тщательно проверены, имеют документацию и поддерживаются разработчиком, однако они ещё могут действовать медленно и неэффективно. Исследовательские ИС используются при разработке прототипов экспертных систем. Высшей стадией существования ИС является коммерческая. Этой стадии достигают те ИС, которые всесторонне и тщательно проверены, хорошо документированы, сопровождаются разработчиком, являются быстрыми и обладают удобным интерфейсом с пользователем.
2.3.Организация знаний в экспертных системах
Для специалистов в области искусственного интеллекта термин знания означает информацию, которая необходима программе, чтобы она вела себя «интеллектуально». Эта информация принимает форму фактов или правил.
Факты и правила в экспертной системе не всегда либо истинны, либо ложны; иногда существует некоторая степень неуверенности в достоверности факта или точности правила. Если это сомнение выражено явно, то оно называется «коэффициентом уверенности».
Многие правила экспертной системы являются эвристиками, то есть эмпирическими правилами или упрощениями, которые эффективно ограничивают поиск решения. Экспертная система использует эвристики, потому что задачи, которые она решает, будь то поиск новых месторождений или согласование исков, как правило, трудны и не до конца понятны. Эти задачи не поддаются строгому математическому анализу или алгоритмическому решению. Алгоритмический метод гарантирует корректное или оптимальное решение задачи, тогда как эвристический метод даёт приемлемое решение в большинстве случаев.
На рисунке 2 показано различие между алгоритмическим и эвристическим методами. Здесь сравнивается алгоритм предотвращения захвата самолётов на коммерческих авиалиниях с эвристическим методом, предназначенным для той же цели.
Предотвратить захват самолётов на коммерческих авиалиниях
Предотвратить посадку терро-ристов на самолёт
Алгоритм
Пропустить всех пассажиров и багаж через детектор металла. Обыскать только тех пассажиров, на которых реагирует детектор, а также тех, чьи приметы совпадают с предполагаемым обликом терро-риста (возраст, одежда, поведение и т. д.).
Провести личный досмотр каждого до-пускаемого на посадку в самолёт и обыскать весь багаж. Сюда входят все пассажиры, члены экипажа и механики.
Эвристика
Рис. 2. Алгоритмические и эвристические модели данных.
Алгоритм обеспечивает полную гарантию предотвращения захвата самолёта, потому что в принципе полностью исключает возможность проникновения оружия на борт самолёта. К сожалению, он требует слишком много времени, слишком дорог и, что ещё важнее; слишком непопулярен, чтобы иметь какую-либо практическую ценность. Приведенный эвристический метод также может предотвратить большинство попыток захвата самолётов, но не гарантирует, что они вообще не возникнут. Использование эвристических правил делает поиск решения намного более лёгким и более практичным.
Знания в экспертной системе организованы таким образом, чтобы знания о предметной области отделить от других типов знаний системы, таких, как общие знания о том, как решать задачи, или знания о том, как взаимодействовать с пользователем, например как печатать текст на терминале пользователя или как изменить текст в соответствии с командами пользователя. Выделенные знания о предметной области называются базой знаний, тогда как общие знания о нахождении решений задач называются механизмом вывода.
Программа, которая работает со знаниями, организованными подобным образом, называется системой, основанной на знаниях.
Программы искусственного интеллекта
Системы, основанные на знаниях
Экспертные системы
Демонстрируют интеллектуальное поведение умелым применением эвристик
Применяют экспертные знания к сложным задачам реальной жизни
Делают знания предметной области явными и отделяют их от остальной касты системы
Рис. 3. Экспертные системы как системы, основанные на знаниях.
Как показано на рисунке 3 , в сущности все экспертные системы являются системами, основанными на знаниях, но не наоборот. Программу искусственного интеллекта для игры в «крестики и нолики» нельзя будет считать экспертной системой, даже если в ней знания о предметной области отделить от остальной программы.
База знаний экспертной системы содержит факты (данные) и правила (или другие представления знаний), использующие эти факты как основу для принятия решений. Механизм вывода содержит интерпретатор, определяющий, каким образом применять правила для вывода новых знаний, и диспетчер, устанавливающий порядок применения этих правил. Такая структура экспертной системы показана на рисунке 4.
Экспертная система
База знаний (знания предметной области)
Факты |
Правила |
Интерпретатор |
Диспетчер |
Механизм вывода (общие знания о решении задач)
Рис. 4. Состав экспертной системы.
Выделение знаний о предметной области облегчает инженеру по знаниям разработку процедур для манипулирования ими. Каким образом система использует свои знания, имеет первостепенное значение, поскольку экспертная система должна иметь и адекватные знания, и средства эффективно использовать знания, чтобы её можно было считать умелой в каком-либо виде деятельности. Следовательно, для того, чтобы быть умелой, экспертная система должна иметь базу знаний, содержащую высококачественные знания о предметной области, а её механизм вывода должен содержать знания о том, как эффективно использовать знания о предметной области.
Концепция механизма вывода экспертной системы часто вызывает некоторое недоумение среди начинающих разработчиков. Обычно ясно, как знания предметной области могут быть записаны в виде фактов и правил, но далеко не ясно, каким образом конструировать и использовать так называемый «механизм вывода». Это недоумение происходит от отсутствия простого и общего метода организации логического вывода. Его структура зависит и от специфики предметной области и от того, как знания структурированы и организованы в экспертной системе. Многие языки высокого уровня, предназначенные для построения экспертных систем, например ЕМYСIМ, имеют механизм вывода, в некотором смысле встроенный в язык как его часть.
Другим примером может служить язык программирования Пролог со встроенным в него механизмом логического вывода, который может быть непосредственно использован при создании простых экспертных систем.
Языки более низкого уровня, например LISP, требуют, чтобы создатель экспертной системы спроектировал и реализовал механизм вывода.
Оба подхода имеют свои достоинства и недостатки. Язык высокого уровня со встроенным механизмом вывода облегчает работу создателя экспертной системы. В то же время у него, понятно, меньше возможностей определять способы организации знаний и доступа к ним, и ему следует очень внимательно рассмотреть вопрос о том, годится или нет на самом деле предлагаемая схема управления процессом поиска решения для данной предметной области. Использование языка более низкого уровня без механизма вывода требует больших усилий на разработку, но позволяет разработать нужные программные блоки, которые разработчик может встроить в схему управления процессом решения, который будет адекватен данной предметной области.
Что касается механизма вывода, то здесь дело не ограничивается выбором «всё или ничего». Так, некоторые инструменты построения экспертных систем имеют набор встроенных механизмов вывода, но позволяют разработчику модифицировать или переопределять их для большего соответствия с предметной областью.
Существует много стандартных способов представления знаний, и при построении экспертных систем « может быть использован любой из них, сам по себе или в сочетании с другими. Каждый способ позволяет получить программу с некоторыми преимуществами - делает её более эффективной, облегчает её понимание и модификацию. В современных экспертных системах чаще всего используются три самых важных метода представления знаний: правила (самый популярный), семантические сети и фреймы.
Представление знаний, основанное на правилах, построено на использовании выражений вида ЕСЛИ (условие) - ТО (действие)
Сопоставление частей ЕСЛИ правил с фактами может породить так называемую цепочку выводов. Цепочка выводов, образованная последовательным применением правил 1 и 2, изображена на рисунке 5. Эта цепочка показывает, как система использует правила для вывода о том, насколько серьёзную дозу канцерогенного вещества пациент получил при работе с асбестом.
Пациент был изолировщиком до 1988 г.
Пациент непосредственно работал с асбестом
Пациент контактировал с асбестом в закрытых помещениях
Пациент получил серьёзную дозу асбестовой пыли
Рис. 5. Цепочка вывода для получения заключения о накопленной дозе асбестовой пыли.
Правила обеспечивают естественный способ описания процессов, управляемых сложной и быстро изменяющейся внешней средой. Через правила можно определять, как программа должна реагировать на изменение данных; при этом не нужно заранее знать блок-схему управления обработкой данных. В программе традиционного типа схема передачи управления и использования данных предопределена в самой программе. Обработка здесь осуществляется последовательными шагами, а ветвление имеет место только в заранее выбранных точках. Этот способ управления хорошо работает в случае задач, допускающих алгоритмическое решение, если к тому же при этом данные меняются достаточно медленно, например, при решении систем линейных уравнений. Для задач, ход решения которых управляется самими данными, где ветвление скорее норма, чем исключение, этот способ малоэффективен. В задачах такого рода правила дают возможность на каждом шаге оценить ситуацию и предпринять соответствующие действия. Использование правил упрощает объяснение того, что и как сделала программа, т. е. каким способом она пришла к конкретному заключению.
Представление знаний, основанное на фреймах, использует сеть узлов, связанных отношениями и организованных иерархически. Каждый узел представляет собой концепцию, которая может быть описана атрибутами и значениями, связанными с этим узлом. Узлы, которые занимают более низкое положение в иерархии, автоматически наследуют свойства узлов, занимающих более высокое положение. Эти методы обеспечивают естественный и эффективный путь классификации и построения таксономии, например залежей руд или различных заболеваний.
Заключение
Экспертные системы являются наиболее известным и распространённым видом интеллектуальных систем.
Как и любые другие системы, они имеют ряд своих особенностей:
Особенно широкое применение экспертные системы получили в медицине, математике, машиностроении, химии, геологии, вычислительной технике, бизнесе, законодательстве, обороне.
А также в настоящее время особенно актуально использование экспертных систем в таких приложениях, как образование, психолого-педагогическая диагностика и тестирование.
Экспертные системы строятся для решения широкого круга проблем в таких областях, как:
Таким образом, проблема разработки и использования экспертных систем является весьма актуальной в современном обществе.
Литература