Деление графа на подграфы с равным весом вершин

159
09 декабря 2019, 09:50

Помогите пожалуйста написать программу (с++, джава, с#) или хотя бы псевдокод для решения такой задачи: Есть небольшой тестовый граф на 7 вершин, на каждой вершине проставлен ее вес (есть матрица смежности и вектор весов вершин). Нужно разделить этот граф на определенное количество частей (например 3) так, чтобы сумма весов вершин в каждом подграфе была примерно одинаковой. Пыталась написать код, но не могу придумать, как при наборе суммы, которая больше требуемого значения, вернуться назад и попробовать перебрать другой маршрут. Вершины в подграфах должны быть связаны между собой. Вот имеющиеся данные (матрица 7 на 7):

0   1   1   0   0   0   0
1   0   1   1   0   0   1
1   1   0   1   0   0   0
0   1   1   0   1   1   1
0   0   0   1   0   0   0
0   0   0   1   0   0   1
0   1   0   1   0   1   0

вектор весов вершин = 2,8,10,5,2,6,4 сама подобрала подграфы - вершины 0-2, 1-6, 3-4-5 Не важно, из каких значений получается сумма. То есть в моем случае, например, сумма весов вершин - 37, при делении на три подграфа среднее значение суммы выходит 12 (за отклонение. допустим, берется единица - сумма по подграфам от 11 до 13). Задача довольно абстрактная, меня смутило, что при переборе матрицы смежности первым маршрутом получается 0-1-2, сумма 20 - это не подходит, и нужно вернуться назад. А как именно это реализовать программным кодом я не придумала...

READ ALSO
JavaScript. Создание файла

JavaScript. Создание файла

Всем приветПишу на Vue

107
Ошибка конвертации при запросе insert

Ошибка конвертации при запросе insert

Есть таблица с данными, хочу туда добавить новую строкуНо дословно возникает такая ошибка

108
WebClient .com и .ru

WebClient .com и .ru

При запуске приложения, срабатывает апдейтерПодключение идет через WebClient

103
Вывод своего представление в поле Details

Вывод своего представление в поле Details

Есть некое приложение, приложение выводит список документов, и должно уметь показывать прикрепленные сканы оригиналов документовПопытался...

123