Задачи на взвешенном графике, ИСТИНА/ЛОЖЬ + объяснение

Я пытаюсь ответить на некоторые верные/ложные вопросы. Я начинаю беспокоиться, когда отвечаю на многие из них верно... Предположим, что все графики неориентированы и не имеют различные веса. сильный>. Отрицательные веса должны быть в порядке.

Qa) Если в G есть цикл с единственным самым тяжелым ребром e, то e не может быть частью ни одного MST.

Мой ответ верен. Например, у нас есть граф с узлами A, B, C, D, E.

AB = 1
BC = 2
BD = 3
CD = 100
DE = 4

Как видите, BCD — это цикл. Мой аргумент заключается в том, что, поскольку это цикл, мы всегда можем избежать уникального компакт-диска с самым тяжелым краем, выбрав другие маршруты. Следовательно, это правда. Является ли мой аргумент разумным (достаточно)?

Qb) Дерево кратчайших путей, вычисленное алгоритмом Дейкстры, обязательно является MST.

Мой ответ верен, но мой инстинкт подсказывает мне, что что-то не так. Что ж... Алгоритмы Disjkstra и Prim — жадные алгоритмы. Они оба каждый раз выбирают самое легкое взвешенное преимущество. Существуют ли случаи, когда дерево кратчайшего пути НЕ является минимальным остовным деревом? Мне на самом деле трудно понять разницу между этими двумя парнями.

Qc) Алгоритм Прима работает с ребрами с отрицательным весом.

Мой ответ верен. Потому что так говорит вики... :p Алгоритм заключается в поиске ребра с наименьшей стоимостью среди всех ребер. Таким образом, отрицательное взвешенное преимущество не должно иметь значения, не так ли? Но как насчет отрицательно взвешенного цикла?

Qd) Если в G есть цикл с единственным самым легким ребром e, то e должно быть частью каждого MST.

Мой ответ верен. Нам нужно получить доступ ко всем узлам в MST. Например, в цикле длины 3 мы всегда можем обойти все узлы этого цикла за 2 шага. Если есть уникальное легчайшее ребро, мы наверняка выберем его в нашем MST.

Являются ли мои претензии обоснованными? Может быть, они недостаточны? Так есть предложения?


person Felastine    schedule 29.10.2011    source источник
comment
dijstra предназначен для вычисления кратчайшего пути между A и B. Это не MST. Прим - это MST.   -  person Gigamegs    schedule 29.10.2011
comment
Да, но после выполнения Дейкстры мы получим кратчайший путь к каждому узлу, если не остановимся, когда достигнем цели. А иногда вопросы даже не дают цели, то есть мы продолжаем итерации до тех пор, пока не будут пройдены все узлы. После этого у нас есть дерево кратчайших путей. Проблема в том, находится ли это дерево кратчайших путей в MST того же графа?   -  person Felastine    schedule 29.10.2011
comment
Это правда, но на графике также есть несколько MST.   -  person Gigamegs    schedule 29.10.2011
comment
Да, в этом случае есть несколько MST, поскольку веса ребер не различаются. Итак, является ли выход Дейкстры ОДНИМ из этих MST или нет, это вопрос.   -  person Felastine    schedule 29.10.2011


Ответы (2)


Предложение для б): Ваш инстинкт подсказывает, что это неправильно, поэтому попытайтесь привести контрпример. Если вы его найдете, значит, оно решено, в противном случае вы часто можете понять, почему утверждение верно, проанализировав, почему ваше построение контрпримера потерпело неудачу. Однако я не говорю вам, верен ли ваш ответ или ваш инстинкт.


Домашнее задание, безусловно, нужно было сделать уже давно, поэтому ответы:

Qa) Если в G есть цикл с единственным самым тяжелым ребром e, то e не может быть частью ни одного MST.

Истинный. Предположим, у вас есть связующее дерево T, содержащее ребро e. Если удалить из дерева ребро e, получится граф с двумя непустыми компонентами связности C1 и C2. По крайней мере одно из других ребер в цикле должно соединять C1 и C2 (иначе это не был бы цикл). Пусть g будет таким ребром. Дерево T', полученное из T удалением e и добавлением g, является остовным деревом с меньшим весом, чем T. Следовательно, T не был MST.

Qb) Дерево кратчайших путей, вычисленное алгоритмом Дейкстры, обязательно является MST.

Мой ответ верен, но мой инстинкт подсказывает мне, что что-то не так.

Инстинкт был прав, это ложь. Рассмотреть возможность

    6
  A---B
3 |   | 1
  C---D
    3

где дерево кратчайших путей вычисляется из вершины A. Дерево кратчайших путей это

    6
  A---B
3 |
  C---D
    3

с общим весом 12, но уникальный MST

  A   B
3 |   | 1
  C---D
    3

с весом 7.

Qc) Алгоритм Прима работает с ребрами с отрицательным весом.

Истинный. Один из способов вывести это из правильности положительных весов — добавить постоянный вес W ко всем ребрам, чтобы все веса рёбер были положительными (например, W = 1 + max { |weight(e)| : e ∈ E }).

Поскольку дерево с V вершинами всегда имеет V - 1 ребер, общие веса любого остовного дерева различаются на (V - 1)*W между модифицированными и немодифицированными весами, поэтому дерево является MST для модифицированных весов тогда и только тогда, когда оно равно единице для немодифицированных весов ребер. .

Порядок ребер по весу не меняется при добавлении константы ко всем весам, поэтому алгоритм Прима строит то же остовное дерево для измененных весов ребер, что и для немодифицированных весов, в той же последовательности.

По корректности для положительных весов дерево, построенное по алгоритму Прима с модифицированными весами, является MST для модифицированных весов.

Qd) Если в G есть цикл с единственным самым легким ребром e, то e должно быть частью каждого MST.

ЛОЖЬ. Рассмотреть возможность

     1   1
   A---B---C
   |  / \  |
 1 | /4 5\ | 1
   |/  6  \|
   D-------E

Цикл BDE имеет единственное самое легкое ребро BD веса 4, но MST не содержит ни одного из ребер этого цикла.

Однако если в графе G есть уникальное самое легкое ребро e , оно должно быть частью каждого MST. Это двойственно а): рассмотрим остовное дерево T из G, которое не содержит e. Добавляя e к T, мы получаем граф T', который должен иметь цикл (поскольку T был остовным деревом, а e не входит в T). Любой цикл в T' должен содержать e, иначе это будет цикл в T. Итак, выберите любой цикл C в T' (есть ровно один, но это не важно) и удалите любое ребро, кроме e, из C. Пусть полученный граф будет T''.

Общий вес от T'' меньше, чем у T, так как T'' получается из T заменой ребра на более легкое. T'' является связным (поскольку оно было получено из T' удалением ребра цикла) и содержит V вершин и V - 1 ребер. Следовательно, это остовное дерево, и поэтому T не было минимальным.

person Daniel Fischer    schedule 29.10.2011

D верно.
Qd) Если в G есть цикл с единственным самым легким ребром e, то e должно быть частью каждого MST. Истинный.

Легкое ребро = ребро, пересекающее разрез, вес которого минимален по сравнению с любым ребром, пересекающим разрез.

Пусть теперь T — MST G. Предположим (для противоречия), что T' — другое MST G. Поскольку T и T' не одно и то же дерево и оба имеют |V|–1 ребро, существует некоторое ребро e в T, которого нет в T'. Удаление ребра e из T индуцирует (создает) разрез G; поскольку T является остовным деревом, удаление e делит G на два непересекающихся набора вершин, которые вместе включают все вершины G, что и является разрезом. Теперь, поскольку T является MST, ребро e должно быть (уникальным) светлым ребром на этом разрезе и, следовательно, находится в каждом MST. Но по построению ребро e не лежит в T'. Следовательно, T' не является MST, что противоречит нашему первоначальному предположению.

person ealeon    schedule 18.10.2012
comment
Наилегчайшее ребро графа гарантированно будет наилегчайшим пересечением некоторого разреза. Легчайшее ребро цикла — это не легчайшее пересечение разреза, мы еще не знаем, что такое разрез. Также рассмотрим встречный аргумент: можно ли построить MST без цикла? Ваше доказательство верно только в том случае, если цикл уже есть в каждом MST. - person bizi; 21.10.2018