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

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

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

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

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

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

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

Задание

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

Выбор должен осуществляться на основании результатов диалога программы с пользователем.

Входные данные - параметры поиска, задаваемые пользователем.

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

Введение

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

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

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

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

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

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

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

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

Объект исследования - процесс проектирования и реализации экспертной системы.

Предмет исследования - структура и содержание экспертной системы.

Задачи исследования:

Изучить и проанализировать научную литературу по проблеме исследования;

Изучить понятие ЭС и ее структуру;

Изучить технологию проектирования ЭС;

Спроектировать и реализовать ЭС.

1. Экспертные системы

1.1 Основные понятия экспертной системы

В середине семидесятых годов 20 века в исследованиях по искусственному интеллекту (ИИ) сформировалось самостоятельное направление, получившее название экспертные системы.

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

Экспертные системы - прикладные программы ИИ, в которых база знаний представляет собой формализованные знания высококвалифицированных специалистов (экспертов) области [2].

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

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

1.2 Классификация, структура и задачи экспертных систем

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

- системы, базирующиеся на правилах;

- системы, базирующиеся на логике;

- системы, базирующиеся на фреймах;

- системы, базирующиеся на моделях.

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

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

Для классификации ЭС можно использовать различные критерии.

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

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

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

3. По области применения ЭС делятся следующие классы.

1) Диагностика. Например, медицинская диагностика, когда системы используются для установления заболеваний; техническая диагностика, когда определяют неисправности в механических и электрических устройствах.

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

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

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

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

6) Обучение. Экспертно-обучающие системы реализуют следующие педагогические функции: учение, обучение, контроль и диагностику знаний, тренировку.

4. По связям с реальным миром.

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

2) Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени. Например, микробиологические ЭС, в которых снимаются лабораторные изменения с технологического процесса один раз в 4 -5 часов и анализируется динамика полученных показателей по отношению к предыдущему измерению.

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

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

1) Классифицирующие ЭС решают задачи распознавания ситуаций. Основным методом формирования решений в таких системах является дедуктивный логический вывод.

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

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

- генерация и проверка гипотез;

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

- использование метазнаний (более общих закономерностей) для устранения неопределенностей в ситуациях.

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

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

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

- применение различных стратегий вывода заключений в зависимости от типа решаемой проблемы;

- обработка больших массивов информации из баз данных;

- использование математических моделей и внешних процедур для имитации развития ситуаций.

2) Синтезирующие. В системах решение синтезируется из отдельных фрагментов знаний.

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

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

Структура экспертной системы

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

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

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

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

- прием и отображение информации с использованием устройств ввода и вывода инструментальной ЭВМ;

- поддержка удобной для пользователя формы диалога (с использованием естественного языка);

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

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

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

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

1. Данные и знания надежны и не меняются со временем;

2. Пространство возможных решений относительно невелико;

3. В процессе решения задачи должны использоваться формальные рассуждения;

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

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

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

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

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

- задач, знания о методах решения которых отсутствуют (невозможно построить базу знаний).

Перечень типовых задач, для решения которых предназначены ЭС, включает:

- формирование информации из первичных данных (например, из сигналов, поступающих от гидролокатора);

- диагностика неисправностей (как в технических системах, так и в человеческом организме);

- структурный анализ сложных объектов (например, химических соединений);

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

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

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

Для классификации ЭС используют следующие признаки:

- способ формирования решения;

- способ учета временного признака;

- вид используемых данных;

- число используемых источников решения знаний.

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

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

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

ЭС могут создаваться с использованием одного или нескольких источников знаний.

Типичная статическая ЭС состоит из следующих основных компонентов [7] (Рис. 1):

- решателя (интерпретатора);

- рабочей памяти (РП), называемой также базой данных (БД);

- базы знаний (БЗ);

- компонентов приобретения знаний;

- объяснительного компонента;

- диалогового компонента.

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

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

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

Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом.

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

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

1.3 Механизмы логического вывода

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

Два способа использования продукционных правил:

- прямая цепочка рассуждений;

- обратная цепочка рассуждений.

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

При втором подходе обработка информации осуществляется в обратном направлении - метод «генерации» или выдвижения гипотезы и ее проверки (стратегия «от цели к данным»).

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

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

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

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

Процесс разработки ЭС можно разделить на следующие этапы:

1. Выбор проблемы.

2. Разработка прототипа ЭС.

3. Доработка до промышленной ЭС.

4. Оценка ЭС.

5. Стыковка ЭС.

6. Поддержка ЭС.

1) Выбор подходящей проблемы.

На этом этапе:

- определяется проблемная область;

- подбираются специалисты-эксперты;

- подбирается коллектив разработчиков;

- определяется предварительный подход к решению проблемы;

- готовится подробный план разработки.

2) Разработка прототипа ЭС.

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

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

- ресурсы (время, люди и т.д.);

- источники знаний (книги, дополнительные эксперты);

- имеющиеся аналогичные ЭС;

- классы решаемых задач и т.д.

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

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

d) Формализация знаний - это разработка базы знаний на языке представления знаний. На этом этапе используются: логические методы, продукционные модели, семантические модели, фреймы, объектно-ориентированные языки.

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

f) Тестирование - процесс выявления ошибок в подходе и реализации прототипа. Прототип проверяется на: удобство и адекватность интерфейса ввода/вывода, качество проверочных примеров, полнота и непротиворечивость правил в базе знаний.

3) Развитие прототипа до промышленной ЭС.

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

4) Оценка системы.

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

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

- критерии приглашенных экспертов (оценка советов-решений, предлагаемые системой, оценка подсистемы объяснений и т.д.);

- критерии коллектива разработчиков (эффективность реализации, производительность, непротиворечивость базы знаний, количество тупиковых ситуаций и т.д.).

5) Этап стыковки системы.

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

6) Поддержка системы.

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

2.1 Возможность разработки экспертной системы

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

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

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

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

2.2 Оправданность разработки экспертной системы

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

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

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

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

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

3. Проектирование и реализация экспертной системы

3.1 Реализация этапов разработки экспертной системы

Разработка ЭС разбита на три этапа: выбор метода реализации ЭС, непосредственно кодирование программы и тестирование системы.

1. Выбор метода реализации экспертной системы

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

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

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

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

2. Построение экспертной системы: описание логической части программы

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

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

Кроме ответа на вопрос «Почему» программа имеет возможность отвечать на вопрос «Как», после вывода сделанного ЭС пользователь может проследить весь процесс вывода.

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

Заключение

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

Библиографический список

экспертный информационный логический вывод

1 Шилер А.В. Разработка интеллектуальных информационных систем с использованием программной среды CLIPS /ОмГУПС, 2009. 43 с

2 Уотермен Д. Руководство по экспертным системам / Д.Уотермен. - М.: Мир, 1989.

3 Шалютин С.М. Искусственный интеллект / С.М. Шалютин - М.: Мысль, 1985.

4 СТП ОмГУПС-1.2-2005. Работы студенческие учебные и выпускные квалификационные: общие требования и правила оформления текстовых документов. Омский Государственный Университет Путей Сообщения, Омск, 2005. 28с.

Приложение

Приложение A (Алгоритм функционирования ЭС)

Приложение B (Листинг ЭС)

(deftemplate rule

(multislot if)

(multislot then))

(deffacts knowledge-base

(goal is model.holod)

(legalanswers are yes no)

(rule (if Big is yes)

(then holod is Big))

(rule (if Big is no)

(then holod is Normal))

(question Big is "Vam nuzen bolshoy holodilnik?")

(rule (if holod is Normal and

Morozz is yes)

(then model.holod is "Саратов 451 КШ-160 Белый"))

(rule (if holod is Normal and

Morozz is no)

(then model.holod is "Daewoo Electronics FR-052AIX Silver"))

(question Nozzle is "Vam nuzna morozzilnay kamera?")

(rule (if holod is Big and

Modell is yes)

(then holodmodel is below))

(rule (if holod is Big and

Modell is no)

(then holodmodell is system))

(question Modell is "Morozzilnay kamera below?")

(rule (if holodmodell is system and

automat is yes)

(then model.holod is "Indesit BIA 18"))

(rule (if holodmodell is system and

automat is no)

(then model.holod is "Бирюса R 118 CA"))

(question Mechanical is "Nuzna automatic systema razmorazhivaniy?")

(rule (if holodmodell is below and

kamer is yes)

(then door.side is door))

(rule (if holodmodell is below and

kamer is no)

(then door.side is side))

(question kamer is "Morozzilnay kamera below?")

(rule (if door.side is door and

door.way is yes)

(then model.holod is "Bosch KGV39XL20R"))

(rule (if door.side is door and

door.way is no)

(then model.holod is " Samsung RL-63 GCBMG"))

(question door.way is "Nuzna vozmoznost pereveshivaniy door?")

(rule (if door.side is side and

side.by is yes)

(then model.holod is "LG GC-B207GMQV"))

(rule (if dooor.side is side and

side.by is no)

(then model.holod is "Sharp SJ-391VSL"))

(question side.by is "Nuzno raspolozenie morozzilnoy kamer side?")

(answer is "Ya dumayu 4to vam bolshe vsego podhodit holodilnik " model.holod))

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


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

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