Разработка экспертной системы

Назначение и основные свойства экспертных систем, их структура и применение, организация знаний. Уровни и этапы проектирования систем: идентификация, концептуализация и формализация. Разработка экспертной системы, контролирующей исполнение проекта.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.02.2019
Размер файла 321,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Разработка экспертной системы

Введение

экспертный идентификация формализация

Как известно, в современных условиях борьбы за ресурсы, владеющий информацией, как правило, владеет рынком. В связи с этим, возникает необходимость в оперативном получении и обработке важной информации, а так же ее грамотном применении на практике.

Применение экспертных систем позволяет своевременно реагировать на изменения как во внутренней, так и во внешней среде. Так же это способствует выбору и принятию наиболее оптимальных решений.

Безусловно, остается спорным вопрос о компетентности искусственного интеллекта. Конечно же, даже в основе экспертной системы лежат знания экспертов, но в то же время она обладает такими преимуществами как:

постоянство - человеческая компетентность со временем ослабевает;

легкость передачи данных - с помощью экспертной системы процесс передачи знаний от человека человеку можно заменить передачей файлов;

устойчивость и воспроизводимость результатов - человек с легкостью поддается влиянию внешних факторов, а так же личных мотивов. Экспертная система выдает лишь факты вне зависимости от эмоционального фона;

стоимость - экспертная система сравнительно недорогая в эксплуатации, тогда как человек-эксперт обходится довольно дорого.

Целью данной курсовой работы является разработка экспертной системы.

Для достижения цели поставлены задачи:

определить назначения экспертных систем;

изучить структуру экспертных систем;

рассмотреть этапы проектирования экспертных систем.

1. Назначение и основные свойства экспертных систем

1.1 Определение экспертной системы. Назначение экспертных систем

Экспертная система - наиболее известный и распространенный вид интеллектуальных систем. Хотя этот термин употребляется весьма широко, но его точного определения пока нет. Можно лишь указать ряд особенностей, которые присущи только экспертным системам.

Первая особенность экспертных систем состоит в том, что они предназначены для пользователей, сфера деятельности которых далека от искусственного интеллекта, программирования, математики, логики. Для таких пользователей экспертная система выступает как некая система, помогающая им в повседневной работе. Общение с экспертными системами, работа с ними должны быть так же просты, как просты, например, управление телевизором, стиральной машиной или автомобилем.

Во многих видах человеческой деятельности используемые знания далеко не всегда могут быть четко формализованы. Точнее, наряду со знаниями как бы отделенными, отобранными у специалистов (они зафиксированы в учебниках, инструкциях, учебных фильмах и т.п.), существуют так называемые профессиональные навыки и умения, овладеть которыми можно, только работая вместе с тем, кто уже овладел ими.

Само наименование этих систем указывает на то, что они должны хранить в себе знания профессионалов-экспертов в некоторой предметной области. Для передачи информации в экспертной системе предусмотрены не только простые средства общения между системой и специалистами, но и средства доведения хранимых в системе знаний до специалиста вместе с необходимыми пояснениями и разъяснениями. В этом заключается третья особенность экспертных систем. Ни в каких других интеллектуальных системах, кроме систем, предназначенных для обучения, объяснительная функция (т.е. способность давать при необходимости пояснения и разъяснения) не встречается.

Экспертная система - это программное средство, использующее экспертные знания для обеспечения высокоэффективного решения неформализованных задач в узкой предметной области. Основу ЭС составляет база знаний о предметной области, которая накапливается в процессе построения и эксплуатации системы. Накопление и организация знаний - важнейшее свойство всех экспертных систем.

Экспертная система является типичной человеко-машинной системой, поэтому в ее состав должен быть включен блок, названный «интеллектуальный интерфейс». Его задача - обеспечить диалог с пользователем на привычном ему языке. В состав интеллектуального интерфейса могут входить средства визуализации, с помощью которых на экране дисплея формируются необходимые образы, используемые в процессе общения пользователя с системой (чертежи, схемы, рисунки и т.п.). Общение с пользователем происходит в режиме «вопрос-ответ», причем вопросы могут задавать как пользователь, так и система.

Поддерживать диалог с пользователем экспертной системе помогает схема управления диалогом. Она хранится в логическом блоке, и именно он осуществляет все необходимые манипуляции с репликами пользователя, информацией из базы знаний и выдаваемыми ответными репликами.

Специфическим именно для экспертных систем является наличие блока объяснений. Связано это с тем, что после консультации с экспертной системой решение, полученное пользователем, может показаться ему либо неприемлемым, либо не лучшим. Происходит это потому, что часть рассуждений экспертная система делает самостоятельно, используя свой сценарий и те знания, которыми она располагает. Пользователю же кажется, что в логике получения решения имеются «провалы», «перескоки», не обоснованные шагами диалога.

Во всех подобных случаях пользователь может обратиться к блоку объяснений. Последний на вопрос: «Как получилось именно это решение?» - дает все необходимые объяснения, используя информацию, которая в процессе выработки решения накапливается в логическом блоке. Как правило, сценарий предусматривает несколько путей; среди них возможны тупиковые пути, не ведущие к нужной цели. Оказавшись на дороге в тупик, система может автоматически вернуться к той «развилке», где она сделала неверный выбор. Неудачные попытки в памяти логического блока не сохраняются, и в результате к концу поиска решения в нем запоминается лишь результативный путь - трек, ведущий от начальной ситуации к решению. Этот трек и используется блоком объяснения для ответа на запрос пользователя.

На практике экспертные системы используются, прежде всего, как системы-советчики в тех ситуациях, где специалист сомневается в выборе правильного решения. Экспертные знания, хранящиеся в памяти системы, более глубокие и полные, чем соответствующие знания пользователя. При работе в оперативном режиме, когда времени на принятие решений у человека очень мало (например, при возникновении чрезвычайной ситуации), неправильное решение принимается не потому, что человек не смог найти лучшего, а в силу его психических особенностей. Стресс приводит к тому, что даже очевидные решения бывает найти не так-то просто. В этих случаях можно использовать системы-подсказчики. По сложившейся ситуации такая система начинает давать советы в темпе, достаточном для того, чтобы человек на них прореагировал.

Преимуществами и положительными качествами искусственной компетенции являются:

постоянство - человеческая компетенция ослабевает со временем. Перерыв в деятельности человека-эксперта может серьезно отразиться на его профессиональных качествах;

легкость передачи или воспроизведения - передача знаний от одного человека другому - долгий и дорогой процесс. Передача искусственной информации - это простой процесс копирования программы или файла данных;

устойчивость и воспроизводимость результатов - эксперт-человек может принимать в тождественных ситуациях разные решения из-за эмоциональных факторов. Результаты экспертных систем - стабильны;

стоимость - эксперты, особенно высококвалифицированные обходятся очень дорого. Экспертные системы, наоборот, сравнительно недороги. Их разработка дорога, но они дешевы в эксплуатации.

В то же время разработка экспертной системы не позволяет полностью отказаться от эксперта-человека. Хотя она хорошо справляется со своей работой, тем не менее, в определенных областях человеческая компетенция явно превосходит искусственную. Однако и в этих случаях система может позволить отказаться от услуг высококвалифицированного эксперта, оставив эксперта средней квалификации, используя при этом экспертную систему для усиления и расширения его профессиональных возможностей.

ЭС обладает способностями к накоплению знаний, выдаче рекомендаций и объяснению полученных результатов, возможностями модификации правил, подсказки пропущенных экспертом условий, управления целью или данными. ЭС отличают следующие характеристики:

интеллектуальность;

простота общения с компьютером;

возможность наращивания модулей;

интеграция неоднородных данных;

способность разрешения многокритериальных задач при учете предпочтений лиц, принимающих решения (ЛПР);

работа в реальном времени;

документальность;

конфиденциальность;

унифицированная форма знаний;

независимость механизма логического вывода;

способность объяснения результатов.

В настоящее время можно выделить следующие основные сферы применения ЭС: диагностика, планирование, имитационное моделирование, предпроектное обследование предприятий, офисная деятельность, а также некоторые другие.

Экспертная система содержит знания в определенной предметной области, накопленные в результате практической деятельности человека (или человечества), и использует их для решения проблем, специфичных для этой области. Этим экспертные системы отличаются от прочих, «традиционных» систем, в которых предпочтение отдается более общим и менее связанным с предметной областью теоретическим методам, чаще всего математическим. Процесс создания экспертной системы часто называют инженерией знаний (knowledge engineering) и он рассматривается в качестве «применения методов искусственного интеллекта».

1.2 Структура и применение экспертных систем

Типовая экспертная система состоит из таких основных компонентов как: решателя (интерпретатора), рабочей памяти (РП), называемой также базой данных (БД), базы знаний (БЗ), компонентов приобретения знаний, объяснительного и диалогового компонентов.

База данных предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, применяемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (и в первую очередь - не текущих, а долгосрочных), хранимых в системе.

База знаний в ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области.

Решатель, используя исходные данные из РП и знания из БЗ, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи.

Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решения) и какие знания она при этом использовала, - это облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.

Диалоговый компонент ориентирован на организацию общения со всеми категориями пользователей как в ходе решения задач, так и приобретения знаний, объяснения результатов работы.

В разработке ЭС участвуют представители следующих специальностей:

эксперт в той проблемной области, задачи которой будет решать ЭС;

инженер по знаниям - специалист по разработке ЭС;

программист - специалист по разработке инструментальных средств.

Необходимо отметить, что отсутствие среди участников разработки инженера по знаниям (т.е. замена его программистом) либо приводит к неудаче процесс создания ЭС, либо значительно удлиняет его. Эксперт определяет знания (данные и правила), характеризующие проблемную область, обеспечивает полноту и правильность введения в ЭС знаний.

Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы ЭС. Он осуществляет выбор того ИС, которое наиболее подходит для данной проблемной области, и определяет способ того представления знаний в этом ИС, выделяет и программирует (традиционными средствами) те стандартные функции (типичные для данной проблемной области), которые будут использоваться в правилах, вводимых экспертом.

Программист разрабатывает ИС, содержащее в пределе все основные компоненты ЭС, осуществляет сопряжение ИС с той средой, в которой оно будет использовано.

Экспертная система работает в двух режимах: приобретения знаний и решения задач (называемым также режимом консультации или режимом использования ЭС).

В режиме приобретения знаний общение с ЭС осуществляется через посредничество инженера по знаниям. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования данными, характерные для рассматриваемой проблемной области. Эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области.

Важную роль в режиме приобретения знаний играет объяснительный компонент. Именно благодаря ему эксперт на этапе тестирования локализует причины неудачной работы ЭС, что позволяет эксперту целенаправленно модифицировать старые или вводить новые знания. Обычно объяснительный компонент сообщает следующее: как правильно используют информацию пользователя, почему использовались или не использовались данные или правила, какие были сделаны выводы и т.д. Все объяснения делаются, как правило, на ограниченном естественном языке или языке графики.

Режиму приобретения знаний при традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирования и отладки, выполняемые программистом. В отличие от традиционного подхода разработку программ осуществляет эксперт (с помощью ЭС), не владеющий программированием, а не программист.

В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ получения решения. Пользователь в зависимости от назначения ЭС может не быть специалистом в данной проблемной области - в этом случае он обращается к ЭС за советом, не умея получить ответ сам; либо пользователь является специалистом - тогда он обращается к ЭС, чтобы либо ускорить процесс получения результата, либо возложить на ЭС рутинную работу. Термин «пользователь» подразумевает, что таковым может быть и эксперт, и инженер по знаниям, и программист. Поэтому, когда хотят подчеркнуть, что речь идет о том, для кого делалась ЭС, используют термин «конечный пользователь».

В режиме консультации данные о задаче пользователя обрабатываются диалоговым компонентом, который выполняет следующие действия:

распределяет роли участников (пользователя и ЭС) и организует их взаимодействие в процессе кооперативного решения задачи;

преобразует данные пользователя о задаче, представленные на привычном для пользователя языке, на внутренний язык системы;

преобразует сообщения системы, представленные на внутреннем языке, в сообщения на языке, привычном для пользователя (обычно это ограниченный естественный язык или язык графики).

После обработки данные поступают в РП. На основе входных данных в РП, общих данных о проблемной области и правил из БЗ решатель (интерпретатор) формирует решение задачи.

В отличие от традиционных программ ЭС в режиме решения задачи не только исполняет предписанную последовательность операций, но и предварительно формирует ее. Если ответ ЭС непонятен пользователю, то он может потребовать объяснения того, как ответ получен.

1.3 Организация знаний в экспертной системе

Для специалистов в области искусственных интеллектов термин «знания» означает информацию, которая необходима программе, чтобы она вела себя «интеллектуально». Эта информация принимает форму фактов или правил.

Факты и правила в экспертной системе не всегда либо истинны, либо ложны; иногда существует некоторая степень неуверенности в достоверности факта или точности правила. Если это сомнение выражено явно, то оно называется «коэффициентом уверенности».

Многие правила экспертной системы являются эвристиками, т.е. эмпирическими правилами или упрощениями, которые эффективно ограничивают поиск решения. Экспертная система использует эвристики, потому что задачи, которые она решает, будь то поиск новых месторождений или согласование исков, как правило, трудны и не до конца понятны. Эти задачи не поддаются строгому математическому анализу или алгоритмическому решению. Алгоритмический метод гарантирует корректное или оптимальное решение задачи, тогда как эвристический метод дает приемлемое решение в большинстве случаев.

Знания в ЭС организованы таким образом, чтобы знания о предметной области отделить от других типов знаний системы, таких как общие знания о решении задач, или знания о том, как взаимодействовать с пользователем, например, как печатать текст на терминале пользователя или как изменить текст в соответствии с командами пользователя. Выделенные знания о предметной области называются базой знаний, тогда как общие знания о нахождении решений задач называются механизмом вывода. Программа, которая работает со знаниями, организованными подобным образом, называется системой, основанной на знаниях.

База знаний ЭС содержит факты (данные) и правила (или другие представления знаний), использующие эти факты как основу для принятия решений. Механизм вывода содержит интерпретатор, определяющий, каким образом применять правила для вывода новых знаний, и диспетчер, устанавливающий порядок применения этих правил.

Выделение знаний о предметной области облегчает инженеру по знаниям разработку процедур для манипулирования ими.

Имеет первостепенное значение, каким образом система использует свои знания, поскольку ЭС должна обладать и адекватными знаниями, и средствами для их эффективного применения, чтобы ее можно было считать умелой в каком-либо виде деятельности.

Следовательно, для того чтобы быть умелой, ЭС должна иметь базу знаний, содержащую высококачественные знания о предметной области, а ее механизм вывода должен содержать знания о том, как эффективно использовать знания о предметной области.

Многие языки высокого уровня, предназначенные для построения экспертных систем, например, EMYCIN, имеют механизм вывода, в некотором смысле встроенный в язык как его часть.

Другим примером может служить язык программирования ПРОЛОГ со встроенным в него механизмом логического вывода, который может быть непосредственно использован при создании простых ЭС.

Языки более низкого уровня, например LISP, требуют, чтобы создатель ЭС спроектировал и реализовал механизм вывода.

Оба подхода имеют свои достоинства и недостатки. Язык высокого уровня со встроенным механизмом вывода облегчает работу создателя экспертной системы. В то же время у него, очевидно, меньше возможностей определять способы организации знаний и доступа к ним, и ему следует очень внимательно рассмотреть вопрос о том, годится или нет на самом деле предлагаемая схема управления процессом поиска решения для данной предметной области. Применение языка более низкого уровня без механизма вывода требует больших усилий на разработку, но позволяет создать нужные программные блоки, - разработчик может встроить их в схему управления процессом решения, который будет адекватен данной предметной области.

Существует много стандартных способов представления знаний, и при построении ЭС может быть использован любой из них, сам по себе или в сочетании с другими. Каждый способ позволяет получить программу с некоторыми преимуществами - делает ее более эффективной, облегчает ее понимание и модификацию. В современных ЭС чаще всего применяются три самых важных метода представления знаний: правила (самый популярный), семантические сети и фреймы.

Представление знаний, основанное на правилах, построено на использовании выражений вида «ЕСЛИ (условие) - ТО (действие)».

Правила обеспечивают естественный способ описания процессов, управляемых сложной и быстро изменяющейся внешней средой. Через правила можно определять, как программа должна реагировать на изменение данных; при этом не нужно заранее знать блок-схему управления обработкой данных. В программе традиционного типа схема передачи управления и использования данных предопределена в самой программе. Обработка здесь осуществляется последовательными шагами, а ветвление происходит только в заранее выбранных точках. Этот способ управления хорошо работает в случае задач, допускающих алгоритмическое решение, если к тому же при этом данные меняются достаточно медленно, например, при решении систем линейных уравнений. Для задач, ход решения которых управляется самими данными, где ветвление скорее норма, чем исключение, этот способ малоэффективен. В задачах такого рода правила дают возможность на каждом шаге оценить ситуацию и предпринять соответствующие действия. Применение правил упрощает объяснение того, что и как сделала программа, т.е. каким способом она пришла к конкретному заключению.

Представление знаний, основанное на фреймах, использует сеть узлов, связанных отношениями и организованных иерархически. Каждый узел представляет собой концепцию, которая может быть описана атрибутами и значениями, связанными с этим узлом. Узлы, которые занимают более низкое положение в иерархии, автоматически наследуют свойства узлов, занимающих более высокое положение.

2. Этапы проектирования экспертных систем

2.1 Уровни и этапы проектирования экспертных систем

Развитие ЭС, как правило, происходит эволюционно. Это обусловлено тем, что для максимизации ее эффективности и достижения высокого качества решений задач с помощью ЭС необходимы эксперименты.

Процесс организации базы знаний и технологии построения ЭС называют инженерией знаний. Создателя ЭС называют инженером знаний или когнитологом. Его основная задача - «извлечение» процедуры, эвристического правила, стратегии из экспертов, а также их внесение в ЭС.

Эксперт - специалист, профессионально и эффективно работающий в своей предметной области, обладающий необходимым уровнем знаний и опытом.

Уровни проектирования ЭС представлены в таблице 2.1.

Таблица 2.1. Характеристика уровней проектирования ЭС

Уровень проектирования ЭС

Характеристика уровня

Демонстрационный прототип (50-100 правил)

Система решает часть поставленной задачи, демонстрируя целесообразность разработки ЭС

Исследовательский прототип (200-500 правил)

Система удовлетворительно решает всю задачу, но может быть ненадежной вследствие неполного тестирования

Действующий прототип (500-1000 правил)

Система проявляет высокое качество решения задачи при достаточной надежности, но для сложных задач получение решения может быть недостаточно эффективным по времени и (или) используемой памяти

Промышленная система (1000-1500 правил)

Система показывает высокое качество, надежность и эффективность работы в реальных условиях эксплуатации

Коммерческая система (1000-3000 правил)

Промышленная система, пригодная не только для использования внутри организации - заказчика, но и для продажи другим потребителям

Методология построения ЭС учитывает эволюционный характер процесса разработки и предполагает, что на каждом уровне система совершает виток жизненного цикла разработки, состоящего из семи этапов: идентификация; концептуализация; формализация; реализация; тестирование; уточнение; сопровождение.

На этапе идентификации основными действующими лицами являются эксперты и инженеры-когнитологи. В их задачи входит: определение участников процесса проектирования и распределение ролей между ними, неформальное описание задачи и оценка целесообразности разработки ЭС, определение целей разработки и необходимых для нее ресурсов (время, оборудование, финансирование и т.п.).

На этапе концептуализации действующие лица те же, но теперь они занимаются выявлением знаний, относящихся к процессу решения поставленной задачи (объекты, данные, гипотезы, отношения, правила, стратегии, вопросы, типы ответов, объяснения и т.п.).

На этапе формализации осуществляется выработка ключевых понятий и отношений инженером-когнитологом, который выражает ранее выявленные знания формально на некотором языке, определяет пригодность доступных инструментальных средств для решения данной задачи и принимает решение о выборе подходящего средства (язык, оболочка и т.п.). Результатом данного этапа является формальная модель решения задачи.

На этапе реализации разработчики, используя выбранные инструментальные средства, воплощают формальную модель в программе для ЭВМ. При этом они взаимодействуют с инженерами-когнитологами, так как в процессе реализации появляются неувязки в спецификациях данных правил и схем управления. Здесь же производится разработка текстовой документации по ЭС.

На этапе тестирования осуществляется оценка качества работы прототипа и выработка рекомендаций по его модификации. Оценка производится экспертами, которые затем помогают инженерам-когнитологам сформулировать требования к ее модификации. В зависимости от несоответствия поведения прототипа ЭС желаемому поведению модификация может заключаться либо в уточнении элементов базы знаний, либо в пересмотре выбранных методов представления знаний (переконструирование), либо в поиске других моделей решения задачи (переформулирование).

2.2 Этап идентификации экспертной системы

На этапе идентификации определяются задачи, участники процесса разработки и их роли, ресурсы и цели. Определение участников и их ролей сводится к определению количества экспертов и инженеров по знаниям, а также формы их взаимоотношений. Обычно в основном цикле разработки экспертной системы участвуют не менее трех-четырех человек (один эксперт, один или два инженера по знаниям и один программист, привлекаемый для модификации и согласования инструментальных средств). К процессу разработки экспертной системы могут привлекаться и другие участники. Например, инженер по знаниям может привлекать других экспертов для того, чтобы убедиться в правильности своего понимания основного эксперта; представительности тестов, демонстрирующих особенности рассматриваемой задачи; совпадении взглядов различных экспертов на качество предлагаемых решений. Формы взаимоотношений экспертов и инженеров следующие: эксперт исполняет роль информирующего или эксперт выполняет роль учителя, а инженер - ученика. Вне зависимости от выбранной формы взаимоотношений инженер по знаниям должен быть готов и способен изучать специфические особенности той проблемной области, в рамках которой предстоит работать создаваемой экспертной системе. Несмотря на то, что основу знаний экспертной системы будут составлять знания эксперта, для достижения успеха инженер по знаниям должен использовать дополнительные источники знаний в виде книг, инструкций, которые ему рекомендовал эксперт.

Идентификация задачи заключается в составлении неформального (вербального) описания решаемой задачи. В этом описании указываются общие характеристики задачи; подзадачи, выделяемые внутри данной задачи; ключевые понятия (объекты), характеристики и отношения; входные (выходные) данные; предположительный вид решения; знания, релевантные решаемой задаче; примеры (тесты) решения задачи.

Цель этапа идентификации задачи состоит в том, чтобы характеризовать задачу и структуру поддерживающих ее знаний и приступить к работе по созданию базы знаний. Если исходная задача оказывается слишком сложной с учетом имеющихся ресурсов, то этап идентификации может потребовать нескольких итераций.

В ходе идентификации задачи необходимо ответить на следующие вопросы:

Какие задачи предлагается решать экспертной системе?

Как эти задачи могут быть охарактеризованы и определены?

На какие подзадачи разбивается каждая задача, какие данные они используют?

Какие ситуации препятствуют решению?

Как эти препятствия будут влиять на экспертную систему?

В процессе идентификации задачи инженер и эксперт работают в тесном контакте. Начальное содержательное описание задачи экспертом влечет за собой вопросы инженера по знаниям с целью уточнения терминов и ключевых понятий. Эксперт уточняет описание задачи, объясняет, как решать эту задачу и какие рассуждения лежат в основе решения. После нескольких циклов, уточняющих описание, эксперт и инженер по знаниям получают окончательное неформальное описание задачи.

При разработке экспертной системы типичными ресурсами являются: источники знаний, время разработки, вычислительные средства (возможности ЭВМ и программного инструментария) и объем финансирования. Для достижения успеха эксперт и инженер должны использовать при построении экспертной системы все доступные им источники знаний. Для эксперта источниками знаний могут быть его предшествующий опыт по решению задачи, книги, конкретные примеры задач и использованных решений. Для инженера по знаниям источниками знаний могут быть опыт в решении аналогичных задач, методы решения и представления знаний, программный инструментарий.

При определении временных ресурсов необходимо иметь в виду, что сроки разработки и внедрения экспертной системы составляют (за редким исключением) не менее шести месяцев (при трудоемкости от двух до пяти человеко-лет). Задача определения ресурсов является весьма важной, поскольку ограниченность какого-либо ресурса существенно влияет на процесс проектирования. Так, например, при недостаточном финансировании предпочтение может быть отдано не разработке оригинальной новой системы, а адаптации существующей.

Задача идентификации целей заключается в формулировании в явном виде целей построения экспертной системы. При этом важно отличать цели, ради которых строится система, от задач, которые она должна решать. Примерами возможных целей являются: формализация неформальных знаний экспертов; улучшение качества решений, принимаемых экспертом; автоматизация рутинных аспектов работы эксперта (пользователя); тиражирование знаний эксперта.

На первом этапе инженер по знаниям должен ответить на основной вопрос: «Подходят ли методы инженерии знаний для решения предложенной задачи?». Для положительного ответа на данный вопрос необходимо, чтобы задача относилась к достаточно узкой, специальной области знаний и не требовала для своего решения использования того, что принято называть здравым смыслом, поскольку методы искусственного интеллекта не дают возможности формализовать это понятие. Кроме того, качество экспертной системы зависит в конечном счете от уровня сложности решаемой задачи и ясности ее формулировки. Задача не должна быть ни слишком легкой, ни слишком трудной. Обычно число связанных понятий, релевантных проблеме, должно составлять несколько сотен. Говоря другими словами, назначение экспертной системы в том, чтобы решать некоторую задачу из данной области, а не в том, чтобы быть экспертом в этой области.

2.3 Этап концептуализации экспертной системы

На этапе концептуализации эксперт и инженер по знаниям выделяют ключевые понятия, отношения и характеристики, необходимые для описания процесса решения задачи. На этом этапе определяются следующие особенности задачи: типы доступных данных; исходные и выводимые данные; подзадачи общей задачи; используемые стратегии и гипотезы; виды взаимосвязей между объектами проблемной области; типы используемых отношений (иерархия, причина / следствие, часть / целое и т.п.); процессы, используемые в ходе решения задачи; типы ограничений, накладываемых на процессы, используемые в ходе решения; состав знаний, используемых для решения задачи и для объяснения решения.

Для определения перечисленных характеристик задачи целесообразно составить детальный протокол действий и рассуждений эксперта в процессе решения хотя бы одной конкретной задачи. Такой протокол обеспечивает инженера по знаниям словарем терминов (объектов) и некоторым приблизительным представлением о тех стратегиях, которые использует эксперт. Кроме того, протокол помогает ответить на многие другие вопросы, возникающие в ходе разработки. На этом этапе инженер по знаниям рассматривает вопросы, относящиеся к представлению знаний и методам решения, но говорить о выборе конкретных способов и методов здесь еще рано.

Адекватным средством для выделения ключевых понятий, отношений и характеристик являются диаграммы, которые используют практически все современные инструментальные средства. Диаграммы используются как средства проектирования, сопровождения и документирования, а также для организации взаимодействия между различными участниками процесса создания системы.

Являясь языком для описания требований и проектирования системы, диаграммы должны быть небольшими по размеру, простыми, понятными и полными. Для этого они должны опираться на формальные правила и использовать небольшое количество абстрактных символов. К числу базовых типов диаграмм относятся:

контекстные диаграммы (структурно-функциональные схемы), например нотация IDEF0;

диаграммы «сущность-связь», например нотация IDEF1X;

диаграммы потоков данных, например нотация DFD;

диаграммы «состояния-переходы», например нотация UML.

Для того чтобы показать, что система должна делать, надо показать всю систему, ее части и их взаимодействие. Это делается с помощью контекстных диаграмм. Эти диаграммы, на которых представлены сама система в виде системного процесса, ее основные части (подсистемы), включая операторы и основные блоки оборудования (измерения и управления), объекты внешнего окружения и основные потоки между ними, описывают разрабатываемую систему на высоком уровне.

Контекстная диаграмма в сочетании с перечнем системных требований стремится ответить на вопрос: «Что делает система?», причем дает только частичный ответ. Для систем со сложными связями между объектами важно более детально представлять взаимоотношения между объектами. Это делается с помощью диаграмм «сущность-связь». В этих диаграммах объекты представляются прямоугольниками, а связи между ними - стрелками. Тип связи и ее направление определяются с помощью стрелок в начале и в конце линии связи. Тип связи задает отношение множественности между объектами, т.е. определяет, скольким экземплярам второго объекта соответствует один экземпляр первого объекта.

После того как определено, что должна делать система, необходимо ответить на вопрос: «Как?» Первый вопрос заключается в том, как система взаимодействует с внешним окружением. Ответ на этот вопрос дает диаграмма потоков данных. На ней представлены внешние объекты, хранилища данных в системе, потоки данных, входящие, выходящие и проходящие внутри системы, и системные процессы, обрабатывающие эти потоки. Объекты принято обозначать квадратами, хранилища данных - узкими прямоугольниками без правой стороны, процессы - прямоугольниками с закругленными углами, а потоки данных - линиями со стрелками. Диаграммы потоков данных позволяют проводить декомпозицию по уровням раскрытия системных процессов и потоков. В совокупности они показывают, как система отвечает требованиям и как реализуется проект.

Типы диаграмм, упомянутые выше, отражали статическое поведение системы. Для того чтобы показать динамическое поведение системы, какие события происходят в системе, как система на них реагирует и в какие состояния она попадает, используются диаграммы «состояний-переходов», которые моделируют поведение машины с конечным числом состояний. Поведение системы представляется в виде множества дискретных, исключительных и конечных состояний. Происходящие события приводят к изменению состояния системы; считается, что изменения происходят мгновенно. События могут происходить синхронно и асинхронно.

2.4 Этап формализации экспертной системы

На этапе формализации все ключевые понятия и отношения, выявленные на этапе концептуализации, выражаются на некотором формальном языке, предложенном (выбранном) инженером по знаниям. Здесь он определяет, подходят ли имеющиеся инструментальные средства для решения рассматриваемой проблемы или необходим выбор другого инструментария, или требуются оригинальные разработки.

Основными задачами в процессе формализации являются проблемы структуризации исходной задачи и знаний в выбранном (разработанном) формализме, а именно:

– структуризация общей задачи на связанные подзадачи;

– структуризация предметной области на основе иерархии классов;

– структуризация знаний на декларативные и процедурные;

– структуризация приложения на основе иерархии «часть / целое».

Структуризация общей задачи на связанные подзадачи

Модульная организация базы знаний составляет важную часть разработки прикладной системы, хотя трудно предложить единственно правильный способ разбиения системы на модули. Процесс эволюции прикладной системы может потребовать пересмотра и ее модульной структуры. В большинстве современных средств разработки сложных экспертных систем и в особенности динамических предусматривается поддержка разбиения базы знаний на модули.

Важность модульной организации экспертной системы определяется тем, что разбиение приложения на модули существенно ускоряет разработку (так как независимые группы разработчиков могут одновременно разрабатывать различные модули), снижает затраты на сопровождение и поддержку, упрощает повторное использование модулей базы знаний в последующих разработках. С другой стороны, разбиение прикладной экспертной системы на модули несколько повышает накладные расходы на загрузку и сборку прикладной системы, например: восстановление после сбоев и перезапуск системы.

Структуризация предметной области на основе иерархии классов

Необходимость ускорения темпов разработки и модификации экспертной системы всегда являлась актуальной задачей прикладной инженерии знаний. Применение объектно-ориентированного подхода в современных экспертных системах естественным образом реализует возможность декомпозиции задачи на совокупность подзадач. Знания при этом подходе организованы в классы. Каждый класс определяется специфическим набором атрибутов. Классы организуются в иерархию классов. Каждый класс в иерархии наследует атрибуты и ограничения своего родительского класса. Обычно производный класс определяет дополнительные специфические атрибуты и (или) ограничения.

В большинстве существующих экспертных систем пользователю разрешено производить новый класс только от одного родительского. Такой подход хотя и проще в реализации, требует дополнительных усилий во время формирования предметно-ориентированной иерархии классов, так как в этом случае иерархия наследования должна представляться в виде дерева. Добавление в иерархию наследования нового класса может потребовать существенных концептуальных изменений на различных уровнях. Избежать подобных непроизводительных затрат позволяет концепция множественного наследования, в рамках которой новый класс может наследовать свойства у двух и более классов родителей. Однако следует отметить, что к использованию механизмов множественного наследования следует подходить аккуратно, так как получающаяся в этом случае сетевая схема иерархии наследования затрудняет понимание структуры базы знаний.

Основными механизмами структурирования проблемно-ориентированной иерархии классов являются два противоположно направленных, но взаимосвязанных процесса: обобщение и специализация (конкретизация).

Процесс обобщения заключается в создании родительских классов для обобщения свойств, присущих более чем одному классу объектов в приложении. Например, так как автомобили, самолеты и лодки характеризуются скоростью передвижения, в приложении, работающем с этими объектами, целесообразно ввести новый класс транспортных средств, обладающий этим свойством. Самолеты, автомобили и лодки будут производными классами от транспортного средства и унаследуют от него атрибут «скорость передвижения». Кроме атрибутов, характеризующих наблюдаемые свойства объектов, целесообразно провести обобщение и их поведенческих аспектов.

Процесс специализации заключается во введении новых классов для описания объектов, отличающихся значениями характеристик, их набором и поведением от уже описанных. Рассмотрим далее приведенный выше пример. Если разработчику потребуется описать новый тип лодок (например, моторные лодки), он должен определить его как подкласс существующего класса «лодки». Новый класс наследует все свойства, взаимосвязи и поведение своего родителя. Для его описания необходимо указать только его особенности.

Структуризация знаний на декларативные и процедурные

Декларативные знания - это знания, которые записаны в памяти интеллектуальной системы так, что они непосредственно доступны для использования после обращения к соответствующему полю памяти. Обычно декларативные знания используются для представления информации о свойствах и фактах предметной области. По форме представления декларативные знания противопоставляются процедурным знаниям.

Процедурные знания - это знания, хранящиеся в памяти интеллектуальной системы в виде описания процедур, с помощью которых их можно получить. Обычно процедурные знания используются для представления информации о способах решения задач в проблемной области, а также различные инструкции, методики и т.п.

Структуризация приложения на основе иерархии «часть / целое»

Модульный принцип создания приложения предоставляет разработчику различные возможности разбиения приложения на подсистемы, легче поддающиеся сопровождению и модификации. Разбиение приложения на модули упрощает процесс тестирования за счет использования групповой работы над тестируемой системой. Модульность также обеспечивает базовые возможности для повторного использования фрагментов системы.

3. Разработка экспертной системы, контролирующей исполнение проекта

3.1 Проектирование экспертной системы

Идентификация

В целях изучения процесса создания экспертной системы был разработан образец ЭС, которая поможет пользователю оценить ход реализации проекта на основе определенных признаков.

В качестве входных данных выступает информация о состоянии проекта. На основе введенных пользователем запросов будет осуществляться поиск и выбор из базы данных проблемы, которая соответствует признакам отклонения проекта от плана.

Концептуализация

В качестве входных данных используются возможные причины отклонения.

Выходными данными выступают возможные отклонения и рекомендации по их устранению.

Формализация

Формализованная задача: на основе введенной пользователем информации необходимо составить и выполнить запрос, который извлечет из базы данных информацию, интересующую пользователя.

Реализация

В качестве среды для разработки оболочки экспертной системы, обеспечивающей работу с базой данных, был использован CLIPS 6.3. Листинг программы представлен в приложении Б.

Ниже на рисунках 3.1 - 3.3 приведены образцы функционирования экспертной системы, контролирующей исполнение проекта.

Рисунок 3.1. Начало работы ЭС

Рисунок 3.2. Образец функционирования ЭС

Рисунок 3.3. Образец функционирования ЭС

Заключение

В ходе написания курсовой работы были изучены основные теоретические аспекты экспертных систем и рассмотрены варианты их использования на практике.

Помимо этого, был разработан образец экспертной системы, контролирующей исполнение проекта. Для ее создания второй экспертной системы был использован программный продукт CLIPS 6.3, который подставляет собой экспертную систему, работающую с правилами и фактами.

Экспертная система - наиболее известный и распространенный вид интеллектуальных систем. Хотя этот термин употребляется весьма широко, но его точного определения пока нет.

Главная особенность экспертных систем состоит в том, что они предназначены для пользователей, сфера деятельности которых далека от искусственного интеллекта, программирования, математики, логики. Для таких пользователей экспертная система выступает как некая система, помогающая им в повседневной работе.

В настоящее время можно выделить следующие основные сферы применения ЭС: диагностика, планирование, имитационное моделирование, предпроектное обследование предприятий, офисная деятельность, а также некоторые другие.

Список используемых источников

1. Интеллектуальные ИС [Электронный ресурс] Режим доступа: http://www.habarov.spb.ru/new_es/index.htm.

2. НОУ ИНТУИТ [Электронный ресурс] Режим доступа: http://www.intuit.ru/studies/courses/651/507/lecture/11533.

3. Пашкова А.А. Интеллектуальные информационные системы на примере языка CLIPS [Электронный ресурс] Режим доступа: http://www.np.vspu.ac.ru/show.php? id=44&t=1&st=5.

Размещено на Allbest.ru

...

Подобные документы

  • Основные этапы при создании экспертных систем: идентификация, концептуализация, формализация, выполнение, отладка и тестирование, опытная эксплуатация и внедрение. Соответствия между этапами проекта RAD и стадиями технологии быстрого прототипирования.

    лекция [38,8 K], добавлен 07.11.2013

  • Понятия, классификация и структура экспертных систем. Базы знаний и модели представления знаний. Механизмы логического вывода. Инструментальные средства проектирования и разработки экспертных систем. Предметная область ЭС "Выбор мобильного телефона".

    курсовая работа [2,2 M], добавлен 05.11.2014

  • Структура экспертных систем, их классификация и характеристики. Выбор среды разработки программирования. Этапы создания экспертных систем. Алгоритм формирования базы знаний с прямой цепочкой рассуждений. Особенности интерфейса модулей "Expert" и "Klient".

    курсовая работа [1,1 M], добавлен 18.08.2009

  • Этапы разработки экспертных систем. Требования к организации-разработчику. Правильный выбор подходящей проблемы, работа с экспертом. Разработка прототипной системы. Развитие прототипа до промышленной экспертной системы. Особенности оценки системы.

    презентация [169,1 K], добавлен 14.08.2013

  • Отличительные черты компьютерных программ экспертных систем, их разработка. Составные части систем: база знаний, механизм вывода, система пользовательского интерфейса. Структура базы знаний экспертной системы для помощи медикам в постановке диагноза.

    курсовая работа [325,0 K], добавлен 04.02.2011

  • Сущность и назначение экспертной системы, ее основные элементы и предъявляемые требования, обоснование важности и области применения. Методика получения объяснений в результате действия экспертной системы, их виды. Построение модели гибкого интерфейса.

    курсовая работа [202,4 K], добавлен 10.11.2009

  • Назначение экспертной системы. Разработка экспертной системы путем самостоятельного программирования в полном объеме простейшей ЭС в "GURU". Листинг экспертной системы по прогнозированию на бирже уровня цен, если валютный курс доллара падает или растет.

    лабораторная работа [17,8 K], добавлен 15.01.2011

  • Структура типичной экспертной системы. База данных (рабочая память), её назначение. Функция getsport как экземпляр класса cSport. Алгоритм работы экспертной системы. Реализация пользовательского интерфейса. Результаты тестирования системы пользователем.

    курсовая работа [1018,8 K], добавлен 13.06.2012

  • Обобщенная структура и принципы функционирования экспертных систем. Выбор модели представления знаний. Разработка логического блока программы и графического пользовательского интерфейса. Текст программы и экспериментальная оценка результатов работы.

    дипломная работа [2,4 M], добавлен 06.03.2013

  • Технология экспертных систем на основе искусственного интеллекта: разработка и внедрение компьютерных программ, способных имитировать, воспроизводить области деятельности человека, требующих мышления, определенного мастерства и накопленного опыта.

    курсовая работа [264,8 K], добавлен 22.12.2008

  • Сущность, виды, направления использования и основные понятия экспертных систем. Понятие и характеристика основных элементов структуры экспертной системы. Основные виды классификаций экспертных систем: по решаемой задаче и по связи с реальным временем.

    доклад [104,5 K], добавлен 09.06.2010

  • Виды и основные функции интеллектуальных систем. Выбор инструментального средства для создания экспертной системы. Физическое проектирование базы данных. Использование среды EsWin 2.1 для разработки и тестирования экспертной системы выбора должности.

    курсовая работа [615,8 K], добавлен 22.03.2016

  • Фреймовые модели представления знаний. Разработка структуры фреймов для реализации экспертной системы. Разработка экспертной системы с фреймовой моделью представления знаний. Редактирование базы фактов кандидатов и описание режима консультации.

    курсовая работа [1,3 M], добавлен 13.10.2012

  • Ознакомление с методами разработки экспертных систем, предназначенных для обобщения, хранения, использования знаний и опыта, накопленного специалистами в конкретных предметных областях. Проектирование программы на языке Пролог, ее отладка и тестирование.

    курсовая работа [69,6 K], добавлен 12.05.2013

  • Аналитический обзор системы управления курсами Moodle, программное построение ее модулей. Разработка структурной схемы и базы знаний экспертной системы. Создание дерева вопросов и выбор алгоритма поиска решений. Анализ возможных угроз и защита информации.

    дипломная работа [534,7 K], добавлен 14.12.2013

  • Структура экспертной системы: база знаний, механизм вывода, система пользовательского интерфейса. Анализ требований, проектирование системы "Подбор сотовых телефонов". Спецификация области, кодирование. Листинг программы, результаты тестирования.

    курсовая работа [24,5 K], добавлен 12.05.2013

  • История появления первой экспертной системы DENDRAL. Проектирование и разработка программной экспертной системы, предназначенной для анализа финансового состояния предприятия. Основные предикаты и секции приложения: domains, predicates, clauses, goal.

    курсовая работа [1,5 M], добавлен 21.05.2016

  • История развития, применение искусственных нейронных сетей. Распознавание образов в сети. Сжатие данных и ассоциативная память. Проектирование экспертной системы, позволяющей диагностировать заболевания органов пищеварения. Программная реализация системы.

    курсовая работа [744,0 K], добавлен 05.02.2016

  • Разработка программного комплекса, нацеленного на предоставление информации о комплектации персонального компьютера. Входные и выходные данные системы. Описание предметной области. Краткая информация о языке Clips. Проектирование экспертной системы.

    курсовая работа [36,0 K], добавлен 23.06.2011

  • Участники и инструментальные средства создания экспертной системы. Классификация, преимущества, сферы применения экспертных систем. Разработка блок-схемы алгоритма и программы на языке Турбо Паскаль для решения задачи по теме "Двумерные массивы".

    курсовая работа [1,0 M], добавлен 18.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.