Читаем Разум, машины и математика. Искусственный интеллект и его задачи полностью

Как объективно оценить преимущества от тушения пожара в определенной области с учетом расстояния до нее и затраченного времени? Именно такой оценки требует классическая, неинтеллектуальная система планирования. Но при тушении пожара используется не одна, а несколько десятков единиц наземной и воздушной техники.

Также можно учесть новые переменные, например скорость ветра и прогноз погоды, возможные дожди, расположение жилья, природоохранных зон и так далее. При таком обилии переменных становится понятной огромная потребность в интеллектуальной системе, способной принимать решения с учетом всех перечисленных факторов и на основе нечетких параметров.

* * *

НЕЧЕТКАЯ ЛОГИКА

Нечеткая логика — раздел математической логики, приближающий логические действия и методы к естественным, человеческим рассуждениям. Как правило, в реальной ситуации ничто не делится на белое и черное, но в классической логике, в частности в булевой, переменные могут быть только истинными или ложными, что вынуждает рассматривать лишь крайности.

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

Поэтому переменные нечеткой логики принимают значения не «истина» или «ложь», а вещественные значения, заключенные на интервале от 0 до 1, где значению 1 соответствует «истина», 0 — «ложь». Если мы обозначим через 0 неспособность отразить любой удар, а через 1 — уровень лучшего вратаря мира, то вратарь казахской команды получит вполне достойную оценку в 0,73.

* * *

Для решения задач такого типа обычно используются классические алгоритмы поиска, применяемые в искусственном интеллекте, в частности поиск с возвратом (back-tracking) или метод ветвей и границ (branch-and-bound). Оба этих алгоритма действуют схожим образом: по сути, они разворачивают комбинаторное дерево и обходят его в поисках оптимального варианта. Развертывание комбинаторного дерева происходит достаточно просто. На первом этапе создается дерево, содержащее все возможные планы (вспомните понятия, которые мы объяснили в первой главе, рассказывая об интеллектуальном алгоритме, способном определять оптимальные ходы в шахматной партии). Далее с помощью интеллектуальных алгоритмов последовательно отсекаются те ветви, которым соответствуют нереальные планы либо планы, нарушающие ограничения или ведущие к неоптимальному решению.

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

Последовательное отсечение ветвей дерева по мере обхода абсолютно необходимо — в противном случае, как и почти во всех комбинаторных задачах, число планов, а значит, и число ветвей, будет так велико, что его нельзя будет обойти за разумное время. Чтобы ускорить отсечение ветвей, в методах, основанных на обходе дерева, обычно используются так называемые эвристики (или формальное представление интуитивных понятий), которые может применить специалист предметной области, чтобы определить: та или иная ветвь не приведет к нужному результату, и ее необходимо отсечь как можно скорее. Разумеется, если мы отсечем ветвь, которая соответствует неосуществимому плану, на раннем этапе алгоритма, то можем сэкономить несколько часов вычислений — с переходом на более высокие уровни число вариантов, которые необходимо проанализировать, возрастает экспоненциально.

Простой пример дерева планирования для игры «крестики-нолики».

* * *

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже