Метод случайного поиска
В предыдущих статьях описаны результаты для векторов разной длины, но ничего не говорится о том, как я их подобрал. Векторы меньшей размерности были подобраны экспериментально. Для больших размерностей был применён метод случайного поиска. Почему выбор пал именно на него? На этот вопрос у меня внятного ответа нет, возможно потому что он наиболее простой из всех возможных и в то же время не является полным перебором (Иначе бы я состарился пока ждал окончания просчёта). В любом случае я думаю, что познакомившись с этим методом читатель ничего не потеряет.
Метод случайного поиска
Реализация метода случайного поиска заключалась в том, что брался Δ, такой, что сумма его элементов равнялась нулю. Затем вектор дельта прибавлялся к вектору α. И с новым вектором α заново проводился эксперимент (10000 систем нелинейных уравнений). Если был решён больший процент систем, метод повторялся с этим вектором α в качестве стартового. В противном случае значение вектора α возвращалось к прежнему:
-
Если это был первый запуск для текущей компоненты, то у вектора Δ менялся знак и алгоритм запускался заново для текущей компоненты.
-
Если это был не первый запуск, то вектор Δ делился на двое, альфа становился прежним и алгоритм запускался заново для текущей компоненты.
-
Если размер Δ и так уже был слишком мал, то осуществлялся переход к новой компоненте вектора α. Для чего создавался новый Δ.
Для удобства перебора каждой компоненты вектора α, вектор Δ брался не случайно, а по правилу: Δj для текущей перебираемой компоненты вектора α, был равен значению d, тогда как другие элементы вектора дельта были равны . Где k — размер вектора α. Несложно заметить, что в сумме получается ноль: .
Применив метод случайного поиска для векторов α размерности 4-11. Были получены следующие оптимальные коэффициенты векторов:
Табл. 1
Размер α |
α1 |
α2 |
α3 |
α4 |
α5 |
α6 |
α7 |
α8 |
α9 |
α10 |
α11 |
4 |
0.490 |
0.332 |
0.146 |
0.032 |
|||||||
5 |
0.420 |
0.357 |
0.195 |
0.027 |
0.001 |
||||||
6 |
0.450 |
0.316 |
0.178 |
0.048 |
0.001 |
0.007 |
|||||
7 |
0.502 |
0.259 |
0.108 |
0.078 |
0.046 |
0.007 |
0.000 |
||||
8 |
0.408 |
0.268 |
0.134 |
0.066 |
0.061 |
0.055 |
0.016 |
-0.008 |
|||
9 |
0.425 |
0.299 |
0.147 |
0.062 |
0.050 |
0.021 |
-0.001 |
-0.002 |
0.000 |
||
10 |
0.338 |
0.305 |
0.173 |
0.094 |
0.030 |
0.049 |
0.011 |
0.000 |
-0.006 |
0.006 |
|
11 |
0.458 |
0.216 |
0.091 |
0.083 |
0.061 |
0.046 |
0.037 |
0.019 |
0.000 |
-0.011 |
0.000 |