Вот попытка решить эту...
Для X = 1 я могу рассчитать минимальное остовное дерево (MST) с помощью алгоритма Прима для каждого узла (этот узел единственный, подключенный к сетке) и выбрать тот, у которого самая низкая общая стоимость.
Для X=2 я создаю дополнительный узел (узел электростанции) рядом с моим графиком. Я соединяю его со случайным узлом (например, N0) ребром со стоимостью 0. Теперь я уверен, что у меня есть одна правильная вилка электростанции (случайный узел определенно будет в одном из деревьев, поэтому все дерево будет подключено). Теперь итерационная часть. Я беру другой узел (например, N1) и снова подключаюсь к PP с нулевым преимуществом стоимости. Сейчас я вычисляю MST. Затем повторите этот процесс с заменой N1 на N2, N3... Итак, я буду тестировать каждую пару [N0, NX]. Побеждает самая низкая стоимость MST.
Для X>2 это действительно то же самое, что и для X=2, но я должен проверить подключение к PP для каждого (x-1)-кортежа и вычислить MST
с x^2 для MST у меня есть сложность около (N over X-1) * x^2... Довольно сложно, но я думаю, что это даст мне ОПТИМАЛЬНОЕ решение
что ты думаешь?
редактировать случайным узлом Я имею в виду случайный, но ИСПРАВЛЕННЫЙ узел
попытка визуализации для x=2 (каждое описание принадлежит изображению над ним)
Пусть это будет наш город, узлы A-F — дома, ребра — кандидаты на будущие кабели (каждый требует затрат на строительство)
Просто для изображения, это может быть решением
Пусть зеленый будет электростанцией, вот так может выглядеть подключение к одному дереву
Но это другое подключение на самом деле то же самое (подключение к электростанции (ПП) стоит столько же, кабели остаются нетронутыми). Поэтому мы можем установить один из узлов в качестве фиксированной точки контакта с pp. Мы можем быть уверены, что узел будет в одном из деревьев, и неважно, в каком месте дерева он находится.
Итак, пусть это будет наша фиксированная ситуация с G как PP. Добавлено ребро (B,G) с нулевой стоимостью.
Теперь я пытаюсь подключить второе соединение с PP (A, G, стоимость 0)
Сейчас рассчитываю МСТ из ПП. Поскольку красные ребра являются самыми дешевыми (на самом деле они могут иметь даже отрицательную стоимость), можно быть уверенным, что они оба будут в MST.
Итак, при запуске MST я получаю что-то вроде этого. Представьте, что вы отсоединили PP и осталось два дерева с МИНИМАЛЬНОЙ СТОИМОСТЬЮ. Это лучшее решение, поскольку А и Б являются соединениями с РР. Сохраняю стоимость и иду дальше.
Теперь я делаю то же самое для соединений B и C.
Я мог бы получить что-то подобное, поэтому сравните стоимость с предыдущим и выберите лучший.
Таким образом, я должен попробовать все пары соединений (B,A) (B,C) (B,D) (B,E) (B,F), и победит самый дешевый.
Для X = 3 я бы просто проверил другие кортежи с одним фиксированным снова. (А,В,С) (А,В,D) ... (А,С,D) ... (А,Е,F)
person
relaxxx
schedule
26.09.2011