На этом шаге мы перечислим те задачи, где используются изученные алгоритмы.
Как упоминалось на 40 шаге, программы для решения задач с ограничениями обычно применяются при планировании. На встрече должны присутствовать несколько человек, и они являются переменными. Их области определения состоят из отрезков свободного времени в ежедневниках. Ограничения могут включать в себя то, какие комбинации людей требуются на встрече.
Системы решения задач с ограничениями используются также при планировании движения. Представьте себе руку робота, которая должна помещаться внутри трубы. У нее есть ограничения (стенки трубы), переменные (суставы) и области определения (возможные движения суставов).
Такие приложения существуют и в области вычислительной биологии. Вы можете представить себе ограничения между молекулами, необходимыми для химической реакции. И конечно же, как и в случае с искусственным интеллектом, такие системы применяются в играх. Многие логические головоломки могут быть решены как задачи с ограничениями.
В этих шагах мы построили простую систему поиска с возвратами, поиска в глубину и схему решения задач. Но ее можно значительно улучшить, добавив эвристику (помните А*?) - интуитивную функцию, способную помочь при поиске. Еще одним эффективным способом разработки реальных приложений является более новая методика, чем поиск с возвратом, известная как распространение ограничений (constraint propagation).
Для получения дополнительной информации ознакомьтесь с главой 6 книги "Искусственный интеллект: современный подход" Рассела и Норвига.
Со следующего шага мы начнем рассматривать графовые задачи.