Шаг 47.
Задачи ComputerScience на Python.
Задачи с ограничениями. Реальные приложения

    На этом шаге мы перечислим те задачи, где используются изученные алгоритмы.

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

    Системы решения задач с ограничениями используются также при планировании движения. Представьте себе руку робота, которая должна помещаться внутри трубы. У нее есть ограничения (стенки трубы), переменные (суставы) и области определения (возможные движения суставов).

    Такие приложения существуют и в области вычислительной биологии. Вы можете представить себе ограничения между молекулами, необходимыми для химической реакции. И конечно же, как и в случае с искусственным интеллектом, такие системы применяются в играх. Многие логические головоломки могут быть решены как задачи с ограничениями.

    В этих шагах мы построили простую систему поиска с возвратами, поиска в глубину и схему решения задач. Но ее можно значительно улучшить, добавив эвристику (помните А*?) - интуитивную функцию, способную помочь при поиске. Еще одним эффективным способом разработки реальных приложений является более новая методика, чем поиск с возвратом, известная как распространение ограничений (constraint propagation).

    Для получения дополнительной информации ознакомьтесь с главой 6 книги "Искусственный интеллект: современный подход" Рассела и Норвига.

    Со следующего шага мы начнем рассматривать графовые задачи.




Предыдущий шаг Содержание Следующий шаг