A legrövidebb út probléma

A gráfelméletben a legrövidebb útprobléma az az algoritmikus probléma , hogy az egyik csúcsból a másikba keressünk egy utat úgy, hogy ezen út széleinek súlya összege minimális legyen.

A legrövidebb út problémájának változatai

Ennek a problémának sokféle változata van attól függően, hogy a gráf véges, orientált-e vagy sem, függetlenül attól, hogy minden ívnek vagy élnek van-e súlya vagy hossza. Két adott csomópont között a legrövidebb út az az út, amely minimalizálja a keresztezett ívek értékének összegét. A rövidebb út kiszámításához sok algoritmus létezik, az értékek jellegétől és az esetlegesen felmerülő további korlátozásoktól függően. Sok esetben léteznek polinomiális idő-összetettségű algoritmusok , például Dijkstra algoritmusa pozitív súlyú gráfokban. Másrészt, ha további korlátozásokat, például időablakokat adnak hozzá, a probléma NP-nehézsé válhat .

Az alkalmazás leggyakoribb példája a legrövidebb út keresése két város között. Ez a látszólag könnyű probléma, mivel egyszerűen a futástávolságok összegzéséről van szó, bonyolultabbá válik, ha le akarjuk vezetni az utazási időt, mert a forgalom intenzitása, az agglomerációk átkelésének ideje további korlátokat jelent. A ellenkezőleg, utat megállapítás egy mesterséges intelligencia probléma kapcsolódó tervezési . Ez abból áll, hogy hogyan kell mozogni egy környezetben a kiindulópont és a végpont között, figyelembe véve a különféle korlátozásokat. Nehézvé válik, amikor figyelembe kell venni különféle további korlátozásokat ( valós idejű végrehajtás , bizonytalanságok jelenléte, erőforrás-korlátok, kialakuló környezet stb.).

Ív súlya

A probléma és megoldásai mindenekelőtt a súlyok jellegétől függenek: minden ív reális szám súlyú . A figyelembe vett különböző esetek a következők:

A probléma változatai

A problémának lényegében két változata van:

Keresés egy adott csúcsból ( egyetlen forrás  " )

Rögzítünk egy csúcsot , a forrást vagy az origót , és minimális hosszúságú utat keresünk ettől a forrástól az összes csúcsig. A legfontosabb algoritmusok a következők

Változatok:

A kettős probléma a legrövidebb út megtalálása az összes csúcstól egy közös csúcsig (a célig ). Ezt a problémát úgy kezelik, hogy megfordítják az ívek irányát.

Az összes csúcspár keresése ( Összes pár  " )

Rövidebb utat vagy legalább egy ilyen út hosszát keressük az összes csúcspárra .

Megfogalmazás lineáris programként

A legrövidebb útprobléma lineáris optimalizálási problémaként formulázható az alábbiak szerint.

Legyen egy grafikon, két megkülönböztetett csúccsal (a forrás vagy az origó) és (a cél vagy a mosogató); megjegyezzük az íj költségét . A lineáris programot a következő változók alapján vesszük figyelembe

minimalizálni

a megszorításokkal és minden i esetében

Az intuitív magyarázat az a változó, amelyet arra használnak, hogy jelezze, az ív a megtalált legrövidebb út része- e vagy sem: ez 1, ha van, és 0 egyébként. Megpróbáljuk kiválasztani a minimális összsúlyú ívkészletet, feltéve, hogy az ívek utat alkotnak s- től t-ig  ; ezt a feltételt a megszorítás képviseli, amely kifejezi, hogy az s és t kivételével bármely csúcs esetén a kiválasztott bejövő ívek számának meg kell egyeznie a kimenő ívek számával, és így a halmaz utat alakít ki s- től t-ig .

Ennek a lineáris programnak a kettős programja az

maximalizálni

a megszorításokkal

minden i-re, j .

A kettős bármilyen megvalósítható megoldása esetén a csökkentett költségek nem negatívak, és ezen csökkentett költségek mellett az A * algoritmus lényegében úgy viselkedik, mint a Dijkstra algoritmus.

A kettős program megoldása a csomópontokban rejlő potenciál, amely az ember számára Knotenpotenciális . Könnyen beláthatjuk, hogy bármely megoldás esetében a vektor is megoldás mindenre . Különösen úgy választhat , hogy . Tehát a maximalizálni kívánt érték az .

Bármely útvonal származó egy vertex , a hossza lehet becsülni

Ez azt mutatja, hogy egy csomópont potenciálja alacsonyabb, mint az út hossza. Találunk egy optimális megoldás a kettős programot választotta, hogy az adott csomópont , mint a hossza a legrövidebb utat , hogy a célfüggvény .

Általánosított Floyd-Warshall algoritmus

A Warshall algoritmus, a Floyd-Warshall algoritmus és a McNaughton-Yamada algoritmus közötti hasonlóságot egy mögöttes algebrai struktúra, egy félgyűrű struktúrája magyarázza . Ezt az értelmezést először Claude Pair 1966-os cikkében mutatták be , majd Claude Pair és Jean-Claude Derniame könyvében vették fel. Az első angol változat csak 1974-ben jelent meg Aho, Hopcroft és Ullman könyvében. Ez felvesszük később, Gondran és Minoux például; utóbbiak Pierre Robert és Jacques Ferland 1968-as francia cikkét idézik.

A félgyűrű két bináris törvénnyel és . A törvény asszociatív, kommutatív és 0 vagy 0 értékű semleges elemet fogad el . A törvény asszociatív és disztributív . Elfogad egy semleges elemet, amelyet 1 vagy . A logikai algebra a félgyűrű felvételének , (vagy) és (és) példája .

Ahhoz, hogy az általánosított Floyd-Warshall algoritmus működjön, feltételeznünk kell azt is, hogy a törvény semlegessége elnyeli a törvényt . Más szavakkal, a félgyűrű bármely eleméhez igazolni kell az egyenlőséget .

Súlyozott gráfhoz társított mátrix

Adjunk egy olyan gráfot, amelynek csúcsai vannak . Minden ívhez hozzárendel egy súlyt (hossz, távolság, forgalom sűrűsége a probléma szerint), amely egy félgyűrű (többé-kevésbé egyszerű félgyűrű a kezelendő probléma jellege szerint) eleme. ). A súlyozott gráffal társított mátrix az a mátrix, amelynek az elemének helyzete akkor van, ha az ív létezik, és különben 0 (a félgyűrű).

Az út súlya az ösvényt alkotó ívek súlyának szorzata félgyűrűben:

.

A hossza a legrövidebb utat a , ebben a formalizmus az összeg a súlyok az . Ha az utak halmazát a -ig jelöljük , akkor a keresett út egy olyan út, amelynek súlya van

.

Abban az esetben, ha és ez a minimum súlya utat összekötő , hogy .

Általánosított Floyd-Warshall algoritmus

Mivel egy társult mátrix grafikonja érdekében , és azt határozza meg két sorozat mátrixok:

és a . A mátrix szekvenciára olyan, hogy az elem a mátrix megegyezik a súlyok összege utak hossza legfeljebb a a . A mátrix szekvenciára olyan, hogy az elemek rendelkeznek a értéke az index az első közbenső pontján útvonal , hogy a lépésben .

Ebből következik, hogy az első közbülső csúcs indexe a és között , a második csúcsot pedig az adja meg, hogy hol stb.

Alkalmazások

A csúcstalálkozókhoz csatlakozó utak megléte

Ez a probléma, hogy tudjuk, bármely két csúcs, ha van egy útvonal a , vagy tudni, egy adott csúcs , a csúcsokat elérhető . Ezt a tranzitív lezárási problémát úgy fogalmazzák meg, hogy minden ívre ugyanazt a súlyt választják.

Az első problémát tehát a Warshall algoritmussal, a másodikat szintén egyszerű útvonalon, mélységben vagy szélességben tudjuk megoldani az s összegből.

Minimális távolság két csúcs között

Bármely csúcspár minimális távolságát a Floyd-Warshall algoritmus számítja ki, így a trópusi félgyűrűt vagy (max, +) - félgyűrűt veszi a pozitív vagy nulla valós szám fölé.

Két csúcs között maximális forgalmi kapacitású utak

Az útvonalon lehetséges forgalmi kapacitás az útvonalat alkotó ívek minimális kapacitása. A maximális kapacitáspálya maximalizálja ezt a minimumot. Kiszámoljuk az értékeket az általánosított Warshall algoritmus segítségével, és .

Úthálózatok

Az úthálózat pozitív tömegű grafikonnak tekinthető. A csomópontok az útkereszteződéseket ábrázolják, és a grafikon minden íve két keresztezés közötti útszakaszhoz kapcsolódik. Az ív súlya lehet a kapcsolódó útszakasz hossza, a szakasz keresztezéséhez szükséges idő, vagy a szegmens utazásának költsége. Irányított grafikonok segítségével egyirányú utcák modellezése is lehetséges. Ezeknek a grafikonoknak különleges tulajdonságai vannak, mivel egyes ívek fontosabbak, mint mások a távolsági utazáshoz (általában autópályák). Ezt a tulajdonságot egy „  Highway Dimension  ” nevű további paraméterrel formalizálták . Ez lehetővé teszi az optimális útvonalak gyorsabb kiszámítását, mint az általános grafikonoknál. Az első ötlet az, hogy ha egyik kisvárosból a másikba akarsz menni, ami meglehetősen messze található, akkor az indulás helye közelében egy nagyvárost, a cél közelében pedig egy nagyvárost kell keresni, és össze kell kombinálni a két nagy agglomeráción keresztül.

Ezek az algoritmusok két fázisban működnek. Az első előfeldolgozási szakaszban a grafikon úgy van kialakítva, hogy lehetővé tegye a gyors lekérdezést. A második szakasz a kihallgatási szakasz; a kiindulási és a befejező csomópont ekkor ismert, és mivel a hálózat statikus, az előfeldolgozás egyszer és mindenkorra elvégezhető, és sok lekérdezéshez felhasználható.

A leggyorsabban ismert algoritmust (2011-ben) hub címkézésnek  " hívják , és a másodperc néhány részében kiszámítja a legrövidebb útvonalakat

Rövidebb út a dinamikus súlyokhoz

Egyes szállítási problémáknál a súlyok olyan funkciók, amelyek idővel változhatnak, hogy figyelembe vegyék például a forgalom ingadozásait. Ebben az esetben az algebrai módszert mindig úgy alkalmazzuk, hogy félgyűrűvé választjuk a dioidon növekvő endomorfizmusok félgyűrűjét , az indukált összeget és a kompozíciót termékként. Így, ha valaki a leggyorsabb útvonalat keresi egy olyan hálózatban, ahol a forgalom az indulási időpont függvényében változó, akkor alkalmazhatja a szokásos algoritmusokat úgy, hogy az egyes útvonalakat egy olyan függvény alapján értékeli, amely megadja az indulási időt. távozáskor, és figyelembe véve a távozáskor betöltött funkció minimumát.

A legrövidebb út időbeli korlátokkal

Különösen a tömegközlekedési hálózatokban előfordul, hogy bizonyos íveket csak bizonyos időbeli korlátok között lehet megtenni (például éjszaka nem). Feltételezzük, hogy az egyes ívek utazási ideje rögzített, valamint egy időrés-készlet, ahol lehetséges ezen az úton haladni. Ezután az alábbiakban definiált időintervallumok alatt vett endomorfizmusok dioidját vesszük figyelembe: vagy az az időintervallum, ahol felülről akarunk indulni  ; akkor az az időintervallum, ahol lehetséges elérni a csatlakozó csúcsot . Más korlátozásokat hozzáadhatunk (az időközökkel való metszéspontban, bizonyos időszakok elkerülése érdekében, a derékszögű termék árkorlátozásainak hozzáadásával az idő és az ár között súlyozott min törvényszerű szállítási költségmátrixhoz). A Dijkstra algoritmus minden esetben hatékony felbontást tesz lehetővé.

Valódi helyzetekben a közlekedési hálózat általában sztochasztikus és időfüggő. Valójában egy utazó, aki naponta utazik egy útvonalon, eltérő utazási időket tapasztalhat ezen az útvonalon, nemcsak a forgalom intenzitásának ingadozása, hanem olyan lokalizáltabb események miatt is, mint az útépítési területek, a rossz időjárási viszonyok, a balesetek és a jármű meghibásodása. Ezért az időbeli sztochasztikus hálózat a valós úthálózat reálisabb ábrázolása, mint egy determinisztikus hálózat. A jelentős előrelépés ellenére az optimális út meghatározása és meghatározása a sztochasztikus úthálózatokban továbbra is vitatott téma. Más szavakkal, a bizonytalanság jelenlétében nincs egy optimális út meghatározása. Az egyik lehetséges és elterjedt válasz egy olyan út, amely eléri a minimális várható utazási időt. Ennek a megközelítésnek az a legfőbb előnye, hogy lehetővé teszi a determinisztikus hálózatok számára bevezetett legrövidebb út-algoritmusok használatát a sztochasztikus hálózatban a minimális várható utazási idővel rendelkező út azonosítására.

Az optimális út azonban nem biztos, hogy kielégítő, mert ez a megközelítés nem veszi figyelembe az utazási idő változékonyságát. A probléma megoldásához egyes kutatók az utazási idő eloszlását használják az átlagérték helyett, és a teljes utazási idő valószínűség-eloszlását különféle optimalizálási módszerekkel, például dinamikus programozással és Dijkstra algoritmusával kapják meg . Ezek a módszerek sztochasztikus optimalizálást, és különösen dinamikus sztochasztikus programozást alkalmaznak a valószínűbb ívhosszú hálózatok legrövidebb útjának megtalálásához. Meg kell jegyezni, hogy a közlekedési kutatások irodalmában az utazási idő megbízhatóságának fogalmát felváltva használják az utazási idő változékonyságával, így általánosságban elmondható, hogy minél nagyobb az utazási idő változékonysága. oda-vissza.

Az utazási idő megbízhatóságának pontosabb számbavétele érdekében két általános alternatív meghatározást javasoltak az optimális út bizonytalanság alatt. Néhányan bevezették a legmegbízhatóbb út fogalmát, amelynek célja annak maximalizálása, hogy egy adott utazási költségnél időben vagy hamarabb megérkezzen. Mások az α-megbízható út fogalmát vetik fel, amely alapján az utazás költségeit minimalizálni kívánják, hogy biztosítsák az előre meghatározott időben történő megérkezés valószínűségét.

Bonyolultság

Mulmulay és Shah alacsonyabb bonyolultsági határokat adtak a legrövidebb út problémájához.

Megjegyzések és hivatkozások

  1. Claude Pair, "A véges grafikonok áramlási problémáinak algoritmusairól" , P. Rosentiehl, Théorie des graphes (nemzetközi tanulmányi napok) - The Graphics Theory (internainális szimpózium) , Dunod (Párizs) és Gordon and Breach (New York),1966
  2. Jean Claude Derniame és Claude Pair, A progresszió problémái a grafikonokban , Dunod (Párizs),1971, 182  p.
  3. Alfred V. Aho, John E. Hopcroft és Jeffrey D. Ullman, A számítógépes algoritmusok tervezése és elemzése , Olvasás, Mass., Addison-Wesley ,1974, 470  p. ( ISBN  978-0-201-00029-0 )
  4. Michel Gondran és Michel Minoux , grafikonok, dioids és félig gyűrűk: új modellek és algoritmusok , Párizs, Tec & Doc,2001, xvi + 415  p. ( ISBN  2-7430-0489-4 , SUDOC  060235101 )- Angol kiadás: (en) Michel Gondran és Michel Minoux , grafikonok, Dioids és Semirings: Új modellek és algoritmusok , Dordrecht, Springer Science & Business Media, coll.  "Operations Research / Computer Science interfészek sorozat" ( n o  41)2008, xix + 383  o. ( ISBN  978-0-387-75450-5 , zbMATH  1201.16038 , SUDOC  12874958X , online olvasás )
  5. Pierre Robert és Jacques Ferland, „  A Warshall algoritmus általánosítása  ”, French Journal of Informatics and Operational Research, Red Series , t.  2, n o  1,1968, P.  71–85 ( online olvasás ).
  6. Ittai Abraham, Amos Fiat, Andrew V. Goldberg és Renato Fonseca F. Werneck, „  Autópálya dimenzió, legrövidebb utak és bizonyíthatóan hatékony algoritmusok  ”, ACM-SIAM szimpózium a diszkrét algoritmusokról ,2010, P.  782-793 ( online olvasás ).
  7. Ittai Abraham, Daniel Delling, Andrew V. Goldberg és Renato Fonseca F. Werneck, „Hub-Based Labeling Algorithm for the Shortest Paths on Road Networks” ” , Panos M. Pardalos és Steffen Rebennack (szerk.), Kísérleti algoritmusok (10.) Nemzetközi Szimpózium a kísérleti algoritmusokról, Kolimpari, Chania, Kréta, 2011. május 5–7. , Springer Science & Business Media,2011, 460  p. ( ISBN  9783642206610 , online olvasás ) , p.  230-241.
  8. Mojtaba Rajabi-Bahaabadi , Afshin Shariat-Mohaymany , Mohsen Babaei és Chang Wook Ahn , „  Többcélú útkeresés sztochasztikus időfüggő úthálózatokban, nem domináns rendezési genetikai algoritmus alkalmazásával  ”, Expert Systems with Applications , vol.  42, n o  12, 2015, P.  5056–5064 ( DOI  10.1016 / j.eswa.2015.02.046 , online bemutató ).
  9. Mohammad Hessam Olya , „  A legrövidebb út keresése kombinált exponenciális - gamma valószínűség-eloszlás ívhosszban  ”, International Journal of Operational Research , vol.  21, n o  1, 2014, P.  25–37 ( DOI  10.1504 / IJOR.2014.064020 , online előadás ).
  10. Mohammad Hessam Olya , „  Dijkstra algoritmusának alkalmazása általános legrövidebb útproblémákra normál valószínűség-eloszlás ívhosszal  ”, International Journal of Operational Research , vol.  21, n o  2 2014, P.  143–154 ( DOI  10.1504 / IJOR.2014.064541 , online előadás ).
  11. (in) "  Alsó határ a legrövidebb út problémájához  " , Journal of Computer and System Sciences , vol.  63, n o  21 st szeptember 2001, P.  253–267 ( ISSN  0022-0000 , DOI  10.1006 / jcss.2001.1766 , online olvasás , hozzáférés : 2018. november 8. )
(fr) Ez a cikk részben vagy egészben az angol Wikipedia Legrövidebb út probléma  " című cikkéből származik ( lásd a szerzők felsorolását ) .

Bibliográfia

MűvekCikkek

Kapcsolódó cikkek


<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">