Для решения проблемы правильной обработки знаний в условиях неопределенности с применением научно обоснованного метода, который одновременно успешно применяется на практике, разработаны байесовские сети доверия, называемые также просто байесовскими сетями. В этом разделе показано, что такие две характеристики, как научная обоснованность и практическая применимость, являются трудно достижимыми одновременно, но байесовские сети доверия служат хорошим решением. Вначале определим тему для обсуждения.
Часть II. Применение языка Prolog в области искусственного интеллекта
Предположим, что состояние "мира" определено с помощью вектора переменных, которые принимают значения случайным образом из своих областей определения (из множеств своих допустимых значений). Во всех рассматриваемых примерах описание ограничивается лишь случайными логическими переменными, которые могут принимать значения "истина" или "ложь". Например, если речь идет об охране жилого дома, то такими переменными являются взлом (обозначаемый как "burglary") и тревожный сигнал ("alarm"). Переменная "alarm" принимает истинное значение, когда звучит тревожный сигнал, а переменная "burglary" становится истинной после того, как в дом проникли посторонние. В остальных случаях эти переменные являются ложными. Состояние мира, представленного такими переменными, в определенный момент времени можно полностью описать, указав, какие значения имеют в это время все переменные.
Если переменные являются логическими, то изменения их значений вполне целесообразно считать событиями. Например, событие "alarm" происходит, если переменная alarm = true.
Предположим, что за состоянием переменных наблюдает некоторый агент (человек или экспертная система). Обычно этот агент не может с полной уверенностью сообщить, является ли та или иная переменная истинной или ложной. Поэтому агент может лишь рассуждать о вероятности того, что переменная является истинной. В этом контексте вероятности используются для оценки степени уверенности агента. Уверенность агента в том, что он действительно обладает правильной информацией, безусловно, определяется тем, каким объемом знаний об этом мире он обладает. Поэтому подобные оценки достоверности называются также субъективными вероятностями; под этим подразумевается, что эти вероятности зависят от носителя знаний как от оценивающего их "субъекта". В таком случае "субъективный" не означает "произвольный". Хотя эти вероятности моделируют субъективные представления агента о ситуации, они соответствуют исчислению вероятностей.
Введем некоторую систему обозначений. Допустим, что X и Y - высказывания; в таком случае имеет место следующее.
• X л Y. Конъюнкция высказываний X и Y.
• X v Y. Дизъюнкция высказываний X и Y
• -X. Отрицание высказывания X.
Выражение р(Х) обозначает вероятность того, что высказывание X является истинным, а выражение p(X|Y) обозначает условную вероятность того, что X является истинным, при условии, что истинно Y
К типичным вопросам о мире, моделируемом таким образом, относится следующий вопрос: "Если дано, что получены значения некоторых переменных, то какова вероятность получения значений некоторых из оставшихся переменных?" Может также рассматриваться такой вопрос: "Если известно, что наблюдались определенные события, то каковы вероятности некоторых других событий?" Например, обнаружено, что зазвучал тревожный сигнал. Какова вероятность того, что произошел взлом?
Основная сложность состоит в том, что нужно найти способ учета зависимостей между переменными в рассматриваемой задаче. Предположим, что в задаче учитывается п логических переменных. При этом потребуется 2" - 1 чисел для определения полного распределения вероятностей среди 2* возможных состояний мира. Поскольку обычно количество переменных достаточно велико, то количество их сочетаний становится слишком большим! Поэтому учет всех возможных состояний становится не только непрактичным и дорогостоящим в реализации с помощью вычислительной техники, но и не допускает возможности применения разумных оценок всех необходимых вероятностей, поскольку отсутствует достаточный объем информации.
Но, как правило, в действительности требуются не все эти вероятности. При использовании полного распределения вероятностей не принимаются какие-либо предположения, касающиеся того, что некоторые переменные являются независимыми
Глава 15. Представление знаний и экспертные системы
друг от друга. Но обычно такая чрезмерная осторожность не требуется. К счастью, некоторые события действительно полностью независимы друг от друга.
Поэтому, для того чтобы рассматриваемый вероятностный подход стал применимым на практике, следует воспользоваться тем, что некоторые переменные не зависят друг от друга. Таким образом, необходимо применить удобные средства представления зависимостей между переменными и в то же время получить выигрыш (который сводится к снижению сложности) за счет наличия таких событий, которые действительно не зависят друг от друга.
Байесовские сети доверия предоставляют удобный способ определения того, каким образом зависят друг от друга определенные события и какие события являются независимыми. С помощью байесовских сетей доверия эти сведения можно формализовать естественным и понятным способом.
На рис. 15.4 приведен пример байесовской сети с описанием системы охранной тревожной сигнализации. Датчик может сработать при взломе, когда в помещение проникает постороннее лицо, или во время сильной грозы. Предполагается, что датчик активизирует звуковой тревожный сигнал и предупреждающий телефонный звонок. Типичный вопрос, на который подобная байесовская сеть помогает найти ответ, выглядит примерно так: "Предположим, что стоит прекрасная погода и получен тревожный сигнал. Если известны эти дна факты, то какова вероятность взлома?"
ВЗЛОМ Гроза
Датчик
Тревога Звонок
Рис. 15.4. Байесовская сеть. После взлома и проникновения в дом постороннего лица, по всей вероятно emu, происходит активизация датчика. Предполагается, что датчик активизирует звуковой тревожный сигнал и автоматический телефонный звонок с предупреждающим сообщением. Датчик может, так же сработать под действием сильной грозы
Структура этой байесовской сети показывает, что некоторые вероятности являются зависимыми, а другие — независимыми. Например, по ней можно судить, что вероятность взлома не зависит от погоды (от грозы). Но если становится известно, что действительно возник тревожный сигнал, то при этом условии вероятность взлома больше не является независимой от грозы.
Интуитивно ясно, что связи в этой сети указывают на причинную зависимость. Взлом является причиной активизации датчика. Датчик, в свою очередь, может вызвать тревожный сигнал. Поэтому структура данной сети позволяет формировать примерно такие рассуждения: если действительно прозвучал тревожный сигнал, то взлом становится вероятным как одна из причин, которыми объясняется появление тревожного сигнала. Если затем обнаруживается, что в это время была сильная гроза, взлом становится менее вероятным. Появление тревожного сигнала можно объяснить также другой причиной, грозой, поэтому вероятность первой возможной причины уменьшается.
В этом примере рассуждения были и диагностическими, и прогностическими: зная о том, что действительно был тревожный сигнал (последствие или признак взлома), мы поставили диагноз, что этот сигнал мог быть вызван взломом. Затем мы узнали о грозе и сформулировали прогноз, что она также могла вызвать появление тревожного сигнала.
Теперь определим более формально, что именно обозначено связями в байесовской сети и какого рода вероятностные выводы могут быть сделаны с помощью данной байесовской сети.
Часть II. Применение языка Prolog в области искусственного интеллекта
Вначале необходимо ввести определение, что узел Z является потомком узла X, если согласно ориентированным связям в сети имеется путь от X до Z.
Теперь предположим, что узлы Yi, Y2,... являются родительскими узлами узла X в байесовской сети. По определению в байесовской сети подразумевается использование следующего полезного отношения, определяющего вероятностную независимость: узел X не зависит от узлов, не являющихся его потомками, если известны его родительские узлы. Поэтому, чтобы вычислить вероятность X, достаточно принять во внимание вероятности дочерних узлов X и родительских узлов X, Yi, Y; и т.д. Все возможные влияния других переменных на X можно учесть с помощью родительских узлов X
Оказалось, что такая трактовка связей в байесовской сети предоставляет практическую возможность, во-первых, определять вероятностные отношения между переменными в моделируемом мире и, во-вторых, отвечать на вопросы об этом мире.
Чтобы понять, каким образом байесовская сеть используется для представления знаний о моделируемом мире, снова рассмотрим пример сети, приведенный на рис. 15.4. Прежде всего, структура этой сети показывает, какие переменные являются зависимыми и независимыми друг от друга.
Кроме того, связи имеют также естественную причинно-следственную интерпретацию. Чтобы уточнить эту интерпретацию, необходимо определить некоторые вероятности, т.е. присвоить им какие-то конкретные числовые значения. Для узлов, которые не имеют родительских узлов (коренных причин), задаются априорные вероятности. В данном случае коренными причинами являются взлом и гроза. Для других узлов X необходимо задать условные (апостериорные) вероятности в следующей форме: р(X | Состояния родительских узлов узла X)
Активизация датчика (обозначим это событие сокращенно как sensor) имеет две родительские причины: взлом (burglary) и гроза (lightning). Существуют четыре возможные комбинации состояний этих двух родительских причин: взлом и гроза, взлом и отсутствие грозы и т.д. Эти сочетания состояний можно записать в виде логических формул: burglary л lightning, burglary л --lightning и т.д. Поэтому полная спецификация рассматриваемой байесовской сети может быть представлена следующим образом: p(burglary) = 0.001 pUightning; - 0.02
p(sensor I burglary л lightning) - 0.9 p(sensor 1 burglary л -lightning) =0.9 plsensor I -burglary л lightning) =0.1 p [sensor 1 -burglary л -lightning) = 0.001 p(alarm I sensor) = 0.95 pialarm I -sensor) = 0.001 p(call I sensor)» 0.9 ploall I -sensor) = o.o
В этой полной спецификации определены 10 вероятностей. Если бы структура данной сети не была задана (т.е. не было указано, какие события являются независимыми), то для полной спецификации потребовалось бы определить 31 вероятность (2s - 1 = 31), поскольку для мира, моделируемого л логическими переменными, количество возможных состояний равно 2". Поэтому в результате определения структуры этой сети удалось уменьшить количество рассматриваемых комбинаций с 31 до 10. В сети с большим количеством узлов сокращение объема обрабатываемой информации, безусловно, становится еще более значительным.
Степень сокращения объема обработки информации определяется характером конкретной задачи. Если каждая переменная в рассматриваемой задаче зависит от какой-либо другой переменной, то, безусловно, общее количество анализируемых комбинаций сократить невозможно. А если задача допускает сокращение этого количества, то степень сокращения зависит от структуры байесовской сети доверия. Для решения одной и той же задачи могут быть сформированы разные байесовские сети
Глава 15. Представление знаний и экспертные системы
доверия, причем некоторые сети являются более подходящими по сравнению с другими. Общее правило состоит в том, что в качественно сформированных сетях сохраняются причинные зависимости между переменными. Это означает, что если X является причиной.', то от X к Y должна быть проведена ориентированная связь. Например, хотя в проблемной области охраны от взломов возможно сформировать рассуждения от анализа тревожного сигнала к анализу взлома, это может привести к созданию громоздкой сети, если ее разработка начнется с проведения связи от узла, представляющего тревожный сигнал, к узлу, представляющему взлом. При таком подходе в сети придется применить больше связей. К тому же будет сложнее оценить требуемые вероятности в направлении, не обусловленном очевидными причинами, таком как р (burglaryialarm).