Coeden rhychwantu leiaf

Oddi ar testwiki
Neidio i'r panel llywio Neidio i'r bar chwilio
Graff planar a'i goeden rhychwantu leiaf. Mae pob ymyl wedi'i labelu â'i bwysau.

Coeden rhychwantu leiaf yw is-set ymylon o graff gysylltiedig anghyfeiriedig gyda phwysau ymylon. Y goeden rhychwantu leiaf yw'r set ymylon sy'n cysylltu pob un o'r fertigau i'w gilydd, heb gylchredau, sydd â chyfanswm pwysau ymyl lleiaf posib. Mae gan bob graff (nid yn anghenrheidol yn gysylltiedig) anghyfeiriedig gyda phwysau ymylon goedwig rychwantu leiaf, hynny undeb y coed rhychwantu lleiaf pob un o'i gydrannau cysylltiedig.[1]

Mae nifer o ddefnyddiau ar gyfer coed rhychwantu lleiaf. Un enghraifft fyddai cwmni telathrebu sy'n ceisio gosod cebl mewn cymdogaeth newydd. Os gall y cwmni ond gladdu'r cebl ar hyd rhai llwybrau yn unig (ee ffyrdd), yna mae gan ryw graff fertigau (ee tai) wedi'u cysylltu gan y llwybrau hynny. Efallai bydd gosod ceblau ar hyd rhai o'r llwybrau'n ddrytach, oherwydd eu bod yn hirach, neu'n mae angen eu claddu'n ddyfnach; byddai'r llwybrau hyn yn cael eu cynrychioli gan ymylon â phwysau mwy. Does dim gofyniad i hyd ymyl ufuddhau i reolau geometreg arferol megis yr anhafaledd triongl . Byddai coeden rhychwantu ar gyfer y graff hwn yn is-set o'r llwybrau hynny heb gylchredau sy'n cysylltu pob tŷ; efallai y bydd sawl coeden rychwantu yn bosibl. Y goeden rhychwantu leiaf yw'r un gyda'r cyfanswm cost isaf, sy'n cynrychioli'r llwybr lleiaf drud ar gyfer gosod y cebl.

Priodweddau

Mae'r ffigur hwn yn dangos y gallai fod mwy nag un goeden rychwantu leiaf mewn graff. Yn y ffigur, mae'r ddwy goeden o dan y graff yn ddau bosibilrwydd o isafswm coeden sy'n rhychwantu'r graff cyntaf.
  • Os oes gan graff Nodyn:Mvar fertig, yna mae gan bob coeden rhychwantu Nodyn:Math ymyl.
  • Efallai bod sawl coeden rhychwantu leiaf gyda'r un cyfanswm pwysau.
  • Os oes gan bob ymyl pwys unigryw, yna ond un goeden rhychwantu leiaf sy'n bodoli.[2]
  • Os yw pwysau pob ymyl yn bositif, yna'r goeden rhychwantu leiaf yw'r is-graff cost leiaf.

Algorithm Kruskal

Demo o algorithm Kruskal ar gyfer graff lle mae pob fertig wedi ei gysylltu â phob fertig arall gyda phwysau yn hafal i'r pellter Ewclidaidd.

Un algorithm barus ar gyfer canfod coeden rhychwantu leiaf graff G yw algorithm Kruskal.[3] Camau'r algorithm yw:

  1. Ystyriwch y set of fertigau'r graff fel graff G~ sydd â dim ymylon, hynny yw cydran gysylltiedig wahanol ar gyfer pob fertig.
  2. Rhestrwch yr ymylon yn nhrefn eu pwysau. Mae'r rhain yn aros mewn ciw gyda'r ymyl â'r pwysau lleiaf ar flaen y ciw.
  3. Tra bod gan G~ mwy nag un gydran gysylltiedig cymerwch yr ymyl ar flaen y ciw. Os yw ychwanegu'r ymyl hyn i G~ yn cyfuno dwy gydran gysylltiedig (hynny yw ddim yn achosi cylchred), ychwanegwch yr ymyl hyn i G~. Fel arall symudwch ymlaen i'r ymyl nesaf yn y ciw.

Algorithmau eraill gellir eu defnyddio yw algorithm Borůvka[4], ac algorithm Prim[5].

Cyfeiriadau

Nodyn:Cyfeiriadau