GOOGLE ADS

вторник, 3 мая 2022 г.

Нахождение средней точки в мозаичном пространстве?

У меня есть набор точек в мозаичном 2D-пространстве (я считаю, что это называется тороидальной геометрией/пространством), и я хочу найти их среднее значение:

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

Я бы сказал, что цель состоит в том, чтобы найти место, где общее отклонение от среднего значения минимально.


Одним из потенциальных методов было бы перепробовать все комбинации точек в каждом из 9 соседей, а затем посмотреть, какая из них имеет наименьшую дисперсию, но это очень быстро становится крайне неэффективным: Big O = O(8^n). можно сделать более эффективным, выполнив что-то вроде независимой обработки x и y, но это уменьшит его только до O(5^n), поэтому все еще неуправляемо.

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

Есть ли лучший метод? Или, может быть, какой-то эвристический «достаточно хороший» метод?


Решение проблемы

Насколько я понимаю, вы пытаетесь найти центр масс. для этого (для каждой плитки) вам нужно найти сумму каждой позиции, умноженную на ее вес (предположим, что это 1, потому что это просто идентичные точки, расположенные по-разному), затем разделите это на сумму весов (которое является количеством точки в этом примере как вес = 1). Формула


<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML-full"></script> <script type="text/x-mathjax-config"> MathJax.Hub.Config({"HTML-CSS": { preferredFont: "TeX", availableFonts:["STIX","TeX"], linebreaks: { automatic:true }, EqnChunk:(MathJax.Hub.Browser.isMobile? 10: 50) }, tex2jax: { inlineMath: [ ["$", "$"], ["\\\\(","\\\\)"] ], displayMath: [ ["$$","$$"], ["\\[", "\\]"] ], processEscapes: true, ignoreClass: "tex2jax_ignore|dno" }, TeX: { noUndefined: { attributes: { mathcolor: "red", mathbackground: "#FFEEEE", mathsize: "90%" } }, Macros: { href: "{}" } }, messageStyle: "none" }); </script>
$$G\left( x,y \right) =\frac{\sum_{i=1}^n{m_i\cdot p_i\left( x_i\,\,,y_i \right)}}{\sum_{i=1}^n{m_i}}$$

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...