Systémová teorie
Úvod do systémového myšlení a historie systémů (I) #
Klíčové pojmy
systém · systémové myšlení · redukcionismus · holismus · mechanistický pohled na svět · celek vs. části · lokální vs. globální optimum
Úvod
Podobenství o slepcích a slonovi (indická lidová moudrost, stará přes 2 000 let): několik slepců poprvé potká slona. Jeden ohmatá chobot – "slon je jako tlustý had". Druhý ucho – "slon je jako vějíř". Třetí nohu – "slon je jako sloup". Čtvrtý ocas – "slon je jako provaz". Každý má pravdu o své části, a přesto se nikdo nedozví, co je slon. To je přesně situace, kterou řeší systémové myšlení: poznat celek, ne jen jeho části.
Návazný brainstorming: "Co všechno kolem vás je systém?"
Výklad látky
1. Proč se v IT učíme o systémech?
- Vše, s čím IT pracuje, jsou systémy: počítač (hardwarový systém), operační systém, aplikace, počítačová síť, firma a její procesy, databáze.
- Kdo umí "myslet systémově", umí navrhovat software, analyzovat firemní procesy a hledat příčiny chyb – nevidí jen jednotlivosti, ale vztahy a souvislosti.
- Praktický důsledek: nejdražší chyby v IT zpravidla nevznikají tím, že by někdo špatně napsal jeden řádek kódu. Vznikají tím, že někdo nepochopil, jak spolu části souvisejí (kdo na kom závisí, co se stane, když jedna část vypadne).
2. Dva protichůdné přístupy k poznávání světa
- Redukcionismus – složitý celek pochopíme tak, že ho rozložíme na co nejmenší části a ty prozkoumáme samostatně. Funguje výborně u jednoduchých mechanismů (hodinky, motor).
- Holismus – celek má vlastnosti, které z izolovaného zkoumání částí nevyčteme; podstatné jsou vztahy mezi částmi. Nutný u složitých (komplexních) systémů: živý organismus, ekonomika, společnost, rozsáhlý software.
- V praxi se oba přístupy doplňují – analytik systém rozkládá (dekompozice), ale nikdy nesmí ztratit ze zřetele celek.
Když systém rozeberu na části a zase složím, funguje stejně? Pokud ano (hodinky, LEGO stavebnice), stačí redukcionismus. Pokud ne (žába, tým lidí, běžící server s tisíci připojenými uživateli), potřebuji holismus.
3. Historické kořeny systémového myšlení
- Antika – Aristoteles (4. stol. př. n. l.): "Celek je více než pouhý souhrn jeho částí" – nejstarší známá formulace toho, čemu dnes říkáme emergence.
- Novověk – Descartes a Newton (17. stol.): mechanistický obraz světa. Svět = obrovský stroj; poznáme ho rozkladem na části a popisem přesnými zákony.
- Descartes v Rozpravě o metodě (1637) formuloval čtyři pravidla správného myšlení; druhé z nich zní volně: rozděl každý problém na tolik částí, kolik je potřeba k jeho vyřešení. To je dodnes základní recept programátora ("rozděl a panuj", funkce, moduly).
- Newtonova Principia (1687) ukázala, že pohyb planet i padajícího jablka popisují tytéž tři zákony. Svět začal vypadat jako dokonalé hodinky, které Bůh natáhl a nechal běžet.
- Vrchol tohoto myšlení: Laplaceův démon (1814). Matematik Pierre-Simon Laplace tvrdil, že kdyby nějaká bytost znala polohu a rychlost každé částice ve vesmíru, mohla by vypočítat celou budoucnost i minulost. Pro takovou bytost by neexistovala žádná nejistota. (Ve 20. století tuto představu rozbila kvantová fyzika i teorie chaosu.)
- 19. století: biologie a sociologie narážejí na limity mechanistického přístupu – organismus ani společnost nelze pochopit jako hodinový strojek. Sociolog Herbert Spencer přirovnává společnost k organismu, biologové zjišťují, že buňka vyjmutá z těla se chová jinak než v těle. Objevují se první "organické" (celostní) koncepce.
- 20. století: vzniká systémová teorie jako samostatná disciplína (podrobně příští hodinu).
Příklady z praxe
- Hodinář vs. lékař: hodinář vadnou součástku vyjme, opraví, vrátí – redukcionismus stačí. Lékař nemůže orgán "vyjmout a testovat izolovaně" – léčí s ohledem na vazby celého organismu (lék na jeden orgán může poškodit jiný).
- Minecraft: redstoneový obvod je dokonale redukcionistický – každý prvek dělá přesně to, co má, a celek se dá pochopit součástku po součástce. Ale server s 200 hráči je něco jiného: vznikají tam obchody, klany, konflikty a pravidla, která nikdo nenaprogramoval. Ty nepochopíte studiem kódu – jen pozorováním celku.
- IT analogie – lokální vs. globální optimum: programátor zrychlí jednu funkci tím, že jí přidělí více paměti; celá aplikace se ale zpomalí, protože paměť chybí jinde. Optimalizace části ≠ optimalizace celku.
- Firemní analogie: oddělení nákupu ušetří nákupem levnějšího materiálu; výroba pak má vyšší zmetkovost a firma celkově prodělá.
- Ještě jedna firemní analogie: helpdesk je odměňován za počet vyřešených požadavků. Technici proto začnou požadavky uzavírat rychle a bez skutečného vyřešení. Číslo roste, spokojenost zákazníků klesá. Měření jedné části zdeformovalo chování celku.
Zajímavosti / historky
- Aristotelův výrok o celku a částech se dnes cituje v managementu, biologii i informatice – patří k nejstarším myšlenkám, které najdeme v moderních učebnicích systémové teorie napříč obory.
- Descartova metoda "rozděl a prozkoumej" stála u zrodu moderní vědy a inženýrství – paradoxně ale právě její úspěch vedl k tomu, že si věda ve 20. století musela přiznat její meze u komplexních systémů, a tak vznikla systémová teorie jako doplněk, nikoli náhrada.
- Descartes je také autorem souřadnicového systému (kartézské souřadnice – Cartesius je latinská podoba jeho jména). Každý žák, který kdy kreslil graf s osami x a y, používá Descartův vynález. Legenda praví, že ho napadl, když v posteli sledoval mouchu na stropě a přemýšlel, jak popsat její polohu dvěma čísly.
Časté omyly
- "Holismus je lepší než redukcionismus." – Není. Bez rozkladu na části nejde nic postavit ani opravit. Jde o to vědět, kdy který přístup použít.
- "Systém = počítačový program." – V systémové teorii je systémem i rodina, les nebo dopravní zácpa. Software je jen jeden z mnoha druhů systémů.
Historie systémů (II): kybernetika, obecná teorie systémů, teorie informace #
Klíčové pojmy
obecná teorie systémů · kybernetika · zpětná vazba · regulace · homeostáza · ekvifinalita · teorie informace · bit · entropie (informační) · redundance
Výklad látky
Úvodní rámec: Tři muži, tři knihy, jedno desetiletí. Mezi lety 1948 a 1968 vyšly tři texty, které společně položily základy informatiky, aniž by kterýkoli z autorů byl "informatik" – jeden byl biolog, druhý matematik a třetí inženýr telefonní společnosti.
1. Ludwig von Bertalanffy – obecná teorie systémů (General System Theory)
- Rakouský biolog, myšlenky formuloval od 30. let 20. století, souhrnně vydal v knize General System Theory (1968).
- Výchozí frustrace: biologie se ve 20. a 30. letech snažila napodobit fyziku a rozkládat organismy na chemické reakce. Bertalanffy namítal, že živý organismus se od kamene liší tím, že si udržuje uspořádání navzdory neustálé výměně látek – za pár let v těle nezůstane skoro žádný původní atom, a přesto jsme to stále "my".
- Základní teze: systémy v biologii, technice, ekonomice i společnosti se řídí společnými obecnými zákonitostmi – má proto smysl budovat jednotnou "vědu o systémech" nezávislou na konkrétním oboru.
- Zavedl důsledné rozlišení otevřených systémů (vyměňují si s okolím látku, energii, informace – např. živý organismus) a uzavřených systémů (bez výměny s okolím – spíše teoretická idealizace).
- Popsal ekvifinalitu: otevřený systém může dojít k témuž výslednému stavu z různých výchozích podmínek a různými cestami. (Dvě firmy s úplně odlišnou historií skončí u stejného typu informačního systému; dva žáci dojdou k témuž programu různými postupy.)
- V roce 1954 spoluzaložil Společnost pro výzkum obecných systémů (spolu s ekonomem Kennethem Bouldingem a dalšími) – systémová věda získala vlastní instituci.
2. Norbert Wiener – kybernetika
- Americký matematik; kniha Cybernetics: Or Control and Communication in the Animal and the Machine (1948).
- Kybernetika = věda o řízení a komunikaci v živých organismech i strojích.
- Klíčové pojmy:
- Zpětná vazba (feedback) – výstup systému se vrací na jeho vstup a ovlivňuje další chování.
- Regulace – udržování požadovaného stavu pomocí záporné zpětné vazby.
- Homeostáza – schopnost systému udržovat vnitřní rovnováhu (tělesná teplota, hladina cukru v krvi).
- Impulz z 2. světové války: řízení protiletadlové palby vyžadovalo předvídat dráhu letadla a průběžně korigovat zaměření – matematika řízení a predikce. Wiener s inženýrem Julianem Bigelowem si uvědomili, že střelec, dělo i pilot letadla tvoří jeden systém, v němž se člověk a stroj vzájemně ovlivňují – a že tentýž popis platí pro ruku sahající po sklenici (oko sleduje odchylku, mozek koriguje pohyb).
- Důležitý vedlejší objev: zpoždění ve zpětné vazbě způsobuje kmitání. Když reakce přichází pozdě, systém "přestřeluje" (viz příklad se sprchou níže).
3. Claude Shannon – teorie informace
- Článek A Mathematical Theory of Communication (1948, Bell Labs).
- Informace poprvé pojata jako měřitelná veličina; jednotka bit (název navrhl statistik John Tukey jako zkratku z binary digit).
- Klíčová myšlenka: informace = snížení nejistoty. Zpráva "zítra vyjde slunce" nese skoro nulovou informaci (věděli jsme to), zpráva "zítra sněží v červenci" nese informace hodně. Čím méně pravděpodobná zpráva, tím více informace.
- Model komunikace: zdroj – kodér – kanál (+ šum) – dekodér – příjemce.
- Informační entropie = míra neurčitosti zprávy; základ pro kompresi dat, samoopravné kódy, celou digitální komunikaci.
- Redundance = nadbytečnost. Přirozený jazyk je z velké části redundantní – "Dbrý dn, jk s mš?" se dá přečíst i bez samohlásek. Komprese redundanci odstraňuje; naopak samoopravné kódy (QR kód, CD, satelitní přenos) ji cíleně přidávají, aby zpráva přežila šum.
4. Syntéza
- Obecná teorie systémů (co je systém) + kybernetika (jak systém řídit) + teorie informace (jak měřit a přenášet informaci) = teoretický základ informatiky a pozdějších informačních systémů.
- Zajímavá souvislost: v letech 1946–1953 se v New Yorku konaly tzv. Macyho konference, kde se pravidelně scházeli Wiener, Shannon, matematik John von Neumann (architektura počítače), antropoložka Margaret Meadová a další. Matematici, biologové, psychologové a antropologové se poprvé pokusili mluvit jedním jazykem – jazykem systémů, řízení a informace. Interdisciplinarita, dnes tak samozřejmá, se zde teprve rodila.
Příklady z praxe
- Termostat – učebnicový regulační obvod: čidlo měří teplotu – regulátor porovná s žádanou hodnotou – zapne/vypne topení – teplota se mění – čidlo měří…
- Sprcha v cizím hotelu – nejlepší ukázka zpoždění ve zpětné vazbě: otočíte kohoutkem, voda je stále studená (teplá ještě neprotekla trubkou), otočíte víc, najednou se opaříte, prudce ubíráte, je ledová… Systém kmitá, protože reagujete na stav, který je už několik sekund starý. Totéž řeší regulátory v průmyslu (proto existují "chytré" regulátory, které zpoždění předvídají – tzv. PID regulátory, používané třeba v dronech pro udržení stabilního letu).
- Tempomat, autopilot, regulace otáček CPU ventilátoru, automatický jas displeje mobilu – tentýž princip záporné zpětné vazby v různých technologiích.
- Dynamická obtížnost ve hrách – některé hry sledují, jak často hráč umírá, a potichu upravují obtížnost, aby hráč zůstal "v proudu" (ani frustrace, ani nuda). Hra reguluje hráčův zážitek zpětnou vazbou.
- Komprese ZIP/MP3/JPEG – přímé praktické využití Shannonovy teorie: odstraňujeme redundanci (nadbytečnost) ze zprávy.
Zajímavosti / historky
- Slovo kybernetika vytvořil Wiener z řeckého kybernétés – kormidelník. Kormidelník je dokonalá ukázka zpětné vazby: sleduje odchylku lodi od kurzu a průběžně ji koriguje – přesně to dnes dělá autopilot. Ze stejného základu pochází i slovo "guvernér" (z lat. gubernator) – ten také "kormidluje", jen stát. A předpona "kyber-" (kyberprostor, kyberbezpečnost) se dnes používá pro cokoli digitálního, ačkoli s původním významem "řízení" má už jen málo společného.
- Wiener byl zázračné dítě: v 11 letech nastoupil na univerzitu, v 18 měl doktorát z Harvardu. Zároveň byl proslulý roztržitostí – kolegové z MIT vyprávěli řadu historek o tom, jak zabraný do myšlenek zapomínal, kam jde a odkud přišel. Většina je nejspíš přibarvená, ale výstižně ilustrují člověka, který dokázal vidět společnou matematiku v protiletadlovém dělu a lidské ruce.
- Shannon pracoval v Bell Labs na ryze praktickém problému – jak co nejefektivněji přenášet signál telefonními linkami. Z telefonního problému tak vzniklo jedno z nejvlivnějších matematických odvětví 20. století, bez kterého by neexistoval internet, mobilní sítě ani komprese dat.
- Shannon už jako student napsal (1937) diplomovou práci, v níž ukázal, že Booleova algebra (logické operace AND, OR, NOT – tehdy víc než 80 let stará matematická kuriozita) se dá realizovat elektrickými relé. Tím vlastně vynalezl digitální obvod. Tato práce bývá označována za nejvýznamnější diplomovou práci 20. století. Kdykoli žáci v hodině elektroniky staví logické hradlo, staví na Shannonovi.
- Když Shannon hledal jméno pro svou míru neurčitosti, poradil mu prý von Neumann: "Říkej tomu entropie. Jednak se to slovo už používá ve fyzice pro podobnou věc, a jednak nikdo doopravdy neví, co entropie je, takže v každé debatě budeš mít navrch." Historka se traduje v několika verzích, ale jméno zůstalo.
- Shannon byl mimochodem známý tím, že po chodbách Bell Labs jezdil na jednokolce a žongloval, a ve volném čase sestrojil (1950) mechanickou "myš" jménem Theseus, která se uměla naučit projít bludištěm – jeden z prvních příkladů strojového učení. Postavil také "stroj, který nedělá nic": krabici s páčkou; po přepnutí se vysune mechanická ruka, přepne páčku zpět a schová se.
Časté omyly
- "Informace = pravdivá zpráva." – V Shannonově smyslu ne. Teorie informace neřeší význam ani pravdivost, jen měří, jak moc zpráva snižuje nejistotu. Lež nese stejný počet bitů jako pravda.
- "Zpětná vazba = když mi někdo řekne, co jsem udělal špatně." – To je jen speciální případ. Zpětná vazba je jakýkoli mechanismus, kde výstup ovlivňuje další vstup – i termostat, i hladina cukru v krvi.
Klasifikace systémů, umělé systémy #
Klíčové pojmy
přirozený systém · umělý systém · sociotechnický systém · otevřený/uzavřený systém · statický/dynamický systém · deterministický/stochastický systém · deterministický chaos · měkký/tvrdý systém
Výklad látky
1. Klasifikace systémů podle různých hledisek
| Hledisko | Dělení | Příklad |
|---|---|---|
| Původ | přirozené × umělé × smíšené (sociotechnické) | ekosystém × software × IS firmy |
| Vztah k okolí | otevřené × uzavřené | živý organismus × idealizovaný fyzikální model |
| Chování v čase | statické × dynamické | most × počítačová síť |
| Předvídatelnost | deterministické × stochastické (náhodné) | jednoduchý automat × počasí, burza |
| Míra formalizace | tvrdé (dobře definované) × měkké (s lidským faktorem) | technické zařízení × firemní kultura |
| Složitost | jednoduché × složité × komplexní | páka × auto × ekonomika |
Poznámka k rozdílu "složitý" a "komplexní": letadlo je složité – má miliony dílů, ale při správném návrhu se chová předvídatelně a dá se kompletně zdokumentovat. Dopravní provoz ve městě je komplexní – dílů je méně, ale vzájemně se ovlivňují tak, že nikdo nedokáže přesně předpovědět zítřejší zácpu. Složitost roste s počtem částí; komplexita roste s hustotou a nelinearitou vazeb.
Poznámka k "deterministický × stochastický": deterministický neznamená automaticky předvídatelný. Meteorolog Edward Lorenz v roce 1961 simuloval počasí na počítači. Chtěl výpočet zopakovat, a tak zadal mezivýsledky ručně – jen je zaokrouhlil z šesti desetinných míst na tři (0,506127 → 0,506). Výsledná "předpověď" se po pár týdnech simulovaného času lišila k nepoznání. Rovnice byly naprosto deterministické, přesto nepatrná změna vstupu vedla k úplně jinému výsledku. Tomu se říká deterministický chaos a populárně motýlí efekt. Právě proto se počasí předpovídá rozumně jen na několik dní – nikdy neznáme vstupy dostatečně přesně.
2. Přirozené vs. umělé systémy
- Přirozené – vznikly bez zásahu člověka evolucí či přírodními procesy (sluneční soustava, les, lidské tělo). Nemají "návrháře" ani dokumentaci; jejich účel je otázkou interpretace.
- Umělé (artefaktové) – vytvořené člověkem za konkrétním účelem:
- účelovost – vždy existuje cíl, ke kterému byl systém navržen,
- navržená struktura – existuje (měl by existovat) návrh, dokumentace,
- závislost na údržbě – bez péče člověka umělý systém degraduje (koroze, zastarávání softwaru),
- omezená adaptabilita – umí jen to, co do něj návrhář vložil (na rozdíl od živých systémů se sám nevyvíjí).
- Hranice se stírá: systémy strojového učení se do jisté míry "učí samy" a jejich tvůrci často nedokážou přesně vysvětlit, proč model rozhodl tak, jak rozhodl. Vzniká tak umělý systém s některými rysy přirozeného – mimo jiné bez úplné dokumentace vlastního chování. To je jeden z hlavních důvodů, proč se dnes tolik mluví o "vysvětlitelné AI".
3. Sociotechnické systémy
- Kombinují techniku (hardware, software) a lidi (uživatelé, správci, procesy, pravidla).
- Informační systém je vždy sociotechnický – technika sama o sobě informační systém netvoří.
- Důsledek pro praxi: úspěch IS závisí stejně na kvalitě techniky jako na přijetí lidmi (školení, motivace, změna návyků).
- Měkké systémy (pojem britského profesora Petera Checklanda, 70.–80. léta): tam, kde jsou zapojeni lidé, často ani není shoda na tom, co je vlastně problém. Ředitel chce z nového IS přehled o nákladech, účetní chce méně klikání, skladník chce, aby ho nikdo nekontroloval. Analytik proto nejdřív musí vyjednat společný pohled, teprve pak může navrhovat techniku.
Příklady z praxe
- Mravenčí kolonie vs. výrobní linka: oba systémy vykazují složité, koordinované chování – kolonie ale nemá žádného návrháře ani plán, linka je do detailu navržena inženýry.
- IS banky = software + servery (technická část) + zaměstnanci, směrnice, procesy (sociální část). Výpadek kterékoli složky ochromí celek.
- E-shop jako umělý systém: účel (prodej), navržená struktura (katalog – košík – platba – expedice), nutná údržba (bezpečnostní záplaty, aktualizace cen, opravy chyb).
- Deterministický vs. stochastický: výtah (na stisk tlačítka reaguje vždy stejně) vs. poptávka zákazníků v e-shopu (lze modelovat jen pravděpodobnostně).
- Wikipedie jako sociotechnický systém: software MediaWiki je jen malá část. To, co Wikipedii drží pohromadě, jsou pravidla (ověřitelnost, neutralita), role (správci, patroláři), diskuse a zvyklosti komunity. Stejný software bez této sociální vrstvy by byl jen prázdná databáze.
- Bitcoin: technicky deterministický protokol (pravidla jsou pevně dána kódem), ale jeho cena a chování uživatelů jsou vysoce stochastické. Dobrý příklad pro diskuzi, že jeden objekt může spadat do různých kategorií podle toho, na kterou jeho část se díváme.
Zajímavosti / historky
- Mravenčí kolonie řeší optimalizační úlohy (nejkratší cesta k potravě) zcela bez centrálního řízení – jednotliví mravenci se řídí jen feromonovými stopami: kratší cesta se projde častěji, feromon se na ní hromadí rychleji, další mravenci ji preferují. Tento princip inspiroval v informatice algoritmy Ant Colony Optimization (Marco Dorigo, 1992), dnes používané v logistice a plánování tras. Umělý systém se tedy učí od přirozeného.
- Londýnská záchranná služba, 1992: klasický případ podcenění lidské složky. Nový počítačový dispečink měl automaticky přidělovat sanitky. Systém byl nasazen naráz v celém Londýně, posádky nebyly dostatečně vyškoleny a nedůvěřovaly mu, zadávaly nepřesné údaje o své poloze, software na to reagoval chybnými výjezdy, fronta nevyřízených hovorů narůstala a během dvou dnů se dispečink zhroutil. Technika nebyla sama o sobě špatná – selhal sociotechnický systém jako celek. Případ se dodnes vyučuje na univerzitách jako varování.
- Řada nasazení podnikových IS historicky selhala ne kvůli technice, ale kvůli podcenění lidské složky – zaměstnanci systém bojkotovali, obcházeli ho papírovou evidencí, nebo do něj zadávali data ledabyle. Proto se dnes při zavádění IS běžně plánuje i change management – řízená práce s lidmi a jejich návyky, ne jen instalace softwaru.
Časté omyly
- "Deterministický = předvídatelný." – Viz Lorenz. Deterministický systém může být v praxi nepředvídatelný.
- "Když je software dobrý, lidé si zvyknou." – Historie IS je plná dobrého softwaru, který nikdo nepoužíval.
Definice systému a jeho komponenty #
Klíčové pojmy
prvek · vazba · struktura · okolí · hranice systému · vstup · výstup · rozhraní · rozlišovací úroveň
Výklad látky
1. Formální definice
Systém je účelově definovaná množina prvků a vazeb mezi nimi, která jako celek vykazuje určité chování vůči svému okolí.
Rozbor definice po částech:
- "účelově definovaná" – systém vymezuje pozorovatel/analytik podle svého účelu zkoumání. Tatáž Praha je pro dopravního inženýra systém ulic a křižovatek, pro epidemiologa systém kontaktů mezi lidmi, pro energetika systém kabelů a rozvoden. Neexistuje "ta jediná správná" Praha jako systém.
- "množina prvků a vazeb" – bez vazeb jde jen o množinu, ne o systém,
- "jako celek vykazuje chování" – systém má vlastnosti, které jednotlivé prvky nemají.
2. Komponenty systému
- Prvky (elementy) – základní, dále nedělené jednotky na zvolené rozlišovací úrovni.
- Vazby (relace) – vztahy mezi prvky: hmotné (potrubí, kabel), energetické, informační (pro IS nejdůležitější). Vazby mohou být jednosměrné i obousměrné.
- Struktura – uspořádání prvků a vazeb; zachycuje "anatomii" systému.
- Okolí (prostředí) – vše mimo systém, co na něj působí nebo je jím ovlivňováno (relevantní okolí).
- Hranice systému – dělicí čára mezi systémem a okolím; volí ji analytik podle účelu.
- Vstupy – působení okolí na systém (data, energie, materiál).
- Výstupy – působení systému na okolí (výrobky, informace, služby).
- Rozhraní (interface) – přesně definované místo a pravidla, kudy a jak vstupy/výstupy procházejí. Rozhraní je vlastně smlouva: "když mi dáš tohle v tomto formátu, vrátím ti tamto." V IT: USB konektor, API webové služby, formát souboru, ale i formulář, který vyplňuje zákazník.
3. Rozlišovací úroveň a subjektivita hranice
- Tentýž objekt lze modelovat různě podle účelu:
- "počítač" pro uživatele = 1 prvek (černá skřínka),
- pro servisního technika = systém desítek komponent,
- pro výrobce čipu = systém miliard tranzistorů.
- Přirovnání: zoom v mapách. Na úrovni celé Evropy je Zlín jedna tečka; při přiblížení se rozpadne na čtvrti, ulice, domy. Analytik musí vědomě zvolit, jak moc "přiblížit" – příliš zblízka se utopí v detailech, příliš zdálky mu unikne podstata.
- Prvek na jedné úrovni je systémem na úrovni nižší.
- Špatně vymezená hranice = častý zdroj problémů projektů IS (viz zajímavost níže).
4. Co (ne)ní systém
- Hromada cihel = množina prvků bez účelových vazeb – není systém.
- Zeď z týchž cihel = prvky + vazby (malta, statika) + účel (nést střechu) – systém.
- Složka s 500 fotkami = množina. Fotoalbum se strukturou, popisky a chronologií = systém.
Příklady z praxe
- Analýza PC sestavy: prvky (CPU, RAM, disk, GPU, zdroj), vazby (sběrnice, napájení), okolí (uživatel, el. síť, internet), hranice (skříň? nebo i periferie?), vstupy (elektřina, vstup z klávesnice, data ze sítě), výstupy (obraz, zvuk, data), rozhraní (USB, HDMI, Ethernet – doslova "interfaces").
- Škola jako systém: prvky (žáci, učitelé, učebny), vazby (rozvrh, komunikace, klasifikace), okolí (rodiče, MŠMT, zaměstnavatelé), vstupy (noví žáci, finance), výstupy (absolventi, vysvědčení).
- IS e-shopu: prvky (webový server, databáze, platební modul), vazby (API volání), vstup (objednávka), výstup (faktura, expediční příkaz), rozhraní (API platební brány, API dopravce).
- USB jako vítězství dobře navrženého rozhraní: před rokem 1996 měla každá periferie vlastní konektor (PS/2 pro myš, LPT pro tiskárnu, sériový port pro modem…). USB definovalo jedno rozhraní, jednu smlouvu, a najednou mohl kdokoli vyrobit zařízení, které bude fungovat s jakýmkoli počítačem. Dobré rozhraní umožňuje, aby se části systému vyvíjely nezávisle na sobě.
Zajímavosti / historky
- Paradox hromady cihel je oblíbená učební pomůcka: tytéž prvky mohou i nemusí tvořit systém – rozhodují vazby a účel. Stejně tak tisíc řádků kódu bez architektury není softwarový systém, ale jen "hromada kódu".
- Mars Climate Orbiter (1999) – nejdražší chyba na rozhraní v historii. Sonda NASA za 327 milionů dolarů shořela v atmosféře Marsu, protože jeden tým (dodavatel Lockheed Martin) posílal údaje o tahu motorů v anglosaských jednotkách (librosíla·sekunda) a druhý tým (NASA JPL) je četl jako metrické (newton·sekunda). Každý subsystém zvlášť fungoval bezchybně. Selhala smlouva na rozhraní: nikdo přesně nedefinoval, v jakých jednotkách data přes hranici procházejí. Když příště uvidíte v dokumentaci např. API nudnou větu "všechny hodnoty jsou v milisekundách", vzpomeňte si na Mars.
- Určení hranice systému je v IT velmi praktický a někdy i právní problém: při zakázce na IS se dodavatel a zákazník musí smluvně dohodnout, co ještě je součástí dodávky (je e-mailový server uvnitř hranice IS, nebo je to externí služba? Je součástí dodávky i migrace starých dat? Školení?). Nejasná hranice systému v zadání patří k častým příčinám sporů a víceprací u IT zakázek.
Časté omyly
- "Hranice systému je něco objektivního, co stačí najít." – Není. Hranici volíme. Různé volby nejsou "správné" nebo "špatné", ale užitečné nebo neužitečné pro daný účel.
- "Rozhraní je jen konektor." – Rozhraní je i pravidlo, formát, protokol. Klávesnice a obrazovka jsou rozhraní mezi člověkem a počítačem (odtud "uživatelské rozhraní").
Atributy systému (I): struktura, hierarchie, chování, stav #
Klíčové pojmy
struktura · hierarchie · subsystém · suprasystém · dekompozice · vazebnost (coupling) · soudržnost (cohesion) · stav systému · chování systému · černá skřínka · jediný bod selhání
Výklad látky
1. Struktura systému
- Typy struktur podle uspořádání vazeb:
- lineární (řetězová) – výrobní linka, zřetězené zpracování dat (pipeline),
- hierarchická (stromová) – organizační struktura firmy, adresářový strom,
- hvězdicová – domácí Wi-Fi (všechna zařízení přes jeden router),
- síťová – internet, sociální síť,
- kruhová – token ring, uzavřené schvalovací kolečko.
- Struktura předurčuje vlastnosti: síťová struktura je odolná proti výpadku uzlu, lineární nikoliv (výpadek jednoho článku zastaví celek). Hvězdicová má jediný bod selhání (single point of failure) – padne-li router, padne vše. Proto se v důležitých systémech vždy hledá, kde takový bod je, a ten se zálohuje (dva zdroje napájení, dvě internetové přípojky, dva servery).
- Historická souvislost: v 60. letech navrhl Paul Baran (RAND Corporation) komunikační síť, která by fungovala i po zničení části uzlů – rozložená, "síťovitá" struktura bez centra. Tato myšlenka se promítla do návrhu ARPANETu, předchůdce internetu. Odolnost internetu tedy není náhoda, ale důsledek zvolené struktury.
2. Hierarchie systémů
- Každý systém je zpravidla subsystémem vyššího celku (suprasystému) a sám se skládá ze subsystémů.
- Hierarchie v IT: funkce – modul – aplikace – informační systém – podnikový IT ekosystém – mezipodnikové integrace (B2B - Business to Business).
- Hierarchie v technice: šroub – motor – automobil – dopravní systém města.
Příběh dvou hodinářů (Herbert Simon, Architektura složitosti, 1962 – Simon později dostal Nobelovu cenu za ekonomii a je jedním z otců umělé inteligence):
Hodináři Hora a Tempus vyráběli stejně kvalitní hodinky, každé z 1 000 součástek. Tempus skládal hodinky kus po kuse; když ho někdo vyrušil (zazvonil zákazník), rozdělaná práce se mu rozpadla a musel začít od nuly. Hora si hodinky rozdělil na podsestavy po 10 dílech, z 10 podsestav složil větší celek a z 10 větších celků hodinky. Když ho někdo vyrušil, ztratil nanejvýš jednu rozdělanou desetidílnou podsestavu. Při stejném počtu vyrušení Hora vyrobil hodinky mnohonásobně rychleji a zbohatl, Tempus zkrachoval.
Poučení: hierarchie a modularita nejsou jen "pro přehlednost" – jsou to jediné způsoby, jak vůbec postavit něco složitého ve světě, kde věci selhávají. Proto se programy píší z funkcí, funkce se skládají do modulů a moduly do aplikací.
3. Dekompozice
- Rozklad složitého systému na přehledné podsystémy – základní pracovní metoda analytika.
- Zásady dobré dekompozice (velmi důležité pro pozdější návrh softwaru a IS):
- vysoká soudržnost (cohesion) – prvky uvnitř podsystému spolu úzce souvisejí,
- nízká vazebnost (coupling) – podsystémy spolu komunikují jen přes malý počet jasně definovaných rozhraní,
- každá úroveň má "rozumný" počet částí (orientačně 5–9), aby zůstala uchopitelná. Číslo vychází ze slavné studie psychologa George Millera (1956) o "magickém čísle 7 ± 2" – tolik položek si člověk udrží v krátkodobé paměti najednou. Proto mají telefonní čísla, PINy i menu v aplikacích zhruba tento rozsah.
- Přirovnání: LEGO vs. slepené modely. LEGO kostka má jedno standardizované rozhraní (výstupky) a uvnitř je jednoduchá – nízká vazebnost, vysoká soudržnost. Můžete ji kdykoli vyměnit. Model slepený z tisíce kousků vteřinovým lepidlem už nikdy nerozeberete – vysoká vazebnost.
- Conwayův zákon (Melvin Conway, 1967): organizace navrhují systémy, jejichž struktura kopíruje komunikační strukturu organizace. Má-li firma tři oddělení, která spolu nemluví, vznikne software se třemi částmi, které spolu špatně komunikují. Dekompozice systému a dekompozice firmy tak spolu úzce souvisejí.
4. Stav a chování systému
- Stav systému = souhrn hodnot podstatných veličin v daném okamžiku (u PC např. obsah paměti a registrů; u skladu aktuální zásoby).
- Chování systému = způsob, jakým systém reaguje na podněty; posloupnost přechodů mezi stavy v čase.
- Model černé skřínky (black box): známe jen vstupy a výstupy, vnitřek neřešíme – užitečné pro první fázi analýzy i pro testování. Protiklad: bílá skřínka (známe vnitřní strukturu).
Příklady z praxe
- Dekompozice školního IS: subsystémy evidence žáků, klasifikace, rozvrh, komunikace s rodiči – každý řeší svou agendu (vysoká soudržnost) a s ostatními si vyměňuje jen nezbytná data (nízká vazebnost).
- Stav a chování v praxi: restart počítače = uvedení systému do definovaného výchozího stavu; "uložit hru" = uložení stavu systému pro pozdější obnovení. Slavná rada IT podpory "Zkusili jste to vypnout a zapnout?" je vlastně systémově zcela korektní: systém se dostal do neznámého, nedokumentovaného stavu a nejjednodušší cesta ven je návrat do stavu známého.
- Snímek virtuálního stroje / bod obnovení Windows: uložení kompletního stavu systému, aby se k němu dalo vrátit – totéž co "uložit hru", jen pro celý operační systém.
- Černá skřínka: tester e-shopu zkouší, zda po zadání objednávky přijde potvrzovací e-mail – nezajímá ho kód, jen vztah vstup–výstup (tzv. black-box testování).
Zajímavosti / historky
- Přirovnání hierarchie systémů k matrjoškám je v učebnicích všudypřítomné: každý systém v sobě skrývá menší a sám je součástí většího. Tentýž princip později přejalo objektově orientované programování i modelování IS.
- Zásady "vysoká soudržnost, nízká vazebnost" formulované v systémové teorii a strukturovaném návrhu (Constantine, Yourdon, 70. léta) platí dodnes beze změny – najdeme je v každé moderní příručce softwarové architektury, od mikroslužeb po návrh API. Málokterá poučka v IT vydržela půl století bez úprav.
- Když jsou moduly navržené špatně – s vysokou vzájemnou provázaností bez jasných rozhraní – vzniká architektura, které se v branži přezdívá "big ball of mud" (velká koule bláta; pojem zavedli Foote a Yoder v roce 1997): změna na jednom místě nepředvídatelně rozbíjí jiná místa. Příbuzný pojem "špagetový kód" (spaghetti code) označuje nepřehledný, chaoticky propletený tok řízení uvnitř programu (skoky, bez čitelné struktury) – program se pak čte asi tak snadno, jako se z talíře špaget vytahuje jedna konkrétní nudle. Oba nešvary mají společnou příčinu: zanedbání struktury, tedy přesně toho atributu systému, o kterém je dnešní hodina.
- "Černá skřínka" v letadle je ve skutečnosti oranžová, aby se v troskách snadno našla. Název "black box" pochází z inženýrského slangu pro jakékoli zařízení, jehož vnitřek neznáme nebo nás nezajímá – tedy přesně z pojmu, který dnes probíráme.
Časté omyly
- "Čím víc modulů, tím lépe." – Ne. Sto miniaturních modulů, které spolu neustále komunikují, je stejný problém jako jeden obří modul. Cílem je, aby vazby mezi moduly byly řídké a uvnitř husté.
- "Stav systému = to, co vidím na obrazovce." – Obrazovka je jen výstup. Stav zahrnuje i vše, co vidět není (obsah cache, otevřená spojení, rozdělané transakce).
Atributy systému (II): emergence, synergie, entropie, zpětná vazba, stabilita #
Klíčové pojmy
emergence · synergie · entropie · negentropie · kladná/záporná zpětná vazba · stabilita · adaptabilita · rovnovážný stav · odolnost (resilience)
Výklad látky
1. Emergence
- Vlastnosti, které se objevují až na úrovni celku a žádná jednotlivá část je nemá.
- Příklady: vědomí (nevzniká v jednom neuronu), dopravní zácpa (žádný jednotlivý řidič ji "nevyrábí"), vlastnosti vody (H a O jsou hořlavé plyny, voda hoření hasí).
- Conwayova Hra života (1970): matematik John Conway navrhl "hru" na čtverečkovaném papíře. Každá buňka je živá nebo mrtvá a řídí se jen třemi pravidly (živá buňka se 2–3 živými sousedy přežije, jinak umře; mrtvá buňka s přesně 3 sousedy ožije). Z těchto triviálních pravidel vznikají útvary, které "chodí" po ploše (tzv. kluzáky), střílejí, oscilují – a dokonce lze z nich sestavit fungující počítač. Nikdo tyto útvary nenaprogramoval; vynořily se. Je to nejnázornější ukázka emergence, jaká existuje: https://copy.sh/life/
- Boids (1986): programátor Craig Reynolds dal virtuálním "ptákům" tři pravidla: drž se blízko sousedů, nenaraž do nich, leť stejným směrem jako oni. Výsledkem bylo hejno, které se chová jako skutečné hejno špačků – bez jakéhokoli vůdce. Technika se používá ve filmech (netopýři a tučňáci ve filmu Batman se vrací, 1992) i ve hrách.
2. Synergie
- Spolupůsobení prvků, jehož efekt je větší než prostý součet efektů jednotlivých prvků ("2 + 2 = 5"). Slovo zpopularizoval architekt a vynálezce Buckminster Fuller, který ho ilustroval na slitinách: chromniklová ocel je pevnější než součet pevností jejích složek.
- Opak: negativní synergie – špatně sladěné části se navzájem ruší (tým skvělých jednotlivců, kteří spolu neumí spolupracovat). Tady je odpověď na otázku ze začátku tématu o fotbalovém týmu hvězd.
3. Entropie a negentropie
- Entropie = míra neuspořádanosti; izolované systémy samovolně spějí k větší neuspořádanosti (2. termodynamický zákon).
- Intuice: pokoj se sám od sebe nikdy neuklidí, ale rozházet se dokáže "sám". Uspořádaných stavů je málo, neuspořádaných nekonečně mnoho – náhoda vede k nepořádku.
- Otevřené systémy mohou entropii lokálně snižovat přísunem energie a informace – mluvíme o negentropii. (Živý organismus je jediná známá věc, která proti entropii aktivně bojuje – dokud jí, dýchá a žije.)
- Informační systémy jsou nástrojem boje s entropií: organizují data, odstraňují duplicity a nekonzistence, snižují neurčitost při rozhodování.
- V IT má entropie i konkrétní tvář: bit rot (samovolné chátrání dat na nosičích), zastarávání formátů (kdo dnes otevře soubor z roku 1995 ve formátu, který už nikdo nepodporuje?), nahromaděné dočasné soubory, mrtvé odkazy na webu. Nic z toho nikdo "nedělá" – stačí nedělat údržbu.
4. Zpětná vazba
- Záporná (stabilizující): tlumí odchylku, vrací systém k žádané hodnotě – regulace, stabilita (termostat, hodnocení kvality).
- Kladná (zesilující): odchylku posiluje – růst, ale i nestabilita a kolaps (lavina, panika na burze, virální šíření).
- Pozor na názvy: "kladná" a "záporná" neznamená "dobrá" a "špatná". Kladná zpětná vazba pohání i užitečné věci (růst firmy, šíření dobrého nápadu), záporná může držet systém i v nežádoucím stavu (firma, která každou změnu potlačí). Jde o matematiku, ne o hodnocení.
- Zvukový příklad, který každý zná: pískání mikrofonu u reproduktoru. Mikrofon zachytí zvuk z reproduktoru, zesilovač ho zesílí, reproduktor ho vydá hlasitěji, mikrofon ho zachytí… kladná zpětná vazba během zlomku sekundy vyžene systém na maximum.
- Zdravé systémy kombinují obojí: kladná vazba pohání růst, záporná ho drží v mezích.
5. Stabilita a adaptabilita
- Stabilita – schopnost vrátit se po vychýlení do rovnovážného stavu.
- Adaptabilita – schopnost změnit vlastní strukturu či chování při trvalé změně okolí.
- Oba pojmy jsou v napětí: příliš stabilní systém je rigidní a při velké změně okolí se zlomí (dinosauři; firmy, které "vždycky dělaly věci takto"). Příliš adaptabilní systém nemá pevný tvar a nedá se na něj spolehnout.
- U IS: stabilita = odolnost proti výpadkům a chybám; adaptabilita = možnost systém rozšiřovat a upravovat (změna legislativy – nová sazba DPH, nový formát daňového přiznání; růst firmy – tisícinásobek uživatelů).
- Problém roku 2000 (Y2K) – historická lekce z neadaptability: v 60.–80. letech se rok ukládal na dvě číslice ("87" místo "1987"), aby se ušetřila drahá paměť. Nikoho nenapadlo, že tentýž software poběží i po roce 1999, kdy "00" znamená rok 1900. Koncem 90. let se celý svět za obrovské náklady předělával. Systémy, které se nedokázaly přizpůsobit změně okolí (prostému běhu času), musely být opraveny ručně – nebo nahrazeny.
Příklady z praxe
- Emergence: trend na sociální síti – vzniká chováním milionů uživatelů, nikdo jednotlivý ho nevytváří ani neřídí.
- Záporná zpětná vazba: sledování toho, co zákaznící nakupují v e-shopu –> úprava sortimentu –> větší nákupy (systém se samoreguluje ke kvalitě).
- Kladná zpětná vazba: virální příspěvek – čím více sdílení, tím větší dosah, tím více sdílení; může vést až k přetížení serverů.
- Kladná zpětná vazba v doporučovacích algoritmech: kliknete na video o kočkách – algoritmus nabídne více koček – kliknete znovu – nabídka se zúží… Po pár týdnech vidíte jen to, co už máte rádi. Tak vznikají "sociální bubliny" – a tak se z nevinného doporučování stává systémový problém, který nikdo záměrně nenavrhl (emergence + kladná zpětná vazba v jednom).
- Entropie v IT: databáze bez validací a údržby postupně degraduje (duplicity, mrtvé záznamy, nekonzistence). Pravidla, validace, zálohy a čištění dat = negentropické mechanismy IS.
- Stabilita v praxi – Chaos Monkey: firma Netflix od roku 2011 provozuje nástroj, který záměrně náhodně vypíná její vlastní servery v běžném provozu. Zní to šíleně, ale díky tomu inženýři vědí, že systém výpadek jednoho uzlu ustojí – protože se to děje každý den. Stabilita se nezíská tím, že se výpadkům vyhýbáme, ale tím, že je systém umí vstřebat.
Zajímavosti / historky
- Klasika emergence: jediný mravenec "neví", jak vypadá mraveniště, a přesto ho kolonie postaví. Decentralizovaná, emergentní koordinace bez centrálního prvku dnes inspiruje distribuované systémy a blockchain – tam také žádný centrální uzel "neřídí" celek, a přesto systém funguje konzistentně.
- Flash crash na burze (6. května 2010): obchodní algoritmy reagovaly na pokles cen dalšími prodeji, čímž pokles zesilovaly – kladná zpětná vazba srazila index Dow Jones o zhruba tisíc bodů (asi 9 %) během několika minut, než zafungovaly regulační pojistky (obchodní přestávky – tedy uměle dodaná záporná zpětná vazba). Během půl hodiny se trh z většiny propadu vzpamatoval. Učebnicová ukázka, proč komplexní systémy potřebují stabilizační mechanismy – a proč dnes burzy mají automatické "pojistky", které při prudkém pohybu obchodování na chvíli zastaví.
- Tacoma Narrows Bridge (1940): most ve státě Washington se čtyři měsíce po otevření rozkýval větrem tak, že se zřítil. Vítr vyvolal kmitání, kmitání změnilo obtékání vzduchu, což kmitání dále zesílilo – kladná zpětná vazba ve fyzické konstrukci. Od té doby se každý velký most testuje v aerodynamickém tunelu.
Časté omyly
- "Emergence = něco záhadného." – Ne. Hra života má tři pravidla a přesto emergentní chování. Emergence je běžný důsledek toho, že části interagují.
- "Stabilní systém se nemění." – Stabilní systém se mění neustále (tělo udržuje teplotu tím, že se pořád potí a třese), ale vrací se k rovnováze.