Back

ⓘ Kontrakcija hijerarhija




                                     

ⓘ Kontrakcija hijerarhija

U primenjenoj matematici, metod kontrakcija hijerarhija je tehnika efikasnog rešavanja problema najkraćeg puta u grafu prvo kreiranjem kontrahovane verzije povezanog grafa. Može se smatrati posebnim slučajem "autoput-čvor putanja" pristupa.

Kontrakcija hijerarhija može se koristiti za generisanje najkraćeg puta u grafu mnogo efikasnije nego Dijkstrin algoritam ili prethodni pristup autoput-čvor putanja, i koristi se u mnogim naprednim tehnikama za usmeravanje.To je javno dostupan softver za izračunavanje putanje od jednog do drugog mesta.

                                     

1. Algoritam

Ovaj algoritam ima dve faze: pretprocesiranje početnog grafa što može potrajati više od sat vremena i ispitivanje manje od sekunde. Kontrakcija hijerarhija je specijalan slučaj hijerarhije pristupa, koja generiše hijerarhiju višeslojnog čvora u fazi pretprocesiranja. U KH svaki čvor grafa je predstavljen kao da je i sam nivo hijerarhije. Ovo se može postići na različite načine: jedan jednostavan način je da se označi svaki čvor numerisanjem od 1 do |N|. Sofisticiraniji pristup je proceniti vrstu puta autoput protiv manjeg puta itd.

                                     

1.1. Algoritam Pretprocesiranje

Poredak čvorova u KH može biti proizvoljan. Suština je da se grane prečice uvode kada je potrebno. Da bi se razumelo kad su prečice potrebne, mora se razumeti algoritam pretrage. Algoritam pretrage dvosmerni Dijkstrin algoritam u ovom slučaju je ograničen tako da samo uklanja grane koje su povezane za čvorove koji su viši u KH od trenutnog čvora u jednom pravcu, i obrnuto. Sa ovim ograničenjem, algoritam neće naći odredene najkraće puteve u neobradenoj mreži, i zbog toga moramo uvesti nove grane u grafu koje predstavljaju postojeće najkraće puteve koje algoritam ne uzima u obzir. Nema potrebe da svi najkraći putevi budu obnovljeni kao grane prečice: dovoljno je da se uzmu u obzir susedni čvorovi nekih čvorova koji su viši u KH dok je deo nekog najkraćeg puta i sam najkraći put. Algoritmički:

  • Dodaj nivo na čvorove grafa
  • Za svaki čvor, poštujući naredbe, uzmi njegove susedne čvorove višeg reda i ispitaj da li najkraći put izmedu svakog para od njih prolazi kroz trenutni čvor i ako prolazi, dodaj granu prečicu.

Recimo da uzmemo u obzir samo dva susedna čvora od njih n:

Sa ove slike, ako najkraći put od v do w prolazi kroz čvor u koji je manji u KH, nova grana mora biti dodata u KH graf tako da najkraći putevi koje algoritam pretrage uzima u obzir budu sačuvani.

Težina nove grane jednaka je rastojanju puta od v do w.

Kada je pretprocesiranje početnog grafa završeno, imamo KH graf koji se sastoji od početnog grafa sa čvorovima dodatim naredbama i sa uključenim granama prečicama.

                                     

1.2. Algoritam Ispitivanje

Za traženi algoritam, koristi se dvosmerni Dijkstrin algoritam. To je klasičan Dijkstrin algoritam sa nekim modifikacijama. Algoritam pretrage od početnog čvora u jednom pravcu i od krajnjeg čvora u drugom pravcu ovo je klasičan dvosmerni Dijkstrin algoritam, ali on uklanja grane koje su usmerene ka hijerarhijski višim čvorovima u jednom pravcu u suštini širi se ka hijerarhijski višim čvorovima i grane koje su usmerene ka hijerarhijski nižim čvorovima u drugom pravcu. Ako najkraći put postoji, ove dve pretrage će se sresti na istom čvoru v. Najkraći put od s do t sastoji se od puteva od s do v i od v do t.

Najkraći putevi pronadeni ovim algoritmom imaju odreden oblik:

< s = u 0, u 1., u p = v., v q = t >, p, q ∈ N {\displaystyle,p,q\in \mathbb {N} }

u i < u i + 1, i ∈ N, i < p {\displaystyle u_{i} u j + 1, j ∈ N, p ≤ j < q {\displaystyle u_{j}> u_{j+1},j\in \mathbb {N},p\leq j

                                     
  • концентрисано у близини сталних извора воде. За разлику од претходних циклуса контракције у мајанској регији, напуштена земља није брзо насељена у посткласичном
  • били први људи који су узимали лекове захваљујући антиперисталтичким контракцијама мишића ректума који их гурају у организам. Остали производи имали су

Users also searched:

...