Мы не только получили практический совет, но и поняли, что не стоит делать такие вещи в уме. Даже в крошечной сети с тремя узлами оказалось 2 ∙ 11 = 22 родительских состояния, каждое из которых влияло на состояние потомка. Конечно, для компьютера эти вычисления элементарны, но… до определенного момента. Если делать их в организованной форме, сам объем вычислений может оказаться слишком большой нагрузкой даже для самого быстрого суперкомпьютера. Если у узла десять родителей, у каждого из которого два состояния, в таблице условной вероятности будет больше тысячи рядов. А если у каждого из 10 родителей 10 состояний, то в таблице будет 10 миллиардов рядов! По этой причине необходимо отсеять связи в сети, чтобы остались только самые важные и чтобы сеть была разреженной. Одним из технических достижений в развитии байесовских сетей стало выявление способов, которые позволяют использовать эту разреженность для сокращения времени вычислений.
Байесовские сети в реальной жизни
Сейчас байесовские сети — зрелая технология и готовое программное обеспечение для них можно купить у нескольких компаний. Байесовские сети также встроены во многие «умные» устройства. Чтобы дать вам представление о том, как они используются на практике, давайте вернемся к программе Bonaparte для сравнения ДНК, с которой мы начали эту главу.
В Нидерландском институте судебной экспертизы эту программу используют каждый день, в основном расследуя дела о пропавших без вести, уголовные преступления и иммиграционные вопросы (желающие переехать в Нидерланды в статусе беженца должны доказать, что у них есть 15 родственников, живущих в стране). Однако байесовские сети продемонстрировали самый впечатляющий результат после катастрофы, такой как крушение рейса MH17 «Малайзия эйрлайнс».
Почти никого из жертв авиакатастрофы не удалось идентифицировать, сравнив ДНК с места катастрофы с ДНК из центральной базы данных. Следующим логичным шагом было взять у родственников образцы ДНК и искать частичные совпадения с ДНК жертв. Традиционные (небайесовские) методы позволяют это сделать, и они сыграли важнейшую роль в раскрытии нескольких давних преступлений в Нидерландах, США и других странах. Например, простая формула под названием «индекс отцовства» или «индекс сиблинга» помогает оценить вероятность того, что не идентифицированная ДНК принадлежит сыну или брату человека, чья ДНК есть у экспертов.
Однако эти индексы дают ограниченный результат, потому что они работают только для одного типа родства и только для близких родственников. Идея Bonaparte состоит в том, чтобы можно было использовать данные о ДНК более дальних родственников или от нескольких родственников сразу. Bonaparte делает это, преобразовывая родословную семьи в байесовскую сеть (рис. 18).
На рис. 19 мы видим, как Bonaparte переводит один небольшой кусочек родословной в (причинную) байесовскую сеть. Главная проблема состоит в том, что генотип индивида, который определяет генетическая экспертиза, содержит элементы, полученные и от отца, и от матери, но мы не можем определить их происхождение. Таким образом, два этих элемента (которые называются «аллели») необходимо рассматривать как скрытые, неизмеримые переменные в байесовской сети. Часть задачи состоит в том, чтобы вывести вероятность причины (ген голубых глаз был унаследован от отца) из имеющейся информации (например, есть гены голубых глаз и черных глаз; у кузенов со стороны отца голубые глаза, но у кузенов со стороны матери черные глаза).
Это задача на определение обратной вероятности, для чего и было изобретено правило Байеса.
Рис. 18. Фактическая родословная семьи с несколькими погибшими в авиакатастрофе рейса MH17 «Малайзия эйрлайнс» (источник: данные предоставлены Виллемом Бургерсом)
После того как байесовская сеть построена, финальный шаг — ввести ДНК жертвы и вычислить вероятность того, что она занимает определенное место в генеалогическом древе. Это делается путем распространения убеждений с помощью правила Байеса. Сеть начинается с определенной степени уверенности в каждом возможном утверждении об имеющихся в ней узлах, например: «отцовская аллель цвета глаз у этого человека — голубая». По мере того как в сеть вводится новая информация — неважно, в какое место, — степени уверенности в каждом узле, вверх и вниз по сети, будут меняться каскадно. Таким образом, как только мы обнаруживаем, что данный образец является вероятным совпадением для одного человека в родословной, мы распространяем эту информацию вверх и вниз по сети. В итоге Bonaparte учится не только на ДНК живых членов семьи, но и на уже полученных им результатах.