Psáno pro Zpravodaj Společnosti pro trvale udržitelný život (10.11.2009)
Determinantově informatické zamyšlení
Asi by nebylo moudré předpokládat, že všem čtenářům je blízký pojem determinantu. A tak se za následující zjednodušující vysvětlení omlouvám těm, kdo "si s determinanty tykají". Determinant řádu n je číslo, které je určitým způsobem přiřazeno každé čtvercové matici řádu n, tedy tabulce, která má v n řádcích a n sloupcích celkem nxn čísel. Podle definice determinant vypočítáme tak, že vytvoříme všechny možné součiny obsahující právě jedno číslo z každého řádku a zároveň právě jedno číslo z každého sloupce, podle určitého pravidla u poloviny z nich změníme znaménko a konečně je sečteme. Z aritmetických operací tak definice determinantu využívá sčítání (popř. odčítání) a násobení; dělení se tam nevyskytuje. Determinanty se používají v nejrůznějších výpočtech o jejich užitečnosti snad nikdo, kdo s nimi pracuje, nepochybuje.
Můžeme si položit otázku, kolik takových součinů se vyskytne v determinantu řádu n. Odpověď je n!, tedy 1.2.3. ... .n, pro n=3 jde o 6 součinů, pro n=4 o 24, pro n=5 o 120, atd. S každým takovým součinem je spojeno několik operací: vynásobení oněch n činitelů a pak promítnutí součinu do výsledného součtu. Předpokládejme, že máme nějaký starší počítač, který zpracuje za 1 sekundu 100 takových součinů. Determinant řádu 4 by vypočítal za čtvrt sekundy - to bychom brali asi ještě jako "bez čekání", u determinantu řádu 5 bychom čekali zhruba sekundu, což už bychom jako malé čekání vnímali. U determinantu řádu 7 by šlo zhruba o minutu, u determinantu řádu 9 o hodinu; větší determinant by se v rámci pracovní doby už vypočítat nedal, výpočet determinantu řádu 13 by trval zhruba dva roky. Dnes běžné řešení, na něž jsme si zvykli spoléhat, je zlepšení technických parametrů, u počítačů především zvýšení rychlosti o několik dekadických řádů. A tak se podívejme, jaký přínos zde bude znamenat. Představme si, že budeme mít počítač, který místo stovky součinů jich za sekundu zpracuje miliardu. Takový skvělý stroj nám vypočítá determinant řádu 13 za několik málo sekund. To je neskutečně krátká doba v porovnání s původními dvěma roky. A jak velký determinant zvládne během osmihodinové pracovní směny? Odpověď už nezní zas tak moc radostně - bude to determinant řádu 16. To úžasné desetimiliónnásobné zrychlení počítače nám umožnilo, že v pracovní době můžeme místo dřívějšího determinantu řádu 9 vypočítat podle definice determinant řádu 16, tedy ani ne dvojnásobného (doufám, že čtenáři dosud neseznámení s teorií výpočetní složitosti prožívají náležité zklamání).
Při výpočtu determinantů však nemusíme vycházet přímo z definice, byly vymyšleny i jiné metody, při nichž však potřebujeme navíc operaci dělení (a s tím bývá spojena nepříjemná nutnost zaokrouhlovat). Počet kroků, které potřebují tyto metody, je přímo úměrný třetí mocnině řádu determinantu. Pro jednoduchost předpokládejme, že pomalejší počítač potřebuje k výpočtu tolik setin sekundy a rychlejší tolik miliardtin, kolik je třetí mocnina řádu determinantu. (Odpovídá to původnímu předpokladu o rychlostech počítačů.) Pomalejší počítač bude tedy počítat determinant řádu 4 necelou sekundu, determinant řádu 13 mu vezme téměř 22 sekund a determinant řádu 25 bude počítat necelé tři minuty, což je doba velice vhodná k tomu, aby si výpočtář mohl připravit kávu. A pro úplnost dodejme, že za směnu by se dal vypočítat i determinant řádu kolem 140. A co rychlejší počítač? Sekundu potřebuje na determinant řádu 1000. Výpočet determinantu řádu 25 spotřebuje několik milisekund, a tak se výstup výsledku bude jevit jako okamžitá odpověď.
Možná i přes snahu o čtivý text si leckterý čtenář povzdechne, co nás ten autor tady tak otravuje teorií výpočetní složitosti a lineární algebrou? Autor však ví, že teď opravdu nemá psát o matematice, nýbrž o udržitelném rozvoji. A ví o úsilí pomocí různých technologických a legislativních opatření se dostat v této oblasti do lepší situace. Ví, jak Evropa se upíná k boji proti emisím oxidu uhličitého (i když naprosto není přesvědčen o účinnosti zbraní pro tento dílčí cíl používaných). A moc mu všechno toto usilování připomíná zrychlování počítačů při neefektivním výpočetním postupu. Jak ohromný technický pokrok je třeba, abychom tam, kde jsme mohli dříve vypočítat determinant řádu 9, jsme se dostali dál - ale jen k 16.
Mnohem efektivnější cesta záleží ve "změně metody". U výpočtu determinantu to vyžadovalo kromě matematického nadhledu i ochotu použít "nepříjemné" dělení, na cestě k udržitelnému rozvoji spočívá ono efektivní řešení ve změně lidských hodnot, ve změně vnímání skutečnosti, myšlení a jednání. Ve změně osobních i společenských cílů. V návratu k přirozenému myšlení zahrnujícímu vědomí přináležitosti k celku, tvořenému druhými lidmi i přírodou. Ve vědomí toho, že druhý člověk nestojí a priory proti mně, ale se mnou, že máme jít spolu, přijmout jeden druhého, snažit se navzájem se pochopit a obohatit. Že to mimolidské životní prostředí máme sdílet spolu i s pozdějšími generacemi.
A pokud jde o ta technická, legislativní a organizační zlepšení ve prospěch udržitelného rozvoje - díky za ně. Jsou cenná a důležitá, nicméně nemohou nahradit to nejdůležitější - vnitřní změnu člověka. Konec konců, snad i ten příklad s determinanty ukazuje, že ani ta rychlost počítačů není k zahození - i když ona příležitost udělat si během výpočtu počítačem kávu může u rychlých počítačů někomu docela chybět (naproti tomu ti, kteří věří ve škodlivost kávy, budou i zde, ve ztrátě příležitosti pro kafíčko, vidět další přínos technického pokroku).
A tak končím toto "determinantově informatické zamyšlení" přáním, aby se všem akcím ve prospěch udržitelného rozvoje dařilo, a abychom při tom nezapomínali na to nejdůležitější, na to co není mimo nás, nýbrž v nás, v našich myslích a srdcích. A ještě poznamenávám, že ona změna člověka, k níž upírám svou pozornost a svou naději, se řecky řekne METANOIA a do češtiny se překládává jako "pokání". Žel, toto slovo se používá jen v náboženském jazyce (a to někdy ještě zkresleně jako vyjádření uznání viny, i když by mělo jít o přijetí radikální změny). V běžném jazyce chybí. A přitom vyjadřuje něco tak nesmírně potřebného!
Jiří Nečas