Gli alberi di spanning minimi di un grafico ponderato hanno lo stesso numero di spigoli con un determinato peso?


21

Se un grafico ponderato G ha due alberi spanning minimi differenti T1=(V1,E1) e T2=(V2,E2) , è vero che per ogni bordo e in E1 , il numero di bordi in E1 con lo stesso peso di e (incluso e stesso) è uguale al numero di bordi in E2 con lo stesso peso di e? Se l'affermazione è vera, allora come possiamo provarla?


Un approccio complicato ma fattibile è quello di mostrare 1) l'algoritmo di Kruskal può produrre ogni spanning tree minimo e 2) tutti gli spanning tree minimi trovati da Kruskal hanno lo stesso multiset di peso limite.
Raffaello

Risposte:


16

Reclamo: Sì, questa affermazione è vera.

Proof Sketch: Sia T1,T2 due alberi di spanning minimi con multiset di peso dei bordi W1,W2 . Assumi W1W2 e denota la loro differenza simmetrica con W=W1ΔW2 .

eT1ΔT2w(e)=minWeeT1ΔT2minWminWWeT1T1minWT2

Ora considera tutti i bordi in che sono anche nel taglio che è indotto da in . Se c'è un bordo che ha lo stesso peso di , aggiorna usando invece di ; si noti che il nuovo albero è ancora un albero spanning minimo con lo stesso multiset di spigoli di . Ripetiamo questo argomento, riducendo di due elementi e rimuovendo così un vantaggio dal gruppo di candidati per in ogni fase. Pertanto, superiamo finitamente molti passaggi per un'impostazione in cui tutti i bordi inT2CT1(e)eT1eeT1eeT1WeT2CT1(e)(dove è la versione aggiornata) hanno pesi diversi da .T1w(e)

Ora possiamo sempre scegliere modo che possiamo scambiare ed ¹, ovvero possiamo creare un nuovo spanning treeeCT1(e)T2ee

T3={(T1{e}){e},w(e)<w(e)(T2{e}){e},w(e)>w(e)

che ha un peso inferiore a e ; questo contraddice la scelta di come alberi spanning minimi. Pertanto, .T1T2T1,T2W1=W2


  1. I nodi incidenti di sono in collegati da un percorso ; è il bordo unico in .eT2PePCT1(e)

3
In riferimento al commento di Dave , ho trovato questa prova dopo 0) credendo di avere un contro-esempio che ho visto era sbagliato dopo averlo fatto TikZing, 1) cercando di dimostrare l'affermazione ma non ci sono riuscito, 2) cercando di costruire un contro-esempio in base al punto in cui la prova ha avuto esito negativo e di nuovo non riuscito, e infine 3) utilizzando il modo in cui questi nuovi esempi non hanno funzionato per elaborare la prova. Questo è probabilmente anche il motivo per cui non è così raffinato come potrebbe essere.
Raffaello

sì esattamente, non capisco cosa si intende per cyt indotto da in avevo visto solo tagliare come tagliareT 1 ( S , V - S )eT1(S,VS)
dragoboy

@dragoboy La rimozione disconnette ; un componente forma , l'altro il complemento. T 1 SeT1S
Raffaello

5

Ecco un argomento leggermente più semplice che funziona anche con altri matroidi. (Ho visto questa domanda da un'altra .)

Supponiamo che abbia i bordi . Senza perdita di generalità, supponiamo che la funzione di peso assuma valori in , quindi abbiamo una partizione di in insiemi per . Possiamo fare l'induzione sul numero di non vuoto e sul numero di vertici in ; per e qualsiasi , l'istruzione è ovvia.m w [ m ] E E i : = wGmw[m]Ei[m]j E i nGj=1nEi:=w1(i)i[m]jEinGj=1n

Un fatto di standard circa matroidi è che per ogni MST è un'estensione lineare dell'ordinamento indotta da in modo che l'algoritmo greedy produce .w TTwT

Per chiudere l'induzione, prendi come il numero più grande in modo che non sia vuoto. Impostare . Si noti che qualsiasi estensione lineare di mette ogni fronte in prima di ogni bordo in . Secondo il fatto, qualsiasi MST è costituito da una foresta spanning del sottografo indotta da e alcuni bordi da . Secondo l'ipotesi induttiva, ciascun componente collegato di ha lo stesso numero di spigoli di ciascun per . Dal momento che tutte le scelte diE t E = E 1E t - 1 w E E t F E E t F E i i < t F E t F FtEtE=E1Et1wEEtFEEtFEii<tFhanno le stesse dimensioni, il numero di spigoli da richiesti per completare ad un albero di spanning è indipendente dalla scelta di e abbiamo finito.EtFF


Puoi dare il matroid per il problema MST? Mi sembra di ricordare che è una cosa difficile da inventare, e devo ancora vederlo fatto (rigorosamente). Sì, usiamo algoritmi avidi, ma non l' avido (canonico) della teoria matroide.
Raffaello

Detto questo, penso che il tuo argomento principale funzioni (e non abbia affatto bisogno dei matroidi): dalla correttezza dell'algoritmo di Kruskal e dal fatto che ogni MST può essere ottenuto da una serie di Kruskal con una permutazione specifica (ordinata) del multiset di peso ( prova rigorosa in sospeso), il reclamo segue. Scrivo "in attesa di prove" perché non è né banale né immediato: senza usare l'affermazione stessa non è affatto chiaro il motivo per cui Kruskal dovrebbe trovare tutti gli MST. Chiaramente, se uno avesse un multiset di peso diverso, Kruskal non lo troverebbe mai!
Raffaello

1. Il matroid è il matroid grafico. Fatto!
Louis,

2. Sei confuso. In astratto, stiamo eseguendo un'ottimizzazione lineare sulla base del politopo. Una delle caratterizzazioni standard dei matroidi è che l'algoritmo avido funziona per qualsiasi scelta di pesi. Tutti i spanning tree -minimal sono vertici di un volto di questo politopo. Ora le idee standard di LP portano al fatto standard che ho citato. w
Louis,

1. Puoi fornire un riferimento? Non conosco il matroid grafico. 2. Ora trascina anche LP in esso! Tutto quello che sto dicendo è che la tua risposta è priva del matroide e che senza il matroide la linea di ragionamento sembra basarsi sull'affermazione stessa. Se hai un modo per aggirare questo, ti preghiamo di modificare / chiarire la risposta.
Raffaello
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.