Недавно участвовал в соревновании на Kaggle, где нужно было подобрать перестановку столбцов матрицы X (50x100), которая минимизировала бы функцию: Так как вариантов перестановки непомерно много, то простым перебором данную задачу было не решить. Приходилось использовать генетический алгоритм, beam search и прочее. На удивление себя очень хорошо показал алгоритм Simulated Annealing, механизм которого я бы и хотел разобрать. Представим схему: Δ = 5 (Найденное решение оказалось хуже на 5 единиц)
T = 10 => Вероятность принять это решение ≈0.61
T = 1 => Вероятность принять это решение ≈0.007 Если остались вопросы, то хорошая статья на хабре тут.
Или можете заглянуть ко мне в Telegram.
Всем спасибо и удачи :)