Шрифт:
Интервал:
Закладка:
Байесовы сети позволяют строить системы на основе знания, свободные от ошибок, свойственных экспертным системам на основе правил, которые создавались в 1980-х гг. (Если бы сообщество разработчиков ИИ меньше сопротивлялось применению теории вероятности в начале 1980-х гг., то могло бы избежать «зимы ИИ», последовавшей после того, как лопнул пузырь этих экспертных систем.) Уже выпущены тысячи приложений в широком спектре областей, от медицинской диагностики до предотвращения терроризма[355].
Байесовы сети создают механизм отображения необходимых вероятностей и выполнения вычислений для осуществления Байесова обновления в случае множества комплексных задач. Как и пропозиционная логика, однако, они имеют довольно ограниченную способность отображать общее знание. Во многих приложениях репрезентация Байесовой сети становится очень большой и повторяющейся. Например, как правила го в пропозиционной логике приходится повторять для каждого пункта, так и основанные на вероятности правила «Монополии» должны быть повторены для каждого игрока, каждого местоположения, где игрок может оказаться, и каждого хода игры. Такие огромные сети практически невозможно создать самостоятельно, приходится пользоваться кодом, написанном на традиционном языке, например С++, чтобы генерировать и объединять многочисленные фрагменты Байесовых сетей. Это рационально в инженерном решении конкретной задачи, но становится препятствием для универсальности, поскольку код С++ должен писаться заново для каждого приложения специалистом.
Языки вероятностной логики первого порядка
К счастью, оказывается, что можно сочетать выразительность логики первого порядка со способностью Байесовых сетей сжато передавать вероятностную информацию. Это сочетание дает нам лучшее от обоих миров: вероятностные системы на основе знания способны обслуживать намного более широкий круг ситуаций реального мира, чем каждый из этих двух методов в отдельности. Например, мы легко можем выразить вероятностное знание о наследовании генетической информации:
для всех особей c, f и m,
если f — отец c, а m — мать c
и как f, так и m имеют группу крови АВ,
то c имеет группу крови АВ с вероятностью 0,5.
Сочетание логики первого порядка и вероятностной логики дает нам нечто гораздо большее, чем способ выражения неопределенной информации о множестве объектов. Причина в том, что при добавлении неопределенности в миры, содержащие объекты, мы получаем два новых типа неопределенности: не только неопределенность относительно фактов, являющихся истинными или ложными, но также неопределенность в вопросе о том, какие объекты существуют, и о том, где какие объекты находятся. Эти виды неопределенности являются вездесущими. Мир не предстает со списком характеристик, как викторианская пьеса; нет, вы постепенно узнаете о существовании объектов путем наблюдения.
Иногда знание о новых объектах бывает достаточно определенным, например, когда вы открываете окно в номере отеля и впервые видите базилику Сакре-Кёр. Бывает оно и неопределенным, как в случае, когда вы ощущаете легкое потряхивание, которое может быть вызвано и землетрясением, и проходящим поездом подземки. Если идентичность Сакре-Кёр вполне однозначна, то идентичность поезда подземки — нет: возможно, вы ездили на этом самом поезде сотни раз, не осознавая, что это тот же самый поезд. Иногда нам не нужно устранять неопределенность. Обычно я не даю имена всем помидорам в банке с черри и не слежу за самочувствием каждого, если, конечно, мне не нужно описывать ход эксперимента с целью исследования гниения помидоров. Напротив, я стараюсь следить за каждым из аспирантов, которые у меня учатся. (Однажды в моей группе оказались двое стажеров-исследователей, имевших одинаковые имена и фамилии, очень похожие друг на друга внешне и работавшие над тесно связанными темами; я, по крайней мере, считаю, что их было именно двое.) Проблема в том, что мы непосредственно воспринимаем не идентичность объектов, а какие-то аспекты их внешнего облика (его характеристики). Объекты, как правило, не снабжены регистрационными знаками, являющимися их уникальными идентификаторами. Идентичность — это нечто такое, что наш ум иногда приписывает объектам в каких-то своих целях.
Сочетание теории вероятности и выразительного формального языка — достаточно новая область ИИ, часто именуемая вероятностным программированием[356]. Создано несколько десятков языков вероятностного программирования, или PPL, многие из которых получили свои выразительные возможности от обычных языков программирования, а не от логики первого порядка. Все PPL-системы имеют способность представлять и логически обрабатывать комплексное неопределенное знание. Приложения включают систему Microsoft TrueSkill, ежедневно оценивающую миллионы геймеров; модели элементов человеческой когнитивной системы, прежде не поддававшихся объяснению механистическими гипотезами, таких как способность обучиться новым визуальным категориям объектов по единственному образцу[357]; и всемирный мониторинг сейсмической активности в рамках Договора о всеобъемлющем запрещении ядерных испытаний (ДВЗЯИ) для выявления тайных ядерных взрывов[358].
Системы мониторинга ДВЗЯИ собирают данные о движении земной коры в реальном времени с помощью глобальной сети, включающей более 150 сейсмографов, они призваны идентифицировать все происходящие на Земле сейсмические события выше определенной магнитуды и помечать подозрительные. Очевидно, в этой задаче присутствует множество экзистенциальных неопределенностей, поскольку мы заранее не знаем, какие события произойдут; более того, подавляющее большинство сигналов в этих данных — просто шум. Имеется и неопределенность идентичности: всплеск сейсмической энергии, зарегистрированный станцией А в Антарктиде, может исходить или не исходить от того же события, что и другой всплеск, который зафиксировала станция Б в Бразилии. Слушать Землю все равно что слушать тысячи одновременных зашифрованных разговоров, которые еще и заглушаются взаимным наложением.