Находя новое минимальное дерево охвата после того, как новый край был добавлен к графу

Позвольте G = (V, E) быть взвешенным, связанным и ненаправленным графом и позволить T быть минимальным деревом охвата. Позвольте e быть любым краем не в E (и имеет вес W (e)). Докажите или опровергните: T U {e} - набор края, который содержит минимальное дерево охвата G' = (V, E U {e}).

Ну, это кажется верным мне, таким образом, я решил доказать его, но я просто застреваю каждый раз...

Например, если e - новый край с минимальным весом, кто может обещать нам, что края в T не были выбраны плохим способом, который будет препятствовать тому, чтобы мы получили новый минимальный вес без 'помощи' других краев в E - T?

Я ценил бы любую помощь, Заранее спасибо.

6
nl ja de

2 ответы

Let [a(1), a(2), ..., a(n-1)] be a sequence of edges selected from E to construct MST of G by Kruskal's algorithm (in the order they were selected - weight(a(i)) <= weight(a(i + 1))).

Let's now consider how Kruskal's Algorithm behaves being given as input E' = E U {e}. Let i = min{i: weight(e) < weight(a(i))}. Firstly algorithm decides to choose edges [a(1), ..., a(i - 1)] (e hasn't been processed yet, so it behaves the same). Then it need to decide on e - if e is dropped, solution for E' will be the same as for E. So let's suppose that first i edges selected by algorithm are [a(1), ..., a(i - 1), e] - I will call this new sequence a'. Algorithm continues - as long as its following selections (for j > i) satisfy a'(j) = a(j - 1) we are cool. There are two scenarios that break such great streak (let's say streak breaks at index k + 1):

1) Algorithm selects some edge e' that is not in T, and weight(e') < weight(a(k+1)). By now a' sequence is:

[(1)..., (i-1), e, (i), (i+1)..., (k-1), (k), e']

Но если бы было возможно приложить e то ', к этому списку было бы также возможно приложить его <�им> [(1)..., (k-1), (k)] . Но алгоритм Краскэла не сделал этого, ища MST для G . Это приводит к противоречию.

2) Алгоритм вежливо выбрал:

[(1)..., (i-1), e, (i), (i+1)..., (k-1), (k)]

но решенный, чтобы понизиться продвигаются (k+1) . Но если бы e не присутствовал в алгоритме списка, то решил бы приложить (k+1) . Это означает, что в графе (V, {(1)..., (k)}) продвигаются (k+1) , соединил бы те же самые компоненты, как обрамляют e . И это означает, что после рассмотрения алгоритмом продвигаются (k + 1) в случае обоих G и G' , подразделение на связанные компоненты (определенный набором отобранных краев) является тем же самым. Таким образом, после обработки (k+1) алгоритм продолжится таким же образом в обоих случаях.

4
добавлено
Ничего себе, я потрясен! Я никогда не получал такой подробный и информативный ответ. Ваше доказательство превосходно, и оно помогло мне много! Спасибо!!!
добавлено автор Robert777, источник
Счастливый услышать, что:)
добавлено автор lopek, источник

Когда когда-либо край, добавляют к графу, не добавляя узел, тогда тот край создает цикл в минимальном дереве охвата графа, длина цикла может измениться от 2 до n где n = никакие из узлов в графе. T = Минимальное дерево охвата G Теперь, чтобы найти MST для (T + добавленный край), мы должны просто удалить один край из того цикла.. поэтому удалите тот край, у которого есть максимальный вес.

Так T' всегда прибывает из T U {e}.

И если вы думаете, что это не доказывает, что новое MST будет набором края T U {e}, тогда анализируют Kruskal algorithim для для нового графа. т.е. если e имеет минимальный вес, это, должно быть, было отобрано для MST acc к Kruskal algorithim и тому же самому здесь, если это минимально, это не может быть удалено из цикла.

2
добавлено
That' s опечатка, позвольте мне вновь заявить о вопросе: Как может вы доказывать это, когда край e добавляется (в алгоритме Kruskal), это doesn' t заставляют 2 или больше края в наборе T быть невозможными быть выбранными?
добавлено автор nhahtdh, источник
Разговор о наборе края (ваш 2-й параграф) на самом деле от пункта. Необходимо доказать это T' MST для графа G U {e} (T' действительно MST T U {e}, но этого doesn' t означают, что это - ясно MST G U {e}).
добавлено автор nhahtdh, источник
Оригинальный T doesn' t содержат все минимальные края G. Только сумма краев гарантируется.
добавлено автор nhahtdh, источник
Я не получил вас.. в MST все вершины будут там... о выборе краев.
добавлено автор Aditya Kumar, источник
вопрос о доказательстве что края нового MST T' будет подмножество краев T + {e}..., настолько добавляющий край, очевидно, заставит край быть удаленным.. и тот "край" может быть любым краем даже добавленный край. но если добавленный край имеет минимальный вес.. это будет там в новом MST наверняка.
добавлено автор Aditya Kumar, источник
если T' MST T U {e} тогда, это будет MST G U {e}, потому что все другие края, которые находятся в G U {e}, будут иметь более высокий вес, как T, самостоятельно имеют все имеющие право минимальные края G.
добавлено автор Aditya Kumar, источник