Ngā rorohikoPapatono

Ko te Kruskal algorithm - te hanganga o te putea tino pai

I te timatanga o te rau tau 1800, ka tuhia e te tihi o Berlin, Jacob Steiner, te mahi o te honohono i nga taone e toru kia roa ai to ratou roa. I muri mai, ka whakawhänuihia e ia tënei raruraru: me hiahia ki te kimi i tetahi tohu i runga i te rererangi ko te tawhiti mai i reira ki etahi atu mea ko te iti rawa. I te rau tau 20, ka haere tonu nga mahi mo tenei kaupapa. I whakatauhia ki te tango i etahi take me te hono atu ki a ratau i te wa roa ko te tawhiti i waenganui ia ratou ko te poto rawa. He mea motuhake tenei mo te raru i raro i te ako.

Ngā tohu whakawhitiwhiti

Ko te Algorithm Kruskal e tohu ana ki nga "algorithms" (e kiia ana hoki ko te algorithms gradient). Ko te tino o te hunga - te toa nui i nga taahiraa katoa. Ehara i te mea ko nga waahi "whakahihiri" nga whakautu pai ki te mahi. He ariā e whakaatu ana ka whakamahia ki nga raruraru motuhake e whakarato ana i te otinga tino pai. Koinei te ariā o te matroids. Ko te Kruskal algorithm e pa ana ki nga raruraru.

Te rapu i te piko o te taimaha iti

Ko te algorithm e whakaaroarohia ana e hanga ana i te putea tino pai o te kauwhata. Ko te raruraru e pa ana ki a ia. He kauwhata e kore e nekehia atu ki nga taha maha, me nga koropiko ka hoatu, a, kei runga i ona huinga, ka hoatu he taumaha taumaha e hoatu ana ki ia mata e te tau - te taimaha o te mata - w (e). Ko te taimaha o ia waahanga o te huinga o nga taha ka whakaritea e te nui o nga pauna o ona taha. Me rapu te pounamu o te taimaha iti rawa.

Whakaahuatanga

Ko te mahi a te Kruskal algorithm e mahi ana. Tuatahi, ko nga taha katoa o te kauwhata taketake kua whakaritea kia nui ake nga pauna. I te timatanga, kaore he anga o te angamahi, engari kei roto katoa nga pou o te kauwhata. I muri i te mahi i muri mai o te whakawhitiwhiti, ka hono tetahi mata ki te waahanga kua hangaia o te angamahi, he ngahere taapiri. Kaore i te whiriwhirihia i te waa. Ko nga taha katoa o te kauwhata e kore e uru ki te pounamu ka kiia he whero me te matomato. Ko nga poaka o ia riu whero kei roto i tetahi waahanga o te hono o te ngahere kei te hanganga, me nga poaka o te matomato kei roto i nga waahanga rereke. Na, ki te tapiritia e koe he ira whero ki reira, ka puta mai he huringa, a, ki te puta te matomato i roto i te taahi ngahere ngahere, ka iti iho te waahanga o te hono. No reira, kaore e taea te whakauru i te mata whero ki te hanganga hua, engari ka taea te tapiri atu tetahi mata matomato ki te tiki ngahere. A ka tapiritia tetahi pupuhi matomato me te taimaha iti. Ko te hua ko te anga o te taimaha iti.

Te whakatinana

Ka tohuhia e matou te ngahere o te wa nei. E wehewehe ana i te huinga o nga poaka o te kauwhata ki roto i nga rohe e hono ana (ko o ratau uniana whakauru F, a kaore ano kia tuhonohia). Ko nga tapahi whero e rua nga poaka i tetahi wahi. Ko te wahi (x) he mahi e hoki ana i te ingoa o te waahanga ki te x mo ia moataiti x. Ko te unite (x, y) he tukanga e hanga ana i tetahi wehewehenga hou e noho ana i te hononga o nga wahi x me y me era atu waahanga. Kia n te maha o nga taha o te kauwhata. Ko enei kaupapa katoa kei roto i te Kruskal algorithm. Whakamahinga:

  1. Whakaritehia nga taha katoa o te kauwhata mai i te 1 ki te teitei o te piki. (Ai, ko nga poaka o te taha me te taurangi i).

  2. No te mea i = 1 ki te mahi.

  3. X: = Wahanga (a).

  4. Y: = Wahanga (a).

  5. Ki te kore e rite te x ki a ka whakauruhia (x, y), whakauru te mata ki te tau i roto i te F.

Whakatika

Me waiho te koikoi o te kauwhata taketake i hangaia ma te whakamahi i te whakawhitiwhiti Kruskal, a kia waiho a S hei pounamu whakawhiti. He mea tika kia whakamatauhia e kore e nui ake te (T) ki te w (S).

Kia M te huinga o te S, me te P te taatai o te T. Ki te kore e rite te S ki te T, ka kitea he mata me te T e kore e uru ki a S. Ka uru atu matou ki a S. Ka hangaia he huringa, ka karangahia e matou. S. Ka whiwhi tetahi anga hou, no te mea ko nga taha e rua me nga poaka i roto i taua mea he rite. Ko te taimaha o te taimaha e kore e nui ake i te w (S), no te mea ko te w (et) he nui atu i te w (es) na te Kruskal algorithm. Ko tenei mahi (ko te whakakapinga o nga taha o S na te taha o te taha o te T) ka whakahouhia kia tae noa ki te riro ia T. Ko te taimaha o ia peke o muri kaore e nui atu i te taimaha o te waa o mua, no reira e whai ana te w (T) i te nuinga o (S).

Ano, ko te tika o te waitohu a Kruskal e whai ake nei i nga kaupapa Rado-Edmonds i runga i te maturo.

Nga tauira o te tono a te Kruskal algorithm

He kauwhata me nga poutoko a, b, c, d, e me nga taha (a, b), (a, e), (b, c), (b, e), (c, d), (c, e) , (D, e). Ko nga pauna o nga taha ka whakaaturia i te tepu me te ahua. I te wa tuatahi, ko te ngahere tipu a F kei roto katoa nga porowhita o te kauwhata, kaore hoki he mata kotahi. Ko te Kruskal algorithm tuatahi te whakapiri i te mata (a, e), no te mea ko te taimaha te iti rawa, me nga poutuma me te e i roto i nga waahanga hono rereke o te ngahere F (te mata (a, e) he matomato), na te mata (c, d), no te mea Ko tenei mata he iti rawa te taimaha mai i nga taha o te kauwhata ehara i te F, a ka matomato, na mo nga take ano ka tapiritia he mata (a, b). Engari te pee (b, e) ka pekehia, ahakoa he mea iti te taimaha o nga taara e toe ana, no te mea he whero: nga pouturu b me nga mea e hono ana i te ngahere F, ara, ki te tapiritia he mata (b, e) ki a F, Takahuri. Katahi ka tapiritia te mata matomato (b, c), ka werohia te aronga whero (c, e), a ka d, e. Na, ko nga taha (a, e), (c, d), (a, b), (b, c) e tapiritia ana. Mai i te reira, ko te kounga tino pai o te kauwhata taketake. Ko te penei te mahi a te algorithm i tenei take I mate ahau. He tauira e whakaatu ana i tenei.

E whakaatu ana te whakaahua i te kauwhata e rua nga wahanga hono. Kei te whakaatu nga waarangi kaha i nga taha o te anga tino pai (matomato), i hangaia ma te whakamahi i te Kruskal algorithm.

Ko te ahua o runga e whakaatu ana i te kauwhata tuatahi, a kei raro iho - ko te wera o te taimaha iti, i hangaia mo te awhina o te whakawhitiwhiti whakaaro.

Ko te raupapa o nga taha tapiri: (1.6); (0.3), (2,6) ranei (2,6), (0,3) - he mea kore; (3.4); (0,1), (1,6) ranei (1,6), (0,1), he kore ano hoki (5,6).

Kei te kimi arataki a Kraskal he tono mahi, hei tauira, ki te whakarahi i nga taputapu korero, nga rori kei roto i nga miihini hou i nga takiwa o ia takiwa, me era atu take.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mi.delachieve.com. Theme powered by WordPress.