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 W1≠W2 e denota la loro differenza simmetrica con W=W1Δ⁡W2 .

e∈T1Δ⁡T2w(e)=minWee∈T1Δ⁡T2minWminW∉We∈T1T1minWT2

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)eT1e′eT1e′eT1WeT2∩CT1(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 treee′∈CT1(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 .eT2Pe′P∩CT1(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,V−S)
— 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:=w−1(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 1 ∪ ⋯ ∪ E t - 1 w E ′ E t F E ′ E t F E i i < t F E t F FtEtE′=E1∪⋯∪Et−1wE′EtFE′EtFEii<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.