BORUVKOV ALGORITEM je algoritem za iskanje minimalno vpetega drevesa v neusmerjenem uteženem grafu Utežen_graf.
PROBLEM
Imamo dan neusmerjen graf z uteženimi povezavami (uteži so pozitivna realna števila). Cilj je poiskati vpeto drevo znotraj tega grafa, kjer bo vsota uteži posameznih povezav v drevesu minimalna (uporabimo lahko samo povezave, ki so v originalnem grafu, povezav ne dodajamo).
POSTOPEK
Vsako vozlišče vzame najcenejšo sosednjo povezavo. Z najcenejšo povezavo med seboj povežemo sosednja vozlišča. Med seboj tako dobimo povezana vozlišča (nekatera ali vsa). Če po prvem koraku še ne dobimo drevesa, vpetega nad vsemi vozlišči, postopek ponovimo tako, da poiščemo skupine povezanih vozlišč (poddrevesa) in ponovimo postopek, vsako poddrevo vzame najcenejšo povezavo do sosednjega poddrevesa. Nadaljujemo toliko časa, dokler ne nastane drevo, vpeto nad vsemi vozlišči grafa.
Da boš bolje razumel/a postopek algoritma si poglej primere na naslednjih prosojnicah, ki sledijo (Primeri).
UPORABA
Električno omrežje
Želimo izračunati koliko bi nas najmanj stali stroški postavitve električnega omrežja med določenimi kraji, ki so bili dosedaj brez električne energije. Vsak kraj mora biti povezan z drugim krajem z električnim kablom, kable polagamo tako, da so stroški najmanjši.
Klepetulje
Katja ima n prijateljic. Vse rade klepetajo po telefonu. Vsako novo novico morajo izvedeti vse. Stroški telefona so zelo visoki, zato so nekaj časa spremljale stroške povprečnega pogovora. Ugotoviti moramo, kako naj se kličejo, da bodo za razširitev ene novice porabile čim manj denarja.
In še in še
Algoritem je zelo uporaben, saj ga lahko uporabimo pri reševanju problemov iz vsakdanjega življenja. Poznati moramo le točke (kraji, trgovine...) ter povezave med njimi, ki so utežene s cenami ali časom.