Makombiyuta, Zvirongwa
Kruskal kwakaita algorithm - kuvaka imwe Zvakanyanya Kunaka Panguva Yepamuviri framework
Mukutanga kwezana remakore rechi19 geometer Jakob Steiner kubva Berlin akaisa basa sei kubatanidza mumisha matatu kuitira kuti kureba kwadzo kwakanga pfupi. Gare gare, akapfupikisa dambudziko: nayo kunodiwa kuwana pfungwa iri ndege, chinhambwe kubva kuna N dzimwe pfungwa dzaiva rakadzika. Muzana remakore rechi20, ichiri kushanda nezvenyaya iyi. Kwakasarudzwa kutora uye pfungwa shoma batanidza navo nenzira yakadaro kuti daro pakati pavo paiva pfupi. Izvi zvose zviri nyaya inokosha dambudziko riri kudzidzwa.
"Makaro" algorithm
Kruskal kwakaita algorithm rinoreva "vanokara" algorithm (anonziwo gradient). Musimboti avo - chemhando takunda iri danho rimwe nerimwe. Kwete nguva dzose, "vanokara" algorithms kupa mushonga wokugadzirisa dambudziko. Pane dzidziso, zvichiratidza kuti kwavo kubvunza dzakananga mabasa vopa optimum zvichachipedza. Ndiyo dzidziso matroids. Kruskal kwakaita algorithm zvinoreva matambudziko akadaro.
Kuwana pasipasi chitunha uremu
Vaiona algorithm constructs ane Zvakanyanya Kunaka Panguva Yepamuviri puranga count. Dambudziko iri sezvinotevera. Dan undirected girafu pasina inofambirana micheto uye muzvishwe, uye akaita micheto anopiwa kurema basa W, iro ibasa nhamba mumwe mucheto e - uremu rumbabvu - W (e). Kurema rimwe subset ari muzvizhinji mbabvu ndiyo uwandu Zviidzo yayo kumicheto. Kunodiwa kuwana marangwanda maduku uremu.
tsananguro
Kruskal kuti algorithm anoshanda. Chokutanga, micheto vose kwokutanga girafu vari akarongwa akwira hurongwa Zviidzo. Pakutanga, pamatanda harina chero mbabvu asi rinosanganisira vertices zvose. Mushure danho iri algorithm kusvika kare kuvakwa chikamu chitunha, chinova zvakatevedzana dondo, mumwe mucheto inowedzerwa. Haina akasarudzwa pamadiro. All micheto ose girafu, kwete kuva pamatanda, anogona kunzi tsvuku uye girini. The peimwe neimwe tsvuku micheto vari chete pakuderedza pasi kuvakwa dondo connectivity, uye munyoro misoro - zvakasiyana. Naizvozvo, kana imi kuwedzera tsvuku kumucheto, pane kutenderera, uye kana mutema - sezvo vakagamuchira pashure danho iri huni kwakabatana hurongwa zvichava zvishoma pane chimwe. Saka, kunoguma kuvaka havagoni kuwedzera hapana tsvuku unopinza, asi chero mutema pamupendero inogona kuwedzerwa kuti sango. Uye anowedzera munyoro pamupendero Minimum uremu. Zvinoguma gadziriro mashoma uremu.
Implementation
Kureva sango pari F. It anokamura yakatarwa pakati vertices mumunda connectivity (avo pamwe nezvimiro F, uye ivo disjoint). At vose micheto tsvuku vertices vanovandira muna akaumbwa. Chikamu (x) - mashandiro kuti vertex nerimwe X anodzoka mugove zita, nde- x. Unite (x, y) - muitiro kuti anovaka partition itsva, zvinosanganisira tichibatanidza zvikamu X uye ja uye zvose wemigove. Regai N - Nhamba kumicheto. izvi Dzidziso zvose zvinosanganisirei Kruskal kuti algorithm. Implementation:
Rongai zvose micheto ose girafu kubva 1st kusvikira N-fung vachikwira zviyereso. (Ai, bi - i ne chakaderedzwa mutengo unopinza nhamba).
nokuti ini = 1 kusvika N kuita.
X: = Chikamu (Ai).
Y: = Chikamu (bi).
Kana X haaiti Y kuenzana ipapo Unite (x, y), kusanganisira neminondo F Ini nhamba.
yakarurama
Regai T - chakafanana pakutanga girafu zvakavakwa kushandisa Kruskal algorithm uye S - ayo zvemasanga puranga. Tinofanira kuratidza kuti W (T) haasi mukuru kupfuura W (S).
Regai M - muzvizhinji pamusoro zvimbi S, P - a muzvizhinji kuti zvimbi T. Kana S haana kuenzana T, saka pane furemu rumbabvu, et T, kwete kuva S. S. and adjoin ichitanga, inonzi C. C kubvisa chero unopinza es, ndeve S. We tiwane mutsva puranga, nokuti kumicheto uye vertices ndiye. kurema kwayo haasi mukuru kupfuura W (S), sezvo W (and) asisiri W (es) ari simba Kruskal algorithm. oparesheni ichi (okutsiva T S mbabvu pakona) chichange kudzokororwa bedzi kugamuchira T. The kurema neimwe vaivapo vakagamuchira furemu haasi mukuru kupfuura rapfuura uremu, zvinoratidza kuti W (T) haasi mukuru kupfuura W (S).
The robustness kuti Kruskal kuti algorithm inotevera kubva theorem no kuti Rado-Edmonds pamusoro matroids.
Application Mienzaniso Kruskal algorithm
Dan girafu pamwe nodes A, B, C, D, e uye mbabvu (a, b), (a, e), (b, c), (b, e), (c, d), (c, e) , (d, e). Zviidzo micheto vanoonekwa tafura uye nhamba. Pakutanga, kuvakwa dondo F rine zvose vertices yose girafu harina chero mbabvu. Algorithm Kruskal kutanga kuwedzera rumbabvu (a, e), sezvo uremu akanga kugomba ravakafa, uye vertices uye E vari akasiyana zvinoriumba matanda connectivity F (rumbabvu (a, e) uswa), ipapo nerumbabvu (c, d), nekuti kuti kanenge ichi kumucheto uremu girafu micheto, kwete kuva F, uye munyoro, pashure chete nezvikonzero -bereka pamucheto (a, b). Asi kumucheto (b, e) wapfuura, kunyange zvazvo iye shoma kurema akasara micheto, nekuti yatsvuka: asi vertices B E ndezvaJehovha chete chezvinonhuwira dondo connectivity F, ndiko kuti, kana isu kuwedzera F kumucheto (b, e), aumbwa kutenderera. Zvadaro akawedzera girini unopinza (b, c), wapfuura tsvuku unopinza (c, e), uye ipapo D, e. Nokudaro, micheto anowedzerwa sequentially (a, e), (c, d), (a, b), (b, c). Kubva nihera Zvakanyanya Kunaka Panguva Yepamuviri pepuranga uye ine pakutanga girafu. Saka ichi zvakafamba unoshanda ive algorithm Kruskal. Muenzaniso kunoratidzwa.
The mufananidzo unoratidza girafu randinogara vaviri kunofambidzana zvinoriumba. The akashinga Mitsetse anoratidza Zvakanyanya Kunaka Panguva Yepamuviri puranga mbabvu (rwegirini) zvakavakwa kushandisa Kruskal algorithm.
The pamusoro Muratorato pakutanga girafu, uye nechepasi - a marangwanda kuti usingashandi uremu, yakavakwa kwaari nokushandisa algorithm.
Kutevedzana of akawedzera mbabvu (1.6); (0,3), (2,6) kana (2,6), (0,3) - hakuna kukosha; (3,4); (0,1), (1,6) kana (1,6), (0,1), uyewo hanya (5,6).
Kruskal kwakaita algorithm anowana mazano chikumbiro Somuenzaniso, kuti optimize ari gasket kukurukurirana, migwagwa iri dzimba itsva Estates nzvimbo munyika imwe neimwe, uyewo dzimwe nguva.
Similar articles
Trending Now