Обработка данных, матрицы, перестановки, реальная задача

Есть набор данных, где отдельные объекты должны группироваться, образуя отдельные классы. Степень близости объектов между собой оценивается показателем от 0 до 9 Первоначально данные занесены в таблицу по типу рисунка 1 слева. Задача - переставить данные объекты в таблице так, чтобы были видны классы, как например на рисунке 2 справа. Каким математическим методом (на компьютере) это можно сделать? На рисунках буквами АБВГДЕЖЗИКЛМ обозначены объекты, а цифрами степень их близости между собой. Где цифр нет, там нули. В реальности количество объектов намного больше, поэтому вручную никак
2 года назад от Иван Иванов

2 Ответы



0 голосов
То есть у вас есть пары (объект1, объект2, степень близости) . Отсортируйте по степени близости. Метод сортировка называется. А таблица - один из способов представления. Можно то же изобразить (представить) как (взвешенный) граф. Алгоритмов по обработке графов, готовых, огромная куча. Вам нужно что-то вроде выделения клик.
Поскольку таблица разреженная, то, возможно, выгодне её хранить как связанный список.
На каком языке. Либо самому писать. Либо использовать 1С. Там почти всё готово.
2 года назад от Масяня sex
0 голосов
это лучше в раздел программирование - чисто алгоритмическая задачка. пробежаться по матрице, раскидать эти абв по классам эквивалентности (элементы i и j эквивалентны, если A[i, j] ! = 0) , а дальше внутри каждого класса отсортировать:
2 года назад от Людмила

Связанные вопросы

1 ответ
3 недель назад от Дима Гацко