Upozornění pro čtenáře a uživatele této knihy
Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována ani šířena v papírové, elektronické či jiné podobě bez předchozího písemného souhlasu nakladatele. Neoprávněné užití této knihy bude trestně stíháno.
Automatizovaná analýza textů nebo dat ve smyslu čl. 4 směrnice 2019/790/EU a použití této knihy k trénování AI jsou bez souhlasu nositele práv zakázány.

Matt Parker

Matematické kixy
Komedie plná (matematických) omylů

Přeloženo z anglického originálu knihy Matt Parker: Humble Pi,
vydaného v roce 2019 nakladatelstvím Penguin Random House, Velká Británie.
Copyright © Matt Parker 2019

All rights reserved.

Vydala Grada Publishing, a. s.
U Průhonu 22, Praha 7
obchod@grada.cz, www.grada.cz
tel.: +420 234 264 401
jako svou 9838. publikaci

Odpovědný redaktor Petr Somogyi
Grafická úprava a sazba Jakub Náprstek
Počet stran 288
První vydání, Praha 2024
Vytiskly Tiskárny Havlíčkův Brod a. s.

Czech edition © Grada Publishing, a. s., 2024
Translation © Marek Čtrnáct, 2024
Cover Photo © Depositphotos/winwin.artlab@gmail.com,
Shutterstock.com/3Demian, fotografie autora: Matt Parker at QED 2016,
by AlasdhairJohnston, CC-SA 4.0 International

ISBN 978–80–271–7703–5 (ePub)
ISBN 978–80–271–7702–8 (pdf)
ISBN 978–80–271–3222–5 (print)

Věnováno mé ženě Lucii,
která je mi vždy neúnavnou oporou.
Ano, je mi jasné, že věnovat knihu
o chybách vlastní ženě je samo o sobě
také tak trochu chyba.

Nula

Úvod

V roce 1995 spustila společnost Pepsi reklamní akci, při které mohli lidé sbírat Pepsi body, a potom je vyměnit za Pepsi věci. Tričko bylo za 75 bodů, sluneční brýle za 175 bodů, za 1450 bodů byla dokonce k mání kožená bunda. Pokud byste měli všechny tři věci na sobě, v devadesátých letech byste opravdu zabodovali. V televizní reklamě na tento koncept „věcí za body“ ukazovali někoho, kdo to měl všechno na sobě a vypadal vážně cool.

Jenomže lidé, kteří tu reklamu vymysleli, ji chtěli zakončit nějakým bláznivým kouskem „klasického Pepsi šílenství“. Takže protagonista této reklamy – v tričku, slunečních brýlích a kožené bundě – letí do školy stíhacím letounem Harrier. Toto vojenské letadlo prý mohlo být vaše za 7 milionů Pepsi bodů.

Je to celkem prostý vtip: vzali základní myšlenku Pepsi bodů a extrapolovali ji natolik, že to začalo být absurdní. Takhle se dělá solidní komedie. Jenomže oni si to, jak se zdá, pořádně nespočítali. Sedm milionů sice rozhodně zní jako velké číslo, ale myslím, že tým, který tuto reklamu vytvořil, se neobtěžoval s tím, aby si ověřil, že je dost velké.

Někdo jiný to ale udělal. V té době každý letoun AV-8 Harrier II Jump Jet, který byl uveden do provozu, stál námořní pěchotu Spojených států více než 20 milionů dolarů. A existoval i jednoduchý způsob, jak převádět americké dolary na Pepsi body a naopak: firma totiž lidem umožňovala, aby si body dokupovali: jeden za deset centů. Ne že bych se nějak vyznal na trhu s použitými vojenskými letadly, ale zaplatit 700 000 dolarů za stroj, který stojí 20 milionů, to mi přijde jako dobrá investice. Stejně jako Johnu Leonardovi, který se tuto odměnu pokusil získat.

A nebyl to žádný chabý pokus. Šel do toho naplno. Reklamní akce vyžadovala, aby lidé svůj nárok uplatnili pomocí originálního objednávkového formuláře z katalogu „Pepsi Stuff“, aby vyměnili nejméně patnáct opravdových Pepsi bodů a aby přiložili šek, který pokryje cenu jakýchkoliv dalších potřebných bodů, plus 10 dolarů jako poštovné a balné. John tohle všechno udělal. Použil originální formulář, shromáždil patnáct bodů z produktů Pepsi a svěřil svým právním zástupcům 700 008 dolarů a 50 centů, jimiž byl krytý jeho šek. Opravdu dal ty peníze dohromady! Ten člověk to myslel vážně!

Pepsi jeho požadavek zpočátku zamítla: „Stíhací letoun Harrier v reklamním spotu Pepsi je nereálný a byl tam uveden pouze proto, aby vznikla humorná a zábavná reklama.“ Jenomže to už Leonard povolal své právníky a byl připravený k boji. Jeho právní zástupci odpověděli: „Toto je formální požadavek, abyste dostáli závazku a neprodleně zařídili převod nového stíhacího letounu Harrier do vlastnictví našeho klienta.“ Společnost Pepsi neustoupila. Leonard podal žalobu a celá věc skončila u soudu.

Případ zahrnoval spoustu diskusí o tom, jestli dotyčnou reklamu šlo chápat očividně jen jako vtip, nebo jestli bylo možné, aby ji někdo vzal vážně. Oficiální zápisy naznačují, jak hloupá situace tady vzniká: „Žalobce trvá na tom, že reklama budí dojem vážné nabídky, což vyžaduje, aby soud vysvětlil, proč je tato reklama vtip. Vysvětlovat, proč je vtip vtipem, je náročný úkol.“

Soud to ale každopádně zkusil!

Komentář teenagera z reklamy, že létat do školy stíhacím letounem Harrier „je rozhodně lepší než jet autobusem“ naznačuje nepravděpodobně lehkovážný přístup k relativní obtížnosti a nebezpečnosti pilotování stíhacího letounu v obytné oblasti v porovnání s využitím prostředku hromadné dopravy.

Žádná škola by studentovi neposkytla přistávací plochu pro stíhací letoun ani by neschvalovala narušení školního provozu, který by používání takového letounu způsobilo.

Vzhledem k dobře dokumentované funkci stíhacího letounu Harrier, týkající se útoků na pozemní i vzdušné cíle a jejich ničení, ozbrojeného průzkumu, ochrany vzdušného prostoru a vedení útočného i obranného protiletadlového boje, není použití tohoto letounu jako způsobu, jak se ráno dopravit do školy, zjevně míněno vážně.

Leonard svojí stíhačku nikdy nedostal a případ Leonard vs. Pepsico, Inc. je dnes součástí právní historie. Mě osobně uklidňuje vědomí, že pokud řeknu něco, co charakterizuji jako „bláznivý humor“, je tu právní precedent, jenž mě chrání před lidmi, kteří to vezmou vážně. A pokud s tím máte problém, stačí, abyste nasbírali dost Parkerových bodů a já vám bezplatně pošlu svoji fotografii, na které se tvářím, že je mi to jedno (plus případné poštovné a balné).

Společnost Pepsi se pokusila aktivně ochránit před dalšími problémy a vydala novou verzi reklamy, v níž hodnotu Harrieru zvýšili na 700 milionů Pepsi bodů. Přijde mi úžasné, že si podobně velké číslo nezvolili už na začátku: je to přece ještě legračnější než 7 milionů. Společnost si prostě vybrala nějaké náhodné velké číslo a neobtěžovala se s tím, aby si to spočítala.

My lidé nejsme zrovna dobří v posuzování toho, jak velká jsou velká čísla. A i když víme, že jedno číslo je větší než druhé, neuvědomujeme si, jak moc je větší. V roce 2012 jsem musel vystoupit ve zprávách BBC, abych jim vysvětlil, jak velký je bilion. Tehdy britský státní dluh právě překročil jeden bilion liber, a oni mě povolali, abych vysvětlil, že to je velké číslo. Křičet „Je hrozně velké, a nyní zpět do studia!“ podle všeho nestačilo, a tak jsem musel uvést nějaký příklad.

Rozhodl jsem se pro svou oblíbenou metodu: porovnávat velká čísla s pomocí času. Víme, že milion, miliarda a bilion jsou různě velká čísla, často však nedoceňujeme, jak jsou rozdíly mezi nimi obrovské. Milion sekund od této chvíle je o něco méně než jedenáct dnů a čtrnáct hodin. To není tak zlé. Tak dlouho bych si klidně počkal. Nejsou to ani dva týdny. Miliarda sekund je více než jedenatřicet let.

Bilion sekund od této chvíle uplyne až po roce 33 700 n. l.

Tato překvapivá čísla ve skutečnosti dávají dokonalý smysl, když se nad nimi trochu zamyslíte. Čísla milion, miliarda a bilion jsou každé tisíckrát větší než to předcházející. Milion sekund je zhruba třetina měsíce, takže miliarda sekund bude kolem 330 měsíců (třetiny z tisíce). A pokud je miliarda asi tak jedenatřicet let, bilion musí samozřejmě být zhruba 31 000 let.

Celý život se učíme, že čísla jsou lineární, že prostor mezi nimi je vždy stejný. Pokud počítáte od jedné do devíti, bude každé číslo o jedničku větší než to předešlé. Pokud se někoho zeptáte, které číslo je v polovině mezi jedničkou a devítkou, řekne vám, že pětka – ale jenom proto, že se to tak učil. Probuďte se! Lidé instinktivně vnímají čísla logaritmicky, nikoli lineárně. Malé dítě nebo někdo, koho ještě neindoktrinovali vzděláním, dá doprostřed mezi jedničku a devítku trojku.

Číslo tři je střed jiného druhu. Je to logaritmický střed, což znamená, že je to střed vzhledem k násobení, nikoliv ke sčítání. 1 × 3 = 3; 3 × 3 = 9. Od jedné do devíti se můžete dostat buď tak, že dvakrát přičtete čtyři, nebo tak, že dvakrát vynásobíte třemi. Takže „střed podle násobení“ je tři – a to je to, co lidé používají sami od sebe, dokud je nenaučíme něco jiného.

Když výzkumníci požádali příslušníky indiánského kmene Mundurukú v Amazonii, aby mezi jednu tečku a deset teček umístily různé další skupiny teček tam, kam patří, dali doprostřed skupinu tří teček. Pokud máte přístup k dítěti ve školkovém nebo ještě mladším věku (a jeho rodičům nebude vadit, že na něm budete dělat pokusy), pravděpodobně při rozdělování čísel udělá totéž.

I když celý školní život pracujeme s malými čísly, stále je někde v nás instinkt, že větší čísla jsou logaritmická: prostor mezi bilionem a miliardou nám přijde zhruba stejný jako prostor mezi milionem a miliardou – protože v obou případech je jedno číslo tisíckrát větší než druhé. Ve skutečnosti je však skok mezi bilionem a miliardou daleko větší. Je to něco jako dožít se věku po třicítce a dožít se doby, v níž už možná lidstvo ani nebude existovat.

Lidské mozky prostě nejsou dělané na to, aby byly hned od narození dobré v matematice. Nechápejte mě špatně: rodíme se s fantastickým rozsahem numerických a prostorových dovedností; dokonce i nemluvňata dokážou odhadnout počet teček na stránce a provádět s nimi základní aritmetické operace. Přicházíme na svět se schopností používat jazyk a symbolické myšlení. Ale dovednosti, které nám umožňují přežít a fungovat ve společenství, nemusejí nutně odpovídat formální matematice. Logaritmická škála je platný způsob, jak uspořádat a srovnávat čísla, ale matematika vyžaduje i lineární číselnou osu.

Všichni lidé jsou hloupí, když se mají naučit formální matematiku. Vyžaduje to, abyste vzali to, co nám dala evoluce, a rozšířili své dovednosti za hranice toho, co nám říká zdravý rozum. Nenarodili jsme se s nějakou schopností intuitivně rozumět zlomkům, záporným číslům či mnoha jiným podivným konceptům, které matematika vyvinula. Náš mozek se ale časem dokáže naučit, jak s nimi zacházet. Dnes máme vzdělávací systémy, které studenty ke studiu matematiky nutí. Pokud ale tyto znalosti přestaneme používat, mozek se zase za čas vrátí k „továrnímu nastavení“.

Ve Velké Británii museli stáhnout z prodeje jeden druh stíracích losů ještě tentýž týden, ve kterém je uvedli. Společnost Camelot, jež provozuje britskou loterii, to připisovala „zmatení hráčů“. Losy se jmenovaly „Cool Cash“ a byla na nich vytištěná teplota. Pokud hráč po setření losu našel nižší teplotu, než byla cílová hodnota, vyhrál. Hodně hráčů však podle všeho mělo problém se zápornými čísly…

Na jednom z mých losů se psalo, že musím najít teploty nižší než −8. Čísla, která jsem setřel, byla −6 a −7, takže jsem myslel, že jsem vyhrál, a prodavačka také. Když ale los oskenovala, stroj řekl, že jsem nevyhrál. Volal jsem do Camelotu a oni mě odbyli nějakými řečmi o tom, že −6 je vyšší než −8, ne nižší, ale já jim to nežeru.

A to znamená, že množství matematiky, které používáme v naší moderní společnosti, je současně neuvěřitelné a děsivé. Jakožto druh jsme se naučili zkoumat a využívat matematiku k tomu, aby dělala věci za hranicemi toho, co dokážou naše mozky zpracovat „od přírody“. Díky tomu můžeme dosáhnout věcí, které vysoce převyšují to, k čemu je náš interní hardware dělaný. Když pracujeme za hranicemi intuice, dokážeme nesmírně zajímavé věci, ale je to také chvíle, kdy jsme nejzranitelnější. Prostá matematická chyba může projít bez povšimnutí, ale její následky mohou být strašlivé.

Dnešní svět stojí na matematice: počítačové programování, finance, inženýrství… všechno je to jenom matematika v různých přestrojeních. Díky tomu mohou mít nejrůznější zdánlivě nevinné matematické chyby bizarní následky. A tato kniha je souborem mých nejoblíbenějších matematických omylů.

Chyby, které najdete na následujících stránkách, nejsou pouze zábavné – také něco odhalují. Krátce odtáhnou závěs a odhalí, jak funguje matematika v pozadí, které si normálně nevšimneme. Je to, jako kdyby se ukázalo, že někde za našimi moderními kouzly a čárami pracuje přesčas velký čaroděj s počítadlem a logaritmickým pravítkem. Teprve když se něco pokazí, začneme najednou chápat, jak vysoko jsme díky matematice mohli vyšplhat – a jak hluboko bychom mohli spadnout. V žádném případě nemám v úmyslu dělat si legraci z lidí, kteří se těchto chyb dopustili. Já sám jsem jich rozhodně nadělal dost. Jako ostatně my všichni. A pozor, záměrně jsem ponechal v této knize tři vlastní chyby.* Jestli je všechny najdete, dejte mi vědět!

Jedna

Když ztrácíte čas

Dne 14. září 2004 se nad jižní Kalifornií nacházelo asi tak osm set letadel na dálkových trasách. Brzy mělo dojít kmatematické chybě, která ohrozila životy desetitisíců lidí vtěchto letadlech. Letový dispečink vLos Angeles náhle abez varování ztratil rádiový hlasový kontakt se všemi letadly. Bylo poměrně pochopitelné, že vypukla panika.

Rádiové spojení bylo mimo provoz zhruba tři hodiny. Dispečeři během té doby svými osobními mobilními telefony kontaktovali jiné dispečinky, aby letadlům řekly, že si musejí přeladit komunikaci. Kžádným nehodám nakonec nedošlo, ale deset letadel se během tohoto chaosu dostalo ksobě blíže, než povolovaly předpisy (9 kilometrů vodorovně nebo 600 metrů svisle). Dvě dvojice strojů se minuly ve vzdálenosti nižší než 4 kilometry. Čtyři sta letů na zemi se zpozdilo adalších šest set bylo zrušeno. Ato všechno kvůli jedné matematické chybě.

Oficiální zprávy jsou ohledně toho, co přesně se pokazilo, poměrně skoupé. Víme však, že za to mohla chyba vměření času na počítačích, které tento dispečink řídily. Zdá se, že systém letového dispečinku sledoval čas tak, že začal učísla 4 294 967 295 akaždou milisekundu ho zmenšil o1. Což znamená, že mu trvalo 49 dní, 17 hodin, 2 minuty a47,296 sekund, než dospěl knule.

Za normálních podmínek se počítač restartoval dříve, než ktomu došlo. Vtakovém případě se opět začalo odpočítávat od 4 294 967 295. Je pravděpodobné, že někteří lidé otomto potenciálním problému věděli, aproto zavedli pravidlo, že se systém musí nejméně jednou za třicet dní restartovat. To byl ale jen způsob, jak problém obejít. Nijak neřešil základní matematickou chybu, které spočívala vtom, že si nikdo nezjistil, kolik milisekund by měl systém být nepřetržitě vchodu. Vroce 2004 nedopatřením běžel padesát dnů vkuse, došel knule avypnul se. Osm set letadel nad jedním znejvětších měst světa bylo ohroženo, protože si někdo prostě nezvolil dostatečně velké číslo.

Lidé tento problém rychle začali svádět na nedávnou aktualizaci počítačového systému, na kterém nyní běžela jedna varianta operačního systému Windows. Některé starší verze Windows (prosluly tím hlavně Windows 95) trpěly přesně stejným problémem. Pokaždé, když jste Windows spustili, se aktivovalo počitadlo, jehož hodnota se každou milisekundu změnila. To udávalo „systémový čas“, kterým se pak řídily všechny ostatní programy. Jakmile však systémový čas Windows dosáhl hodnoty 4 294 967 295, přetočil se zpátky na nulu. Pro některé programy – především pro ovladače, které operačnímu systému umožňují interagovat sexterními zařízeními– představovala taková změna času docela problém. Tyto ovladače musejí sledovat čas, aby věděly, zda zařízení pravidelně odpovídají a„nezamrzla“ na příliš dlouhou dobu. Když jim Windows řekly, že čas náhle začal plynout pozpátku, spadly aspolu snimi se zhroutil icelý systém.

Není jasné, jestli se jednalo přímo ochybu Windows, nebo nějakého nového počítačového kódu vsamotném systému dispečinku. Tak jako tak ale víme, že viníkem tu bylo číslo 4 294 967 295. Nebylo dost velké pro domácí počítače vdevadesátých letech anebylo dost velké ani pro letový dispečink na počátku nultých let. Avroce 2015 nebylo dost velké ani pro Boeing 787 Dreamliner.

Problém sBoeingem 787 spočíval vsystému, který řídil generátory na výrobu elektřiny. Zdá se, že měřil čas pomocí počitadla, které se zvyšovalo každých deset milisekund (tedy stokrát za sekundu) ajeho maximální hodnota byla 2 147 483 647 (což je podezřele blízko polovině z4 294 967 295…). Znamenalo, že vBoeingu 787 mohla vypadnout elektřina, pokud by byl generátor zapnutý 248 dnů, 13 hodin, 13 minut a56,47 sekund vkuse. To bylo dost dlouho na to, aby se většina letadel restartovala dřív, než nastal nějaký problém, ale pořád bylo možné, že by takový výpadek mohl nastat. FAA (Federální letecká správa) situaci popsala takto:

Interní softwarové počitadlo vřídicích jednotkách generátorů (GCU) po 248 dnech nepřetržitého provozu přeteče, což způsobí, že tato GCU přejde do bezpečnostního režimu. Pokud by byly čtyři hlavní GCU (spojené sgenerátory na motorech) spuštěny ve stejnou dobu, po 248 dnech nepřetržitého provozu by všechny čtyři GCU ve stejnou dobu přešly do bezpečnostního módu, což by vedlo kúplné ztrátě dodávky střídavého proudu, bez ohledu na fázi letu.

Domnívám se, že formulace „bez ohledu na fázi letu“ voficiálním jazyku FAA znamená něco jako „to letadlo prostě mohlo spadnout“. Voficiálním rozhodnutí FAA ohledně provozu těchto Boeingů se objevil požadavek na „pravidelnou údržbu spočívající vdeaktivaci elektrických generátorů“. Jinými slovy: každý, kdo měl Boeing 787, ho nesměl zapomenout čas od času vypnout azapnout. Klasické programátorské řešení. Boeing naštěstí od té doby svůj program aktualizoval, aby problém opravil, takže příprava letadla ke startu už dnes rychlý restart nevyžaduje.

Když 4,3 miliardy milisekund prostě nestačí

Proč se tedy Microsoft, dispečink Los Angeles iBoeing při sledování času omezovali na toto zdánlivě libovolně zvolené číslo, kolem 4,3 miliardy (nebo na jeho polovinu)? Rozhodně to vypadá jako rozšířený problém. Oněco jasnější to bude, pokud se na číslo 4 294 967 295 podíváte ve dvojkové soustavě. Když ho napíšete vjedničkách anulách počítačového kódu, dostanete 11111111111111111111111111111111. Řetězec dvaatřiceti jedniček.

Většina lidí se nikdy nemusí zabývat fungováním čipů nebo binárním kódem, na němž stojí počítače. Zajímají je pouze programy aaplikace, které běží na jejich zařízeních, a(občas) také operační systém, který chod těchto aplikací umožňuje (například Windows nebo iOS). Tady všude se používají normální číslice od nuly do devítky vdesítkové soustavě, kterou všichni známe amilujeme.

Pod tím vším však leží binární kód. Když lidé používají Windows na počítači nebo Android či iOS na telefonu, interagují pouze sgrafickým uživatelským rozhraním neboli GUI. Ale pod úrovní GUI to začne být docela ošklivé. Jsou tam vrstvy počítačového kódu, které rozumějí kliknutí myši apohybu prstu po displeji, jimiž ovládáme různá zařízení, apřevádějí je na tvrdý strojový kód jedniček anul, který je mateřským jazykem počítačů.

Kdybyste měli kousek papíru, na kterém je místo pouze na pět číslic, tak největší číslo, které byste mohli napsat, by bylo 99999. Dostanete ho tak, že každé místo vyplníte největší možnou číslicí. Microsoft, letový dispečink isystémy Boeingu měly společnou jednu věc: byly to 32bitové číselné systémy, což znamená, že největším základním číslem, které vnich bylo možné zapsat, bylo třicet dva jedniček ve dvojkové soustavě neboli 4 294 967 295 vsoustavě desítkové.

Oněco horší to bylo usystémů, které chtěly jedno ztěch dvaatřiceti míst použít pro něco jiného. Pokud byste ten samý kousek papíru smístem na pět symbolů použili kzápisu záporného čísla, museli byste první místo vyhradit pro znaménko plus nebo mínus, což by znamenalo, že byste mohli zapsat jen všechna celá čísla od −9999 do +9999. Obecně se soudí, že systém Boeingu používal právě takováto „čísla se znaménkem“, takže vzhledem ktomu, že první místo bylo zabrané,** měli prostor pouze na třicet jedna jedniček, což je číslo 2147483647. Skutečnost, že počítali pouze centisekundy ane milisekundy, jim poskytla trochu času navíc – ale ne dost.

Naštěstí podobná zařízení dnes už patří minulosti. Moderní počítačové systémy obvykle bývají 64bitové, což znamená, že už vzákladu umožňují používat mnohem větší čísla. Maximální možná hodnota je samozřejmě stále konečné číslo, takže každý počítačový systém stále předpokládá, že ho nakonec vypnou azapnou. Pokud však bude 64bitový systém počítat milisekundy, dosáhne této hranice teprve po uplynutí 584,9 milionů let. Takže si nemusíte dělat starosti: dvě restartování za miliardu let budou stačit.

Kalendáře

Analogové metody měření času, které jsme používali před vynálezem počítačů, mají alespoň tu výhodu, že se jim nikdy nic podobného nestane. Ručičky hodin se mohou točit pořád dokola. Ke kalendáři můžete přidávat nové stránky, jak běží léta. Zapomeňte na milisekundy – pokud si vystačíte se starými dobrými dny aroky, žádná matematická chyba vám den nezkazí.

Tohle si aspoň myslel ruský střelecký tým, když dorazil vroce 1908 na olympiádu vLondýně několik dní před 10. červencem, kdy měly začít soutěže ve střelbě. Pokud se však podíváte na výsledky této olympiády, najdete tam všechny ostatní země, ale ovýkonech Rusů vžádné střelecké disciplíně tam není ani zmínka. Důvodem je, že den, který pro Rusy představoval 10.červenec, byl ve Velké Británii (ave většině zbytku světa) 23. červencem. Rusové používali jiný kalendář.

Zdá se zvláštní, že něco tak jednoduchého jako kalendář se může natolik pokazit, že tým mezinárodních atletů dorazí na olympiádu sdvoutýdenním zpožděním. Jenomže kalendáře jsou mnohem složitější, než byste čekali. Zdá se, že rozdělit rok na předvídatelné dny není vůbec jednoduché aty samé problémy mohou mít různá řešení.

Vesmír nám dal pouze dvě časové jednotky: rok aden. Všechno ostatní je lidský výtvor, který nám má usnadnit život. Když se protoplanetární disk shlukoval adělil na planety, které dnes známe, ta naše se zrodila surčitým momentem hybnosti. Díky tomu krouží kolem Slunce apřitom se točí kolem své osy. Oběžná dráha, kterou jsme získali, nám dala délku roku, rychlost zemské rotace zase určila délku dne.

Jenomže tyto dvě časové jednotky spolu neladí. Neexistuje přece žádný důvod, proč by ladit měly! Jsou to prostě hodnoty, které před miliardami let náhodou vytvořily kusy kamene zprotoplanetárního disku. Dnes trvá roční oběh Země kolem Slunce 365 dnů, 6 hodin, 9 minut a10 sekund. Pro jednoduchost můžeme říct, že to je 365 ačtvrt dne.

Znamená to, že když budete slavit Silvestra po roce tvořeném 365 dny, bude zeměkouli pořád ještě chybět čtvrt dne pohybu, než se vrátíte přesně tam, kde jste byli na loňského Silvestra. Země sviští kolem Slunce rychlostí asi 30 kilometrů za sekundu, takže na letošního Silvestra budete víc než 650000 kilometrů od místa, kde jste byli loni. Pokud bylo tedy vaším novoročním předsevzetím nechodit pozdě, už teď jste se pořádně opozdili!

Tohle není jenom drobná nepříjemnost, ale velký problém, protože orbitální rok je to, co ovládá roční období. Léto na severní polokouli nastává každý rok zhruba ve stejném bodě oběžné dráhy Země, protože vtomto místě náklon zemské osy zajistí, že tehdy bude severní polokoule nejblíže Slunci. Po každém roku s365 dny se kalendář sročními obdobími očtvrt dne rozejde. Po čtyřech letech by léto začínalo oden později. Během necelých čtyř set let, což je méně než například doba rozkvětu nějaké civilizace, by se roční období rozešla otři měsíce. Za osm set let by se léto azima úplně vyměnily.

Aby se to napravilo, museli jsme kalendář upravit tak, aby měl stejný počet dnů jako jeden oběh Země kolem Slunce. Nějak jsme se museli odpoutat od toho, že by měl každý rok stejný počet dnů. Přitom jsme nemohli mít dny zlomkové: lidé se zlobí, když nový den začne jindy než opůlnoci. Potřebovali jsme nějak spojit rok sdobou oběhu Země, ale nepřerušit přitom spojení mezi dnem azemskou rotací.

Většina civilizací přišla na stejné řešení: mít vrůzných rocích různý počet dnů, takže průměrný počet dnů vroce bude zlomek. Dá se to ale zařídit různými způsoby, aproto máme idnes několik různých kalendářů, které si navzájem konkurují (akaždý znich navíc začíná vjiném okamžiku historie). Pokud budete mít někdy přístup ktelefonu svého kamaráda, běžte do nastavení apřepněte mu kalendář na buddhistický. Najednou žije všedesátých letech šestadvacátého století. Zkuste ho třeba přesvědčit, že se právě probudil zkomatu.

Náš moderní kalendář je potomkem kalendáře starověké římské republiky. Ten měl pouze 355 dnů, což je daleko méně, než je třeba, aproto se mezi únor abřezen vkládal celý jeden měsíc navíc, který přidal dalších dvaadvacet nebo třiadvacet dnů. Tímto způsobem by se kalendář mohl teoreticky udržovat synchronizovaný se solárním rokem. Vpraxi bylo na politicích, kteří byli zrovna umoci, aby rozhodovali otom, kdy by se měl tento nadbytečný měsíc vložit. Vzhledem ktomu, že toto rozhodnutí mohlo prodloužit jejich vládu nebo zkrátit rok, kdy byl umoci nějaký jejich protivník, nemuseli nutně být vždy motivovaní snahou udržet kalendář vpořádku.

Politici jen vzácně zajistí dobré řešení matematického problému. Posledním rokům před rokem 46 př. n. l. se říkalo „roky zmatků“ – objevovaly se nadbytečné měsíce, pak zase mizely anemělo to mnoho společného stím, kdy byly zapotřebí akdy ne. Skutečnost, že se neohlašovaly dostatečně předem, také znamenala, že lidé, kteří cestovali mimo Řím, museli odhadovat, jaké je doma právě datum.

Vroce 46 př. n. l. se Julius Caesar rozhodl, že situaci vyřeší pomocí nového, předvídatelného kalendáře. Každý rok bude mít 365 dnů – celé číslo nejbližší skutečné hodnotě – apřebytečné čtvrtky dne se nastřádaly vždy na čtvrtý rok, ke kterému se přidal jeden den navíc. Atak se zrodil přestupný rok spřestupným dnem!

Aby se všechno správně nastavilo, měl rok 46 př. n. l. 445 dnů, což je dost možná světový rekord. Kromě bonusového měsíce mezi únorem abřeznem se mezi listopad aprosinec vložily ještě dva další měsíce. Od roku 45 př. n.l. pak každé čtyři roky přišel rok přestupný, aby se kalendář udržoval synchronizovaný.

Tedy… skoro synchronizovaný. Na začátku došlo kúřední chybě, díky níž se poslední rok každého čtyřletého období počítal zároveň jako první rok období následujícího, takže ve skutečnosti byl přestupný každý třetí rok. Ale všimli si toho, chybu opravili avroce 3 n. l. už bylo všechno na správné cestě.

Papežská nehoráznost

Julia Caesara nakonec zradilo – ikdyž až dlouho po jeho smrti – pouhých 11 minut a15 sekund rozdílu mezi 365,25 dny, které měl rok podle jeho kalendáře, a365,242188792 dny, což je skutečná doba, za kterou se vystřídají roční období. Skluz jedenáct minut ročně není zpočátku nijak zvlášť znatelný. Roční období se posunou ojeden den až za 128 let. Jenomže když se takový skluz střádá nějakých tisíc let, nahromadí se to. Amladé, dynamické náboženství zvané „křesťanství“ spojilo svou oslavu Velikonoc sročními obdobími. Počátkem 16. století tak už byla mezi datem začátku jara askutečným začátkem jara mezera deseti dnů.

Anyní jeden málo známý fakt. Často se říká, že juliánský kalendářní rok vdélce 365,25 dnů je oproti době oběhu Země příliš dlouhý. To ale není pravda! Doba oběhu Země je 365 dnů, 6 hodin, 9 minut a10 sekund, tedy otrochu více než 365,25 dnů. Juliánský kalendář je oproti době oběhu příliš krátký. Ale oproti ročním obdobím je zase příliš dlouhý. Je to bizarní, ale roční období dokonce ani přesně neodpovídají orbitálnímu roku.

Nyní jsme na takové úrovni rozlišení, že vkalendáři začínají hrát roli další orbitální mechaniky. Jak Země obíhá kolem Slunce, mění se také směr náklonu její osy. Pokud vnějakém bodě oběžné dráhy směřuje osa přímo ke Slunci, za 13 000 let bude směřovat přímo od něj. Ivkalendáři, který by dokonale odpovídal oběžné dráze Země, by se tedy roční období každých 13 000 let vyměnila. Pokud vezmeme při výpočtu oběžné doby vúvahu precesi zemské osy (změnu jejího náklonu), zjistíme, že se roční období budou opakovat vždy po 365 dnech, 5 hodinách, 48 minutách a45,11 sekundách.

Změna náklonu zemské osy nám při každém oběhu přidá navíc 20 minut a24,43 sekund. Takže skutečný siderický (doslova „hvězdný“) rok založený na době oběhu je delší než juliánský kalendářní rok, ale tropický rok založený na ročních obdobích (ato je ten rok, na kterém nám doopravdy záleží) je zase kratší. Je to proto, že roční období závisejí na náklonu zemské osy vůči Slunci ane na poloze Země jako takové. Máte mé svolení si tuhle část knihy okopírovat adát každému, kdo vtomhle nemá jasno. Možná mu navrhněte, aby si jako novoroční předsevzetí uložil pochopit, co to vlastně je „nový rok“.

Siderický rok

31 558 150 sekund = 365,2563657 dnů

365 dnů, 6 hodin, 9 minut, 10 sekund

Tropický rok

31 556 925 sekund = 365,2421875 dnů

365 dnů, 5 hodin, 48 minut, 45 sekund

Tato mírná nesrovnalost mezi juliánským kalendářem atropickým rokem byla natolik neznatelná, že vroce 1500 n. l. už juliánský kalendář používala prakticky celá Evropa aněkteré části Afriky. Jenomže katolické církvi lezlo krkem, že Ježíšova smrt (která se připomíná vsouladu sročními obdobími) se oproti jeho narození (které se slaví vpevně určený den) posouvá. Papež Řehoř XIII. se rozhodl, že se stím musí něco udělat. Všichni budou muset přejít na nový kalendář. Naštěstí pokud existuje jedna věc, kterou papež umí, je to přesvědčit velké množství lidí, aby změnili své chování, ato ze zdánlivě nahodilých důvodů.

To, co dnes známe pod jménem „gregoriánský kalendář“ ve skutečnosti nevytvořil přímo papež Řehoř (ten měl spoustu práce sřízením církve apřesvědčováním lidí, aby změnili svoje chování), ale italský lékař aastronom Aloysius Lilius, řečený Luigi. Luigi naneštěstí zemřel vroce 1576, dva roky předtím, než komise pro kalendářovou reformu jeho kalendář vmírně upravené podobě zveřejnila. Toho roku začala velká část světa používat nový kalendářní systém (ano, určitou roli vtom sehrál dokument označovaný jako papežská bula).

Luigiho přelomovým nápadem bylo, že ponechal standardní přestupné roky juliánského kalendáře, tedy každý čtvrtý rok, ale každých čtyři sta let odstranil tři přestupné dny. Předtím byly přestupné roky všechny, které byly dělitelné čtyřmi. Celý Luigiho návrh spočíval vtom, že se přestupné dny odstranily zroků, které byly zároveň násobkem sta (ale svýjimkou těch, které byly násobkem čtyř set). Teď je tedy průměrná délka roku 365,2425 dnů, což je pozoruhodně blízko žádoucí délce tropického roku, která činí zhruba 365,2422 dnů.

Ikdyž nový gregoriánský kalendář představoval matematicky lepší systém, tak vzhledem ktomu, že vznikl kvůli katolickým svátkům avyhlásila ho hlava katolické církve, byly nekatolické země proti jeho zavedení. Anglie (adíky ní tehdy iSeverní Amerika) se tedy starého juliánského kalendáře držela ještě další století apůl. Během této doby se jejich kalendář nejen rozešel sročními obdobími odalší den, ale také se lišil od kalendáře, který používala většina Evropy.

Tento problém ještě zhoršila skutečnost, že gregoriánský kalendář měl zpětnou platnost; rekalibroval probíhající rok, jako by se používal odjakživa ajuliánská varianta neexistovala. Zpapežské moci bylo vyhlášeno, že se říjnu 1582 odebere deset dnů, atak vkatolických zemích po 4. říjnu 1582 ihned následoval 15. říjen. To všechno samozřejmě působí určitý zmatek vhistorických datech. Když se 12. července 1627 během jedné zválek mezi Anglií aFrancií vylodilo anglické vojsko na ostrově Île de Ré, byly francouzské síly připraveny kboji 22. července. Což bylo přesně ten samý den. Alespoň že pro obě armády byl čtvrtek.

Jakmile však gregoriánský kalendář prokázal, že si lépe poradí sročními obdobími anení to jen papežova libůstka, přešly na něj postupně iostatní země. Výnos britského parlamentu zroku 1750 poukazuje na to, že se datum vAnglii liší nejen od data ve zbytku Evropy, ale dokonce iod data ve Skotsku. Anglie tedy kalendář změnila, ale bez jakékoliv přímé zmínky opapeži. Pouze se nepřímo zmiňovala jistá „metoda opravy kalendáře“.

Anglie (kníž stále patřily některé části Severní Ameriky, byť toto pouto už viselo na vlásku) přešla na gregoriánský kalendář vroce 1752 adatum srovnala tím, že změsíce září vypustila jedenáct dnů. Po 2. září 1752 tedy následovalo 14. září 1752. Navzdory tomu, co se možná dočtete na internetu, si nikdo nestěžoval, že přišel ojedenáct dnů života, anikdo nedemonstroval scedulemi „Vraťte nám našich jedenáct dnů“. Tímhle jsem si docela jistý: navštívil jsem totiž Britskou knihovnu vLondýně, kde mají každé noviny, které kdy vAnglii vyšly, avyhledal jsem si vydání zté doby. Žádná zmínka ostížnostech, jenom reklamy na nové kalendáře. Výrobcům kalendářů nastaly zlaté časy.

Mýtus, že lidé proti změně kalendáře protestovali, podle všeho pochází zpolitických debat před volbami vroce 1754. Opoziční strana napadala všechno, co udělala během svého volebního období druhá strana, včetně změn vkalendáři akrádeže jedenácti dnů. Právě tato situace byla zachycena na obraze Williama Hogartha nazvaného Zábava při volbách. Jediné protesty, které tehdy někdo vyjádřil, souvisely stím, že někdo nechtěl platit daně za celých 365 dnů vroce, který měl dnů méně. Dalo by se říct, že byly oprávněné.

Rusko kalendář změnilo až vroce 1918, kdy únor začal čtrnáctého namísto prvního, aby se opět srovnali se všemi ostatními, kteří používali gregoriánský kalendář. Hodně lidí to muselo zaskočit. Představte si, že se probudíte amyslíte si, že máte ještě dva týdny čas – anajednou zjistíte, že je tu Valentýn. Tento nový kalendář znamenal, že na olympiádu vroce 1920 by Rusové už dorazili včas – mezitím se však zRuska stalo Sovětské Rusko, které zpolitických důvodů pozváno nebylo. Další olympijské hry, kterých se zúčastnili ruští atleti, se konaly až vroce 1952 vHelsinkách. Tam už konečně zlatou medaili ve střelbě získali.

Ale ani náš současný gregoriánský kalendář není – navzdory všem vylepšením – úplně dokonalý. Průměrný počet 365,2425 dnů vroce je sice hezký, ale pořád to není přesně 365,2421875. Stále ještě přebývá 27 sekund za rok. Znamená to, že současný gregoriánský kalendář se každých 3213 let posune ojeden celý den. Jednou za půl milionu let se roční období prohodí. Ajistě se zhrozíte, když vám řeknu, že vsoučasné době neexistují žádné plány, jak to dát do pořádku!

Pravda je taková, že vtak dlouhém časovém měřítku budeme mít jiné starosti. Pohybuje se totiž nejenom osa zemské rotace, ale ioběžná dráha Země. Dráha má tvar elipsy amísta největšího anejmenšího přiblížení ke slunci dělají ve Sluneční soustavě kolečko zhruba jednou za 112 000 let. Pokud to ovšem nenaruší gravitace ostatních planet. Sluneční soustava je pěkný chaos.

Ale vastronomii je to Julius Caesar, kdo se směje naposled. Světelný rok, tedy vzdálenost, kterou světlo (ve vakuu) urazí za jeden rok, se definuje pomocí juliánského roku odélce 365,25 dnů. Znamená to, že vesmír měříme pomocí jednotky, kterou částečně definoval jeden starověký Říman.

Den, kdy se zastaví čas

Vúterý 19. ledna 2038 ve 3:14 přestane řada našich moderních mikroprocesorů apočítačů fungovat. Ato všechno jen kvůli tomu, jak ukládají aktuální datum ačas. Počítače mají už tak dost problémů sudržováním přehledu otom, kolik sekund uplynulo od jejich spuštění – akdyž ktomu přidáte všechna ta data týkající se data, je to ještě horší. Počítačové měření času se potýká jak se všemi starověkými problémy udržování kalendáře synchronizovaného splanetou, tak ismoderními omezeními binárního kódování.

Počátkem sedmdesátých let se začaly objevovat první předchůdci moderního internetu abylo zapotřebí mít nějaký konzistentní standard pro měření času. Institute of Electrical and Electronics Engineers (IEEE) vytvořil kvyřešení tohoto problému komisi ata vroce 1971 navrhla, aby všechny počítačové systémy počítaly, kolik šedesátin sekundy uplynulo od začátku roku 1971. Elektrický proud, který počítače poháněl, měl frekvenci 60 hertzů – pokud by se stejná hodnota používala ivsystému, situace by se tím zjednodušila. Velice chytré. Až na to, že šedesátihertzový systém by místo ve dvaatřicetibitovém binárním čísle vyčerpal za dva roky, tři měsíce anějaké drobné. To už tak chytré není.

Atak systém překalibrovali tak, aby počítal počet celých sekund, které uplynuly od začátku roku 1970. Ten byl uložen jako 32bitové binární číslo se znaménkem, což umožňovalo maximální hodnotu 2 147 483 647 sekund – oněco přes šedesát osm let od roku 1970. Atohle vytvořili lidé zgenerace, která během osmašedesátiletého období do roku 1970 viděla, jak lidstvo dospělo od vynálezu prvního letadla bratrů Wrightových kprocházce po Měsíci. Byli si jistí, že do roku 2038 se počítače změní knepoznání aunixový čas už používat nebudou.

Apřesto jsme tam, kde jsme. Vymezený čas už víc než způlky uplynul, amy pořád používáme ten samý systém. Hodiny tikají – doslova.

Počítače se sice opravdu změnily knepoznání, ale unixový čas, na kterém stojí, tam stále je. Pokud máte Mac nebo jakékoliv zařízení, na kterém běží Linux, je tam – vdolní polovině operačního systému, hned pod GUI. Pokud máte někde po ruce Mac, otevřete si na něm aplikaci Terminal, což je brána ktomu, jak váš počítač opravdu pracuje. Napište date +%sastiskněte Enter. Přímo před očima se vám objeví počet sekund uplynulých od 1. ledna 1970.

Pokud čtete tyto řádky dříve než ve středu 18. května 2033, stále ještě to nebyly ani dvě miliardy sekund. To bude mejdan! Vmé časové zóně bohužel vté době bude asi půl páté ráno. Pamatuju si na jeden večírek z13. února 2009, kdy jsem sněkolika kamarády slavil uplynutí 1 234 567 890 sekund – bylo to těsně po 23:31. Můj programátorský kamarád Jon napsal program, který nám ukazoval přesný odpočet. Všichni ostatní vbaru se velice divili, proč slavíme Valentýna opůl hodiny dřív.

Ale oslavy teď řešit nebudeme – jsme hodně za polovinou odpočtu ke zkáze. Po 2 147 483 647 sekundách se všechno zastaví. Microsoft Windows mají svůj vlastní systém měření času, ale MacOS je postavený přímo na Unixu. Ještě důležitější je, že na mnoha důležitých počítačových procesorech ve všem možném, od internetových serverů až po vaši pračku, běží nějaký potomek Unixu. Ty všechny jsou zranitelné chybou Y2K38.

Neviním lidi, kteří původně unixový čas vytvořili. Pracovali stím, co měli vté době kdispozici. Inženýři si vsedmdesátých letech říkali, že problémy, které způsobí, opraví někdy vbudoucnu někdo jiný (klasičtí boomeři). Ašedesát osm let je skutečně docela dlouhá doba. První vydání této knihy vyšlo vroce 2019 ajá občas přemýšlím otom, jak ji připravit pro budoucí čtenáře. Možná by tu mělo být uvedeno „vdobě, kdy toto píšu“, nebo bych měl při vysvětlování brát vpotaz, že se věci vbudoucnu mohou měnit aže moje slova mohou být časem nadobro zastaralá. Možná tuto knihu čtete až po uplynutí oněch dvou miliard sekund vroce 2033 – to jsem vzal vúvahu. Neberu ale ohledy na lidi, kteří ji budou číst vroce 2087. To je přece až za šedesát osm let!

Nějaké kroky křešení se už podnikly. Procesory, které standardně používají 32bitová binární čísla, se souhrnně označují jako „32bitové systémy“. Když kupujete nový laptop, možná si nebudete ověřovat, jaké má standardní binární kódování, ale Macy jsou už téměř deset let 64bitové anejběžněji používané počítačové servery už se asi také dostaly na 64 bitů. Otravné je, že některé 64bitové systémy stále zaznamenávají čas v32bitovém čísle se znaménkem, aby si mohly hezky hrát se svými staršími počítačovými kamarády. Většinou ale platí, že když si koupíte 64bitový systém, dokáže si udržovat přehled očase ještě hodně dlouho.

Největší hodnota, která se dá uložit v64bitovém čísle se znaménkem, je 9 223 372 036 854 775 807, atento počet sekund je ekvivalentní 292,3 miliardám let. Vtakových chvílích začne být užitečnou měrnou jednotkou stáří vesmíru: 64bitový unixový čas vydrží od této chvíle ještě jedenadvacetinásobek současného stáří vesmíru. Dokud se – za předpokladu, že do té doby neuděláme další upgrade – všechny počítače 4. prosince roku 292277026596 n. l. nezhroutí. Ten den bude neděle.

Jakmile budeme žít ve zcela 64bitovém světě, budeme vbezpečí. Otázka zní: stihneme upgradovat tu spoustu mikroprocesorů vnašich životech do roku 2038? Potřebujeme buď nové procesory, nebo nějaký patch, který by ty staré přiměl ukládat čas jako neobvykle velké číslo.

Zde je seznam věcí, unichž jsem vposlední době musel aktualizovat software: žárovky, televizor, domácí termostat apřehrávač médií, který se zapojuje do televize. Jsem si dost jistý, že tohle všechno jsou 32bitové systémy. Budou aktualizované včas? Jak tak znám svou posedlost aktualizovaným firmwarem, pravděpodobně ano. Bude ale hodně systémů, které upgradované nebudou. Vmyčce, pračce aautě jsou také procesory ajá vůbec netuším, jak bych je měl aktualizovat. Jak se aktualizuje pračka?

Je snadné mávnout nad tímto tématem rukou, že jde odruhý Y2K, „chybu tisíciletí“, která se nekonala. Tehdy šlo oto, že software vyšší úrovně ukládal rok jako dvouciferné číslo, takže maximální hodnota byla devadesát devět. Díky masivnímu úsilí bylo aktualizováno téměř všechno. Jenomže to, že katastrofa byla odvrácena, neznamená, že nepředstavovala žádné nebezpečí. Je riskantní usnout na vavřínech, protože jsme Y2K zvládli tak dobře. Y2K38 bude vyžadovat aktualizaci mnohem fundamentálnějšího počítačového kódu avněkterých případech isamotných počítačů.

Přesvědčte se sami

Pokud chcete vidět chybu Y2K38 vakci, najděte nějaký iPhone. Možná to funguje iujiných telefonů, možná to nějaká aktualizace na iPhonech jednoho dne opraví. Prozatím ale vestavěné stopky využívají vnitřní hodiny aukládají svou hodnotu jako 32bitové číslo se znaménkem. Toto spoléhání se na hodiny znamená, že pokud spustíte stopky apotom vrátíte na hodinách čas, čas naměřený na stopkách náhle poskočí kupředu. Když budete opakovaně posouvat čas na telefonu dopředu adozadu, můžete čas na stopkách vytáhnout děsivou rychlostí. Dokud stopky nenarazí na 64bitový limit anespadnou.

Když stíhačka nestíhá

Jak těžké může být vědět, kolikátého je? Nebo kolikátého bude? Mohl jsem bezpečně prohlásit, že 64bitový unixový čas vyprší 4. prosince 292277026596 n. l., protože gregoriánský kalendář je velice předvídatelný. Vkrátkodobém horizontu je nesmírně jednoduchý akaždých několik let se opakuje. Pokud vezmete vúvahu dva typy roků (normální apřestupné) asedm možných dnů vtýdnu, kdy může rok začít, musíte skončit sněkterým zpouhých čtrnácti možných kalendářů. Když jsem kupoval kalendář na rok 2019 (nepřestupný rok, který začínal úterkem), věděl jsem, že bude stejný jako vroce 2013, takže jsem mohl lacino koupit kalendář zdruhé ruky. (Ve skutečnosti jsem sehnal jeden zroku 1985, aby to bylo víc retro.)