V Anglii řeší nepříjemnou situaci s tamní aplikací pro sledování šíření koronavirové infekce. Oficiální aplikace zdravotnické organizace NHS nejdřív posílala "fantomové notifikace" o neexistujících kontaktech, potom zase pro změnu neposílala notifikace, které měla. Důvodem k selhání bylo špatné nastavení parametrů, které měla aplikace sledovat a po jejich dosažení dotyčné uživatele upozornit. To ale není jediný problém, kterému aplikace čelí.

Nepřesné výsledky, které připomínají házení mincí nebo možná ruskou ruletu, jsou vlastní všem aplikacím, které sledují kontakty s nakaženými prostřednictvím Bluetooth signálů. Upozorňují na to profesor informatiky Douglas J. Leith a výzkumník Stephen Farrell z Trinity College v Dublinu, kteří (ne)spolehlivost aplikací ověřili praktickým měřením.

Nesprávné upozorňování, respektive špatné rozpoznání skutečných kontaktů s nemocnými se týká i české eRoušky. Ta totiž vychází, stejně jako řada aplikací pro sledování kontaktů s lidmi nakaženými virem SARS-CoV-2, z Exposure Notification API. To je sada nástrojů od Applu a Googlu, která řeší komunikaci zařízení přes Bluetooth. Na ní postavené aplikace jenom nastavují pravidla pro vyhodnocení kontaktů. Vše vychází z předpokladu, že na základě síly Bluetooth signálu lze vypočítat vzdálenost dvou zařízení, a tedy i uživatelů.

Nedávno jste již předplatné aktivoval

Je nám líto, ale nabídku na váš účet v tomto případě nemůžete uplatnit.

Pokračovat na článek

Tento článek pro vás někdo odemknul

Obvykle jsou naše články jen pro předplatitele. Dejte nám na sebe e-mail a staňte se na den zdarma předplatitelem HN i vy!

Navíc pro vás chystáme pravidelný výběr nejlepších článků a pohled do backstage Hospodářských novin.

Zdá se, že už se známe

Pod vámi uvedenou e-mailovou adresou již evidujeme uživatelský účet.

Děkujeme, teď už si užijte váš článek zdarma

Na váš e-mail jsme odeslali bližší informace o vašem předplatném.

Od tohoto okamžiku můžete číst neomezeně HN na den zdarma. Začít můžete s článkem, který pro vás někdo odemknul.

Na váš e-mail jsme odeslali informace k registraci.

V e-mailu máte odkaz k nastavení hesla a dokončení registrace. Je to jen pár kliků, po kterých můžete číst neomezeně HN na den zdarma. Ale to klidně počká, zatím si můžete přečíst článek, který pro vás někdo odemknul.

Pokračovat na článek

To funguje výborně teoreticky a v laboratorních podmínkách: intenzita signálu klesá s druhou mocninou vzdálenosti. Říká se tomu "útlum" (anglicky attenuation) a řídí se zákonem převrácených čtverců (inverse-square law).

V praxi už to tak jednoduché není, protože do hry vstupují různé vlivy prostředí, odrazy a podobné věci. Z vlastních dávných radioamatérských zkušeností mohu potvrdit, že šíření rádiového signálu v praxi je často překvapivé: pokud jsou podmínky příznivé, dokážete zachytit silné vysílání i ze vzdálených stanic. Nejsou-li vám bohové nakloněni, nedovoláte se ani do vedlejší vesnice. Záleží přitom na mnoha parametrech.

Některé máte pod kontrolou (použitou nosnou frekvenci, způsob modulace, anténu...), jiné nikoliv (počasí, tvar terénu, stav porostu, rušení, odrazy...). Když na to přijde, nemusíte být k získání těchto zážitků radioamatéry. Stačí používat wi-fi.

Je-li vaším jediným známým parametrem síla signálu, respektive míra útlumu, nelze z něj věrohodně určit vzdálenost mezi vysílačem a přijímačem. Ostatně sami autoři technologie Bluetooth, Jaap Haartsen a Sven Mattisson, v květnovém rozhovoru pro The Intercept vyjádřili značnou skepsi k její použitelnosti pro sledování šíření covidu.

Douglas J. Leith a Stephen Farrell z Trinity College v Dublinu otestovali, jak Exposure Notification API funguje v autobuse a v tramvaji. "Moc ne" je dle mého názoru docela přesné shrnutí. Prostředí dopravního prostředku je z hlediska šíření rádiového signálu specifické tím, že se jedná o objekt s kovovými stěnami, takže do hry vstupují odrazy, které mohou měření výrazně ovlivnit. Zároveň jde o prostředí důležité z hlediska šíření viru. Na relativně dlouhou dobu se do relativní blízkosti v uzavřeném prostoru s omezenou ventilací dostávají naprosto cizí lidé, kteří se neznají a nedokážou se ex post kontaktovat. Aplikace typu eRouška by mohly být užitečné při dohledání kontaktů s nakaženými. Pokud by fungovaly.

Bohužel, podle této studie nefungují. Autoři docházejí k závěru, že v tomto prostředí je pouze "malá korelace mezi sílou Bluetooth signálu a vzdáleností zařízení". Ve vzdálenostech 0,5 až 1,5 metru útlum předvídatelně stoupá, ale pak zůstává v zásadě stejný až do cca 2,5 metru. Se stoupající vzdáleností ale útlum paradoxně klesá - nejspíše vlivem odrazů od kovových stěn, podlahy a stropu.

Následující graf zobrazuje naměřené hodnoty útlumu v závislosti na vzdálenosti; uvádí se v decibelech (dB), vyšší číslo znamená slabší signál:

Graf útlumu bluetooth signálu
Graf útlumu Bluetooth signálu
Foto: Douglas J. Leith, Stephen Farrell

Aby bylo možné spolehlivě odvodit vzdálenost z útlumu, musely by naměřené hodnoty v grafu tvořit něco na způsob spojité čáry. Je jedno, zda spíše rovné nebo nějakým způsobem prohnuté - to se dá matematicky korigovat. Ale musí existovat jasný vztah mezi útlumem a vzdáleností. Zde jsou puntíky naměřených hodnot v podstatě volně a relativně rovnoměrně rozprostřeny v celém prostoru.

Naměřené hodnoty útlumu jsou podobné, bez ohledu na fyzickou vzdálenost zařízení. Oproti tomu na ně má významný vliv způsob, jakým účastníci pokusu drželi mobilní telefon - bude záležet jednak na úhlu, v jakém jsou proti sobě natočeny antény, ale také na tom, jaké konkrétní části telefonu se uživatel dotýká a jak svým tělem stíní. Tuto informaci ovšem vyhodnocující algoritmus nemá a nemůže mít k dispozici. Jediná data, která má k dispozici, jsou míra útlumu signálu a čas, po který komunikace trvala. Bohužel, podle autorů studie a jejich dat není mezi těmito hodnotami a vzdáleností v prostoru tramvaje žádný významný vztah.

Spolehlivě a s rozumnou přesností lze vzdálenost pomocí rádiových vln odhadovat dvěma způsoby.

Tím prvním je trilaterace, kterou používá třeba GPS nebo lokalizace mobilu pomocí základnových stanic operátorů. (Občas se nesprávně používá termín triangulace, což je něco podobného, ale založeného na znalosti úhlů, nikoliv vzdáleností.) Tam lze ze známé polohy dvou a více stanic vypočítat třetí a lépe se vyrovnat s vlivem prostředí, i když je otázka, zda pro tento účel dostatečně lépe. Používá se i ve spojitosti s BLE u indoor lokalizačních systémů. Nicméně pro tento účel potřebuje stabilní základnové stanice se známou polohou, nikoliv neorganizovanou sbírku mobilních telefonů, a i tak je přesnost lokalizace sice dostatečná pro určení, ve které místnosti se uživatel nachází (častý úkol indoor lokalizace), ale ne pro sledování vzájemné vzdálenosti dvou uživatelů. Studie z roku 2017 uvádí přesnost 1,82 metru v 90 procentech případů pro pohybující se zařízení ve středně velké místnosti.

Druhý způsob je založen nikoliv na měření útlumu signálu, ale na času potřebném pro jeho přenos (time-of-flight), což je s jistou mírou zjednodušení princip radaru. Nicméně pro tento účel nemají mobilní telefony potřebný hardware, rozhodně nestačí běžný Bluetooth modul.

Covidové aplikace založené na exposure notification využívají pro rozhodnutí, zda je kontakt rizikový, tentýž algoritmus, ale každá aplikace pro něj má jiné parametry. Algoritmus spočívá v tom, že se doba kontaktu násobí koeficientem určeným na základě míry útlumu, a pokud celková doba přesáhne určenou hodnotu, je kontakt vyhodnocen jako rizikový a aplikace by měla notifikovat uživatele. Ve studii jsou porovnávány sady pravidel pro Německo, Švýcarsko a Itálii.

Nejjednodušší je italský algoritmus, který vyžaduje setkání s útlumem max. 73 dB po dobu nejméně patnácti minut. Německý algoritmus k času kontaktu s útlumem do 55 dB přičte polovinu času s útlumem do 63 dB, za rizikový považuje kontakt trvající více než deset takto přepočtených minut. Švýcarský funguje podobně, jenom hranice jsou 50 dB, 55 dB a přepočtený čas 15 minut.

Podle informací uvedených na webu eRouška.cz vycházejí česká pravidla z těch německých (konkrétní hodnoty jsou v konfiguračním souboru na GitHubu), ale jsou poněkud přísnější. Vypadají takto: 

B1 * 1,5 + B2 + B3 * 0,167 > 15 min

t1 = 55 dB, t2 = 63 dB, t3 = 75 dB. 

To znamená, že notifikaci dostanete po deseti minutách kontaktu s útlumem do 55 dB, patnácti s útlumem do 63 dB nebo cca 90 minutách s útlumem do 75 dB, případně jejich odpovídající kombinaci.

Účelem těchto pravidel je vyvěštit z času a útlumu ony magické dva metry a patnáct minut. Bohužel, minimálně v prostředí tramvaje nemá věštba naději na spolehlivý úspěch. Po aplikaci německých a italských pravidel nebyly vygenerovány žádné notifikace, přestože 34 ze 72 měření je vygenerovat mělo. Italská pravidla přinesou 50 procent správně pozitivních výsledků, ovšem i 50 procent falešně pozitivních.

Bohužel i zde platí zásada "garbage in, garbage out". Jestliže vstupní data jsou nesmyslná, respektive zatížená tak velkou chybou jako v popisovaném případě, neexistuje algoritmus, který by z nich spolehlivě dával použitelné výsledky. Můžeme si jenom vybrat, jestli chceme, aby byly výsledky spíš optimistické, nebo pesimistické, s realitou však budou mít společného pramálo.

Je jasné, že prostředí tramvaje nebo autobusu je pro účely odhadu vzdálenosti na základě útlumu signálu hodně nevhodné. Nicméně jedná se o prostředí z hlediska přenosu viru velice podstatné. Dá se předpokládat, že podobně se bude chovat i ve vlaku či tam, kde je v okolí významné množství kovu (třeba mezi regály v obchodě). Jiná netriviální prostředí - v podstatě cokoliv jiného než volný otevřený prostor - budou útlum ovlivňovat jinými způsoby, ale v nemenší míře. Bez ohledu na následné zpracování budou naměřené hodnoty zatíženy tak extrémní chybou, že budou prakticky nepoužitelné a budou generovat takové množství falešných pozitiv i negativ, že pro získání stejně důvěryhodné informace vám s trochou nadsázky bude stačit hodit si korunou. Tak co? Panna, nebo orel?