Простая схема учета неопределенности

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

Глава 15.Представление знаний иэкспертные системы



Применение вероятностей в связи с использованием байесовских сетей доверия рассматривается в следующем разделе. А в данном разделе описанное выше пред­ставление на основе правил дополняется более простой схемой учета неопределенно­сти, в которой вероятности аппроксимируются лишь очень приближенно. Каждому высказыванию (Proposition) присваивается число от 0 до 1, которое служит оцен­кой его достоверности (CertaintyFactor). В настоящем разделе для представления такой пары применяется следующая форма: Proposition: cartaint уractor

Такая система обозначений применяется и к правилам. Поэтому приведенная ни­же форма определяет и правило, и степень уверенности в том, что это правило явля­ется действительным. if Condition then Conclusion :Certainty.

При любом представлении данных с учетом неопределенности необходимо преду­смотреть способ комбинирования достоверностей высказываний и правил. Например, предположим, что имеются два высказывания, Р1 и Р2, которые имеют достоверно­сти С1 и С2. Какова достоверность логических комбинаций ?l and P2, Pi or P2? Ниже показана простая схема комбинирования достоверностей. Предположим, что Р1 и Р2 — высказывания, а с(Р1) и с(Р2) обозначают их достоверность. В таком случае имеет место следующее:

с(Р1 and Р2) - iuin(c(Pi), c(P2)) с(Р1 or Р2> = max(clPl), c<P2)>

А если имеется правило

if Pithen P2:C

то применяется следующее выражение:

с[Р2) -с(Р1] - С

Для простоты предполагается, что в одном и том же утверждении никогда не ис­пользуется больше одного правила. А если в некотором утверждении в базе знаний имеются два правила, их можно преобразовать с помощью оператора or в эквива­лентные правила, которые соответствуют данному утверждению, В листинге 15.7 приведен интерпретатор правил для рассматриваемой схемы учета неопределенности. В этой программе интерпретатора предполагается, что пользователь задает оценки достоверности для фактов (крайних левых узлов в сети правил) с помощью следую­щего отношения: given: Proposition, Certainty)

Теперь мы можем "смягчить" (сделать не столь категоричными) некоторые пра­вила в базе знаний (см. рис. 15.2), например, как показано ниже. if

hall wetand bathroom drythen

problem_in_kitchen: 0.9.

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

given[ hall wet,1). % В гостиной вола

given( bath7oom_dry, 1]. < 3 ванной сухо

given( kitchen_dry, 0} . % В кухне не сухо

given( no_rain, 0.S). % Вероятно, дождя не было, но полной уверенности нет

given( window_closed, 0) . % Окно не закрыто

Листинг 15.7. Интерпретатор правил с оценками достоверности % Интерпретатор правил с учетом неопределенности

% certainty! Proposition, Certainty)



Часть II. Применение языка Prolog в области искусственного интеллекта

certainty< Pr Cert) : -given( P, Cert).

certainty [ Condi and Cond2, Cert) certainty С Condi, Certl) , certainty; Cond2f Cert2) , mini, Certl, Cert2, Cert).

certainty; Condi or Cond2, Cert) certainty! Condi, Ceftl), certainty! Cond2, Cert2), max( Certl, Cert2, Cert).

certainty ( P, Cert) :-

if Cond then p : el,

certainty ( Condp C2) ,
Cert is Cl * C2 .

Теперь можно задать системе вопрос об утечке в кухне следующим образом:

?- certainty (leak in kitchen, С). С - 0.8

Этот вывод получен следующим образом. Тот факт, что в гостиной вода и в ван­
ной сухо, указывает на неисправность в кухне с достоверностью 0,9. Поскольку не
исключена возможность, что был дождь, достоверность факта

no_water_from_outside (вода не поступала снаружи) равна 0,8. Наконец, достовер­ность факта leak_iri_kit chert (утечка в кухне) равна минимальному из этих двух значений: min(0.B,0.9) = 0.8

Наши рекомендации