Как устроен
эвристика
Статьи
GRA
Алгоритм
A*
Дейкстра с подсказкой «сколько ещё до финиша»: волна тянется к цели, а путь остаётся кратчайшим.
O((V + E) log V)
2 задачи
GRA
Алгоритм
Двунаправленный поиск
Две волны Дейкстры навстречу друг другу: где остановиться, сколько экономится и как подружить с A*.
O((V + E) log V)
2 задачи
GRA
Алгоритм
Иерархии сжатия
Предподсчёт навигаторов: сжимаем неважные перекрёстки в ярлыки и ищем путь двумя волнами вверх.
O((V + E′) log V)
1 задача
GRA
Алгоритм
Раскраска графа
Соседям — разные цвета: жадный способ, порядок «наименьший последним», DSatur и точный перебор на картах и расписаниях.
O(V + E) — жадно в данном порядке и «наименьший последним»; O((V + E) log V) — DSatur с кучей
2 задачи
GRA
Алгоритм
Задача коммивояжёра
Кратчайший объезд всех точек: ближайший сосед, 2-opt со списками соседей, Or-opt, оценка Хелда — Карпа.
NP-трудна; точно O(2ⁿ · n²)
2 задачи
PAR
Приём
Перебор с возвратом
Строить решение по шагу, сразу проверять и отступать из тупика: судоку, ферзи, раскраски.
O(bᵈ) в худшем случае
2 задачи
RND
Алгоритм
Имитация отжига
Локальный поиск, который принимает ухудшения с вероятностью e^(−Δ/T) и постепенно остывает.
O(S · c)
2 задачи
RND
Алгоритм
Генетический алгоритм
Популяция решений, отбор, скрещивание и мутация: эволюция траектории на настоящем автодроме.
O(G · N · c)
2 задачи
TEC
Приём
Отсечения
Не открывать ветки, где заведомо нет ответа лучше: рекорд, порядок, симметрия, оценки снизу.
O(kⁿ) в худшем случае
2 задачи
Задачи
Часто рядом
классика 7 граф 5 карты и навигация 5 оптимизация 4 кратчайший путь 3 куча 3 взвешенный граф 3 игры 3 собеседования 3 перебор с возвратом 3 предподсчёт 2 в проде 2