Задание №27: Кластерный анализ и геометрические алгоритмы
Основные типы и прототипы задания №27:
Кластеризация точек (Центроиды)
2 или 3 кластера (Файл A и B)
Минимизация суммарного расстояния
Условие задания
(В. Глезденев) Учёный решил провести кластеризацию некоторого множества звёзд по их расположению на карте звёздного неба. Кластер звёзд – это набор звёзд (точек) на графике. Каждая звезда обязательно принадлежит только одному из кластеров. Каждый кластер имеет форму круга радиуса R, причём эти круги между собой не пересекаются. Аномалиями назовём точки, находящиеся вне круга радиуса R от центра любого кластера. При расчётах аномалии учитывать не нужно. Центр кластера – это одна из звёзд на графике, сумма расстояний от которой до всех остальных звёзд кластера минимальна. Расстояние между двумя точками A(x1, y1) и B(x2, y2) вычисляется по формуле:

Даны два входных файла (файл A и файл Б). В файле А хранятся данные о звёздах двух кластеров, для которых R = 3. В каждой строке записана информация о расположении на карте одной звезды: сначала координата x, затем координата y (в условных единицах). Известно, что количество звёзд не превышает 1000. В файле B хранятся данные о звёздах трёх кластеров, для которых R = 3. Известно, что количество звёзд не превышает 10 000. Структура хранения информации о звездах в файле Б аналогична файлу А. Возможные данные одного из файлов иллюстрированы графиком.
Для каждого файла определите координаты центра каждого кластера, затем вычислите два числа: Px – среднее арифметическое абсцисс центров кластеров, и Py – среднее арифметическое ординат центров кластеров. В ответе запишите четыре числа: в первой строке сначала целую часть произведения Px×100 000, затем целую часть произведения Py×100 000 для файла А, во второй строке – аналогичные данные для файла Б.
Для каждого файла определите координаты центра каждого кластера, затем вычислите два числа: Px – среднее арифметическое абсцисс центров кластеров, и Py – среднее арифметическое ординат центров кластеров. В ответе запишите четыре числа: в первой строке сначала целую часть произведения Px×100 000, затем целую часть произведения Py×100 000 для файла А, во второй строке – аналогичные данные для файла Б.
Ответ:
622984 298914<br/>593420 532705