1 / 6

A Floyd-Warshall algoritmus

A Floyd-Warshall algoritmus. Célja.

spencer
Download Presentation

A Floyd-Warshall algoritmus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Floyd-Warshall algoritmus

  2. Célja Egy adott élsúlyozott negatív összköltségű irányított kört nem tartalmazó végesG gráf - amely lehet irányított vagy irányítás nélküli - összes csúcspárjára megtalálni a legrövidebb (legkisebb költségű) utat, azaz a gráf minden u, v Vcsúcspárjára keressük az u-ból v-be vezető legkisebb súlyú utat, ahol az út súlya az úthoz tartozó élek súlyának összege.

  3. Konvenciók • Az utak hosszán az út mentén szereplő élek költségeinek összegét értjük. • A csúcspárok távolságán a csúcspár közötti utak közül az egyik legrövidebb út hosszát értjük. • Vegyünk egy V={1,2,…,n} csúcsokból álló csúcshalmazt valamint a G gráf C szomszédsági mátrixát, ezen felül pedig még egy üres n n-es D mátrixot is használunk. • Def.: p = <v1, v2,…., vm> egyszerű út belső csúcsánp út minden v1-től és vm-től különböző csúcsát értjük.

  4. Az algoritmus alapja • A feladat megoldását n iteráció után kapjuk meg, melyben folyamatosan fenntartjuk a következő invariánst: k-adik iteráció után minden (i, j) csúcspárra D(k)[i,j] azon i ~>j utak közül a legrövidebb utat tartalmazza, amelynek belső csúcsai k-nál nem nagyobb sorszámúak. • Az utolsó iteráció után (k=n eset) minden (i, j) csúcspárra D(n)[i,j] az i ~> j utak közül a legrövidebbet tartalmazza, azaz a feladat megoldva.

  5. Struktogram csúcsmátrixos ábrázolással Floyd(D,G)

  6. 1 -2 4 Példa: 3 2 3 2 k=n=4: -1 4 2 -1 k=0: 4 2 3 -2 3 1 k=1: 4 -2 2 4 2 1 3 4 -2 1 3 2 4 1 2 -2 2 -1 3 4 2 1 k=2: 3 3 2 -1 4 2 1 4 2 4 3 -1 4 -2 2 1 1 4 -1 2 4 k=3: -2 2 3 4 1 4 -2 2 1 3 4 2

More Related