Совместимость. Как контролировать искусственный интеллект (Рассел) - страница 194

при условии, что при втором броске выпадает дубль 3. Алгоритм самостоятельно устанавливает, что в этом случае первый бросок должен принести дубль, и приходит к выводу, что ответ — около 36,1 %. Это пример Байесова обновления: когда добавляется новое свидетельство (что результат второго броска — дубль 3), вероятность Попадания на желтое меняется с 3,88 % до 36,1 %. Аналогично вероятность того, что я буду бросать кости трижды (Дубли>34 истинно), составляет 2,78 %, тогда как вероятность трех моих бросков при условии, что я попаду на желтое, — 20,44 %.

Байесовы сети позволяют строить системы на основе знания, свободные от ошибок, свойственных экспертным системам на основе правил, которые создавались в 1980-х гг. (Если бы сообщество разработчиков ИИ меньше сопротивлялось применению теории вероятности в начале 1980-х гг., то могло бы избежать «зимы ИИ», последовавшей после того, как лопнул пузырь этих экспертных систем.) Уже выпущены тысячи приложений в широком спектре областей, от медицинской диагностики до предотвращения терроризма[355].

Байесовы сети создают механизм отображения необходимых вероятностей и выполнения вычислений для осуществления Байесова обновления в случае множества комплексных задач. Как и пропозиционная логика, однако, они имеют довольно ограниченную способность отображать общее знание. Во многих приложениях репрезентация Байесовой сети становится очень большой и повторяющейся. Например, как правила го в пропозиционной логике приходится повторять для каждого пункта, так и основанные на вероятности правила «Монополии» должны быть повторены для каждого игрока, каждого местоположения, где игрок может оказаться, и каждого хода игры. Такие огромные сети практически невозможно создать самостоятельно, приходится пользоваться кодом, написанном на традиционном языке, например С++, чтобы генерировать и объединять многочисленные фрагменты Байесовых сетей. Это рационально в инженерном решении конкретной задачи, но становится препятствием для универсальности, поскольку код С++ должен писаться заново для каждого приложения специалистом.

Языки вероятностной логики первого порядка

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