Проверьте достоверность MST, учитывая график с интервалами, как стоимость ребер - PullRequest
0 голосов
/ 31 декабря 2018

Я буквально разбил голову, пытаясь понять этот вопрос.Для заданного неориентированного и связного графа G все ребра в G имеют неизвестные затраты, но известно, что интервал каждой стоимости для каждого ребра, например, стоимость ребра e, находится в закрытом интервале [i, j], где i и j равнывещественные числа.Мне также дают связующее дерево G с именем T. Мне нужно создать алгоритм, чтобы проверить, может ли T быть минимальным остовным деревом G или нет.Я попытался подключить эту проблему к сетевому потоку, но не смог найти решение.Есть ли подсказка для поиска решения такой проблемы?

1 Ответ

0 голосов
/ 02 января 2019

Эту проблему можно решить с помощью линейного программирования .Проверка, может ли T быть минимальным остовным деревом, равносильна проверке выполнимости набора линейных ограничений на множестве | E |переменные, по одной для каждого края графика.Переменная x (u, v) соответствует весу ребра (u, v).То есть возможным решением для линейной программы является присвоение весов ребрам графа, так что T является минимальным остовным деревом.Итак, для начала, каждая переменная x (u, v) должна находиться в пределах указанного интервала.

Другие ограничения, которые я вскоре укажу, предназначены для удовлетворения тогда и только тогда, когда Tявляется минимальным остовным деревом в соответствии с назначением, которое решает программу.

Чтобы понять, почему при каждом присваивании, которое удовлетворяет следующим ограничениям, T должно быть минимальным остовным деревом, вы должны убедиться в следующем свойстве минимального связываниядеревья:

остовное дерево T является минимальным остовным деревом тогда и только тогда, когда для каждого ребра (u, v) не в T и каждого ребра e на пути от u к v в T, w(u,v)>=w(e).Это свойство следует из свойство cut .

Таким образом, чтобы проверить, может ли T быть минимальным остовным деревом, необходимо проверить выполнимость линейной программы, определенной следующим набором ограничений.

  • Для каждого ребра на графике i(u,v)<=x(u,v)<=j(u,v).
  • Для каждого ребра (u,v) не в T, а для каждого ребра e на пути от u до v в т, x(u,v)>=x(e).
...