Navigační server

Z Wazeopedia


Při používání aplikace Waze probíhá neustálá komunikace se servery Waze, které používají sofistikované algoritmy pro určení optimální trasy pro každý okamžik, kdy si to aplikace vyžádá. Podrobnosti algoritmů nejsou veřejné a následující text je založen na pozorování, spekulacích a informacích od zaměstnanců Waze. Akce systému Waze jsou skryté a jsou hlavním "obchodním tajemstvím" Waze. Algoritmy se mohou časem měnit a text tak nemusí přesně odpovídat současnému stavu.

Počítání trasy aplikací

Spočítat optimální trasu je obtížný úkol. Výpočetní algoritmus je sice součástí klientské aplikace, ale běžně se nepoužívá. Aplikace k němu sáhne, jen když má problém s připojením k serveru Waze.

Požadavek na trasu

Požadavek na novou trasu zadaný v aplikaci je odeslán na server Waze. Podle vstupních kritérií server Waze určí optimální trasu a odešle ji zpět do zařízení.

Podle nastavení aplikace se mění parametry výpočtu trasy. V nastavení aplikace jsou např. volby:

  • Nejrychlejší nebo nejkratší trasa.
  • Povolení jízdy po placených silnicích.
  • Využití nezpevněných komunikací (polní cesty).
  • Vyhnout se dálnicím.

Nejkratší trasou se rozumí fyzická vzdálenost v metrech. Volbu nejkratší trasy nedoporučujeme používat, protože obsahuje spoustu chyb. Obvyklým a nejvíce využívaným nastavením je nejrychlejší trasa - 100 km po dálnici je lepší než 90 km po okreskách.

Chyba v mapě

Waze hledá optimální trasu mezi výchozím a cílovým bodem podle nastavení aplikace. Dokáže ale počítat jen s cestami, které zná. Když vhodná cesta v mapě není, nebo je nakreslena chybně, tak na ni nebudete navigováni. Podobně působí potíže různé úpravy v editoru, které se obecně nedoporučují (příliš krátké segmenty atp.).

Aktuální rychlosti

Výpočetní server používá aktuální rychlosti na silnicích ze spuštěných navigací Waze a kombinuje je s historickými údaji pro každý segment, které si navíc dělí do úseků trvajících 30 minut. Čas potřebný k projetí krajních bodů segmentu je sledován v kontextu trasy, po které uživatel právě jede.

Rychlosti-na-segmentu.jpg
Na segmentu A-B jsou uložena různá data pro jízdu ve Směru 1 a Směru 2

Například pokud segment končí dvěma odbočkami - vlevo a vpravo (a žádné pokračování rovně), potom si Waze server pro daný segment pamatuje dvě rychlosti - jednu pro případ, kdy trasa na konci segmentu odbočuje vlevo a druhou pro případ, kdy trasa odbočuje vpravo. K těmto informacím nemá uživatel přístup, jsou součástí obchodního tajemství Waze.

Waze upřednostňuje aktuální rychlosti před historicky sledovanými hodnotami.  Stejně tak Waze využívá hlášení o příliš husté dopravě a navrhuje alternativní trasy s cílem vyhnout se ucpanému místu na silnici. Předpokládá se, že pro výpočet vaší trasy se v první řadě použije rychlost Wazera, který projel daný úsek chvilku před vámi (pokud takový Wazer existuje).

Aktuální rychlosti nabývají na důležitosti při rostoucím počtu uživatelů Waze. To je v souladu se základní myšlenkou Waze - navrhovat optimální trasy pro každodenní používání. Zároveň s tím, jak je Waze používáno jako všeobecná navigace i pro dálkové a méně využívané trasy, roste důležitost uchovávání historických dat a rychlostí.

Navigační systém Waze počítá s tím, že vzdálené segmenty na trase projedete "až za delší dobu". Pro vzdálenější segmenty nemá smysl počítat s aktuálním stavem. Dopravní situace se může změnit, než na místo přijedete. Navržená trasa delší než 15-30 minut je kombinací aktuálních dat a historických dat pro segmenty, ke kterým dorazíte poté. Zároveň v takových případech Waze sleduje aktuální dopravní data a pokud z nich vyplyne vhodnější trasa, nabídne ji.

Nejrychlejší cesta

Waze zná průměrnou rychlost každého potvrzeného segmentu mezi vámi a cílem cesty. Server Waze počítá, jaké segmenty je třeba projet, aby byla cesta co nejrychlejší.

Každý požadavek na trasu je propočítáván v daný okamžik, nicméně z pozorování vyplývá, že Waze má určité hlavní body, mezi kterými má "předpočítané" nejrychlejší trasy a tyto údaje pak využívá ke zrychlení výpočtů. Pokud například systém už zná nejrychlejší trasu z bodu B do bodu C a vy si vyžádáte výpočet trasy z bodu A do bodu C, pak Waze server spočítá pouze trasu z bodu A do bodu B, jakmile zjistí, že není lepší cesta, která by znamenala úplné vyhnutí se bodu B. To mj. znamená, že při aktualizaci mapových podkladů mohou být některé vypočítané trasy během 24 hodin "méně optimální", než si systém dokáže znovu propočítat všechny alternativy mezi svými hlavními body.

Podle dostupných informací používá Waze pro určení trasy vyhledávací algoritmus A*, ke kterému přidává množství vlastních "upřesnění".

Astar progress animation.gif
Příklad hledání trasy. Zdroj: Wikipedia

Různé výchozí body

Představme si výpočet trasy z bodu A do bodu Z. Navržená trasa je A > B > C > D > Z. Poté nechme spočítat trasu z bodu B do bodu Z. Možná vám bude navrhnuta trasa B > C > E > Z. Zdá se, že jedna trasa není optimální. 

Můžeme jen hádat, co se děje:

  • "Předpočítání" tras.
  • Délka trasy překročila 15-30 minut. Místo aktuálních dat Waze pro vzdálenější úsek použije historická data. Rozdílný čas příjezdu do bodu C mohl ovlivnit výpočet trasy do bodu Z.
  • Dodatečná optimalizaci trasy, která možná měla příliš mnoho odbočení a vynecháním trasy z A do B navigační systém nepřekročil nějaký svůj vnitřní limit.

Tohoto efektu si můžete při jízdě všimnout. Vyžádáte-li si za jízdy přepočítání trasy, systém někdy nabídne trasu jinou.

Waze občas nabídne novou trasu, která objede dopravní komplikace. Nevíme, kdy a jak Waze zvažuje změnu trasy.

Různé délky tras

Waze má problémy s výpočtem optimální trasy u dálkových jízd, kdy nedokáže propočítat všechny možnosti. Využívá zjednodušení a předem vypočítaných tras. To může vést k poměrně významné změně tras už při mírné změně trasy.

Podle vyjádření Waze (2011) navigační systém silně upřednostňuje vyšší třídy silnic (vyšší než ulice), pokud je vzdálenost do cíle větší než 10 km.  Zdá se, že navigační server ignoruje segmenty typu ulice, které jsou od cíle vzdálenější než 10 km, aby urychlil celkový proces výpočtu.

Problémy s průměrnou rychlostí

Pokud průměrné rychlosti nejsou v pořádku, není možné spočítat optimální trasu. Přesto se nedoporučuje mazat segmenty kvůli resetu průměrné rychlosti segmentu. Waze zpracovává data uživatelů projíždějících přes daný segment a průměrnou rychlost zpřesňuje. Máte-li podezření, že systém Waze nevyužívá určité úseky, i když by měl, pak problém pravděpodobně není v průměrné rychlosti. Rozhodně není dobré začít smazání a novým vytvořením problémového segmentu.

Následující kapitoly popisují důvody, proč navigační systém nemusí brát ohled na průměrnou rychlost daného segmentu.

Denní doba

Představte si silnici, po které většina Wazerů jezdí v pět odpoledne průměrnou rychlostí 20 km/h. Vy se na cestu vydáte v deset ráno, kdy je silnice prázdná a průměrná rychlost je 100 km/h. Je to nejvhodnější cesta, ale systém Waze vám nabídne jinou, protože nemá informaci o tom, jaká je rychlost dopoledne kolem desáté a tak předpokládá, že průměr 20 km/h platí celý den. Zvolíte samozřejmě rychlejší cestu. Systém Waze se nakonec naučí, jaká je rychlost v daný čas pro danou silnici.

V tomto případě nejen že nepomůže smazání a vytvoření dané silnice, ale navíc to uškodí ostatním Wazerům, kteří těží z faktu, že systém zná rychlost v pět odpoledne. Je také možné, že vaše vysoká rychlost bude ignorována, protože ji systém Waze bude považovat za abnormální.

Více Wazerů projíždějících danou silnici dopoledne problém vyřeší.

Změna směru jízdy

Rychlost může být velmi odlišná podle toho, co řidič udělá na konci segmentu (typicky na křižovatce). Pokud pokračuje rovně, projede asi celý segment rychle. Při odbočování vlevo se na stejném segmentu dlouho zdrží. Podobně u dálničních sjezdů může být jízdní pruh před sjezdem velmi rychlý, zatímco pruh pokračující rovně po dálnici bude beznadějně zacpaný. 

SegmentTraffic1.png
Systém Waze umí tyto situace odlišit a zaznamenává průměrnou rychlost pro segment v  závislosti na tom, jaká akce se dále děje na jeho konci, viz obr. Doprava přes Seg4 se rozdvojuje do Seg5 a Seg6. Systém Waze sleduje dvě průměrné rychlosti:
  • Seg4 - Jnct2 - Seg5
  • Seg4 - Jnct2 - Seg6

Prodlužující se čas pro Seg4 u vozidel odbočujících na Seg6 nemá vliv na čas pro jízdu po Seg4 na Seg5. Proto je důležité tvořit delší segmenty vedoucí ke křižovatkám (tady Seg4), aby systém přesně zachytil dlouhé čekací doby pro všechny odjezdové směry.

Představme si, že přidáme krátký segment Seg8 před křižovatku. Hustý provoz do Seg10 způsobí kolonu přes Seg8 do Seg7. Na krátkém Seg8 se kolona udělá brzy a vznikne problém. Seg7 má jediný výjezd do Seg8. Waze nemá jak určit pokračování do Seg9 nebo Seg10. Systém Waze myslí, že doprava do Seg9 je zpomalena už v Seg7, i když tomu tak není. To ovlivní předpokládaný čas dojezdu do cíle, ale může to také vyvolat přepočítání celé trasy a navržení méně optimální možnosti.

Když na křižovatce v různých směrech jízdy máme různou "čekací dobu", je třeba udělat vjezdové segmenty co nejdelší.

Popsané údaje sice ve WME neuvidíte, ale navigační server s nimi počítá.

Úpravy v Editoru map

Průměrná rychlost segmentu se může dramaticky změnit editováním ve WME. Mějme 50m segment průměrně projížděný za 36 sekund rychlostí 5 km/h. Editor prodlouží segment na 10 kilometrů. Prodloužení nezmění uloženou informaci o průměrné době průjezdu segmentem. Průměrná rychlost se tak rázem zvýší na 1 000 km/h.

Buďte opatrní, když chcete zásadně změnit délku segmentu. Lepší může být nakreslení nové silnice a následné spojení obou segmentů.

Semafory

Systém Waze nemá podporu pro umisťování a používání semaforů. Přesto bere v potaz vliv semaforů na plynulost dopravy. Semafory s dlouhou čekací dobou ovlivňují průměrnou rychlost průjezdu segmentem. Pokud rychlost příliš klesne, nabídne Waze alternativní trasu, kde není nebezpečí takto nízké rychlosti. Systém Waze není určen k vyhýbání se semaforům, je určen k vyhýbání se pomalým silnicím. Pokud semafor příliš zpomaluje provoz, bude se mu Waze vyhýbat.

Někteří řidiči rádi jezdí delšími cestami a "protahují" se bočními uličkami, jen aby nemuseli stát v na semaforech. Waze umí takové cesty navrhovat. Stejně tak se ale umí vrátit na cestu se semafory, jakmile je dostatek dat z bočních uliček porovnán s průměrnými rychlostmi segmentů vedoucích k semaforům.

Zastaralé a divné rychlosti

Situace na silnicích se mění, probíhají uzavírky, stavby, mění se kvalita povrchu atd. To vše má vliv na průměrnou rychlost na segmentech. Jeden den můžete být zaseknutí za kamionem, další den opatrně převážíte ve dvě hodiny v noci svoje akvárium. Nebo má prostě vaše GPS slabší chvilku a pohybujete se rychlostí 1 000 km/h.

Průměrné rychlosti se zkrátka mohou významně měnit a průjezdní doby tak mohou být abnormální nebo prostě jen špatné - a mohou tak zůstat několik týdnů.

Podle všeho s tím systém Waze počítá. Máme zprávy, že abnormální rychlosti a příliš staré údaje o rychlosti nejsou používány (nebo mají menší váhu), je-li dostatek čerstvých dat.

Časové okno a den

Systém Waze rozděluje den na časové úseky po 30 minutách a sleduje rychlosti pro každý úsek zvlášť. Pro obousměrnou silnici tak systém sleduje až 48 různých rychlostí během 24 hodin. Předpokládáme, že pokud se pro určité časové okno přestane dařit sbírat dostatek průjezdových rychlostí, tak se pro okna, kde není dostatek údajů, použijí výchozí rychlosti pro daný typ segmentu.

Myslíme si, že systém Waze sleduje i další parametry, např. den v týdnu. Známe silnice, které bývají v pracovní dny ucpány, jsou o víkendech nabízeny jako optimální trasa.

Při plánování trasy Waze zohledňuje čas, kdy pravděpodobně budete daným segmentem projíždět a podle toho zvolí rychlost platnou pro dané časové okno. Kvůli tomuto "časovému oknu" navigační systém Waze navrhuje různé trasy v různou denní dobu. Záleží na množství zjištěných dat v danou dobu (pokud jsou všechna data ze stejné denní doby, pak metoda časových oken moc nepomůže). Je-li zaznamenáno 999 průjezdů v pět odpoledne a 2 průjezdy v deset ráno, pak průměrná rychlost počítaná pro 10 ráno bude stále z velké části ovlivněna odpoledními průjezdy.

Zpřesňování navigačního algoritmu

Penalizace na křižovatkách

Domněnka: Pro nově vytvořené silnice aplikuje Waze standardně pětivteřinovou penalizaci EN pro každou křižovatku, přes kterou cesta prochází. Jakmile jsou zaznamenána reálná data z průjezdů, je tato penalizace vypuštěna.

Špatná trasa

Systém Waze může navrhnout podivnou trasu. Jak to řešit?

  • Nejdříve vygenerujte alternativní trasy. To může odhalit, proč Waze navrhuje nečekanou trasu.
  • Zkontrolujte Waze Map Editor, jestli jsou všechny cesty správně napojeny a jsou povolena odbočení.
  • Pokud ani to nepomůže, zeptejte se na fóru. Zadejte dostatek detailů - odkud, kam, v kterou dobu. Můžete využít diskuzního fóra Navigation & Routing EN nebo využijte české fórum. Možná je v navigačním algoritmu chyba a nahlášení pomůže ostatním.

Změna trasy

Když systém Waze dostane automatické hlášení o dopravní situaci, použije aktuální rychlost na trase, ne průměrnou rychlost. Ruční hlášení dopravní zácpy a nehod jsou pouze pro vaši informaci a na výpočet trasy vliv nemají.

Je možné, že i přes hustý provoz není možné najít vhodnou trasu a Waze nenabídne lepší alternativu.

Vy jste řidič

Waze nemůže nikdy vědět, že "se vezete na zelené vlně", že je zrovna státní svátek atp. Může jen nabídnout radu, jaká by byla nejlepší cesta při zohlednění obvyklých podmínek. Ale za volantem sedíte vy - a vy musíte rozhodnout podle toho co vidíte, kudy v daný den pojedete.

Kdyby všichni jezdili, kudy je Waze vede, systém Waze by se nedověděl o lepší trase. Každá jízda s Waze je analyzována a pomůže najít ostatním v optimální trasu. Když jedete podle sebe a ignorujete návrhy Waze můžete mít pravdu. A nebo nemusíte. V každém případě jste pomohli spoustě dalších uživatelů Waze.