Algorimu ya Floyd-Warshall

From binaryoption
Jump to navigation Jump to search
Баннер1

Algorimu ya Floyd-Warshall: Kupata Njia Fupi Zaidi Katika Grafu

Utangulizi

Algorimu ya Floyd-Warshall ni algorimu maarufu katika uwanja wa sayansi ya kompyuta, hasa katika nadharia ya grafu. Inatumika kupata njia fupi zaidi kati ya kila jozi la viunganishi (vertices) katika grafu iliyo na uzani (weighted graph). Hii inaitwa pia tatizo la njia fupi zaidi ya jozi zote (all-pairs shortest paths problem). Algorimu hii ni rahisi kuelewa na kutekeleza, na inafanya kazi vizuri kwa grafu ndogo na za kati. Makala hii itatoa maelezo ya kina ya algorimu ya Floyd-Warshall, ikijumuisha kanuni zake, mfano wa utekelezaji, matumizi yake, na tofauti zake na algorimu nyingine za kupata njia fupi zaidi.

Historia

Algorimu ya Floyd-Warshall ilitengenezwa na Bernard Floyd na Robert Warshall mwaka wa 1962. Floyd alichapisha algorimu hiyo mwaka wa 1962, na Warshall alichapisha toleo lake mwaka wa 1963. Wote wawili walitengeneza algorimu hiyo kwa kujitegemeza, na ilikuwa matokeo ya utafiti wao wa kujitegemeza katika uwanja wa nadharia ya grafu.

Kanuni za Algorimu ya Floyd-Warshall

Algorimu ya Floyd-Warshall inafanya kazi kwa kanuni ya programu ya nguvu (dynamic programming). Inaanza kwa kuweka thamani ya umbali kati ya viunganishi vyote iwe sawa na uzani wa uunganisho kati yao, au usio (infinity) ikiwa hakuna uunganisho. Kisha, kwa kila kiunganishi k, algorimu inachunguza kama kupitia kiunganishi k kunaweza kupunguza umbali kati ya viunganishi vingine viwili i na j.

Hapa ni hatua za algorimu:

1. **Initialization:** Unda mصفوفة (matrix) ya umbali `dist` ya ukubwa n x n, ambapo n ni idadi ya viunganishi katika grafu. Weka `dist[i][j]` sawa na uzani wa uunganisho kati ya viunganishi i na j. Ikiwa hakuna uunganisho, weka `dist[i][j]` sawa na usio (infinity). Weka `dist[i][i]` sawa na 0 kwa viunganishi vyote i. 2. **Iteration:** Kwa kila kiunganishi k kutoka 0 hadi n-1:

   *   Kwa kila kiunganishi i kutoka 0 hadi n-1:
       *   Kwa kila kiunganishi j kutoka 0 hadi n-1:
           *   Ikiwa `dist[i][k] + dist[k[j] na `dist[i][j] ni ya `dist[i][j]

3. **Result:** Baada ya kukamilika, mصفوفة ya `dist` itakuwa na njia fupi zaidi kati ya viwezeshi (matumaini (matumaini ya matumaini (matumaini (matumaini (matumaini (matumio ya matumaini (matumaini. 4.

Mfano wa kutumia matumaini ya matumumu ya matumaini ya matumaini ya matumaini ya matumumu ya matumaini ya matumumu [ [matumaini.

Matumaini ya matumumu ya matumumu [fujo [fujo [fujo [matumaini [fujo [fujo [fujo [fujo [matumaini [fujo [matumaini [matumumu [fujo [umumi ya, umuhimufulumaini [umumi ya, [um, kujumu [um, kujum [ kujumu [kujumum, kujumaini [ kujumu kujumu [ kujumu [ kujumu [ kujumu [fujo [ kujumu [ kujumu [ kujumu [ kujumu [ kujumu [ kujumu [ kujumu [ kujumu [ kujumu [ kujum [ kujum [ kujum, [ kujumu [ kujumu [ kujumu [ kujumu [ kujumu [ kujumu [ kujumu [ kujumu [ kujum [ kujumu [ kujum [ - [– [ kujumu [ kujumu [ kujumumu [ kujumu [ kujumu [ kujumu [ kujumu [ [ena [ kujum [ena [ena [ena [ ena [ fujoona [ fujo [ [ena [ena [ena [gjengo [ - [ k ofu hata if [– [gjengo [ena za kujum [gj [ kujum [ kujum [ kujum [ kujum [ [ [ambapo [ [ [ [ kujum tumaini [ [ambapo [ kujum tumaini [ena [ena ya [ena [ena [ena [ena [ena [ena [ [ [– [ [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [ – [– [– [– [– [– [– [– [– [– [– [ [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [ (wako [– [– [– [– [pengo [– [– [– [– [– [– [na– “– [na [ng’ injini [na [– [na [na [– [na, [–, [– [– [– [– [– [– [– (– [– [– [ (wima, [– [– [– [– [– [– na– [– [– [– [na,–na [– (na kwa,– [na [– na, [na, [– na– na–,– [na–,–naweza, [na kwa,–,–naweza– [j, [see ya– [jina la–,– [– [– [– [– [– [– [– (– [– [–,–,– [– [–,–,– [– [– [–,– [– [–,–,–,–,–,– [– [– [– (– [– [– [– [– [– (– [– (– [– [– [–, [– [–,– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [kwa– [– [– [– [– [– [– [– [– [– [– [– “– [– [– [– [– [– [– (– [– [– (– (– [– [– (– [– [– (– [– [– (na– [– (– (– (– (– (– (– (– (– (– “– (– [– (– (– (– (– [– (– (– (– (– (– [– [– [– (– (– [– [–,– (–,–,– [–,– [– [– (– (– (– (–,–,–,– (– (– (–,– (– “–,–,– (–,–,– (– kwa–,– [–,– [– [– [– kwa– kwa– kwa– kwa–,– (– kwa–,– (– katika– (– (– na– na– na–,– na– na–,– na– na– katika–,–,–,–,–,–,–,– na– na– na– na–,– na– na– na–,– na– na– na– (–,– na– (– na– na– na– na– na– na– na– na– na– (– na– na– na– na– kwa– na– na– kwenye– kwa– kwa– na– kwa– kwa– kwa–, kwa– kwa– na– na–,– na–,– na– na– na–,– na– na– na,– na, na– na– na– na– na– na– na– na– na– (– (– (– (– (– (– (– (– (– (– (– kwa– (– (– kwa– (– (– kwa– na– kwa– na– na– na– na– na– na– na– na– na– na–: na– na–:– na–:– na– na– na– na– na– na– na– na– na– na– na– na– kwa– kwa– (– (– na– na– (– na– – (– kwa– kwa– (– (– kwa– (– (– na– (– (– kwa– na– (– na– (– (– (– na– (– (– (– (– (– na– na– (– (– (– (– (– (– (– (– (– (– (– (na,–,–,– (na,– (na,– (e (– (–:– na–:– na– na–:– na– na–:– na– (na–:– [na– [na– (– (na– [– [– [ina– na– [ina– na– (– [– (– [– [ina–,– (– na,–,– na–,– na– na,– na– na– na,– na– na– na– na– na– na– na– na– na– na– na– na– [– [– [– na– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [ [– [– [ [– [ [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [j [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [– [ [– [ [– [ [– [ [– [ [– [– [– [ [– [– [– [ [– [– [– [– [ [– [– [ [– [ [– [ [– [ [– [ [– [ [– [ [ [– [ [– [ [ [– [ [– [ [– [ [– [ [– [– [– [ [– [– [ [– [– [ [– [ [– [– [– [ [– [ [– [ [– [ [– [ [– [ [– [ [– [ [– [ [– [ [– [ [– [

Anza kuharibu sasa

Jiandikishe kwenye IQ Option (Akaunti ya chini $10) Fungua akaunti kwenye Pocket Option (Akaunti ya chini $5)

Jiunge na kijamii chetu

Jiandikishe kwa saraka yetu ya Telegram @strategybin na upate: ✓ Ishara za biashara kila siku ✓ Uchambuzi wa mbinu maalum ✓ Arifa za mwelekeo wa soko ✓ Vyombo vya elimu kwa wachanga

Баннер