День добрый, прошу помощи по методу отжига.
Есть формула преобразования координат по семи параметрам (
Преобразование Хелмерта, Position Vector Transform...
Есть несколько координат в двух системах, между которыми выполняется преобразование.
Точность параметров 5,5,5,5,5,5,8 знаков после запятой. Меняются они в неизвестных диапазонах (подозреваю, что первые 3 ±20, остальные -1..1).
Полным перебором ключи подбираться будут очень долго, поэтому решил выбрать какой-нибудь алгоритм.
Посоветовали метод отжига, после чего связь с этим человеком пропала.
Как я понял этот метод:
Нужно имитировать процесс остывания и образование кристаллической структуры вещества. При остывании, молекулы с большей вероятностью перемещаются так, чтобы структура стала кристаллической и с меньшей — по другому.
1) Задаем начальную температуру Q = 100
2) Имитируем процесс уменьшения температуры Q1 = Q0*0.98 до определенной границы (while Q> 0.01)
3) Делаем k=1000 итераций, в которых изменяем параметры случайным образом. Если значение качества выше, то запоминаем ключи. Если ниже — то с некоторой вероятностью, тем меньшей, чем ниже температура, все равно запоминаем ключи. «Качеством» я решил обозначить максимальное отклонение преобразованных координат от эталонных ( max(Δx,Δy) -> min)
Собственно вопрос: в чем смысл в третьем шаге запоминать «худшие» ключи с уменьшающейся вероятностью? Если он есть, как это вероятность подбирать?