практика 12 жиж. Практическая работа 12 Принятие решения с помощью экспертной системы Цель работы
Скачать 110.84 Kb.
|
Практическая работа № 12Принятие решения с помощью экспертной системыЦель работы Освоить практические навыки применения экспертных систем для решения простых логических задач. Научиться строить базы знаний для произвольной предметной области. Исходные данные Любая задача выбора из 10 вопросов и пяти исходов (вариантов решений), в которой вы можете выступать в качестве эксперта. Задачу выбрать из варианта или согласовать с преподавателем. Подготовка к работе Изучить методические указания и рекомендации, содержащиеся в данной лабораторной работе. 1.1. Назначение, сфера применения программы Методические указания к выполнению экспериментальной части Программа является простой оболочкой экспертной системы, использующей байесовскую систему логического вывода. Предназначена для проведения консультации с пользователем в какой-либо прикладной области (на которую настроена загруженная база знаний) с целью определения вероятностей возможных исходов и использует для этого оценку правдоподобности некоторых предпосылок, получаемую от пользователя. Достоинство данной программы - возможность создания и применения собственной базы знаний. Для этого можно использовать "Редактор баз знаний", прилагаемый к "Малой ЭС". 1.2. Характеристики экспертных систем Экспертная система (ЭС) − это набор программ, выполняющий функции эксперта при решении задач из некоторой предметной области. ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует эффективности работы и повышению квалификации специалистов. Основными компонентами информационной технологии, используемой в экспертной системе, являются (рис.1): интерфейс пользователя, база знаний, интерпретатор, модуль создания системы. Рис. 1. Структура экспертной системы Интерфейс пользователя. Менеджер (специалист) использует интерфейс для ввода информации и команд в экспертную систему и получения выходной информации их нее. Команды включают в себя параметры, направляющие процесс обработки знаний. Информация обычно выдается в форме значений, присваиваемых определенным переменным. Менеджер может использовать четыре метода ввода информации: меню, команды, естественный язык и собственный интерфейс. Технология экспертных систем предусматривает возможность получать в качестве выходной информации не только решение, но и необходимые объяснения. Различают два вида объяснений: объяснения, выдаваемые по запросам. Пользователь в любой момент может потребовать от экспертной системы объяснения своих действий; объяснения полученного решения проблемы. После получения решения пользователь может потребовать объяснений того, как оно было получено. Система должна пояснить каждый шаг своих рассуждений, ведущих к решению задачи. База данных. Она содержит факты, описывающие проблемную область, а также логическую взаимосвязь этих фактов. Центральное место в базе знаний принадлежит правилам. Правило определяет, что следует делать в данной конкретной ситуации, и состоит из двух частей: условия, которое может выполняться или нет, и действия, которое следует произвести, если условие выполняется. Все используемые в экспертной системе правила образуют систему правил, которая даже для сравнительно простой системы может содержать несколько тысяч правил. Все виды знаний в зависимости от специфики предметной области и квалификации проектировщика (инженера по знаниям) с той или иной степенью адекватности могут быть представлены с помощью одной либо нескольких семантических моделей. К наиболее распространенным моделям относятся логические, продукционные, фреймовые и семантические сети. Интерпретатор. Это часть экспертной системы, производящая в определенном порядке обработку знаний (мышление) находящихся в базе знаний. Технология работы интерпретатора сводится к последовательному рассмотрению совокупности правил (правило за правилом). Если условие, содержащееся в правиле, соблюдается, выполняется определенное действие, и пользователю предоставляется вариант решения его проблемы. Кроме того, во многих экспертных системах вводятся дополнительные блоки: база данных, блок расчета, блок ввода и корректировки данных. Блок расчета необходим в ситуациях, связанных с принятием управленческих решений. При этом важную роль играет база данных, где содержатся плановые, физические, расчетные, отчетные и другие постоянные или оперативные показатели. Блок ввода и корректировки данных используется для оперативного и своевременного отражения текущих изменений в базе данных. Модуль создания системы. Он служит для создания набора (иерархии) правил. Существуют два подхода, которые могут быть положены в основу модуля создания системы: использование алгоритмических языков программирования и использование оболочек экспертных систем. Оболочка экспертных систем представляет собой готовую программную среду, которая может быть приспособлена к решению определенной проблемы путем создания соответствующей базы знаний. В большинстве случаев использование оболочек позволяет создавать экспертные системы быстрее и легче в сравнении с программированием. Главным достоинством экспертных систем является возможность накопления знаний и сохранение их длительное время. В отличии от человека к любой информации экспертные системы подходят объективно, что улучшает качество проводимой экспертизы. При решении задач, требующих обработки большого объема знаний, возможность возникновения ошибки при переборе очень мала. Экспертная система отличается от прочих прикладных программ наличием следующих признаков: Моделирует не столько физическую (или иную) природу определенной проблемной области, сколько механизм мышления человека применительно к решению задач в этой проблемной области. Это существенно отличает экспертные системы от систем математического моделирования или компьютерной анимации. Система, помимо выполнения вычислительных операций, формирует определенные соображения и выводы, основываясь на тех знаниях, которыми она располагает. Знания в системе представлены, как правило, на некотором специальном языке и хранятся отдельно от собственно программного кода, который и формирует выводы и соображения. Этот компонент программы принято называть базой знаний. При решении задач основными являются эвристические и приближенные методы, которые, в отличие от алгоритмических, не всегда гарантируют успех. Эвристика, по существу, является правилом влияния (rule of thumb), которое в машинном виде представляет некоторое знание, приобретенное человеком по мере накопления практического опыта решения аналогичных проблем. Экспертные системы отличаются и от других видов программ из области искусственного интеллекта. Экспертные системы имеют дело с предметами реального мира, операции с которыми обычно требуют наличия значительного опыта, накопленного человеком. Одной из основных характеристик экспертной системы является ее производительность, т.е. скорость получения результата и его достоверность (надежность). 1.3. Принятие решения с помощью экспертной системы Особенности предметной области с точки зрения методов принятии решения с помощью экспертной системы можно характеризовать следующими параметрами:
На этапе принятия решения в экспертной системе используются различные алгоритмы, которые модифицируются так, чтобы обеспечить выполнение следующих условий:
Одной из возможных стратегий для оптимизирования запросов является стратегия получения в первую очередь той информации, которая подтверждает либо опровергает наиболее вероятный на текущий момент результат. Идеальной будет такая ситуация, при которой можно в определенной предметной области предоставить компьютеру в приемлемом для него виде множество определений, которые он сможет использовать примерно так же, как человек-эксперт. Именно это и пытается делать такая программа, как Малая экспертная система 2.0. 1.4. Разработка базы данных В ЭС большая часть информации учетом байесовской системы логического вывода не является абсолютно точной, а носит вероятностный характер. Суть в том, что система задает множество вопросов, содержащихся в виде символьных строк <Симптом_1>, <Симптом_2> и т.д. В качестве примера рассмотрим задачу определения вероятностей наличия различных заболеваний у пациента. Программа в данном случае выступает в роли врача (эксперта), который задаёт пациенту вопросы относительно симптомов и на основе полученных сведений ставит диагноз. Пациенту задаются только самые важные вопросы, от ответа на которые в большей степени зависит окончательное установление болезни. Экспертная система запрашивает у пользователя оценку истинности самого важного свидетельства, на основе ответа корректирует вероятности исходов и переходит к следующему свидетельству, выбрав снова самое актуальное. Таким образом, достигается наискорейшее получение результата при минимальном количестве запросов. В ЭС заболевания оформлены в виде полей табл. 1.
Таблица 1 Поле Болезнь характеризует название возможного исхода, например "Грипп". Следующее поле – p − это априорная вероятность такого исхода P(H), т.е. вероятность исхода в случае отсутствия дополнительной информации. После этого идет ряд повторяющихся полей из трех элементов. Первый элемент − j − это номер соответствующего симптома (свидетельства, переменной, вопроса, если вы хотите назвать его по-другому). Следующие два элемента − P(E: H) и P(E: не H) — соответственно вероятности получения ответа "Да" на этот вопрос, если возможные исход верен и неверен. Например:
Здесь указано, что существует априорная вероятность P(H)=0.01, что любой наугад взятый человек болеет гриппом. Допустим, программа задает вопрос 1 (симптом 1). Тогда величина P(E: H)=0.9 и P(E: не H)=0.01, а это означает, что если у пациента грипп, то он в девяти случаях из десяти ответит "да" на этот вопрос, а если у него нет гриппа, он ответит "да" лишь в одном случае из ста. Очевидно, ответ "да" подтверждает гипотезу о том, что у него грипп. Ответ "нет" позволяет предположить, что человек гриппом не болеет. Так же и во второй группе симптомов (2, 1, 0.01). В этом случае P(E : H)=0.9, т.е. если у человека грипп, то этот симптом должен присутствовать. Соответствующий симптом может иметь место и при отсутствии гриппа (P(E: не H)=0.01), но это маловероятно. Вопрос 3 исключает грипп при ответе "да", потому что P (E: H)=0. Это может быть вопрос вроде такого: "наблюдаете ли вы такой симптом на протяжении большей части жизни?" — или что-нибудь вроде этого. Нужно подумать, а если вы хотите получить хорошие результаты, то и провести исследование, чтобы установить обоснованные значения для этих вероятностей. Получение такой информации— вероятно, труднейшая задача, в решении которой компьютер также сможет существенно помочь Вам. Если вы напишите программу общего назначения, ее основой будет теорема Байеса, утверждающая: P(H: E) = P(E: H) * P(H) / (P(E: H) * P(H) +P(E: не H) * P(не H). Вероятность осуществления некой гипотезы H при наличии определенных подтверждающих свидетельств Е вычисляется на основе априорной вероятности этой гипотезы без подтверждающих свидетельств и вероятности осуществления свидетельств при условиях, что гипотеза верна или неверна. Поэтому, возвращаясь к нашим болезням, оказывается: P(H : E) = py * p / (py * p + pn * (1 - p)) . Работа ЭС начинается с того, что Р(Н) = р для всех болезней. Программа задает соответствующий вопрос и в зависимости от ответа вычисляет P(H: E). Ответ "да" подтверждает вышеуказанные расчеты, ответ "нет" тоже, но с (1 – py) вместо py и (1 – pn) вместо pn. Сделав так, мы забываем об этом, за исключением того, что априорная вероятность P(H) заменяется на P(H: E). Затем продолжается выполнение программы, но с учетом постоянной коррекции значения P(H) по мере поступления новой информации. Пример. База знаний с чёткой логикой, решающей задачу классификации: «Ты геймер?» Автор: Алексей Бухнин. Вопросы: Ты играешь в компьютерные игры по 6 и более часов в сутки? Ты бросаешь все дела ради новой игры? От 3D-action игр у тебя кружится голова? Ты ни за что не потащишь свой компьютер к другу для организации соревнований по сети? Ты в основном тратишь деньги или на новый игровой диск, или на апгрейд компьютера? Ты не пользуешься "мышью" в 3D-action играх? Геймер, 0.5, 1,1,0, 2,1,0, 3,0,1, 4,0,1, 5,1,0, 6,0,1 Не геймер, 0.5, 1,0,1, 2,0,1, 3,1,0, 4,1,0, 5,0,1, 6,1,0 В этой базе знаний 6 вопросов (вообще-то семь, но нулевой вопрос «Вопросы: » не упоминается ни в одном правиле) и всего два исхода. Априорные вероятности обоих исходов равны 0.5, т.е. гипотезы, что наугад выбранный человек является или не является геймером, равновероятны. Задание_по_экспериментальной_части__Задание__Описание_(Инструкции)'>Задание по экспериментальной части
Содержание отчета Описать кратко последовательность действий, необходимых при выполнении лабораторной работы и их назначение. Оформить описание в виде таблицы:
|