diff --git a/content/russian/cs/combinatorial-optimization/annealing.md b/content/russian/cs/combinatorial-optimization/annealing.md index f8a69fce..0d723000 100644 --- a/content/russian/cs/combinatorial-optimization/annealing.md +++ b/content/russian/cs/combinatorial-optimization/annealing.md @@ -5,7 +5,7 @@ weight: 101 Алгоритм имитации отжига (англ. *simulated annealing*) — эвристический алгоритм глобальной оптимизации, особенно эффективный при решении дискретных и комбинаторных задач. -Алгоритм вдохновлён процессом [отжига](https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%B6%D0%B8%D0%B3) в металлургии — техники, заключающейся в нагревании и постепенном охлаждении металла для увеличения его кристаллизованности и уменьшения дефектов. Симулирование отжига в переборных задачах может быть использовано для приближённого нахождения глобального минимума функций с большим количеством свободных переменных. +Алгоритм вдохновлён процессом [отжига](https://ru.wikipedia.org/wiki/Отжиг) в металлургии — техники, заключающейся в нагревании и постепенном охлаждении металла для увеличения его кристаллизованности и уменьшения дефектов. Симулирование отжига в переборных задачах может быть использовано для приближённого нахождения глобального минимума функций с большим количеством свободных переменных. ![Максимизация функции одной переменной методом отжига](../img/annealing.gif) @@ -108,7 +108,7 @@ int main() { } ``` -Здесь подсчёт количества свободных диагоналей работает за $O(n^2)$. Его можно соптимизировать до $O(n)$ и делать в $O(n)$ итераций больше: можно создать булев массив, в котором для каждой диагонали хранить, была ли она занята. С этой оптимизацией уже должна быть сдаваема [эта задача на информатиксе](https://informatics.mccme.ru/mod/statements/view.php?id=1975). +Здесь подсчёт количества свободных диагоналей работает за $O(n^2)$. Его можно соптимизировать до $O(n)$ и делать в $O(n)$ итераций больше: можно создать булев массив, в котором для каждой диагонали хранить, была ли она занята. С этой оптимизацией уже должна быть сдаваема [эта задача на информатиксе](https://informatics.msk.ru/mod/statements/view.php?id=1975). **Упражнение.** Соптимизируйте пересчёт до $O(1)$.