Сборник задач (лабораторный практикум)



 

Лабораторная работа №1

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

 

Для выполнения этого задания вначале ознакомимся с форматомбазы знаний, применяемым в программы «Малая Экспертная Система» v2.0

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

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

Значения P(E/H) и P(E/неH), подставленные в теорему Байеса, позволяют вычислить апостериорную вероятность исхода, т.е. вероятность, скорректированную в соответствии с ответом пользователя на данный вопрос:

P(H/E) = P(E/H) * P(H)/(P(E/H) * P(H) + P(E/неH) * P(неH))

или

P апостериорная = Py * P/(Py * P + Pn * (1 – P))

Описание формата базы знаний

 

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

---

Описание базы знаний, имя автора, комментарий и т.п.

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

 

Свидетельство № 0 (любой текст (не более 1000 символов), заканчивающийся переносом строки)

Свидетельство № 1

Свидетельство № 2

...

Свидетельство № N (после последнего свидетельства следует одна пустая строка, и вторая секция заканчивается)

 

Исход № 0, P [ , i, Py, Pn ]

Исход № 1, P [ , i, Py, Pn ]

Исход № 2, P [ , i, Py, Pn ]

...

Исход № M, P [ , i, Py, Pn ]

---

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

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

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

После этого через запятую идет ряд повторяющихся полей из трех элементов.

Первый элемент (i) – это номер соответствующего вопроса (симптома, свидетельства). Следующие два элемента ( Py = P(E/H) и Pn = P(E/неH) ) – соответственно вероятности получения ответа «Да» на этот вопрос, если возможный исход верен и неверен.

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

Например:

Грипп, 0.01, 1,0.9,0.01, 2,1,0.01, 3,0,0.01

Здесь сказано: существует априорная вероятность P(H) = 0.01 того, что любой наугад взятый человек болеет гриппом.

Допустим, программа задает вопрос 1 (симптом 1). Для него имеем запись (запись «2,1,0.01»). Тогда мы имеем P(E/H) = 0.9 и P(E/неH) = 0.01, а это означает, что если у пациента грипп, то он в девяти случаях из десяти ответит «Да» на этот вопрос, а если у него нет гриппа, он ответит «Да» лишь в одном случае из ста (т.е. данный симптом встречается довольно редко при других болезнях (исходах)). Очевидно, ответ «Да» подтверждает гипотезу о том, что у него грипп. Ответ «Нет» позволяет предположить, что человек гриппом не болеет.

Для второго симптома имеем запись «2,1,0.01». В этом случае P(E/H) = 1, т.е. если у человека грипп, то этот симптом обязательно должен присутствовать. Соответствующий симптом может иметь место и при отсутствии гриппа (P(E/неH) = 0.01), но это маловероятно.

Вопрос 3 (запись «3,0,0.01») исключает грипп при ответе «Да», потому что Р(Е/Н) = 0. Это может быть вопрос вроде следующего: «Наблюдается ли у Вас данное состояние на протяжении большей части жизни?» – или что-нибудь вроде этого.

 

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

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

Если утверждение <текст вопроса> верно, то утверждение <текст исхода> также верно (с вероятностью P(E/H)).

 

Задания

1. Создать простую базу знаний «Ты геймер?», решающей задачу классификации (с четкой логикой).

В этой БЗ будет 2 равновероятных исхода: «геймер» и «не геймер».

Априорные вероятности обоих исходов равны 0.5 (P(H) = 0.5), т.е. гипотезы, что наугад выбранный человек является или не является геймером, равновероятны (при этом сумма априорных вероятностей равна 1, т.е. в базе знаний приведены все возможные исходы).

Каждое утверждение четко относит испытуемого к одной из этих категорий, т.е. если для первого вопроса для исхода «геймер» будет запись 1,1,0, то для исхода «не геймер» запись будет 1,0,1.Таким образом, Py и Pn для каждого вопроса равны либо 1, либо 0, при этом во втором правиле эти значения инвертируются (относительно первого правила). Это приводит к тому, что максимально уверенный ответ («Точно да» или «Точно нет») на любой вопрос однозначно классифицирует пользователя как геймера или не геймера (см. таблицу 1).

 (Примечание: не следует указывать Py и Pn равными друг другу, т.к. это означает, что данное свидетельство не влияет на вероятность исхода, т.е. бессмысленно его упоминать).

Представим правила, используемые ЭС «Ты геймер?», в виде таблицы.

Таблица 1

№ п/п

Утверждение / Вопрос

Заключение / Исход

геймер не геймер
1. Ты играешь в компьютерные игры по 6 и более часов в сутки 1 0
2. Ты бросаешь все дела ради новой игры 1 0
3. От 3D-action игр у тебя кружится голова 0 1
4. Ты ни за что не потащишь свой компьютер к другу для организации соревнований по сети 0 1
5. Ты в основном тратишь деньги или на новый игровой диск или на апгрейд компьютера 1 0
6. Ты не пользуешься "мышью" в 3D-action играх 0 1

 

В форматебазы знаний, применяемом в программе «Малая Экспертная Система» v2.0 данные таблицы будут записаны в виде вопросов и исходов, приведенных ниже.


Дата добавления: 2018-02-18; просмотров: 1420; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!