Algorithm ya update ya ziada ya sasisho

Anonim

Kabla ya kuanza kusoma makala hii, tunakushauri kujitambulisha na nyenzo kuhusu hesabu ya njia kulingana na algorithm ya Bellman - Ford.

Algorithm ya update ya usanifu (kusambaza algorithm ya update) ni moja ya algorithms mbili zilizojadiliwa hapa awali ilipangwa kwa ajili ya utekelezaji katika mtandao wa kusambazwa. Ni ya pekee kwa kuwa pia huondoa habari kuhusu kufanikiwa na topolojia zilizomo katika automa ya mwisho ya algorithm. Algorithms nyingine zilizojadiliwa hapa kuondoka kuondolewa kwa habari kwa hiari ya utekelezaji wa itifaki, na usifikiri suala hili la kazi ya algorithm ndani ya algorithm yenyewe.

Mnamo mwaka wa 1993, Bellman-Ford na Dijkstra walitekelezwa kama algorithms zilizosambazwa katika itifaki kadhaa za uendeshaji. Uzoefu uliopatikana kutokana na utekelezaji huu wa awali na kupelekwa kwa "wimbi la pili" la utafiti na kutafakari juu ya tatizo la uendeshaji katika mitandao ya kubadili mtandao, ambayo imesababisha kuonekana kwa vector ya njia na mbili.

Kwa kuwa mbili imeundwa kama algorithm iliyosambazwa, ni bora kuelezea kazi yake kwenye mtandao. Kwa kusudi hili, takwimu 8 na 9 hutumiwa. Ili kuelezea mbili, mfano huu utafuatiliwa katika mkondo wa maeneo matatu, na kisha mabadiliko yanatengenezwa katika hali ya upatikanaji kwa vitu sawa vya marudio. Katika mfano wa kwanza, kesi itazingatiwa wakati kuna njia mbadala, lakini hakuna jirani ya chini, pili itazingatia kesi wakati kuna njia mbadala na jirani ya chini.

Katika Kielelezo 8, kujifunza D kutoka kwa mtazamo A:

  1. A anajifunza njia mbili za D:
Algorithm ya update ya ziada ya sasisho 21025_1
  1. A hawezi kutambua njia kupitia B, kwa sababu B hutumia A kama mrithi wake:
  2. A kulinganisha njia zilizopo na kuchagua njia fupi bila loops:
  3. Hundi njia zilizobaki kuamua kama kuna yeyote kati yao majirani ya chini:

A anajua hii kwa sababu C inatangaza njia ya D na metri yake ya ndani sawa na 3.

Hifadhi ya metali ya ndani katika meza yake ya topolojia.

Kwa hiyo, anajua thamani ya ndani katika C na thamani ya ndani katika A.

  1. 3 (gharama katika C) = 3 (gharama katika A), hivyo njia hii inaweza kuwa kitanzi, kwa hiyo, C haina kukidhi hali ya uwezekano. C haijulikani kama majirani ya chini.

Majirani ya chini ya watu wawili huitwa wafuasi iwezekanavyo. Tuseme kwamba kituo [A, H] haifanyi kazi. Dual haina kutegemea sasisho za mara kwa mara, hivyo hawezi kusubiri tu sasisho jingine na habari ya kuaminika. Badala yake, lazima afuate kikamilifu njia mbadala. Hivyo, hii ni mchakato wa kugundua wa njia mbadala. Ikiwa kituo [A, H] haifanyi kazi, kwa kuzingatia D:

  1. Cheki meza yako ya ndani kwa wafuasi iwezekanavyo (majirani ya chini).
  2. Hakuna wafuasi iwezekanavyo, hivyo lazima apate njia mbadala bila loops kwa d (ikiwa ipo).
  3. Anatuma ombi kwa kila jirani kuamua kama kuna njia yoyote mbadala bila loops kwa D.
  4. Katika C:
  5. Katika B:
  6. Anapata majibu haya:

Katika Kielelezo 9, kipengee (D) kilichohamishwa na H kwa E. Hii itatumika kwa mfano wa pili.

Katika mfano huu, kuna mrithi anayewezekana (jirani ya chini).

Jifunze D kutoka kwa mtazamo A:

  1. A anajifunza njia mbili za D:
  2. A hawezi kutambua njia yoyote kupitia B:
  3. A kulinganisha njia zilizopo na kuchagua njia fupi bila loops:
  4. Hundi njia zilizobaki kuamua kama kuna yeyote kati yao majirani ya chini:

Ikiwa kituo [A, C] haifanyi kazi, tu kuzingatia:

  1. A hundi meza yake ya topolojia ya ndani kwa mrithi anayewezekana.
  2. Mrithi anayewezekana ipo kwa njia ya H.
  3. A swichi meza yake ya ndani juu ya H kama njia bora.
  4. A hutuma sasisho kwa majirani zake, akibainisha kuwa gharama yake ya mafanikio d imebadilika kutoka 3 hadi 4.

Kama unaweza kuona, usindikaji wakati kuna mrithi anayewezekana, kwa kasi zaidi na rahisi zaidi kuliko bila hiyo. Katika mitandao ambapo itifaki ya uendeshaji ilitumiwa kwa kutumia mbili (hasa, EIGRP), moja ya malengo kuu ya kubuni itapunguza kiasi cha maombi yoyote yanayotokana na kukosekana kwa mrithi anayewezekana. Eneo la ombi ni jambo kuu la kuamua jinsi algorithm mara mbili imekamilika haraka na kwa hiyo, jinsi ya haraka mtandao unavyobadilisha.

Kielelezo 10 kinaonyesha mashine ya msingi ya kumaliza.

Mambo yaliyojumuishwa katika njia huwa mbaya zaidi (uharibifu wa njia) inaweza kuwa:

  • Kushindwa kwa kituo kilichounganishwa au jirani
  • Kupata sasisho kwa njia na metri ya juu
  • Kupata swala kutoka kwa mrithi wa sasa.
  • Kupata njia mpya kutoka kwa jirani.
  • Jirani mpya ilipatikana, pamoja na njia ambazo zinaweza kupata
  • Kupata maombi yote yaliyotumwa kwa majirani wakati njia inazidi
Algorithm ya update ya ziada ya sasisho 21025_2

Soma zaidi