1

У меня есть большой набор полиномов 3-го порядка в 3D.Точка обнаружения приближения

в матричной форме

Рп = [1, T, T , т ] * [An]

[Pn] и [An] являются 1xN и 4xN матрицы соответственно

каждая функция имеет вес Wn. Я хочу, по некоторым n, m, T и t0 найти первый t где t>t0 такое, что

(Wn * Wm) * | Рп-Pm | -2> T

в сторону от О (п) «попробовать все» подход, который я даже не уверен, с чего начать, на то пошло, я не уверенны, как ответить это даже для известного n & м.

Любые идеи

Edit:

  • набор размер порядка 10-1000
  • вес являются распределенным ~ логарифмически (очень немногие крупные, много мелких)
  • это тест будет во внутреннем цикле симулятора n-body, поэтому он будет много запускать
  • версии, которые хорошо (амортизируются) при поиске нового ответа после изменения одного пути, являются хорошей вещью ,

ответ

1

Не зная, разрешено ли это с помощью аналитических средств, существует множество подходов к поиску пространства и поиск любого t, отвечающего этим критериям.

Генетические алгоритмы, имитированный отжиг и другие алгоритмы оптимизации, которые возникают на ум.

+0

Это может работать хорошо для продолжающейся части проблемы (при условии, что 2 функции находят близкий подход), но это все еще не обрабатывает скрытую часть (которую нужно выбрать). Возможно, это место для начала. – BCS 2008-10-04 22:09:52

0

OK семян горшок:

  • Использование той или иной форме «близкая пара искателя» алгоритм семени кучи с этими парами при t0 и другое время.
  • Вытащите ближайшую пару нашла
  • , если достаточно и раньше, чем лучшие до сих пор близко, держать
  • найти, если они находятся ближе или дальше друг от друга
  • разделить разницу между текущей парой, а следующим в на «ближе» и добавить, что куча.

Мысли?

0

Насколько велика N? Возможно ли исчерпывающий поиск?

Я задал вопрос на досках объявлений numpy или scipy и освежил ваши навыки питона. Моя ставка заключается в том, что вы, вероятно, можете превратить это в проблему минимизации и использовать fmin или BFGS или какой-либо другой ограниченный алгоритм квази-Ньютона, чтобы найти разумный минимум. Возможно, минимизируйте разницу между t и T. Если в ваших матрицах нет чего-то странного, похоже, ваше пространство поиска может быть по крайней мере непрерывным.

Поскольку вы указываете ближайшую точку подхода в своем названии check this post out на плате numpy.