(TR Translation- Original link is in the abstract) Transfer(Aktarma, Taşıma) Şemaları Kullanarak...

21
Transfer(Aktarma, Taşıma) Şemaları Kullanarak Çok Büyük Toplu Taşıma Ağlarında Hızlı Rota Belirleme* Hannah Bast 1,2 , Erik Carlsson 2 , Arno Eigenwillig 2 , Robert Geisberger 3,2 ,Chris Harrelson 2 , Veselin Raychev 2 , Fabien Viger 2 and İbrahim Hakkı Ergin (Çeviri) 4 1 Albert-Ludwigs-Universit¨at Freiburg, 79110 Freiburg, Almanya. 2 Google, Brandschenkestrasse 110, 8002 Zürih, İsviçre. 3 Karlsruhe Institute of Technology (KIT), 76128 Karlsruhe, Almanya. 4 Mustafa Kemal Üniversitesi (MKÜ) Antakya, Hatay, Türkiye. Özet Birkaç milisaniyenin altında gerçekleşen ortalama sorgulamayla çok büyük toplu taşıma ağlarında (yarım milyar kanala kadar) nasıl rotalama yapılacağını gösteriyoruz. Bunu yaparken çalışma günleri, istasyonlar arasındaki yürüme süresi, hedef ve kaynak istasyon yerine coğrafik noktalar arasındaki sorgulamalar ve çok kriterli kayıp hesaplaması gibi birçok gerçekçi özelliği hesaba katıyoruz. Algoritmamız iki anahtar gözlemleme üzerine kurulu: (1) birçok kestirme güzergah aynı transfer şemasını kullanır, araç değişiminin gerçekleştiği istasyonların sıralaması gibi, (2) herhangi bir araç değişimi olmadan direk görülebilen bağlantılar. Bu kayda değer verilerle ön hesap yapıyoruz. Pratikte, bu işlem şebeke alanında kronolojik hesaplamayla yapılabilir, fakat küçük çapta uygulanması mümkün olmayan sonuçları da ortaya çıkarır. Toplu taşıma rotalandırmasını bizim fikirlerimize dayalı sistem olan Google Haritalar'ı kullanarak hızlandırdık. Üç çeşitli tür ve boyut veri seti için deneysel sonuçları raporladık. 1. Tanıtım Son yıllarda, ön hesaplamadan sonra bütün bir kıta üzerindeki karayollarda kestirme güzergahları birkaç mikrosaniyenin altında bulabilen Djikstra'nın algoritmasından milyonlarca kat hızlı birçok algoritma geliştirildi. Her nasılsa, bu algoritmaların arkasındaki numaralardan hiçbiri benzer ölçekteki taşıma ağlarında hızlandırmaları karşılamıyor, hele ki gerçekçi modellemeye sahip ve zayıf bir yapılandırma gösteriyorsa. Buna örnek olarak büyük metropollerdeki otobüs bazlı ağlara bakabiliriz. Bu bilimsel araştırmada, gerçekçi modellemeye sahip, büyük ölçekli veya zayıf yapılandırılmış olmasına rağmen toplu taşıma ağlarını hızlı rotalandıran yeni bir algoritma sunuyoruz. Bunlar, Google Maps'te (http://www.google.com/transit ) toplu taşıma rotalandırmasında

Transcript of (TR Translation- Original link is in the abstract) Transfer(Aktarma, Taşıma) Şemaları Kullanarak...

Transfer(Aktarma, Taşıma) Şemaları Kullanarak Çok Büyük TopluTaşıma Ağlarında Hızlı Rota Belirleme*

Hannah Bast1,2

, Erik Carlsson2 , Arno Eigenwillig

2 , Robert Geisberger

3,2

,Chris Harrelson2, Veselin Raychev

2, Fabien Viger

2 and

İbrahim Hakkı Ergin (Çeviri)

4

1 Albert-Ludwigs-Universit¨at Freiburg, 79110 Freiburg, Almanya.

2 Google, Brandschenkestrasse 110, 8002 Zürih, İsviçre.

3 Karlsruhe Institute of Technology (KIT), 76128 Karlsruhe, Almanya.

4 Mustafa Kemal Üniversitesi (MKÜ) Antakya, Hatay, Türkiye.

ÖzetBirkaç milisaniyenin altında gerçekleşen ortalama

sorgulamayla çok büyük toplu taşıma ağlarında (yarım milyar kanalakadar) nasıl rotalama yapılacağını gösteriyoruz. Bunu yaparken çalışma günleri, istasyonlar arasındaki yürüme süresi, hedef ve kaynak istasyon yerine coğrafik noktalar arasındaki sorgulamalar ve çok kriterli kayıp hesaplaması gibi birçok gerçekçi özelliği hesaba katıyoruz. Algoritmamız iki anahtar gözlemleme üzerine kurulu: (1) birçok kestirme güzergah aynı transfer şemasını kullanır, araç değişiminin gerçekleştiği istasyonların sıralaması gibi, (2) herhangi bir araç değişimi olmadan direk görülebilen bağlantılar. Bu kayda değer verilerle ön hesap yapıyoruz. Pratikte, bu işlem şebeke alanında kronolojik hesaplamayla yapılabilir, fakat küçük çapta uygulanması mümkün olmayan sonuçları da ortaya çıkarır. Toplu taşıma rotalandırmasını bizim fikirlerimize dayalı sistem olan Google Haritalar'ı kullanarak hızlandırdık. Üç çeşitli tür ve boyut veri seti için deneysel sonuçları raporladık.

1. Tanıtım

Son yıllarda, ön hesaplamadan sonra bütün bir kıta üzerindekikarayollarda kestirme güzergahları birkaç mikrosaniyenin altında bulabilen Djikstra'nın algoritmasından milyonlarca kat hızlı birçok algoritma geliştirildi. Her nasılsa, bu algoritmaların arkasındaki numaralardan hiçbiri benzer ölçekteki taşıma ağlarındahızlandırmaları karşılamıyor, hele ki gerçekçi modellemeye sahip ve zayıf bir yapılandırma gösteriyorsa. Buna örnek olarak büyük metropollerdeki otobüs bazlı ağlara bakabiliriz. Bu bilimsel araştırmada, gerçekçi modellemeye sahip, büyük ölçekli veya zayıf yapılandırılmış olmasına rağmen toplu taşıma ağlarını hızlı rotalandıran yeni bir algoritma sunuyoruz. Bunlar, Google Maps'te (http://www.google.com/transit) toplu taşıma rotalandırmasında

yüzleşilen ve bizim başarıyla saptadığımız güçlükler. Bu, ileride belirtilmiş yeni fikre dayanmaktadır.

__________________* Bu çalışma ESA'10 dökümanımızın aynı başlık ve yazarlarla oluşturulmuş genişletilmiş çevrimiçi sürümüdür. Özellikle bu çevrimiçi sürüm, karakter sınırlaması nedeniyle ESA '10 çalışmamızda bulunduramadığımız kanıtları içermektedir. Bu çevrimiçi sürüm en son 6 Temmuz 2010'da düzenlenmiştir.

A@z → B sorgulamasını düşünelim, A = Freiburg başlangıç noktamız, B = Zürih varış noktamız ve z = 10:00 da hareket zamanımız. Şebekenin kendine has özelliklerini ve ön hesaplamayı dikkate almazsak, Dijkstra gibi bir arama yaparız ve uygun bir güzergah için birçok noktayı keşfederiz. Şimdi bize belirtilenin dışında Freiburg'den Zürih'e olan bütün uygun güzergahları, hangi gün, günün hangi zamanı, direk sefer (arasında başka aktarma olmaksızın) veya Basel aktarmalı bir sefer olması gibi ek bilgilerin de verildiğini varsayalım. Freiburg-Zürih ve Freiburg-Basel-Zürih güzergahlarını Freiburg-Zürih güzergahına uygun şemalar olarak belirtebiliriz (Her uygun güzergah için, başlangıç noktasını, seyir gidişat sıralamasını ve varış noktasını toplayın).Bu istasyon çifti için uygun seyir şemaları ile ilgili nasıl bir küçük bilgi olduğunu not edelim. Ek olarak, verilmiş istasyondan bir diğerine olan direk bağlantıyı belirleyebilmemizi sağlayan heristasyon için ayarlanabilir zaman bilgimiz olduğunu varsayalım.

Bu bilgiyle beraber, isteğe bağlı belirleyebileceğimiz zamana(z) sahip A@z → B için sorgulamayı cevaplamak çok kolay olur. z = 10:00 diyelim. Freiburg'den Zürih'e z'den sonraki ilk direk seferi bulalım. Freiburg'den 12:55'te ayrıldığını ve Zürih'e14:52'de vardığını söyleyelim. (Gün içerisinde bu iki nokta arasında sadece birkaç direk sefer var) Ayrıca Freiburg'den 10:02'de ayrılıyor ve 10:47'de Basel'e varmış oluyor. Daha sonra 10:47'den sonra olan Basel'den Zürih'e olan direk seferlere

bakalım. Diyelim ki Basel'den 11:07'de ayrılıp Zürih'e 12:00'da varıyor. Kayıp modelimizde (bkz: Bölüm 3) bu iki bağlantı karşılaştırmasızdır (biri daha hızlı ve diğeri daha az aktarmalı) ve bu yüzden ikisini de raporlaştırırdık. Uygun şemalar sadece bu iki güzergah şeması olduğundan bütün uygun bağlantıları bulduğumuzdan emin olabiliriz ve bunları bunları hesaplamak için sadece üç direk-bağlantı sorgulaması kullanmamız gerekti.

Kavramsal olarak, bütün düzenimiz bu şekilde devam ediyor. Bütün istasyon çiftleri arasındaki tüm uygun taşıma şema öbeklerini hesaplamamız ve depolamamız çok büyük alan gerektirir. Bunun için taşıma şemalarının belli bölüm öbeklerini hesaplarız öyle ki bütün uygun güzergah şemaları bu bölümlerden belirlenerek eşleştirilebilir. Üç veri öbeğimiz , 20-40 saat içinde bu bölümlergibilerine ve 1 milyon kalkış/varış hareketlerine ön hesaplama yapabilir, bunları 1000 istasyon başına 10-50 MB arasında bir alana depolayabiliriz. Ayrıca bu bölümlerden, uygun olmayan güzergah şemaları da eşleştirilebilir fakat bu, sorgulamadaki fazla işlemden başka bir anlam ifade etmez. Bunu hesaplamamız bizeuygun güzergahları bulmamızda yardımcı olmaz. Taşıma şemalarının sorgulama süresinde tekrar eşleştirilmesiyle oluşan tüm uygun taşıma şemalarının dizisinin eksik sıkıştırmasıyla oluşan depolamabölümlerini düşünelim. Ayrıca hızlı direk-bağlantı sorgulamalı birveri yapısı için ön hesaplama yapabiliriz ve bu üç veri öbeğimiz düşünüldüğünde 1000 istasyon için 3-10 MB ve sorgulama zamanı için2-10 µs demek.

Bu bilginin ön hesaplamasının yapılmasıyla verilen sorgulamadaki gibi ilerleriz: A@z → B. Ön hesaplanmış bölümlerden A ve B arasında verim elde edeceğimiz tüm kombinasyonları hesaplarız. Elde ettiğimiz bütün şemaları bizim sorgu grafiği olarak adlandırdığımız forma yerleştiririz. Sorgu grafiği üzerindekaynak A ve hedef B ile kestirme güzergah hesaplaması için uygun bağlantı(ların) miktarını bulmak direk bağlantı sorgusudur. Yukarıda verdiğimiz basit örneğimizin üç durak noktası (A = Freiburg, B = Zürih ve C = Basel) ve üç kanalı (A→B, A→C, C→B) var. Ön hesaplaması yapılmış bölümlerin yeniden hesaplamasından kaynaklanan uygun olmayan taşıma şemalarından dolayı, bizim gerçeksorgu grafiklerimiz genellikle yüzlerce kanala sahiptir. Direk bağlantı sorgulamaları yaklaşık olarak 10 µs süreyle hesaplandığından, bu bize bir kaç milisaniye kazandıracak. Bu arada bizim yaklaşımımızda, bu zamanlar ağın boyutuna göre bağımsızdır.

2. İlgili Çalışma

Ulaşım ağlarının en başarılı püf noktalarını beş başlık altında özetleyebiliriz. Çift yönlü arama, hiyerarşiden yararlanma, grafik daraltması, hedef yönü ve mesafe tabloları. Yakın zamanlarda yazılmış inceleme makalesi[1] bunları tanımlıyor,kanıtlarla destekliyor ve karayolu ağlarında neden mükemmel hızlandırmalar yaptığı hakkında açıklamalar sunuyor. Fakat aynı şeylerin özellikle zayıf yapılandırılmış toplu taşıma ağlarında başarısız olduğunu da belirtiyor. Ayrıca yakın zamanda karayolu vetoplu taşıma ağları hakkında ortaya konulmuş iki araştırma da sırasıyla [4] ve [9]'dur.

Bizimki gibi tamamen gerçekçi bir örnek [5] ve [2]'de düşünüldü. Fakat bu çalışmalarda bahsedilen ağ oldukça küçük (yaklaşık 8900 istasyon) ve çok iyi yapılandırılmış. (Alman trenleri, neredeyse hiç yerel taşıma yok). Ayrıca, çok az yürüme kanalı var ve tren ağları için istasyonlar arasında yürüme önemsizderecede az. Raporlanan sorgulama süreleri, [5] için yaklaşık bir saniye ve [2] için yaklaşık birkaç yüz milisaniye. İkinci makalenin başlığı açıkça ediyor ki; gerçekçi bir modelde toplu taşıma ağları rotalandırmasında hızlandırma kazandırmak ''tahmin edilenden zor''.

Şu ana kadar ortaya çıkmış en iyi sorgulama süreleri yaklaşık1 ms ile [3] ve [6]'da elde edildi. Fakat, belirtilen modeller ne istasyonlar arasındaki yürümeyi, ne trafik yoğunluğunu ne de çok kriter kayıp hesabını destekliyordu ve özellikle sonraki çalışmadaki algoritmalar genişletilmeye uyarlanamayacak gibi duruyordu. Bu iki çalışma Avrupa uzun mesafe trenleri ve özellikle iki bölgesel ağ(Berlin ve Frankfurt) gibi yaklaşık 10.000 istasyona sahip ağlar için grafik olarak düşünülebilir.

Bizim algoritmamız zayıf yapılandırmaya sahip (sadece otobüs bulunan ağlar gibi) devasa boyutlarda kabul edilen toplu taşıma ağları üzerinde gerçekçi modellemede hızlı sorgulama (birkaç mili saniye) elde eden ilk algoritmadır.

3. Sorun Kayıtlandırması

Bir tarife, yolculuğa hazır araçların(otobüsler, trenler, feribotlar vs.) istasyon sıralamasına(otobüs durakları, tren istasyonları, limanlar vs.) göre kalkış, varış saatlerini belirtir. Bu, rotalama için grafik halinde sunulur. Çeşitli grafik

modelleri karşılaştırması için [10]'a bakınız. Biz üç türlü durak noktasına(her biri bir zaman taşır ve bir durağa aittir) sahip olan genişletilmiş zamanlı grafik kullanıyoruz. Bir yolculuk üzerinde bulunan A istasyonundan sonra B istasyonuna olan her temel bağlantı için biz, A'dan B'ye olan örnek bir taşıma için A'ya Ak@z1 (Kalkış zamanı z1 olan A), B'ye Bv@z2 (Varış zamanı z2 olan B, kanala Ak@z1 → Bv@z2 deriz.

Eğer araç B'den z3'te hareket ediyorsa şöyle bir kanal belirtiriz: Bk@z2 → Bv@z3, böylece aracın B'de durakladığını belirtiriz. z2 ile z3 arasındaki farkın ne kadar olduğu hiç önemli değildir.

B'de gerçekleşen aktarmalardaki kalkışlarda belirli bir aktarma süresi aralığı ΔtB olabilir. Her kalkış durak noktası Bk@z için bir Ba@z aktarma noktası ve aralarına Ba@z → Bk@z kanalını koyuyoruz. Ayrıca kalkış zaman sıralamasına göre sonraki istasyon Ba@z → Ba@z' kanalı koyuyoruz (keyfiyete göre değiştirebilen bağlar). Bu kanallar bekleme zincirini oluşturur. Şimdi, Bv@z2'ye ulaştıktan sonra taşımaya izin vermek için ilk aktarma noktasına z≥ z2 + ΔtB'ye sahip Ba@z koyuyoruz. Bu daha sonra olabilecek tüm kalkışları yapmamızı sağlıyor.

Grafiğimizi genişletilmiş zamanlı kullanıyoruz yani 0'dan (Gece yarısı olan 0) başlayarak zamanın bağımsız olarak artmasını.Pratikte, tarifenin periyodik olması için 24 saatlik zaman sistemini ve güzergahın çalışma günlerini göstermek için belirtgeçkullanıyoruz. Ayrıca yakın istasyonlara yürümeyi hesaba katarak dataşıma rotaları belirlemeyi de sağlıyoruz (bkz: Bölüm 6). Bizim uygulamamızda sonuç grafikleri 1 milyon basit bağlantı için yaklaşık 35 MB alana sığdırılabilir.

Bizim sistemimiz çoklu kriter işlevinin oldukça genel sınıfını ve uygunluk kavramlarını destekler. Uygulamamızda kayıp (s,zk) negatif olmayan süre ve aktarma sırasındaki zaman kaybı çiftidir. Bir kanalın süresi bitiş noktalarındaki zaman farkıdır. Zaman kaybı çoğunlukla aktarmalarda gerçekleşir. Her istasyon B'ye

gelindiğinde aktarma için tanımlanmış bir zaman kaybı vardır ve buzaman kaybı bileşeni kanalı Bv@z → Ba@z'. Kalkıştan varışa olan kanallara belki basit bağlantı kullandıkları için küçük bir zaman kaybı süresi verilebilir. Özel bekleme kanalları gibi kanallara zaman kaybı süresi verilemez. Grafikte olan bir güzergahın kaybı, kanalların bileşen hesaplamalı kayıplarının toplamıdır.

Eğer s1 ≤ s2, zk1 ≤ zk2 ve eşitsizliklerden biri sabit ise Pareto ilkesinde kayıp (s1, zk1) baskın ya da kayıptan (s2, zk2) daha iyi diyelim. Her sonlu kayıp kümesi ikili olarak baskın olmayan fakat kümedeki bütün kayıplardan daha baskın olan (Pareto ilkesinde) eşsiz Pareto-uygun kayıplar alt kümesine sahiptir.

Tanımlama 1. A@z B istasyon-istasyon sorgulaması olduğunu düşünelim. İlk aktarma →noktasını At@z' (z' z) olarak alalım. Bu sorgulama için, bir kanal süresi z' - z olan (At@z'), ≥zaman kaybı olmayan kaynak nokta K ve B'ye olan bütün varış noktalarında hiç kayıp zaman kanalı olmayan hedef nokta H ile grafiği genişletelim.

K'dan H'ye olan güzergahlar sorgulama için uygulanabilirdir. Eğer uygulanabilir birgüzergahın kayıp avantajı bir başkası tarafından bastırılamıyorsa, sorgulamada biz bunu uygun kayıp ve uygun bağlantı olarak adlandırırız.

Not: A'daki bekleme zinciri, uygulanabilir zaman z'den sonraki bütün kalkış noktaları boyunca K'dan güzergahlar oluşturur. Aynı uygun zamanlamaya sahip olan bağlantıları hariç tuttuk. Aralarındagerçekten çok az bir fark vardır (Tek kriterli kayıp hesaplamalarında bile) 4.

____________________[4] Eşit kayıpların bağlantıları -zaman t'ye yakın sorgulama süresi- aynı zamanda ulaşır. A'dan mümkün olduğunca geç kalkan tercih sebebidir. 6. Bölümde bu konu hakkında bahiste bulunacağız.En geç kalkış yapanlar çoğunlukla önemsiz yollarla ayrılır (ör: iki tren istasyonu hakkında bunu ya da diğer tramvayı kullanmak)

4. Basit Algoritma

Bu bölümde anahtar fikirleri gösteren ilk basit algoritmayı sunacağız. Çok hızlı sorgulamaya sahip fakat dolaylı bir ön hesap karmaşıklığı var.

4.1 Hızlı direk bağlantı sorguları

Tanımlama 2. A@z B direk bağlantı sorgulaması için sadece aktarmasız bağlantılara izin→verilen uygulanabilir bağlantılar Tanımlama 1'de tanımlanmıştır. Sorgulamanın sonucu izinsiz kümedeki uygun kayıplardır.

Aşağıdaki veri yapısı direk bağlantı sorgusunu 10 µs içinde yanıtlar.

1. Bütün yolculukları(Aktarma noktaları olmayan maksimum güzergahlar) ön hesaba bağlı kıl ve bunları hatlar (H1, H2......) altında gruplandır. Bir hat üzerindeki bütün yolculuklar aynı istasyon sıralamasına sahiptir. Birbirlerini(FIFO mülkiyeti, [10]'daki tren rotaları gibi) geçmelerine izin verme ve iki istasyon arasındaki zaman kaybı aynıdır.

Bir hattın yolculukları zamana göre sıralanmış ve 2B olarak aşağıdaki tablodadır:

2. Her istasyon için hatların sınıflandırılmış listelerini onlara ve onların pozisyonlarına alakalı olanlarına ön hesap yapalım. Örneğin:

S097: (H8, 4) (H17, 2) (H34, 5) (H87, 17) . . .S111: (H9, 1) (H13, 5) (H17, 4) (H55, 16) . . .

3. A@z → B direk bağlantı sorgulamasını yanıtlamak için A ve B'nin alakalı listelerini kesiştirelim. A'nın B'den önce ortaya çıktığı her hat için, en erken uygulabilir yolculuğa bakalım ve sonra bunların arasında uygun kayıp yaşananı seçelim.Bizim örneğimizde, S097@9:03 → S111 sorgulaması H17 üzerinde 2 ve 4 pozisyonlarını ve 9:37'de S111'e ulaşan yolculuğu buluyor.

Yardımcı Teorem 1. Direk bağlantı veri yapılı A@z B sorgulaması bütün uygun kayıplı →direk bağlantıları getirir.

Hat H17 S154 S097 S987 S111

Yolculuk 1

8:15 8:22 8:23

8:27 8:29

8:38 8:39

Yolculuk 2

9:14 9:21 9:22

9:28 9:28

9:37 9:38

.......

.......

..

.......

..........

.......

............

4.2 Transfer şemaları ön hesaplaması

Tanımlama 3. Herhangi bir güzergah için ilk noktaya göre düzenlenmiş bütün ara noktaları düşünelim, her varış noktasının varisi aktarma noktasıdır ve son noktanın da. Buistasyon noktalarının sıralaması güzergahın aktarma(transfer) şemasıdır.

Bir çift (A, B) istasyon aktarma şemalarının uygun olanlar kümesi A@z B gibi →sorgulamaları ve uygun bağlantılar kümesi barındıran K transfer şemalar kümesidir.Her kaynak A istasyonu için, A'dan B'ye olan bütün uygun transfer şemalarını hesaplarız ve bunları A için DAG'da depolarız. Bu DAG'da üç farklı nokta türü vardır; A isimli bir kök nokta, ulaşılabilir B'ler için B isimli hedef nokta ve uygulanabilir her transfer şema öneki (AC1....Ci) için Ci adlı önek noktası. Hedef istasyondan kök noktasına uzanan tersine sıralanmış bir güzergahlakusursuz şekilde depolamak istediğimiz transfer şemaları gibi doğal yolla bağlıdırlar.Şekil 1. DAG için 'AE', 'ABE', 'ABC', 'ABDE' ve 'ABCDE' taşıma şemaları. Kök nokta elmas, önek noktaları çemberler ve hedef noktalar ise kareler. Aynı adla bulunan birçok potansiyel önek noktası var. Örneğimizde 'D', 'ABD' ve 'ABCD' içinde bulunmak üzere iki kere yer alıyor.

Aşağıdaki algoritma transfer şemalarını (A) kullanıyoruz.1. Dijkstra'nın A istasyonunun bütün transfer noktalarından

başlayan sıfır kayıplı etiketler algoritması için çoklu kriter değişkeni yürüt.

2. Her B istasyonu için varış zincir algoritmasıyla uygun bağlantılar seç. B'ye olan bütün farklı varış zamanları (z1 < z2 < z3 < .........) için sürenin zi-zi-1 olarak arttığı (tercihe göre bağların koparılabileceği ''ii'') zi-1 için seçilmiş olanlar ve(ii)zaman zi'de varış nokta(lar)'sına yerleştirilmesin'den oluşan etiket kümesi içinde baskın altküme seç.

3. 2. Adımda seçilmiş olan etiketlerin güzergahlarını tekrar takip et. Kaynak A'dan başlayarak bu güzergahların transfer şemalarını dikkatlice inceleyerek DAG oluştur.

Yardımcı Teorem 2. Eğer k, A@z0 B için uygun kayıplı bir sorgulama ise, →transfer_şemaları(A) kayıp k'yı farkeden sorgulamanın uygulanabilir bir bağlantısının transfer şemasını hesaplar.

Kanıt. k = (s, zk) olsun. t0 + s için etiket kümesi t0'da ya da t0'dan sonra kalkan zaman kaybıyla bir etiket tutar. Bu zaman kaybıve sürenin bağımsız olarak uyumlanmasına ihtiyaç duyar (ör: Pareto-stili). Ayrıntılar için eke bakınız.

Tüm A istasyonları için transfer_şemaları (A) kullanmak makineler arası kaynak A istasyonları kümesini ayırarak uyumlu hale getirmek için kolaydır. Fakat böyle bile olsa toplam çalışmakzamanı hala bir problem olarak kalır. s istasyonların sayısı olsun, m her istasyondaki bağlantı öbeklerinin ortalama miktarı olsun (bütün grafiklerimiz için <569, bkz: Bölüm 6) ve e ortalama her öbek ile transfer_şemaları(A) çalışmasının etiketlenmesi olsun. (Bütün deneylerde <16, bkz: Bölüm 6 ve 7). Bütün A istasyonları için transfer_şemaları(A) tarafından yerleştirilmiş toplam etiket sayısı E= e.m.s2 olur.

1-3 adımları doğrusal zaman esasında çeşitli kümeleri muhafaza eden logaritmik faktörlerle E'de çalışıyor. (Adım 1'de, bu Dijkstra'nın önemlilik kuyruğu algoritmasını içeriyor. Grafiklerimizin sınırlandırılmış dış sınırı E'deki yerleştirilmemiş etiketlerin sayısını doğrusal olarak sınırlandırır) E'nin s'de dolaylı olmasından dolayı, bu ön hesaplama paralelleştirmeye rağmen daha büyük ağlar için de pratikte uygulanabilir. Bunun hakkında Bölüm 5 ve 7'de bahsedeceğiz.

4.3. Sorgu grafiği inşa ve değerlendirmesi

A@z → B sorgusu için, aşağıdaki gibi bir sorgu grafiği inşa ederiz. z'nin bağımsızlığında:

1. İstasyon A için ön hesaplı DAG transfer şemalarını al.

2. Hedef noktası B'yi DAG'da arat. e'nin C1,......, Ce olarak etiketlenmiş varis noktalarına sahip olduğunu varsay. (C1, B),.....,(Ce ,B) kanallarını sorgu grafiğine ekle.

3 Ci ≠ A etiketli varis noktalar için 2. Adım'ı yinele.Şekil 2, Şekil 1'deki DAG'da oluşturulmuş A-E sorgu grafiğini gösteriyor.Şekil 2.'AE', 'ABE', 'ABDE' ve 'ABCDE' transfer şemalı A → E sorgugrafiği

Yardımcı Teorem 3. DAG'daki her AC1...CkB transfer şeması için inşa edilmiş sorgu grafiğinde (A,C1,...., Ck, B) bulunur.

Kanıt. Basit kanıtı ekte bulunabilir.

Verilmiş sorgu grafiğinde grafiği değerlendirmek basitçe grafikteki zaman bağımlı çoklu kriter Dijkstra araması[5] meselesidir. Sorgudaki etiketler istasyon dizileri ve kayıptır (süre ve zaman kaybı). Zaman z etiketli C → D kanalını esnetmek C@z → D sorgusu anlamına gelir.

Ana işaretçi etiketleri seleflerine göre kestirme güzergahta depolamayla hedef istasyondaki uygun etiketi, kaynaktan hedefe doğru olan uygun etikette aktarmaların sıralamasını ve aynı zamanda bu aktarmaların her birine ulaşma zamanlarını elde etmiş oluruz. Uygun güzergahlar için daha fazla ayrıntı direk bağlantı veri yapısını genişleterek sağlanabilir.

Teorem 1. Verilen A@z B sorgusu için, A'dan B'ye grafik üzerindeki tanımlanan arama →uygun kayıp kümesini ve benzer güzergahın yaklaşık kaybını verir.

Kanıt. Transfer şemaları için sorgunun her uygun kaybını ön hesapladık (Yardımcı Teorem 2) ve bu transfer istasyonlarını bağlayan güzergahlar bizim sorgu grafiğimizdeler (Yardımcı Teorem 3). Doğru yanıtlanmış direk bağlantı sorgulamalarından da çıkardığımıza göre (Yardımcı Teorem 1), sorgu grafindeki zaman bağımlı Dijkstra algoritması uyuşan güzergahlar da dahil olmak üzere bütün uygun kayıpları hesaplar.5. Merkez İstasyonlar

Bölüm 4.2.'de tanımlanan ön işleme dolaylı zaman kullanır ve dolaylı boyuta neden olur. Bunu azaltmak için sadece uyumlu ön seçimli merkez kümelerini kullanan pahalı küresel aramalar yapıyoruz ve merkezlerden diğer tüm istasyonlara transfer şemalarını hesaplıyoruz.5 Bütün merkezi olmayan istasyonlar için merkezlere herhangi bir şekilde bağlı olmayan transfer şemalarını

bölgesel olarak arıyoruz. Daha net ifade etmek gerekirse,AC1... CkB, Bölüm 4.2.'deki gibi merkezi olmayan A istasyonundan transfer şeması olsun. Eğer Ci'lerden herhangi biri merkezi ise, bundan sonra bu şemayı depolamıyoruz. Asgari i ile merkezi Ci A'nın erişim istasyonu olarak adlandırılır.Hala erişim istasyonunun içine ya da dışına A... Ci ve Ci...B trasfer şemalarını depoluyoruz. Bu, büyük ağlarda bile tek makinenin ana belleği üzerinde sorgu işlemi yapmamıza olanak verecek şekilde transfer şemalarını küçültür (bkz: Bölüm 8).6

Merkezleri seçmek. Asgari kanal kayıplarını kullanarak her hat (Bölüm 4.2.'de hesaplandığı gibi) kanalını ve öbekleri örterek bağımsız zamanlı bir grafik oluşturuyoruz. Daha sonra rastgele örnek kaynak istasyonlarından kayıp sınırlı Dijkstra aramaları gerçekleştiriyoruz. En fazla kestirme güzergaha sahip olan istasyonlar merkezler olarak seçiliyor.7

Aktarma şemalarının hesaplanması. Küresel arama Bölüm 4.2.'da tanımlandığı gibidir. Bölgesel arama buna ek olarak merkezi noktaları nötr olarak işaretler ve bütün yerleştirilmemiş etiketler nötr olana kadar durur [11]. Nötr etiketler transfer şemaları okunana kadar göz ardı edilir.8

Sorgu grafiği. A@z →B sorgu işlemi X'in A'nın erişim istasyonları arar ve istasyon çiftleri {(A, B)} U ({A} × X ) U (X × {B}) arasındaki transfer şemalarından sorgu grafiği inşa eder. Grafik değerlendirmesi değişimsiz olarak kalır.

Yardımcı Teorem 4. Eğer k, A@t0 B sorgusu için uygun bir kayıp ise, o zaman A'dan B'ye →olan sorgu grafiği k kaybını dikkate alan uygulanabilir bağlantı transfer şemalarını içerir.

Kanıt. Uygun bir A ... B transfer şeması yoksa, o halde A, X erişim istasyonuyla bir merkezi değildir. Öyle ki uygun transfer şeması ekte belirttiğimiz gibi iki kısımda (A ... X ve X ...B) hesaplanır. Bu süre ve zaman kaybının bağımsız olmasını gerektirir(ör: Pareto-stili)

_____________________5 Transfer şemalarını sadece diğer merkezlere göre hesaplamak daha hızlı sonuç vermez.6 Küresel aramaların sayısı birçok merkez seviyeleri belirleyerek azaltılabilir fakat uygulamamızda küresel aramaların toplam kaybı

tek seviyeli bölgesel aramaların kaybının altındadır. (Bkz: Bölüm 8)7 Birçok çeşitte merkez seçim stratejisini test ettik fakat ön işlem süresi ve sorgu grafik boyutları açısından çok küçük farklarvardı. Böylece en basit stratejide karar kıldık.8 Ondan önce, nötr etiketler merkezlerin etrafındaki uygun olmayan güzergahlara baskın olmalıdırlar.

6. Ek Ayrıntılandırmalar

Yukarıda basitçe algoritmamızı sunduk. Asıl uygulamamız aşağıdaki ayrıntılandırmalarda anlatılmıştır.

Konumdan konuma. Uygulamamız konumdan konuma sorgularını yanıtlar. Tanımlama 1'deki modele göre kaynak ve hedef nokta, kaynak ve hedef konumu anlamına da gelmektedir ve kayıp hesabı dikkate alınarak kanallarla bağlı yakın kaynak ve hedef istasyonlarla da bağlı. Sorgu grafiği kaynak hedef çiftlerinin transfer şemalarından oluşturuldu. Yoğun metropolitan ağlar için bu özellikbüyük önem arz ediyor.

Transferler için yürüme kanalları. Ayrıca, metropol ağları için istasyondanyakın istasyona yürüyerek aktarma yapmak da çok önemlidir. Varış noktalarından yürüme kaybı önem arz etmeyecek taşıma noktalarına kanallar ekleriz. Bu grafikteki kanalları iki katına çıkarır ve algoritmadaki belli olguları kopyalar. Taşıma şemaları artık araçla gitmeyle yürüme arasında alternatifler oluşturur, sorgu grafiği her istasyon için iki noktaya ihtiyaç duyar ve her merkezden iki küresel arama şarttır. Bu merkez taşımanın kalkış yada varış istasyonu olabilir.

Daha kompakt grafik modeli. Ön hesaplamada, grafiğin sunumunu (Bölüm 3)iki şekilde gerçekleştirdik. Kalkış noktaları kaldırıldı ve selefleri (transfer noktası ve belki de varış noktası) varisleriyle(bir sonraki varış noktası) ilişkilendirildi, cf. [10,§8.1.2]. Zaman tablolarından yararlanmak için grafik modülü bir günlük olarak ayarlanır. Bu, bizim noktaları 24 saat diliminde etiketlememiz ve her yolculuğun çalışma günlerini göstermek için belirtgeç kullanmaktır.

Sorgu grafiği araması. Hedef istasyona en erken varışı belirledikten sonra, en geç kalkan uygun bağlantıyı bulmak için geri arama yaparız (bkz: syf. 4 dipnot 4). Buna ilaven, hedef güdümlü aramalar için A* sezgisel taraması uyguluyoruz ve bunu yaparken istasyon çiftleri (direk bağlantı veri yapısı içinde hesaplandılar) arasında asgari kayıpları hedefliyoruz.

7. Sezgisel Uyumluluklar

Şu ana kadar tarif edilen sistem, uygun her kayba sahip uygun bağlantılı sorgu için kesin sonuçlar veriyor. Ama merkezlerin (bkz: Bölüm 5) kullanımına rağmen ön hesaplama, Bölüm 4'te bahsedilen dolaylı ön hesaplamaya oranla kayda değer bir hıza sahip değil. Bunun nedeni ise bölgesel arama (bölgesel taşıma şemaları) sonuçlarının yeterince küçük olmasına rağmen, neredeyse her bölgesel aramanın büyük kayba sahip bir bölgesel güzergahı olması nedeniyle, durmadan önce bütün ağın büyük kısmına uğraması gerekmekte. Tam olarak bu 15 saatlik çekirdek problem, toplu taşımada rotalandırmayı bu kadar zor hale getiriyor [1].

İyi haber, transfer şeması yaklaşımımızdan dolayı bu problemesorgu süresinde sahip değiliz, sadece ön hesaplamada sahibiz. Yaklaşımımızın eşsiz olduğu yazın bir kenara, çünkü sadece hedef ve kaynağın yeterince uzak olduğu sorguları değil, bütün sorgularıön hesaplamadan geçiriyor.

Kötü haber ise, detaylı olarak kafa yormamıza rağmen hem hızlı hemde kesin olmasını sağlayacak bir çözüme ulaşamadık. Neticede ileride bahsettiğimiz basit ama yaklaşık çözümü seçtik. Bölgesel aramaları en fazla üç araç kullanacak şekilde en fazla iki transfere indirge. Bunu 3-bacak sezgisi olarak adlandırıyoruz ve Bölüm 8'de görebileceğimiz gibi, bu bölgesel aramalarımızı kayda değer şekilde hızlı yapıyor. Teorik olarak bu uygun transfer şemalarını es geçmemizi sağlayabilir fakat bunun, algoritmamızın pratik kullanımında hiçbir role sahip olmadığını bulduk. Örneğin Bölüm 8'deki CH grafiğimizde, 10.000 rastgele 3-bacak sezgisi sorgusunda sadece üç tane uygun olmayan sonuç çıkmıştır ve bu üç sonuç uygulanabilirliğin sadece birkaç yüzde altındaydı. Girdi

verisindeki hataların pratikte çok daha büyük sorunlara neden olacağını önemle vurguluyoruz.

Küçük bir kesim uygun olmayan sonucu kabul ederek ayrıca çeşitli diğer sezgiselleri geliştirdik ve uyguluyoruz. Bu sorgu süresinde uygun olmayan çözüme neden olabilir fakat ölçülen doğabilecek etkileri hala kabul edilebilir düzeyde. 3-5 etmenle sorgumuzu sezgisellikle hızlandıran kombinasyonlar aşağıdadır.

1. Bölgesel aramalarda, uzak bir eşiğin ötesinde taşıma olmayan merkezler boyunca seyahat eden etiketleri nötr olarak işaretle. (Sorgu grafiği sisteminde düzeltme gerektirir.)

2. Her merkez için transfer ve varış noktalarından başlayarak sadece bir küresel arama yap.

3. Kayıpla esnetilmiş süreyi uyumla [9]. Kayıptaki artışı, uzun sürecine göre küçük olan Pareto uyumlu yolculukları yoksay.

4. Eğer diğer şemalardaki uyum en az nadir transfer şemaları kadar iyiyse, nadir transfer şemalarını bırak.

Ön hesaplama süresinde, bu ek sezgiseller (3 ile etiketlerin sayısını azaltmak.) kabaca 2'nin bir diğer faktörünü kaydeder. 3-bacak sezgisinin aksine, yaklaşımımızın uygulanabilirliği açısından hayati önem taşımamaktadırlar.

8. Deneyler

Bu bölümde sağladığımız deneysel sonuçlar Bölüm 6'daki tanımlamalar ve Bölüm 7'deki ipuçlarıyla birlikte tamamıyla C++ uygulaması içindir. Ön hesaplama için deneylerimiz Opteron ve Xeontabanlı 64-bit sağlayıcılarda çalıştırılmıştır. Sorgular kümenin bir makinesi tarafından ana hafızadaki bütün veri kullanılarak yanıtlanmıştır.

Grafikler. Deneylerimizi üç farklı grafik üzerinde çalıştırdık: İsviçre'nin(CH) büyük kısmının tren ve yerel taşıma ağı, New

isim #istasyonlar

#noktalar

#kanallar

alan tür

CH 20.6 B 3.5 M 11.9 M 64 MB trenler + bölgesel, iyi yapılandırılmış

NY 29.4 B 16.7 M 79.8 M 301 MB çoğunlukla bölgesel, zayıf yapılandırılmış

NA 338.1 B 113.2 M 449.1 M 2038MB

trenler + bölgesel, zayıf yapılandırılmış

York'un(NY) bütün ulaşım ağı, Kuzey Amerika'nın (NA) çoğunun tren ve yerel taşıma ağı.Tablo 1 farklı boyut ve türleri özetlemektedir.

Tablo 1. Deneylerimizden oluşturduğumuz üç toplu taşıma grafiği.Direk bağlantı sorguları. Tablo 2 gösteriyor ki, direk bağlantı veri yapısı için ön işlem süresi transfer şemalarının ön hesaplamalarının yanında önemsiz kalıyor. Alan gereksinimi CH'deki1000 istasyon için 3 MB, NY ve NA'daki 1000 istasyon için 10 MB'dir. Sorgu süresi CH için 2 µs, NY ve NA için 10 µs'dir. NY ve NA'daki daha fazla olan direk bağlantı süresi onların büyüklüklerinden dolayı değil zayıf yapılandırmalarından dolayıdır.

isim ön hesap süresi

çıkış boyutu

sorgu süresi

CH < 1 dk 68 MB 2 µs

NY 4 dk 335 MB 5-9 µs

NA 49 dk 3399 MB 9-14 µs

Tablo 2. Direk bağlantı veri yapısı: inşa süresi ve boyut. Sorgu süresi alanı en hızlıdan bütün Pareto uyumlu bağlantılara doğrudur.

Transfer şemalarının ön hesaplaması. 1 milyon nokta için ön hesaplama zamanımız (Tablo 3) 20-40 CPU çekirdek sAttidir ve 1000 istasyon için 10-50 MB alana transfer şemaları depolanabilir. Tekrarlamakta fayda var, bu sayılar ağın yapısına bağlı olarak değişiklik gösterebilir (CH en iyisi, en kötüsü NY ve NA) boyutunagöre değil.

isim ön hesaplama süresi

bölgeselküresel

çıkış boyutubölgesel

küresel

#TP / istasyon çiftibölgesel küresel

CH (w/o merkezli)

---------------

635 sa ------------------

18562 MB ------------------

11.0

CH (w/ merkezli

562 sa 24 sa 229 MB 590 MB 2.6 25.8

CH (sezgisel) 57 sa 4 sa 60 MB 154 MB 2.0 6.8

NY (sezgisel) 724 sa 64 sa 787 MB 786 MB 3.7 16.4

NA (sezgisel) 2632 sa 571 sa 6849 MB 7151 MB 3.4 10.5

Tablo 3. Transfer şemalarının ön hesaplama süreleri ve sonuçları.

Sorgu grafiği inşası ve değerlendirmesi. Tablo 4 ortalama bir sorgu grafiğinin 5 µs ile15 µs arası zamanda olabileceğini gösteriyor. İstasyondan istasyona(1:1) sorgu grafiğindeki kanalların sayısı genelde 1000'nin altındadır ve genel sorgu süresi 10 ms'dir. 50 kaynak, 50 de hedef istasyona(50:50) sahip konumdan konuma sorgusu için bu yaklaşık olarak 50 ms'dir.

9. Sonuçlar

Aktarma şemaları fikrinin büyük potansiyele sahip olduğuna inanıyoruz ve bu çalışmada bunun bir kısmını gösterdik. Gelecekteki araştırmanın belirli yönleri şunlardır: (1) uygulanabilir bir ön hesaplama süresiyle kesin bölgesel aramalar elde et; (2) ön hesaplamayı hızlandır; (3) sorgu grafiklerinin boyutunu düşür; (4) direk bağlantı sorgularını hızlandır (hali hazırda zaten çok hızlı).

isim inşa #kanallar (50/anlam/90/99) B değerlen.

#knl. değ.

CH w/o merkezi1:1

< 1ms

32 34 56 86 P < 1 ms 89

CH w/ merkezi 1:1

1 ms 189 264 569 1286 P 3 ms 540

CH sezgisel 1:1

< 1ms

80 102 184 560 P < 1 ms 194

NY sezgisel 1:1

2 ms 433 741 1917 3597 P 6 ms 721

NY sezgisel 1:1

2 ms 433 741 1917 3597 T 3 ms 248

NY sezgisel 50:50

32 ms 3214 6060 15878 35382 T 18 ms 1413

NA sezgisel 1:1

2 ms 261 536 1277 3934 P 10 ms 705

NA sezgisel 1:1

2 ms 261 536 1277 3934 S 5 ms 321

NA sezgisel 50:50

22ms 2005 3484 7240 25775 S 21 ms 1596

Tablo 4. Ortalama sorgu grafiği inşa süresi, boyutu ve değerlendirme süresi. Üçüncü sütun ayrıca %90-ile ve %99-ile medyanlarını sağlar. B sütunu baskınlıktır, P Paretoyu, T tekli kriteri (toplam süre ve zaman kaybı) simgeler.

Transfer şemaları doğaları gereği sözde profil sorgularıdır (büyükbir zaman penceresi üzerinde A'dan B'ye tüm güzergahları hesapla).Bu potansiyeli daha sonra konuşmak istiyoruz.

Teşekkürler. Yazarlar, ilham veren sohbetlerinden dolayı Alex Hall'a,ayrıca yardımcı olan yorumlarından dolayı Alex Gontmakher'e ve konferans sunumuna değerlendirmelerinden dolayı anonim kişiye teşekkürlerini sunarlar.

Kaynakça

1. Bast, H.: Car or public transport – two worlds. In: Efficient Algorithms, LNCS, vol. 5760, pp. 355–367. Springer (2009)2. Berger, A., Delling, D., Gebhardt, A., Mu ̈ller-Hannemann, M.: Accelerating time- dependent multi-criteria timetable information is harder than expected. In: AT- MOS 2009. Dagstuhl Seminar Proceedings (2009)3. Delling, D.: Time-dependent SHARC-routing. In: ESA 2008. LNCS, vol. 5193, pp. 332–343. Springer (2008)4. Delling, D., Sanders, P., Schultes, D., Wagner, D.: Engineeringroute planning algorithms. In: Algorithmics of Large and Complex Networks, LNCS, vol. 5515, pp. 117–139. Springer (2009)5. Disser, Y., Mu ̈ller-Hannemann, M., Schnee, M.: Multi-criteria shortest paths in time-dependent train networks. In: WEA 2008. LNCS, vol. 5038, pp. 347–361. Springer (2008)6. Geisberger, R.: Contraction of timetable networks with realistic transfers. In: SEA 2010. LNCS, vol. 6049, pp. 71–82. Springer (2010)7. Loui, R.P.: Optimal paths in graphs with stochastic or multidimensional weights. Commun. ACM 26, 670–676 (1983)8. Mo ̈hring, R.H.: Verteilte Verbindungssuche im o ̈ffentlichen Personenverkehr: Graphentheoretische Modelle und Algorithmen. In:

Horster, P. (ed.) Angewandte Mathematik – insbesondere Informatik,pp. 192–220. Vieweg (1999)9. Mu ̈ller-Hannemann, M., Schulz, F., Wagner, D., Zaroliagis, C.: Timetable informa- tion: Models and algorithms. In: Algorithmic Methods for Railway Optimization, LNCS, vol. 4359, pp. 67–90. Springer (2007)10. Pyrga, E., Schulz, F., Wagner, D., Zaroliagis, C.D.: Efficientmodels for timetable information in public transportation systems.J. Exp. Algorithmics 12 (2007)11. Schultes, D., Sanders, P.: Dynamic highway-node routing. In: WEA 2007. LNCS,vol. 4525, pp. 66–79. Springer (2007)12. Theune, D.: Robuste und effiziente Methoden zur Lo ̈sung von Wegproblemen.Teubner (1995)

A Kısalık için atlanmış deliller

Kanıt (Yardımcı Teorem 1). Tanımlama 2'deki grafiği düşünelim. Grafiği ilerideki gibi dönüştürdüğümüzde sonuç kavramı değişmedi. Bütün aktarma noktaları ve ilişkin kanalları atılır (bu, aktarmasızlığı güçlendirir). Kaynak nokta da kanalların süresi z'-z ≥ 0 ve zk = 0 olan bütün uygulanabilir Ak@z' noktalarıyla direk olarak bağlantılıdır. Grafikten kalanlar tam olarak Adım 1'deki direk bağlantı veri yapılı yolculuklardır. K'dan H'ye olan yolculuklar tam olarak A'nın Adım 3'te bahsi geçen, bir hattın yolculuklarındaki B'den önceki oluşumlarıdır. Hat düzenindeki geçiş yapmama ve zaman kaybı sınırlılıkları, her oluşum için aynı hat üzerinde gerçekleşen yolculukların ilkinden daha iyi bir kayıpelde edemeyeceğini belirtir. Bundan dolayı Adım 3 bütün uygun kayıpları bulur.

Kanıt (Yardımcı Teorem 2). Tanıma göre uygun kayıp k, Tanımlama 1'in genişletilmiş grafiğindeki K → P1 → T uygun güzergahıdır (P1'nin At@zd noktasından -K'nın varisi- başlayıp, Bv@za noktasındabitmesi)

Şimdi transfer şemalarının hesaplanmasını yansıtan grafiğimize K' ve H' alternatif öbeklerini ekleyeceğiz. K', A'nın bütün transfer noktalarıyla süre ve zaman kaybı 0 olan bir kanala sahip. Bu baş etiketleri gösteriyor. z ≤ za'lı bütün Bv@z noktaları, (H')'ye za-z süresine ve 0 zaman kaybına sahip bir kanala sahiptir. Bu nedenle H', za varış etiket kümesine karşılık gelir. P’2'ye göre hesaplanmış K' → P’2 → H' A transfer şeması, K' → P1 → H' den daha iyi ya da eşit kayba sahiptir. Özellikle P'2, A'dan P1'den önce hareket etmez.9 Bu da demektir ki, P1 ve P'2'nin ilk noktası arasındaki A'nın bekleme zincir parçasında P'2'ye öncelik tanıyabiliriz. P2 P'2'nin uzantısı olsun.

P2'nin hak iddia edilmiş bir güzergah olduğunu ispatlamak için, K → P1 --- H ve K → P2 → H'nin aynı kayba sahip olduğunu gösterir. K',T' ve P'2 seçiminin inşasıyla, aşağıdaki eşitsizliklergüzergahın süre ve zaman kaybını tutar.

s(K → P1 → H) = za - z0 = s(K → P2 → H') ≥ s(K → P2 → H),zk(K → P1 --- H) = zk(K' → P1 → H') ≥ zk(K' → P'2 → H') = zk(K → P2

→ H).

K → P1 → H uygunluğuyla eşitlik böyle kalır.

Kanıt (Yardımcı Teorem 3). AC1...CkB DAG içinde bir transfer şemasıolsun. i'nin üzerindeki indüksiyon sorgu grafiğinde bir güzergah(Ci,...,Ck,B) olduğunu gösterir ve sorgu grafiğindeki Ci noktası, DAG'daki AC1...Ci-1 önek noktası ile beraber işlem görür (Adım 2 ve 3). Son olarak C1, grafikteki A kök noktasıyla işlem görür, böylece kanal (A, C1) eklenir ve güzergah(A,C1,...,Ck, B) sorgu grafiğinde bulunur.

Kanıt (Yardımcı Teorem 4). A merkezi için, A'dan küresel arama uygun kayıp k'lı (Yardımcı Teorem 2) B'ye bir bağlantının transferşemasını hesaplar ve bu transfer şeması sorgu grafiğinde bulunur (Yardımcı Teorem 3).

_________________________9 Burada Tanımlama 1'de belirtilmiş ve mümkün olduğunca geç kalkışıolan uygun güzergahlar için hesaplanmış transfer şemalarını görüyoruz. Sayfa 4'teki Dipnot 4'e bakınız.

Merkez olmayan A için, eğer A'dan olan bölgesel arama uygun kayıp k'lı B bağlantı transfer şemasını hesaplamıyorsa, o halde A'dan bölgesel aramalı X merkezi A...X transfer şemasını hesaplar ve X'ten küresel arama X...B transfer şemasını hesaplar. Öyle ki, A...X...B zincirleme transfer şemalı kayıp k'nın bağlantısı vardır. İddia, Yardımcı Teorem 3'ün iki kat uygulamasıyla devam eder.

Eğer A'dan olan bölgesel arama uygun kayıp k'lı herhangi bir B bağlantı transfer şemasını hesaplayamıyorsa, bunun yerine böyle bir bağlantı için bir nötr etiketi(bir önekin) hesaplar. Bundan dolayı merkezde transfer gerçekleştiren kayıp k'lı B bağlantıları bulunur. Transferler arasında varış zamanı en erken olan merkezi seç ve Tanımlama 1'de olan grafikteki A@z0 → B sorguna benzer olan K → P → H güzergahını göz önüne al. K'nın istasyon A'daki kaynak nokta ve H'nin istasyon B'deki hedef nokta olduğunu hatırla. P'yi Pe= (At@z1,...,Xv@zv)'deki X merkezindeki zaman za'ya, son ek Pg = (Xt@zk, Xk@zk,...,Bv@z2)'deki zk zamanında X'teki varışa, transfer

parçacığı Pt = (Xv@zv, ..., Xt@zk)'na kadar aralarında ayrıştırabiliriz.

A ve X'ten olan aramalar genel olarak Pe ve Pg güzergahlarınıveya onların transfer şemalarını bulmaz, fakat diğerleri aynı uygun kaybı elde etmek için birleştirilebilir. Bu yüzden onları türetmek için bir miktar teknik delile ihtiyacımız vardır.

Küresel aramanın X'ten ne hesapladığını elde etmek için, P'den daha önce kalkmaya çalışmayan X sorgusunu (X@zk → B) dikkate alırız. Tanımlama 1 için olan bu sorgulama için genişletilen grafik X'te K' kaynak noktasını ve aynısında hedef H'yi elde eder.Yardımcı Teorem 2'ye göre X'ten gerçekleşen küresel arama, K' → Pg → H'ye eşit ya da daha iyi kaybı olan K' → Qg → H'nin transfer şemasını hesaplar. Tam olarak, onun z'2 varış zamanı Pg'nin z2 varışzamanından daha geç değildir. Ayrıca zaman kaybı da daha kötü değildir.

Şimdi A@z0 → X'i göz önüne alarak A'dan ve tanımlama 1 için, A'daki kaynak noktası K ve X'teki hedef nokta (H')'den bölgesel arama yapalım. P seçimine göre, X'e ulaşmadan K → Pe → H' transferlerinde kaybı daha iyi ya da eşit olan hiçbir bağlantı yoktur. Bu nedenle ve Yardımcı Teorem 2'deki mantıklardan dolayı, A'dan gerçekleşen bölgesel arama, K → Pe → H' güzergahındakiler gibi daha az ya da eşit kayıplı K → Qe → H' güzergahı üzerinde A...X transfer şeması hesaplar. Demek istediğimiz, Qe X'e Pe'den daha geç ulaşmaz. Bundan dolayı Qe'nin Xv@z'v son noktasındaki X bekleme zincirindeki Qt güzergahı vardır.

Q = Qe → Qz → Qg olsun. K → Q → H'nin kaybı K → P → H'nin kaybından daha kötü değildir (ve sonrakinin uyumluluğundan dolayı zorunlu olarak eşit). Süre daha kötü değildir çünkü Qg, Pg'den geç ulaşmaz. Zaman kaybı da daha kötü değildir çünkü Pz ve Qz X'ni aynıtaşıma zaman kaybını taşır ve Qe ve Qg'nin zaman kayıpları Pe ve Pg'ninkilerden daha kötü değildir. İşte bu iddiamızı kanıtlar.