Сегодня многие пожарные службы используют системы планирования с искусственным интеллектом. Как правило, при обнаружении лесного пожара средних размеров специалисту экстренной службы требуется до полутора часов на разработку плана тушения. Этот план подробно описывает все действия, которые следует выполнять всеми доступными средствами в зависимости от характеристик местности, погодных условий и так далее. Однако специалисты часто сталкиваются со следующей проблемой: условия в районе пожара непрерывно меняются, и этот процесс идет так быстро, что человек попросту не успевает изменить план действий. В результате многие службы пытаются внедрить автоматизированные системы, способные составить план тушения пожара за несколько секунд. Система фиксирует такие параметры, как рельеф местности, погодные условия, проезды к зоне пожара, доступные авиационные и наземные средства, а также возможность координировать действия с другими подразделениями и центрами управления, на основе этих параметров она составляет план и отправляет его на проверку человеку-эксперту.
Тушение лесного пожара требует координирования многочисленных человеческих и материальных ресурсов.
Может случиться так, что в данный момент одна единица техники не задействована, и система предлагает два варианта: перевести ее в зону, где бушует пожар, либо отправить ее на тушение очагов пожара в другую, менее опасную область, расположенную ближе. Как система определит, какой из вариантов лучше? Логично, что конечная цель — потушить пожар, следовательно, кажется более естественным направить технику туда, где пожар сильнее. С другой стороны, на переброску тех ники может уйти несколько часов, а всего в нескольких минутах езды очаги пожара не представляют большой опасности, и их можно потушить относительно легко.
Как объективно оценить преимущества от тушения пожара в определенной области с учетом расстояния до нее и затраченного времени? Именно такой оценки требует классическая, неинтеллектуальная система планирования. Но при тушении пожара используется не одна, а несколько десятков единиц наземной и воздушной техники.
Также можно учесть новые переменные, например скорость ветра и прогноз погоды, возможные дожди, расположение жилья, природоохранных зон и так далее. При таком обилии переменных становится понятной огромная потребность в интеллектуальной системе, способной принимать решения с учетом всех перечисленных факторов и на основе нечетких параметров.
* * *
НЕЧЕТКАЯ ЛОГИКА
Нечеткая логика — раздел математической логики, приближающий логические действия и методы к естественным, человеческим рассуждениям. Как правило, в реальной ситуации ничто не делится на белое и черное, но в классической логике, в частности в булевой, переменные могут быть только истинными или ложными, что вынуждает рассматривать лишь крайности.
К примеру, на вопрос, хорошо или плохо играет вратарь футбольной команды из первого дивизиона чемпионата Казахстана, дать однозначный ответ нельзя: в сравнении с элитой мирового футбола он наверняка не слишком хорош, но по сравнению с вратарем моей районной команды он будет первоклассным игроком.
Поэтому переменные нечеткой логики принимают значения не «истина» или «ложь», а вещественные значения, заключенные на интервале от 0 до 1, где значению 1 соответствует «истина», 0 — «ложь». Если мы обозначим через 0 неспособность отразить любой удар, а через 1 — уровень лучшего вратаря мира, то вратарь казахской команды получит вполне достойную оценку в 0,73.
* * *
Для решения задач такого типа обычно используются классические алгоритмы поиска, применяемые в искусственном интеллекте, в частности поиск с возвратом (back-tracking) или метод ветвей и границ (branch-and-bound). Оба этих алгоритма действуют схожим образом: по сути, они разворачивают комбинаторное дерево и обходят его в поисках оптимального варианта. Развертывание комбинаторного дерева происходит достаточно просто. На первом этапе создается дерево, содержащее все возможные планы (вспомните понятия, которые мы объяснили в первой главе, рассказывая об интеллектуальном алгоритме, способном определять оптимальные ходы в шахматной партии). Далее с помощью интеллектуальных алгоритмов последовательно отсекаются те ветви, которым соответствуют нереальные планы либо планы, нарушающие ограничения или ведущие к неоптимальному решению.