Шешімі: Кластеризация звёздных точек
Фрагмент звёздного неба спроецирован на плоскость с декартовой системой координат. Учёный решил провести кластеризацию полученных точек, являющихся изображениями звёзд, то есть разбить их множество на $N$ непересекающихся непустых подмножеств (кластеров), таких, что точки каждого подмножества лежат внутри прямоугольника со сторонами длиной $H$ и $W$, причём эти прямоугольники между собой не пересекаются. Стороны прямоугольников не обязательно параллельны координатным осям. Гарантируется, что такое разбиение существует и единственно для заданных размеров прямоугольников.
Центром кластера называется точка этого кластера, сумма расстояний от которой до всех остальных точек кластера минимальна. Для каждой точки кластера вычисляют сумму расстояний до остальных точек этого кластера. Расстояние между точками $A(x_1,y_1)$ и $B(x_2,y_2)$ вычисляется по формуле $d(A,B)=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}$.
В файле A хранятся координаты точек двух кластеров, где $H=6$ и $W=4{,}5$ для каждого кластера. В каждой строке записаны координаты одной звезды: сначала координата $x$, затем координата $y$. Количество точек не превышает 1000.
В файле Б хранятся координаты точек трёх кластеров, где $H=6$ и $W=5$ для каждого кластера. Количество точек не превышает 10 000. Структура хранения информации в файле Б аналогична структуре в файле А.
В файле Б имеются координаты ровно трёх лишних точек, являющихся аномалиями, возникшими в результате помех при передаче данных. Эти три точки не относятся ни к одному из кластеров, их учитывать не нужно.
Для файла A определите координаты центра каждого кластера, затем найдите $P_x$ — среднее арифметическое абсцисс центров кластеров, и $P_y$ — среднее арифметическое ординат центров кластеров.
Для файла Б определите координаты центра каждого кластера, затем найдите $Q_x$ — сумму абсцисс центров кластеров с минимальным и максимальным количеством точек, и $Q_y$ — сумму ординат центров кластеров с минимальным и максимальным количеством точек. Гарантируется, что во всех кластерах количество точек различно.
В ответе запишите четыре числа: в первой строке — абсолютную величину целой части произведения $P_x\times10000$, затем абсолютную величину целой части произведения $P_y\times10000$; во второй строке — сначала абсолютную величину целой части произведения $Q_x\times10000$, затем абсолютную величину целой части произведения $Q_y\times10000$. Для выполнения задания используйте данные из прилагаемых файлов.
Шешім по шагам
6 қадамЗагрузить координаты точек из файла A и разделить их на два кластера. Разбиение можно выполнить перебором или алгоритмом кластеризации с проверкой того, что каждый кластер помещается в прямоугольник со сторонами $6$ и $4{,}5$.
Для каждой точки каждого кластера вычислить сумму евклидовых расстояний до всех остальных точек этого кластера. Точка с минимальной суммой является центром кластера.
$$S_i=\sum_{j\ne i}\sqrt{(x_j-x_i)^2+(y_j-y_i)^2}$$По двум найденным центрам файла A вычислить средние координаты $P_x$ и $P_y$.
Загрузить координаты из файла Б, найти и исключить три аномальные точки, затем разделить остальные точки на три кластера с параметрами $H=6$ и $W=5$.
Найти центр каждого из трёх кластеров тем же способом. Определить кластеры с минимальным и максимальным количеством точек и сложить абсциссы их центров, а затем ординаты.
Вычислить четыре значения $|\lfloor P_x\cdot10000\rfloor|$, $|\lfloor P_y\cdot10000\rfloor|$, $|\lfloor Q_x\cdot10000\rfloor|$ и $|\lfloor Q_y\cdot10000\rfloor|$.
Числовой ответ невозможно определить без содержимого приложенных файлов A и Б.
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Учитывают три аномальные точки файла Б при определении кластеров или их центров.
Используют среднее арифметическое координат всех точек вместо точки с минимальной суммой расстояний.
Забывают взять абсолютную величину целой части после умножения на 10000.
Путают сумму координат центров в файле Б со средним арифметическим.