русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Работа с неопределенностью


Дата добавления: 2013-12-23; просмотров: 1059; Нарушение авторских прав


Да.

Да.

Это правда: «Пушок» ест мясо?

«Пушок» это тигр.

Хотите узнать, как?

«Пушок» это хищник

выведено из

«Пушок» это млекопитающее

выведено из

«Пушок» имеет шерсть

было сказано

и

«Пушок» ест мясо

было сказано.

Как видно из диалога, система задает пользователю вопросы, касающиеся «примитивной» информации, например:

Это правда: «Пушок» ест мясо?

На подобные вопросы пользователь может отвечать двумя способами:

· сообщив системе в качестве ответа на вопрос необходимую информацию;

· спросив систему, почему эта информация необходима.

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

Такая надстройка будет принимать вопрос и искать на него ответ. Язык правил допускает, чтобы в условной части правила была И/ИЛИ комбинация условий. Вопрос также может быть представлен в виде И/ИЛИ комбинаций подвопросов. Поэтому процесс поиска ответов на эти вопросы будет аналогичен процессу поиска в И/ИЛИ – графах.

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

· если В найден в базе знаний в виде факта, то Отв – это «В это правда»;

· если в базе знаний существует правило вида «если Условие то В», то для получения ответа Отв рассмотрите Условие;

· если вопрос В можно задавать пользователю, спросите пользователя об истинности В;

· если В имеет вид В1 и В2, то рассмотрите В1, а затем,
если В1 ложно, то положите Отв равным «В это ложь», в противном случае рассмотрите В2 и получите Отв как соответствующую комбинацию ответов на вопросы В1 и В2;



· если В имеет вид В1 или В2, то рассмотрите В1, а затем,
если В1 истинно, то положите Отв равным «В это правда», в противном случае рассмотрите В2 и получите Отв как соответствующую комбинацию ответов на вопросы В1 и В2.

5.7 Формирование ответа на вопрос «почему»

Объяснение экспертной системы в этом случае должно выглядеть примерно так:

потому, что

Я могу использовать a,

чтобы проверить по правилу 1, что b, и

Я могу использовать b,

чтобы проверить по правилу 2, что c, и

Я могу использовать c,

чтобы проверить по правилу 3, что d, и

Я могу использовать y,

чтобы проверить по правилуn, что z, и

z – это Ваш исходный вопрос.

Объяснение – это демонстрация того, как система намерена использовать информацию, которую она хочет получить от пользователя. Намерения системы демонстрируются в виде цепочки правил и целей, соединяющей эту информацию с исходным вопросом. Такая цепочка называется трассой. Трассу можно представить как цепочку правил, соединяющую в И/ИЛИ – дереве вопросов текущую цель с целью самого верхнего уровня так, как это показано на рисунке. Таким образом, для формирования ответа на вопрос «почему» нужно двигаться в пространстве поиска от текущей цели вверх вплоть до самой верхней цели. Для того, чтобы суметь это сделать, нам придется в процессе рассуждений сохранять трассу в явном виде.


 


 

5.8 Формирование ответа на вопрос «как»

Один из известных способов ответить на вопрос «как» – это представить доказательство, то есть те правила и подцели, которые использовались для достижения полученного заключения. Это доказательство имеет вид решающего И/ИЛИ – дерева. Поэтому наша машина логического вывода будет не просто отвечать на вопрос, соответствующий цели самого верхнего уровня, а будет выдавать в качестве ответа решающее И/ИЛИ – дерево, составленное из имен правил и подцелей. Затем это дерево можно отобразить на выходе системы в качестве объяснения типа «как». Объяснению можно придать удобную для восприятия форму, например:

«Пушок» это хищник

было выведено по правилу 3 из

«Пушок» это млекопитающее

было выведено по правилу 1 из

«Пушок» имеет шерсть

было сказано

и «Пушок» ест мясо

было сказано.

Описанная выше оболочка экспертной системы может работать только с такими вопросами (утверждениями), которые либо истинны, либо ложны. Правила базы знаний - «категорические импликации», однако многие области экспертных знаний не являются категорическими. Поэтому, как данные, относящиеся к конкретной задаче, так и импликации, содержащиеся в правилах, могут быть не вполне определенными. Неопределенность можно продемонстрировать, приписывая утверждениям некоторые характеристики, отличные от «истина» и «ложь». Характеристики могут иметь свое внешнее выражение в форме дескрипторов, таких как, например, верно, весьма вероятно, вероятно, маловероятно, невозможно. Другой способ представления – степень вероятности может выражаться в форме действительного числа, заключенного в некотором интервале, например между 0 и 1 или между –5 и +5. Такую характеристику называют по-разному- «коэффициент определенности», «степень доверия», «субъективная уверенность». Более естественным было бы использовать вероятности в математическом смысле слова, но попытки применить их на практике приводят к трудностям по следующим причинам:

· экспертам неудобно мыслить в терминах вероятностей. Их оценки правдоподобия не вполне соответствуют математическому определению вероятности;

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

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

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

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

Пусть имеются два события E и H, и пусть информация о том, что имело место событие E, оказывает влияние на нашу уверенность в том, что произошло событие H. Данному отношению можно приписать некоторую «силу», с которой оно действует:

если E, то H с силой S.

В данной системе сила моделируется при помощи двух параметров:

N =<коэффициент необходимости>;

S=<коэффициент достаточности>.

В сети вывода это изображается так:

 

 
 


(N, S)

p0 (E) p0(H), p0 – априорная вероятность;

p(E) p(H|E), p – апостериорная вероятность.

Два события, участвующие в отношении, часто называют “фактом” и “гипотезой”. Тогда, необходимо найти такой факт E, который мог бы подтвердить или опровергнуть гипотезу H. S показывает, в какой степени достаточно факта E для подтверждения гипотезы H, N – насколько необходим факт E для подтверждения гипотезы H. Если факт E имел место, то чем больше S, тем больше уверенности в H. С другой стороны, если не верно, что имел место факт E, то чем больше N, тем менее вероятно, что гипотеза H верна.

Для каждого события H сети вывода существует априорная вероятность p0 (H)- безусловная вероятность события H в состоянии, когда неизвестно ни одного положительного или отрицательного факта. Если становится известным какой-нибудь факт E, то вероятность H меняет свое значение с p0 (H) на p(H|E). Величина изменения зависит от «силы» стрелки, ведущей из E в H.

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

 
 


E не E

 

p 1-p

p1 E1

E1 и E2 и E3

p2 E2

 

p3 E3 p= max (pi)

p1 E1 i

E1 или E2 или E3

p2 E2

p= min (pi)

p3 E3 i

 

На следующем рисунке представлен пример представления сети событий.

0.001 0.001 0.001

 
 

 

 


(0.001,2000)

(0.001,1000) (0.001,400)

 

 

0.005 0.005

 

 

(0.05,400) (0.001,10000) (0.5,200) (0.001, 800)

 

0.01 0.005 0.001 0.01

 

ть это избыточная информация.


Литература:

1. Адаменко А.Н., Кучуков А. Логическое программирование и Visual Prolog – Спб.: БХВ – Петербург, 2003.

2. Андрейчиков А.В., Андрейчикова О.Н.. Интеллектуальные информационные системы: Учебник. – М.: Финансы и статистика, 2006. – 424 с., ил.

3. Братко И. Алгоритмы искусственного интеллекта на языке Prolog. М.: Вильямс, 2004. – 637 с.

4. Марселлус Д. Программирование экспертных систем на Турбо Прологе: Пер. с англ. – М.: Финансы и статистика, 1994. – 256 с., ил.

5. Осовский С. Нейронные сети для обработки информации / Пер. с пол. И.Д. Рудинского. – М.: Финансы и статистика, 2002. – 344 с.: ил.

6. Солдатова О.П. Основы нейроинфоматики: учеб. пособие - Самара: Изд-во Самар. гос. аэрокосм. ун-та, 2006- 132 с. ил.

7. Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог: Пер. с англ. М.: Мир.1990.

8. Хайкин С. Нейронные сети: Полный курс: Пер. с англ. - 2-е изд. – М.: Вильямс, 2006. – 1104 с.: ил.

 



<== предыдущая лекция | следующая лекция ==>
Продукционные правила для представления знаний. | Силы и средства медицинской службы по санитарно-гигиени-ческому и противоэпидемическому обеспечению войск.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.