M *-スマヌトフォンでの党䞖界にわたる最短経路怜玢アルゎリズム





倧きなグラフで最短経路を怜玢する堎合、埓来のコスト芋積もりはうたく機胜したせん。 デヌタは明らかにメモリに収たらず、総コストは衚瀺される゚ッゞの数よりもディスクアクセスの数に倧きく䟝存したす。 たた、ディスク操䜜の数は非垞に䞻芳的な芁因であり、特定のアルゎリズムにずっお䟿利な圢匏でディスクに保存されるグラフの圢匏的に困難な適合性に䟝存したす。 さらに、コンパクト性が非垞に重芁になりたす-゚ッゞず頂点ごずの情報量。



猫の䞋では、A *アルゎリズムの䞀般化されたヒュヌリスティックが提瀺されたす。これは、たずえば携垯電話など、リ゜ヌスが限られおいる倧きなグラフでの実甚的な適合性に照らしお正確に圹立ちたす。



したがっお、私たちのタスクは、ポむントからポむントぞのグラフに沿った最短経路を構築するこずです。 同時に、グラフは十分に倧きいため、メモリ内に完党に保持するこずはできたせん。たた、倚数の頂点に぀いお蚈算するこずもできたせん。 優れた䟋は、OSMロヌドグラフです。 珟時点では、 OSMのピヌクの数は46億を超えおおり 、オブゞェクトの総数は4億です。



このような条件では、䞭間デヌタを保存するために必芁なメモリ量がないため、玔粋なダむクストラたたはレビティック アルゎリズムによる倚かれ少なかれ拡匵されたルヌトの怜玢が䞍可胜であるこずは明らかです。



ダむクストラのアルゎリズムは䜕をしたすか



  1. れロコストで出発点を優先したす。
  2. キュヌに䜕かがありたすが、頂点Vを、これたで芋おいない各出力゚ッゞEに察応させたす。

    1. これが目的の゚ッゞではないこずを確認し、そうである堎合は終了です。
    2. 通路Eのコストを蚈算したす。
    3. そしお、゚ッゞEの終了頂点を、それを達成するためのコストVを達成するためのコスト+ Eのコストずずもにキュヌに入れたす。


その結果、スパヌスたずえば、幟䜕孊グラフの堎合、倀On * logn+ m * lognを取埗したす。ここで、nはスキャンされた頂点の数、mはスキャンされた゚ッゞの数です。



画像



図1ここでは、芋぀かったルヌトずそれずずもに衚瀺されるリブが衚瀺されたす。



問題は、ダむクストラのアルゎリズムがグラフのプロパティず目的のルヌトに関する情報を䞀切䜿甚せず、その操䜜䞭いわゆる「波」の䌝播に、この「波」の呚囲が区別なくすべおの方向に目的のポむントから移動するこずです。



䞀方、たずえば開発された道路網のような幟䜕孊的なグラフでは、「波」の広がりをタヌゲットに向けお刺激し、他の方向では现かくするのが理にかなっおいたす。 このアむデアは、ダむクストラのアルゎリズムの䞀般化であるA *アルゎリズムで実装されおいたす。



A *では、頂点を優先キュヌに配眮する際の頂点のコストは移動距離に等しいだけでなく、残りのパスの掚定倀も含たれたす。 この評䟡を取埗するにはどうすればよいですか



これはかなり蚈算䞊安䟡な掚定倀である必芁があるこずに泚意しおください。 䜕床も実行されたす。 最初に頭に浮かぶのは、珟圚のポむントからフィニッシュラむンたでの幟䜕孊的な距離を蚈算しお、これから進むこずです。たずえば、巊に10 km-郜垂を移動するずきの平均速床は20 km / hであるため、掚定は30分です。



さらに、゚ッゞがフィニッシュラむンに向かっおいる堎合、そのスコアは枛少し、移動距離を補正したす。



タヌゲットからの゚ッゞの堎合、この掚定倀は倧きくなり、その結果、そのようなポむントは倧きな重みでキュヌに萜ち、到達しない可胜性がありたす。



ずころで、優先床キュヌのサむズが匷制的に制限され、ヒュヌリスティックの芳点から「䟡倀のない」候補が単玔に砎棄されるビヌム怜玢技術を䜿甚しお、ほが同じ効果を達成できたす。







図2ここでは、説明したヒュヌリスティックを䜿甚しお同じルヌトを怜玢し、違いを感じおいたす。



コスト掚定倀が0を返す堎合、パスの残りの郚分が無限の速床で突進するず思われるかのように、A *はダむクストラのアルゎリズムになりたす。



*は、いわゆる 情報に基づいたアルゎリズム ヒュヌリスティックでは、目暙の方向ぞの移動が成功に぀ながる可胜性が高いずいう仮定を䜿甚したす。



評䟡関数のプロパティは䜕ですか それは信じられなければなりたせん。 すでにわかっおいるように、過床に楜芳的な評䟡は、グラフの衚瀺郚分を枛らす詊みを吊定したす。 䞀方、悲芳的すぎる評䟡は、アルゎリズムが䜕であれ、厳密にその方向にパスを構築するこずを匷制したす。 これは私たちに合わないでしょう。



珟実的な評䟡は、グラフのプロパティ、できればデヌタモデルに基づいお行う必芁がありたす。 たずえば、この時刻の混雑のレベルずグラフのトランスポヌト接続のレベルから蚈算されたす。 たずえば、川のない郜垂では、 マンハッタン距離がうたく機胜したす。



しかし、ここにはすぐに倚くのニュアンスがありたす。





branch and boundメ゜ッドの粟神で異なるヒュヌリスティックを䜿甚できたす。



  1. 非垞に悲芳的なヒュヌリスティックを備えたパスを芋぀けたす。そこから、おそらくより効率的なルヌトが存圚するこずになりたす。
  2. ここで、䞊からの掚定倀ずしお芋぀かったルヌトのコストを䜿甚したす。すでに芋぀かったよりも効率的なルヌトを明らかにできない申請者を優先順䜍に含めないだけです。
  3. アセスメントの悲芳性を枛らし、コストの䞊限を蚭定したルヌトを再床䜜成したす。
  4. 新しい評䟡を取埗したす。
  5. 満足のいく解決策が埗られるたでこれを続けたす。


コスト芋積もりには別の問題がありたすが、これは無芖できたせん。



人生では、幟䜕孊的に近いオブゞェクトは、道路グラフの芖点からかなり離れおいる堎合がありたす。 たずえば、川、山脈、海の異なる偎にいる堎合...この堎合、幟䜕孊的な近接性に基づいた掚定は、「波」を頑固に間違った方向に向けるこずで状況を悪化させ始めたす。







図3これは、OSMグラフのスキャンされたA *郚分がむタリアからアルバニアぞの道を芋぀けるために芋えるものです。



ただし、これはダむクストラのアルゎリズムよりも優れおいたす。 むタリア党䜓を埋め尜くす「波」が溢れ出し、速床を増し、すぐに目暙に到達したこずがはっきりずわかりたす。







図4そしお、これがダむクストラアルゎリズムのグラフのスキャンされた郚分です。 圌女ず比范するず、それほど悲芳的ではありたせん。



どういうわけかアルゎリズムを改善するこずは可胜ですか、コンピュヌタヌサむ゚ンスはこれに぀いお䜕ず蚀っおいたすか



双方向怜玢



2぀のA *波を互いに向かっお発射できたす。 これは双方向怜玢ず呌ばれ、䞀芋非垞に魅力的なアむデアのようです。 実際、茞送の接続が良奜な堎合、「波」は楕円䜓であり、互いに向かっお発射される2぀の小さな波は、1぀の倧きな波に比べお小さな領域に気づきたす。 䞀方、「波」の遭遇を怜出する問題が発生し、その呚囲には非垞に倚くのポむントが存圚する可胜性があり、すべおのステップで゚むリアンの呚囲の゚ッゞの存圚を確認するのはそれほど安くはありたせん。







図5ダむクストラの近づいおくる波



おそらく、これは、衚瀺されたグラフの䞀郚のボリュヌムの実際のゲむンず䞀臎する可胜性がありたす。 しかし、むタリアからアルバニアぞの旅行を芋぀ける䞊蚘の䟋を芋るず、双方向怜玢は圹に立たず、状況を悪化させるだけであるこずがわかりたす。 むタリア党土を泚ぐこずに加えお、波が出䌚う前にギリシャ党土ずバルカン半島を芋るように匷制されたす。 障害物に寄りかかった1぀の「波」の代わりに、2぀の波がありたす。



階局的アプロヌチ



道路階局を䜿甚する



StreetMap USAなどの䞀郚の商甚システムでは、適切に蚈画された道路網にはルヌティングの2぀のレベルの性質があるずいう事実を䜿甚したす。ロヌカル道路のネットワヌクず、長距離を移動するはるかに小さい高速道路ネットワヌクがありたす。 この事実を䜿甚するのは自然に思えたす。 ゲヌトりェむが導入されたすトランゞットノヌド-あるレベルから別のレベルぞのトランゞションが発生するピヌク。 「かなり長い」パスを芋぀けるこずは、以䞋からパスを芋぀けるこずになりたす。









6スラむスストリヌトマップ



このアプロヌチの利点は明らかです。 短所は次のずおりです。





グラフ階局の構築



グラフを調敎する可胜性や垌望がない堎合、階局を自動的に構築する機䌚が残りたす。



いずれにしおも、グラフは怜蚌されたせんが、゚ッゞの属性により蚱容可胜な品質のルヌトを構築できるずいう考えが掻甚されおいたす。 ただし、グラフのサむズが原因で、同じA *を操䜜モヌドで構築するず、法倖な費甚がかかりたす。



たずえば、次のようになりたす。



構築されたグラフは、ここで説明した手順の察象になる堎合があるため、必芁な数の階局が構築されたす。



このような階局グラフでのルヌティングは、双方向怜玢A *たたはダむクストラのアルゎリズムによっお実行されたす。



セパレヌタヌ



このメ゜ッドの䞻なアむデアは、゚ッゞの小さな郚分セパレヌタヌを削陀するこずにより、グラフをコンポヌネントに分割する詊みです。 これらのセパレヌタずそれらの間の事前に蚈算されたパスは、次の階局を圢成したす。 [1] On * logn** 3時間ず予備蚈算のためのディスク容量を費やしたため、Osqrtn* lognでク゚リを実行するこずが可胜であるず述べられおいたす



グリッドベヌスのトランゞットノヌド



これは䞀般にセパレヌタヌず同じ考え方ですが、スケヌリングず単玔化のために、グラフはラティスたたはクワッドツリヌによっおフラグメントに分割され、フラグメントの境界ず亀差する゚ッゞは䞀時的になりたす。 これの䟡栌が効率であるこずは明らかです。 プラスは高床な自動化であり、その結果、人的芁因が欠劂しおいたす。



距離衚



階局の䞊䜍レベルでは、怜玢プロセスでパスが怜玢されず、通過ノヌド間の距離の事前蚈算枈みテヌブルに基づいおコストが蚈算されたす。 ルヌトが定矩されるず、パスはロヌカル怜玢によっお埩元されたす。







図7 [1]



リヌチ [3]



この方法の考え方は次のずおりです。長い最適ルヌトを構築する堎合、「ロヌカル」゚ッゞはルヌトの最初たたは最埌にのみアクセスされるこずに気付きたした。 したがっお、倚くの「トレヌニング」長いルヌトを構築したこずで、ルヌトの端に1぀たたは別の゚ッゞがどれだけ近いかを理解できたす。



䞀郚のトレヌニングルヌトPs ... ..uv ... ... tに぀いおは、むンゞケヌタヌリヌチが導入されたす-゚ンドリヌチuvの最小距離= mindists ... ..u、distv ... ..t 。

トレヌニングセット党䜓で、リヌチuvは、゚ッゞuvに遭遇するすべおのルヌトの最倧倀です。



「戊闘」怜玢では、開始ず終了から遠く離れた小さなリヌチ倀を持぀゚ッゞを避けようずしたす。







図[21]



この方法のアむデアは非垞に矎しく、トレヌニングサンプルの品質、その劥圓性、およびトレヌニングに費やされたリ゜ヌスによっおのみ疑問が生じたす。



目的のあるアルゎリズム



アヌクフラグ [4]



グラフはフラグメントに分割されたす。 事前に定矩されたポむント間の最短ルヌトの構築に関するトレヌニングが実斜されおいたす。 トレヌニングパスを構築する堎合、゚ッゞごずに、最終ポむントのセルぞの最短ルヌトがパスを通過するずいう事実が残りたす。



したがっお、各゚ッゞに察しお、フラグのマスクを保存したす。グラフのフラグメントには、最短でこの゚ッゞを介しお到達できたす。



この方法の特定の欠点は肉県で確認できたす。





ALT [5]



すべおの頂点から、少数のランドマヌクが遞択されたすλ。 初期バヌゞョンでは、各頂点に぀いお、各λたでの倀が以前に蚈算されおいたした。 これには膚倧な量の远加メモリが必芁でしたが、埌に芁件が緩和され、ピヌクがグルヌプ化され始めたした。



ALTでの怜玢はA *のように実行されたすが、残りのパスの掚定は蚈算されたコストに基づいお行われたす。 タヌゲット頂点tに向かう途䞭の゚ッゞu、vを考えおみたしょう。 各λに぀いお、䞉角圢の䞍等匏に埓っお、パスの残りの郚分の掚定倀λを䜿甚がありたすdistλ、t-distλ、v≀distv、tおよびdistv、λ-distt 、λ≀distv、t。 すべおのλの最小倀により、垌望する掚定倀が埗られたす。







図9



予備結果



開発が進行しおいる䞻な分野は2぀ありたす。



  1. 階局。 これらは、構造化されたグラフで長距離にわたる非垞に効率的なパスの構築を可胜にしたす。 しかし、近距離では、通垞のA *たたはダむクストロむを䜿甚する方が安䟡です。 したがっお、䞡方のアルゎリズムが平凡に機胜する「灰色」の領域がありたす。



    さらに、アモルファスグラフでは、階局を構築しようずしおも問題が発生するだけです。 同等の道路の長方圢栌子の圢のグラフを想像しおください。 特定の方向に移動する堎合、正しい解決策は、方向に関連付けられた確率でランダムな方向に回転するこずです。 ぀たり タヌゲットぞの方䜍角が45°の堎合、枋滞が発生しないように巊右に曲がる可胜性が等しくなりたす。



    このようなグリッドに階局を構築しようずするず、道路網が非効率的に䜿甚されるずいう事実に぀ながりたす。



  2. グラフの本質的な性質を䜿甚しお、目暙に向かっお移動する方向に぀いお決定を䞋したす。 このアむデアは有望に芋えたすが、倚くの疑問が生じたす。 䞻な問題は人的芁因です。 ランマヌクを䜿甚するず、Arc-Flagsの断片には専門家の参加が必芁になりたす。その定矩が偶然に委ねられおいる堎合、医垫が凊方したものを簡単に入手できたす。



    さらに、远加のメモリが必芁ですグラフサむズが非線圢。







「ニカノヌル・むバノビッチの唇をむノァン・クズミッチの錻に圓おお、バルタザヌル・バルタザロビッチのようなsw歩をするなら、おそらく...」©



公平に蚀えば、このような詊みは数倚くあり、そのうちのいく぀かはこの蚘事の出兞のリストに蚘茉されおいるず蚀う䟡倀がありたす。 しかし、もちろん、私たちは自分自身を倉えず、独自の「比類のない」方法を思い぀きたす。 



発芋的



地理座暙に基づいおある地点から別の地点ぞのパスのコストを掚定するための単玔で安䟡な蚈算䞊および远加の情報の芳点からヒュヌリスティックを開発するタスクを蚭定したす。 盎接距離が合わない、それは非垞に間違っおいる可胜性があり、ゞブラルタルずタンゞヌルを芋おください。



アむデアはこの仕事に戻りたす。





怜玢のために





しかし、皋床はかなり粗いグリッドであり、たずえば、ノルマンディヌずの「小さな島」のように、いく぀かの海峡は互いにくっ぀いおいたす。



OSMにはタむプがありたす-海岞線です。 海岞線をラスタラむズし、沿岞ずマヌクされたセルから「本土」のセルにのみ移動できるようにしたす。





図12海岞線OSM



しかし、ここでは次のこずがわかりたす。





わかりたした。重芁な海峡に分割線を手で描き、ラスタラむズしお、波が䌝播するずきに亀差するこずを犁止する必芁がありたす。



幞いなこずに、これは䞀床きりの仕事であり、そのような海峡はあたりありたせん。



ここでは、䟋えば、むタリアからの「波」の広がり、ゞブラルタル海峡に泚意を払っおいたす。







図13むタリアぞの旅費の芋積もり、オレンゞに近いほど、経路は長くなりたす。



䞀般に、スキヌムは受け入れられたすが、次のずおりです。



  1. 手䜜業が必芁です。
  2. 倚くの手䜜業がありたす。
  3. 耇数の分割線が1぀のセルにある堎合は、非垞に泚意する必芁がありたす。


おそらくここでは、各「沿岞」セルがクアッドツリヌで衚される堎合にオプションがうたく機胜したす。波の䌝播もクアッドツリヌの芁玠に沿っお実行する必芁がありたす。



しかし、それでも、これらすべおにストレッチがあるため、プランBが登堎したす。



プランB



  1. たずえば、「グラフの階局を構築する」セクションで説明した方法で取埗した、グラフの䞊䜍階局があるずしたす。
  2. このレベルは十分に粗いため、任意の距離での怜玢は問題になりたせん。
  3. したがっお、グラフ階局の䞊䜍レベルに構築されたパスを手にしおいたす。







    図14䞊のレベルのグラフに沿っお配眮されたパス。



  4. もちろん、フィニッシュを含む500 kmごずに、このルヌトに基準点を描画したす



    図15参照ポむント。

  5. 各基準点に぀いお、そこからフィニッシュラむンたでの残りの郚分を知っおいたす。 これで、A *の残りのヒュヌリスティックは2぀の郚分で構成されたす。

    1. 珟圚の基準点たでの幟䜕孊的距離。
    2. 珟圚の基準点からフィニッシュたでの残りのパス。
  6. 怜玢の開始時に、最初の参照点が珟圚の参照点に割り圓おられたす。 200 km条件付きでに近い幟䜕孊的距離でもちろん、条件付きでアプロヌチするず、次の基準点に焊点を合わせ始めたす。 など、フィニッシュラむンたで。
  7. 結果は次のずおりです。







    同じく図。 11サポヌトパスが急激に方向を倉えるず、波が広がり始める様子をはっきりず芋るこずができたす。 ただし、読み取られるデヌタの合蚈量は非垞に少なくなりたす。 〜20倍の加速も芳察されたす。



  8. 䜕よりも、この手法はヘッダヌからこの蚘事たでの画像に䌌おいたす。 したがっお、著者は圌女にM *ずいう名前を付けたした「M」は「ニンゞン」を意味したす。


結論



そのため、読者には、A *の残りのパスのコストを蚈算するヒュヌリスティックの2぀のオプションが提瀺されたす。



䞡方のオプション





それはそうかもしれたせんが、これは別のグラフ䜜成ツヌルであり、リ゜ヌスが限られおいる堎合やデヌタが無制限の堎合に非垞に䟿利です。 特に、䞡面怜玢に同じ手法を䜿甚するこずを犁止する人はいたせん。



゜ヌス
[1] 堅牢でほが䞀定の時間の最短経路ク゚リを道路ネットワヌクで⋆

ピヌタヌ・サンダヌスずドミニク・シュルテス



[2] ダむクストラのアルゎリズムのための階局的および目暙指向の高速化手法の組み合わせ

ラむンハルト・バりアヌ、ダニ゚ル・デリング、ピヌタヌ・サンダヌス、デニス・シヌファヌデッカヌ、ドミニク・シュルテス、ドロテア・ワヌグナヌ



[3] RJガットマン。 リヌチベヌスのルヌティング道路ネットワヌク向けに最適化された最短経路アルゎリズムぞの新しいアプロヌチ。 2004幎アルゎリズム工孊に関する第6回ワヌクショップの議事録



[4] E.Köhler、RHMöhring、およびH. Schilling。 最短経路の加速ず制玄

最短経路蚈算。 実隓アルゎリズムに関する第4回ワヌクショップの議事録

WEA'05、コンピュヌタヌサむ゚ンスの講矩ノヌト、126〜138ペヌゞ。 スプリンガヌ、2005幎。



[5] ゎヌルドバヌグ、AV、りェルネック、RF倖郚メモリからのポむントツヌポむント最短パスの蚈算。 Inアルゎリズム工孊ず実隓に関する第7回ワヌクショップの議事録ALENEX 2005、pp。 26-40。 SIAM2005



[6] 道路網における代替ルヌトの定矩ず蚈算

ゞョナサン・ディヌズ、ロバヌト・ガむスバヌガヌ、ピヌタヌ・サンダヌス



[7] 道路網の代替ルヌト

むタむ・アブラハム、ダニ゚ル・デリング、アンドリュヌV.ゎヌルドバヌグ、レナヌトF.りェルネック



[8] ダむクストラのアルゎリズムを高速化するためのグラフの分割

ロルフ・H・モヌリングずヘむコ・シリング



[9] SHARC高速で堅牢な単方向ルヌティング

ラむンハルトバりアヌダニ゚ルデリング



[10] Cambridge Vehicle Information Technology Ltd. 遞択ルヌティング



[11] ダむクストラのアルゎリズムのために階局的および目暙指向の高速化手法を組み合わせおいたすか

ラむンハルト・バりアヌ、ダニ゚ル・デリング、ピヌタヌ・サンダヌス、デニス・シヌファヌデッカヌ、ドミニク・シュルテス、ドロテア・ワヌグナヌ



[12] 高速道路階局を䜿甚した高速で正確な最短パスク゚リ

ドミニク・シュルテス



[13] ゚ンゞニアリングハむりェむ階局

ピヌタヌ・サンダヌスずドミニク・シュルテス



[14] 収瞮階局道路網におけるより高速でシンプルな階局ルヌティング

ロバヌト・ガむスバヌガヌ、ピヌタヌ・サンダヌス、ドミニク・シュルテス、ダニ゚ル・デリング



[15] ダむナミックハむりェむノヌドルヌティング

ドミニク・シュルテスずピヌタヌ・サンダヌス



[16] 䞍芏則なグラフを分割するための高速か぀高品質のマルチレベルスキヌム

ゞョヌゞ・カリピスずビピン・クマル



[17] べき乗グラフを分割するためのマルチレベルアルゎリズム

アミン・アブ・ルゞェむリずゞョヌゞ・カリピス



[18] ショヌトカットが高速化手法に䞎える圱響は

ラむンハルト・バりアヌ、ダニ゚ル・デリング、ドロテア・ワヌグナヌ



[19] 高速道路階局に基づくトランゞットノヌドルヌティング

ピヌタヌ・サンダヌス・ドミニク・シュルテス



[20] 道路網での䞀定時間最短パスク゚リぞの転送䞭∗

ホルガヌバストステファンファンケドマゎゞマティ゚ビッチピヌタヌサンダヌスドミニクシュルテス



[21] A ∗の到達範囲効率的なポむントツヌポむント最短経路アルゎリズムAndrew V. Goldberg



PS  DUMP 2017でのレポヌトの結果に関する蚘事



All Articles