Proměny informatiky

Inaugurační přednáška Jiřího Zlatušky proslovená 9. října 1998 v aule Masarykovy university v Brně

Vážená akademická obci, vážení hosté, dámy a pánové,

je mi velkou ctí předstoupit před toto shromáždění, na kterém mi bude v duchu tradic universitní autonomie a svobody akademického bádání i učení předána štafeta péče o další rozvoj Masarykovy university. Obyčej, podle kterého se ve svobodných dobách stává rektorem jeden z profesorů university a nikoli zvenčí dosazený úředník, mi ukládá uvést se při této příležitosti přednáškou z vlastního oboru. Rád vyhovuji této zvyklosti, která odráží úlohu bádání jako stěžejního poslání university, odkud vyrůstá i její úloha předávání poznatků studentům.


Informatika je mladá disciplína, která teprve pomalu odrůstá adolescentnímu hledání a uvědomování si sama sebe. Souhra technického vývoje a paralelního vytváření vlastní vědní discipliny, která je pokrokem v technickém vybavení často velmi výrazně motivována, vytváří prostředí, které může být málo průhledné pro ty, kteří na ně hledí z relativně pevné půdy již etablovaných vědních oborů. Některé úhly pohledu dávají vyniknout aspektům technologickým a souvisejícímu použití metod a nástrojů více méně inženýrským způsobem v aplikacích. Jiné zvýrazní používané matematické modely, které jakoby charakter výsledků vědecké práce v informatice jen posouvaly do diskrétní matematiky. Z dalšího pohledu začne do popředí vystupovat hledisko bližší spíše obecnému užití informačních technologií v běžném životě a pohled na informatiku jako užitou techniku s dopady, jejichž studium může být spíše předmětem třeba sociologických studií.

Podíváme-li se podrobněji na to, jak se jevy, které se v těchto pohledech zvýrazňují, postupně vyvíjely, začnou se rýsovat zřetelnější obrysy struktury, z níž v takových pohledech vidíme spíše jen rozpletená vlákna kompaktnějšího celku. Mezi nimi se objeví pojmy, techniky a metodologie, které vycházejí z motivací a výsledků informatiky jako osobité a velmi fundamentální disciplíny. Pokusím se zprostředkovat pohled na některé z proměn informatiky, které ovlivňují jak podobu vnímanou vnějšími pozorovateli, tak i charakter základních pojmů, se kterými informatika pracuje sama pro sebe.

První zárodky počítačů jako jednoduchých strojů na počítání s čísly lze vysledovat do zhruba poloviny 17. století, kdy Blaise Pascal roku 1645 sestrojil první jednoduchou kalkulačku. Již na této jednoduché sčítačce zaujala Pascala potřebná souhra v činnosti ozubených koleček v jejím mechanismu natolik, že ji označil za činnost přibližující se mysli více než jakékoli jiné činnosti živých organismů.

Gottfried Wilhelm Leibnitz tento mechanismus vylepšil přidáním přídavného kolečka umožňujícího adjustaci činitelů a vyřešil tak problém realizace násobení a dělení. Inspirace takovým složitějším mechanismem ho přivedla k základům práce s formálními jazyky, možnostmi kódování libovolné informace do čísel a tedy i redukce obecných operací s pojmy na operace s čísly. Takové mechanické manipulace viděl jako obecnou metodu, která umožní veškeré myslitelné pravdy převést na nějaký druh číselných výpočtů a předpokládal možnost vyvinutí universálního filosofického kalkulu pro řešení vědeckých problémů mechanickou cestou.

V desetiletích kolem poloviny minulého století vypracoval pozoruhodný britský podivín Charles Babbage návrhy a částečnou realizaci dvou gigantických mechanických počítačů z nichž druhý, nikdy plně nerealizovaný ``Analytický stroj'' měl strukturu velmi blízkou struktuře pozdějších elektronických počítačů, včetně paměti, prostředků vstupu a výstupu děrovaných informací a specializované výpočetní jednotky na aritmetické operace. Matematicky nadaná dcera lorda Byrona, Ada Augusta lady Lovelace, vymyslela při úvahách o způsobu práce s takovým strojem řadu programovacích technik, které se při programování počítačů dodnes skutečně používají. Možnost vstupu i výstupu děrovaných informací přivedla Babbage na myšlenku, že by si Analytický stroj mohl sám připravovat svůj vlastní předpis činnosti, tedy program.

Mechanická podstata těchto raných výpočetních strojů narazila v Babbageových návrzích na hranice toho, co je touto cestou realizovatelné, a s velikostí záměru rostla cena natolik, že se stával prakticky neuskutečnitelným. Elektronické počítače tento trend radikálně změnily. Od konce druhé světové války nejen pokračuje vývoj stále výkonnějších výpočetních mechanismů na bázi polovodičů, ale již několik desetiletí se každých 18 měsíců zhruba zdvojnásobí hustota komponent na používaných čipech a tím na polovinu klesá cena za jednotku výkonu podle empirického pravila, kterému se obvykle říká Mooreův zákon.

Leibnitzovy ideje inspirovaly několik generací matematiků k práci na formalismech, které pomocí vytvářených kombinací několika základních symbolů popisovaly realizaci složitějších abstraktních matematických konstrukcí. Na začátku tohoto století formuloval matematik David Hilbert výzkumný program, který měl za úkol redukovat veškerou vyšší či abstraktnější matematiku na jednoduché a intuitivně pochopitelné elementární aritmetické manipulace s přirozenými čísly. Jedním z jednoduchých důsledků, které by uskutečnění Hilbertova programu mělo, bylo snadné dokazování bezespornosti matematických teorií založených na axiomech a odvozovacích pravidlech, které by se redukovalo na fakt bezespornosti jednoduché aritmetiky.

Hilbertův program se ukázal jako principiálně neuskutečnitelný díky výsledku brněnského rodáka Kurla Gödela. Ten v roce 1931 ukázal, že žádný formální systém vlastností, které Hilbert požadoval, nemůže existovat. Gödel přišel na jednoduchý způsob kódování tvrzení o vlastnostech logických formulí i těchto formulí samých tak, že se mu podařilo v jazyce matematiky vytvořit prostředky v podstatě programátorskými formuli, která by při realizaci Hilbertova programu vedla k paradoxu---totiž k dokazatelné formuli totožné s tvrzením o nedokazatelnosti sebe samé.

Gödelův výsledek znamenal smrtící ránu více než třem desetiletím systematického úsilí vynikajících matematiků, kteří se pokoušeli na bázi teorií opírajících se pouze o jednoduchý logický kalkul s elementární matematikou vytvořit konstrukci odpovídající Leibnitzově universálnímu vědeckému kalkulu pro matematiku. Jejich výsledky však nepřišly vniveč. Ukázalo se totiž, že čistě logická část jejich kalkulů využitelná bez nežádoucích paradoxů je, a že několik nezávisle na sobě vyvinutých formalizací má přesně stejnou vyjadřovací sílu. Britského logika Alonza Churche tato shoda vedla k proslovení tzv. Churchovy teze, podle které výpočetní mechanismy, jež jimi jdou realizovat, odpovídají právě procesům, které lze pomocí stroje nebo ručně vykonat podle pevně daného předpisu výpočtu, tzv. algoritmu.

Zjednodušená verze Churchova logického aparátu, tzv. lambda-kalkul, se stala prototypem matematického popisu programů a některých programovacích technik. Aparát, který byl jen zbytkovým produktem pokusu o řešení Hilbertova programu se najednou ukázal jako aparát vhodný pro popis funkcí, které realizují výpočetní procesy. Funkce tradičně studované v matematice se obvykle chápou jako grafy funkcí, kde je věcí jednoduchého odečtení funkční hodnoty z tohoto grafu, aby byla nalezena hodnota funkce na argumentu. Churchův aparát umožnil naopak vystihnout vlastnosti procesu výpočtu funkční hodnoty na argumentu, což je pohled, který v čistě matematickém funkcionálním kalkulu nebyl do té doby třeba.

Patrně nejznámější formalizací takových funkcí popsaných způsobem výpočtu je tzv. Turingův stroj britského matematika Alana Turinga. Jedná se o popis idealizovaného mechanismu, který má možnost se podle velmi jednoduchého tabulkou daného předpisu pohybovat po pásce a číst z ní znaky nějaké abecedy nebo je zapisovat. Turing použil pro myšlenkové experimenty se svým formalismem jednoduchou úvahu o možnosti representovat popis tabulky akcí Turingova stroje jako předpisu uloženém na pásce. Došel tak k definici tzv. universálního Turingova stroje, který je schopen si zadání přechodové tabulky přečíst a podle její specifikace simulovat činnost tak, jak by postupoval stroj s takovou přechodovou tabulkou do sebe zabudovanou přímo.

Přímým důsledkem existence takového universálního Turingova stroje, který platí pro jakýkoli stejně silný nebo silnější aparát, je důkaz existence problémů, které pomocí něj řešit nejdou, tzv. nerozhodnutelných problémů. Turing totiž ukázal, jak pomocí universálního stroje připravit mechanismus, který umožňuje zkonstruovat paradox lháře jako důsledek existence řešení tzv. problému zastavení, tj. problému určit, zda daný program či Turingův stroj někdy zastaví svoji činnost nebo bude pokračovat do nekonečna.

Techniky kódování jednoho problému nebo dat pomocí jiného se staly základním nástrojem dokazování rovnocennosti takových formálních aparátů a důkazů, že nejrůznější možná zesílení podoby Turingova stroje, například přidáváním dalších pásek nebo dalších autonomních čtecích nebo zapisovacích hlav, nevedou ke zlepšení, a síla takového modifikovaného stroje prakticky nikdy není větší než síla "základního modelu". Téma kódování či jakési symbolické representace složitějšího problému prostředky problému jiného, má podstatné důsledky pro možné širší aplikace metod, které přináší nejjednodušší báze takových representací, totiž dvojková soustava opírající se jen o dva elementární stavební prvky, bity 0 a 1.

Úloha této tzv. digitalizace se ovšem neomezuje jen na základ kódovacích procesů uvnitř informatiky jako disciplíny samé pro sebe, ale je zodpovědná za dalekosáhlé praktické aplikace. Nejdůležitější efekt, který pro ně přináší, je snadné vytváření věrných kopií informací v digitálním tvaru bez nepříjemného zkreslení nebo opotřebení. Počítačové sítě typu Internet by na klasickém analogovém základě nebylo možné realizovat právě proto, že narůstající zkreslení a šum v analogovém signálu by v distribuované síti s globálním dosahem fungování decentralizované architektury vůbec neumožnily. Podobný fundamentální význam věrné replikace digitálních objektů najdeme ve vysoce paralelních výpočetních systémech, které by rovněž na analogovém základě nebyly možné.

Takto vytvářené digitální prostředí má však své dvě tváře, které vypadají zcela odlišně. Jedna z nich je principiální nutnost jednoduché replikace již existujících konfigurací, která v soudobých informačních nebo také symbolických ekonomikách vytváří globálně fungující procesy a priorizuje roli invence jako hlavního konkurenčního faktoru. Tou druhou je naopak tendence zajistit unikátnost některých informačních transakcí a najít mechanismy, které by na úrovni vlastních elementárních procesů dokázaly replikovat roli unikátnosti i do digitálního světa.

Popisujeme-li funkce jako výpočetní procesy a nikoli jen jako statické grafy, začne mít smysl uvažovat o složitosti procesu výpočtu funkční hodnoty jako počtu kroků, které potřebujeme k výpočtu provést. Každému výpočetnímu předpisu je pak možno přiřadit jeho složitost jako funkci velikosti vstupních dat, která do výpočtu vcházejí. Charakterizace výpočtových složitostí funkcí přivedla roku 1959 Michaela Rabina k vyčlenění třídy funkcí, jejichž výpočet je "těžký" a k formalizaci toho, co tento pojem "těžkého výpočtu" znamená jako charakterizace, která je odmyslitelná od konkrétního zvoleného výpočetního mechanismu. Rabinovi se nejen podařilo dokázat existenci takových těžkých funkcí, ale ukázal existenci i jiného druhu funkcí, tzv. "jednosměrných funkcí", které se snadno vypočítají, ale kde je těžké počítat jejich inverzi, tj. zjistit z výsledku, jaká byla vstupní data.

Existence jednosměrných funkcí se stala základem tzv. "šifrovacích systémů s veřejnými klíči". V takových systémech není třeba pracovat s dvojicí utajených klíčů pro šifrování a dešifrování zpráv pro každou dvojici komunikujících. Je totiž možné pro každého příjemce zpráv zveřejnit klíč, kterým pro něj mají být zprávy šifrovány. Tento veřejný klíč je vytvořen pomocí jednosměrné funkce tak, že k dešifrování zakódovaného textu stačí použít tajný klíč, který se nikdy nikam nedopravuje a jeho výpočet z veřejného klíče je těžký---to znamená prakticky neproveditelný. Malou modifikací této metody lze definovat a zvládnout např. digitální podpisy, kde nikdo kromě podepisovaného nemá možnost takový podpis realizovat a jeho autorství je podle veřejného klíče možné ověřit.

Šifrovací systémy s veřejnými klíči se dnes v síťovém prostředí používají pro zřizování komunikačních kanálů, které by i v otevřeném prostředí byly zabezpečené proti odposlechu. Strana, která takového spojení chce využít, vygeneruje veřejný klíč, který otevřeným kanálem pošle partnerovi, ale nechá si pro sebe informaci pro možnou dešifraci. V komunikačních kanálech bez použití šifrování nemáme žádnou jednoduchou metodu, jak se bránit odposlechu nebo ho alespoň detegovat, protože vyrobit kopii zprávy na bázi 0 a 1 je velmi snadné. Úspěšné použití těchto šifrovacích systémů je velmi důležitou podmínkou zachování soukromí při elektronických transakcích i rozvoje elektronického obchodu. Principiální těžkost výpočtu funkce tak není slabinou, ale podstatnou předností takového systému.

Existence výpočetně těžkých funkcí jakoby kompenzovala rychlý růst, který vyplývá z Mooreova zákona. Výpočetní složitost je invariantní vůči zvolenému výpočetnímu modelu ve velmi širokém spektru parametrů takového modelu. Neplatí to však zcela absolutně. Jednou z klíčových podmínek je intuitivní shoda v hrubých parametrech výpočetního modelu a jeho možné fyzikální realizace.

Zmenšování rozměrů procesorů vlivem Mooreova zákona zmenšuje objem prostoru, ve kterém k výpočtům dochází a je otázkou nejvýše příštích dvaceti let, než se do činnosti prakticky realizovaných výpočetních systémů začnou v podstatné míře projevovat i efekty kvantové mechaniky.

Richard Feynman, jedna z legendárních postav moderní fyziky a nositel Nobelovy ceny za fyziku, upozornil v roce 1982 na některé problémy, které činí nemožnou efektivní simulaci kvantových systémů pomocí tradičních počítačů. Východisko tehdy hledal v možnosti realizace kvantového počítače, vůči kterému by technická báze dnešních počítačů mohla být stejně primitivní, jako mechanické počítací stroje na bázi ozubených koleček, na kterých začali chápat možnosti disciplíny naši předchůdci, vůči dnešním počítačům.

Kvantový bit, tzv. kvebit (anglicky qubit), se stává veličinou, která může nabývat spojité škály hodnot. Jeho replikace přestává být možná a prosté měření kvebitu jej může transformovat do klasických bitů podle příslušné pravděpodobnostní funkce. Kvantový výpočet je reversibilním procesem, který může být realizován v dopředném i zpětném chodu. Informační obsah kvebitů je závislý na kontextu užití a způsobu měření a v případě tzv. "provázaných kvebitů" může být ovlivněn i hodnatami na současně měřených jiných kvebitech.

Z hlediska výpočetních možností je snad nejzajímavější schopnost "kvantového paralelismu", kdy v jednom kroku kvantový počítač vykonává zaráz všechny koherentní kroky výpočtu, které mohou odpovídat variantním větvím v klasickém pojetí. V důsledku toho mohou zcela selhat některé základní předpoklady o těžkém provádění některých druhů výpočtů, protože již jsou známy postupy jak například rozklad čísla na prvočinitele provádět vysoce efektivním způsobem.

Pro klasickou kryptografii postavenou na veřejných klíčích to může znamenat vážné ohrožení, protože se zhroutí jeden ze zásadních předpokladů jejího fungování. Současně s tím se však objevují principiálně nové možnosti kvantových kryptografických protokolů, jejichž bezpečnost je založená na fyzikálních zákonech a "odposlouchávání" provozu v v nichž není možné, aniž by se to nedalo zjistit. Na první pohled by se mohlo zdát, že se jakoby opakuje situace matematických logiků, kteří formalismy, o které se opírá klasická informatika, vyprodukovali jako boční efekt nějakého jiného úsilí. Kontrakce času a rychlosti realizace takových fundamentálních řešení však vede k tomu, že experimentální zařízení vykonávající někeré druhy kvantových výpočtů již byla prakticky realizována, probíhají experimenty s kvantovou komunikací na vzdálenost několika kilometrů. Experimentální ověření existence mechanismů působení na dálku prostřednictvím provázaných stavů, tzv. Einsteinova-Podolskyho-Rosenova mostu, neboli "kvantové teleportace", které se loni podařilo v innsbruckých laboratořích, vzbudilo naprosto neuvěřitelný ohlas v odborných i populárních médiích.

Vlastní nové možnosti výpočetních mechanismů jsou jistě samy o sobě nesmírně vzrušující, ale to možná ještě důležitější, co tyto výsledky a koncepty přinášejí, je i překvapivé zjištění, že modely, metody a přístupy, které si informatika vybudovala, nejsou vázány jen na elektronické počítače v dnešní podobě (i v klasickém kontextu ostatně existují prototypy výpočetních mechanismů na bázi DNA a molekulových vazeb), ale že poskytují obecnější nástroje, které umožňují uchopit i výpočetní mechanismy principiálně odlišné od dnešní či minulé technické realizace. Výpočetní procesy pomalu přestávají být chápány jako abstrakce stvořená člověkem, ale vyjevují se jako široce zastoupený přírodní mechanismus, bez jehož pochopení nám může být skryta podstata nebo dokonce vysvětlení řady fundamentálních jevů. Spolu s tím se rýsují i nové metodologické postupy zkoumání výpočetní podstaty světa kolem nás, které se vymykají klasickému rozdělení mezi experimentem a teorií.


Fundamentální role výpočetních procesů, zpracování informace a vznik síťových externalit, či vyvolaná změna dynamiky ekonomických procesů se velmi výrazně projevují i v ovlivňování společenských pochodů a změn v dnešním světě. To je téma, o kterém řada z vás víte, že je mně velmi blízké a že sehrálo i podstatnou roli při tom, když jsem se začátkem roku rozhodl nabídnout své síly senátu Masarykovy university jako kandidát na funkci, kterou po naplnění svého mandátu opouští rektor Schmidt. Nebudu ale déle pokoušet vaši trpělivost i pozornost a raději na tomto místě skončím prostým poděkováním rektoru Schmidtovi i dalším členům jeho vedení za to, co pro Masarykovu universitu udělal a v jak dobrém a dynamickém stavu ji navzdory všem prozaickým materiálním těžkostem předává. Doufám, že laťku náročnosti, odpovědnosti i oddanosti Masarykově universitě, kterou on i jeho předchůdce Jelínek nastavili, budu schopný alespoň udržet.

Děkuji vám za pozornost.