Mapa počítačové vědy

Thumbnail play icon
87 %
Tvoje hodnocení
Počet hodnocení:101
Počet zobrazení:7 635

V tomto naučném videu s námi autor prolétně většinou oborů počítačové vědy. Dozvíme se něco o teoretické informatice, o výrobě hardwaru i o využití počítačů.

Přepis titulků

Počítače tvoříme, abychom rozšířili naše schopnosti. Původně je vědci stavěli pro matematické výpočty, ale ukázalo se, že se hodí i pro mnoho dalších věcí. Běží na nich internet, vytváří dokonalou grafiku, umělé mozky a dokonce simulují vesmír. Ale ve výsledku je vše řízeno přepínáním jedniček a nul. Počítače se neuvěřitelnou rychlostí stávají menšími a výkonějšími. Váš mobilní telefon má vyšší výpočetní výkon než celý svět v 60.

letech. Celý program Apollo by mohl běžet na dvou konzolích Nintendo. Počítačová věda zkoumá, co vše počítače zvládnou. Je to široké a provázané téma, ale já ho rozdělím na tři části. Základní teorie počítačové vědy, výpočetní technika a aplikace. Začneme u otce počítačové vědy Alana Turinga, který vytvořil koncept Turingova stroje. Je to jednoduchý popis obecného počítače.

Lidé vytvořili i jiné designy pro počítače, ale všechny jsou stejné jako Turingův stroj, takže je to úplný základ počítačové vědy. Turingův stroj obsahuje několik částí. Je tu nekonečně dlouhá páska rozdělená do bloků se symboly. Také tu najdete hlavici, která čte symboly na pásce a registr, který zaznamenává postavení hlavice a seznam možných instrukcí. V dnešních počítačích je takovouto páskou pracovní paměť nebo RAM.

Hlavicí je procesor počítače a seznam instrukcí je uchováván v paměti počítače. Ačkoliv se Turingův stroj řídí jednoduchými pravidly, je velmi výkonný. V podstatě takto fungují všechny počítače. Až tedy na to, že naše počítače mají víc součástek jako permanentní paměť a další součástky. Každý problém řešitelný turingovým strojem je řešitelný lambda kalkulem, který je základem programovacích jazyků.

Teorie vyčíslitelnosti se snaží určit, co je spočitatelné a co ne. Existují problémy, které už ze své podstaty nemohou být řešeny počítači. Slavným příkladem je problém zastavení. Snaží se předpovědět, zda se program zastaví, nebo poběží navždy. Existují programy, kde to počítač ani lidé nedokáží určit. Mnoho problémů je řešitelných teoreticky, ale v praxi by potřebovaly příliš paměti nebo tolik kroků, které překračují dobu existence vesmíru.

Teorie složitosti se snaží kategorizovat tyto problémy podle jejich rozsahu. Existuje mnoho tříd složitosti a do každé třídy spadá mnoho problémů. Existuje mnoho skutečných problémů, které spadají do těchto nevyřešitelných kategorií, ale naštěstí mají vědci několik triků, které jim mohou poskytnout celkem přesné odpovědi.

Ale nikdy nedokážete, že je to skutečně nejlepší odpověď. Algoritmus je soubor instrukcí nezávislý na hardwaru nebo jazyku. Má vyřešit určitý problém. Je to jako recept na to, jak postavit program. Do vývoje nejlepších možných algoritmů se vkládá spousta úsilí. Různé algoritmy se mohou dostat ke stejným výsledkům, například seřadit náhodná čísla vzestupně. Ale některé algoritmy jsou efektivnější než jiné.

To řeší komplexita algoritmů. Informační teorie studuje vlastnosti informací, jak je odměřovat, uchovávat a přesouvat. Aplikací této vědy je komprese dat. Zmenšuje velikost souborů, přičemž zachovává téměř veškeré informace. Aplikací existuje více. Na informační teorii je napojena teorie kódování. Kryptografie je důležitá, abychom mohli posílat data po internetu zabezpečeně.

Existuje mnoho různých šifrování, která manipulují s daty, a většinou závisejí na komplexních matematických problémech, které uchovávají data v bezpečí. Toto jsou základní obory teoretické informatiky. Ale existují i další, na které nemám čas. Například logika, teorie grafů, počítačová geometrie, teorie automatů, kvantové počítače, paralelní programování, formální metody a struktury dat.

Ale přesuňme se k výpočetní technice. Vytvoření počítače je výzva, protože musíte vyrobit spoustu věcí. Musíte se ujistit, že jsou schopné řešit obří množství různých problémů tím nejoptimálnějším způsobem. Každý úkon počítače prochází jádrem počítače – procesorem. Pokud na počítači děláte více věcí najednou, procesor mezi nimi musí přepínat tak, aby se vše dokončilo v rozumném čase. To ovládá plánovač, který určuje co a kdy dělat a snaží se úkoly vyřešit co nejefektivněji.

Může to být velmi složitý problém. Lze to urychlit multiprocessingem, kdy má procesor více jader, které mohou vykonávat několik úkolů paralelně. Ale kvůli tomu je práce plánovače ještě komplexnější. Počítačová architektura určuje jak procesor zpracovává úkoly. Různé architektury se hodí k jiným úkolům.

CPU jsou univerzální, GPU jsou optimalizované pro grafiku, FPGA může být velice rychlý pro určité omezené množství úkolů. Nad hardwarem leží mnoho vrstev softwaru, který programátoři píší v různých programovacích jazycích. Programovacím jazykem lidé počítači říkají, co má dělat Jsou velmi různorodé. Existují nízkoúrovňové jazyky jako Assembly i vysokoúrovňové jazyky jako Python a Javascript.

Těmi se tvoří stránky a aplikace. Čím blíže je jazyk hardwaru, tím těžší je pro lidi ho používat. Ale ve všech případech musí být kód napsaný programátorem přetvořen v instrukce pro CPU. To umožní jeden nebo více programů zvaných kompilátory. Vytváření programovacích jazyků a kompilátorů je veledůležitá práce, protože je to nástroj, ve kterém programátoři tvoří úplně vše. Musí být co nejjednodušší, přesto univerzální, aby umožňoval naplňovat šílené nápady programátorů.

Operační systém je nejdůležitější software na počítači, protože skrz něj počítač ovládáme. Také určuje, jak ostatní programy na hardwaru poběží. Vytvoření dobrého operačního systému je velká výzva. Tím se dostáváme k softwarovému inženýrství. Shluk instrukcí určuje, co má počítač dělat. Napsání dobrého softwaru je umění, protože musíte přeměnit svou myšlenku do logických instrukcí daného jazyka.

Musí být co nejefektivnější a s co nejmenším počtem chyb. Existuje mnoho způsobů designu, který lidé následují. Dalšími důležitými oblastmi je společná komunikace počítačů a společné řešení problémů, ukládání a otevírání obřích množství dat, a určování, jak dobře si počítače vedou u určitých úkolů. A nesmím zapomenout na vytváření velmi detailní a realistické grafiky.

Nyní se dostáváme k zábavné části informatiky. Jak počítače řeší skutečné problémy. Tyto technologie využívá spousta programů, aplikací i stránek, které používáme. Když jedete na dovolenou, chcete nejlepší poměr ceny a kvality. Řešíte problém s optimalizací. Optimalizace se využívá všude. Nalezení nejlepšího postupu nebo nejefektivnějších postupů šetří společnostem miliony.

To je spojeno s problémem booleovské splnitelnosti, kde se zjišťuje, zda je logická formule splnitelná nebo ne. To je první prokázaný NP-úplný problém. Obecně se má za to, že nejde vyřešit. Ale pokroky v řešení SAT problémů způsobily, že i obří problémy jsou dnes běžně řešeny, hlavně v oblasti umělé inteligence. Počítače vylepšují naše kognitivní schopnosti. Cílem výzkumu v oblasti informatiky je vývoj počítačových systémů, které samy přemýšlejí.

Umělá inteligence. Výzkum UI se vydává různými směry. Nejslibnější je strojové učení. Vytvoří se algoritmy, díky kterým se počítače budou učit analýzou dat. Poté své znalosti použijí k něčemu užitečnému, například k rozhodování nebo třídění. Existuje mnoho druhů strojového učení.

Blízký je mu obor počítačového vidění, který má umožnit vidět počítačům objekty jako my za pomoci technik zpracovávání obrazu. Zpracování přirozeného jazyka má umožnit počítačům komunikovat lidským jazykem, nebo analyzovat obří množství dat ve formě slov. To využívá i odvětví reprezentace znalostí. Data jsou tříděna podle jejich významu. Například podobná slova jsou spojována dohromady.

Algoritmy pro strojové učení se zlepšují, protože jim dodáváme obří množství dat. Big data zjišťují, jak analyzovat obří množství dat a mít z nich užitek Ještě víc dat získáme z internetu věcí, kdy můžeme získávat data z běžných domácích objektů. Hackování není běžným akademickým oborem, ale stojí za zmínku. Snaží se najít slabosti v počítačových systémech a využít jich, aniž by si toho někdo všiml. Výpočetní věda má za pomoci počítačů zodpovídat na vědecké otázky.

Ať už jde o základy fyziky nebo neurovědu. Často využívá superpočítače. Tyto největší počítače řeší ty nejsložitější problémy. Často v oblasti simulace. Také existuje obor interakce člověk-počítač, který se snaží navrhovat snadno ovladatelné systémy. Virtuální realita, augmentovaná realita a teleprezence mají obohatit nebo upravit naše vnímání reality.

A nakonec je tu robotika, která dává počítačům fyzické tělo, ať už jde o automatické vysavače nebo roboty podobné lidem. Toto je má mapa informatiky. Stále se rozvíjí rychleji než dřív, přestože hardware už pomalu naráží na své limity, protože tranzistory už nelze příliš zmenšovat. Mnoho lidí pracuje na jiných počítačích, které by tento problém vyřešily. Počítače měly obří vliv na lidskou společnost.

Bude zajímavé sledovat, kam se technologie posune za dalších 100 let. Kdo ví, možná jednoho dne budeme všichni počítači. Překlad: Mithril www.videacesky.cz

Komentáře (12)

Zrušit a napsat nový komentář

Odpovědět

Poznámka k překladu: slovo "nejoptimánější" nedává smysl. "optimální" je již konečný výsledek kdy nejde nic optimalizovat...

80

Odpovědět

Pokud chcete, aby ten člověk mohl dál dělat videa jako je toto (udělal už několik dalších, která jsou podobně úžasná), tak ho taky podpořte na Patreonu: https://www.patreon.com/domainofscience

20

Odpovědět

Tohle video by s mělo pouštět všem. Studuji doktorát v informatice a řeším celkem zajímavé problémy. Ale nejčastější co slyším od lidí: Ty seš ten ajťák, viď? Spravil bys mě telefon? :)

220

Odpovědět

Kde je ta mapa ke stazeni?

20

Odpovědět

Odpovědět

Dle mého je tohle parádně zpracované téma. Během 9-10 minut autor dokázal vysvětlit podstatnou část z informatiky, a to celkem srozumitelným a nenásilným komentářem ^^

371

Odpovědět

Ako informatik úplne súhlasím, podobné inštruktážne video by som kľudne pustil všetkým tým laikom, ktorý absolútne nechápu rozdiel medzi vedou a informatikou. Rozdiel je v tom, že informatika má viac vedných oborov ako všetky ostatné vedné obory dokopy, a neustále vznikajú nové.

Nechápem prečo ste nepreložili aj komentár toho autora na konci, veď to je predsa tiež súčasťou videa nie?

13

Odpovědět

+ijiefijiefiejfiOna to NENÍ informatika, ale počítačová věda.

(A tím počítačem nejdřív nebyl myšlen stroj, ale právě člověk, na kterou upozorňuje ta přípona -er), stroj, se který pracuje byl obvykle calculator (kalkulačka-Automatic Sequence Controlled Calculator a Selective Sequence Electronic Calculator), nebo analytické stroje (Mathematical Analyser, Numerical Integrator And Computer).

Až v roce 1951 se staví UNIVAC-UNIVersal Automatic Computer I).

00