Ну у этой фичи, как раз есть объяснение. Содержимое зависшего окошка не перерисовывается, и если по нему водить нормальным окошком, то получаются «пейзажи» :-)
Действительно, для каких-то задач перебор всех х, у подойдет, поэтому этот метод я не вычеркиваю совсем. Но в моем случае — нужна, как вы говорите, перерисовка в реальном времени. Более того — нужно уметь подбирать такую f(x,y), которая бы по методу наименьших квадратов проходила ближе всего к заранее заданному массиву точек.
Да, вы правы! Метод безусловно имеет право на существование, не смотря на свои минусы. Наверное неимоверно долго выполняется. Для каждой точки нужно выполнить достаточно много итераций градиентного спуска. Может так случайно получится, что все точки сойдутся лишь к маленькой дуге из всего большого графика. Может так случится, что много точек пропадет в локальных минимумах так и не дойдя до нуля.
Но в целом — очень интересно. Классно было бы визуализировать такое построение и наблюдать, как точки расползаются и принимают форму какой-то кривой!
Скажите, как бы назвать такой метод применения градиентного спуска? Внесу в список :-) Я о таком, к своему стыду, не слышал.
Немного поразмыслил…
> Зная вектор градиента мы знаем примерно в какую сторону нужно перемещать точку, чтобы приблизить ее к z = 0
Вектор градиента не факт, что ведет к z=0. Ведь z=0 не обязано быть локальным минимумом f(). Кроме того, f(x,y) при разных x и y может быть как положительным, так и отрицательным при одном и том же градиенте…
Спасибо за совет.
Возможно я мыслю поверхностно, но мне кажется, что решать 2Д задачку через 3Д — это как-то неординарно по меньшей мере… Даже не знаю, как искать.
В принципе, по первым курсам универа я помню, мы «рассекали» различные поверхности плоскостями, но получались контуры, которые так же неявно заданы. Например x^2+y^2+z^2 = 4 пересекаем плоскостью z = 0, получаем x^2 + y^2 = 4.