Historie počítačové vědy - History of computer science

Dějiny informatiky začala dávno před naší moderní disciplíny počítačové vědy , obvykle objevují ve formách, jako jsou matematika a fyzika . Vývoj v předchozích stoletích narážel na disciplínu, kterou dnes známe jako informatika . Tento vývoj, od mechanických vynálezů a matematických teorií k moderním počítačovým konceptům a strojům , vedl k rozvoji hlavní akademické oblasti, masivnímu technologickému pokroku napříč západním světem a základu masivního celosvětového obchodu a kultury.

Pravěk

John Napier (1550-1617), vynálezce logaritmů

Nejdříve známým nástrojem pro použití ve výpočtu byl počítadlo , vyvinuté v období mezi 2700 a 2300 př . N. L. V Sumeru . Počítadlo Sumerů se skládalo z tabulky po sobě jdoucích sloupců, které vymezovaly po sobě jdoucí řády jejich sexagesimálního číselného systému. Jeho původní styl použití byl čarami nakreslenými v písku s oblázky. Abaci modernějšího designu se dnes stále používají jako výpočetní nástroje, například čínský počítadlo .

V 5. století BC v starověké Indii se gramatik Pāṇini formuloval gramatiku a sanskrt v 3959 předpisů, známý jako Ashtadhyayi , který byl velmi systematizované a technickému. Panini používal metarules, transformace a rekurze .

Mechanismus Antikythéry je považován za raný mechanický analogový počítač. Byl navržen pro výpočet astronomických poloh. Byl objeven v roce 1901 ve vraku Antikythéry u řeckého ostrova Antikythéry mezi Kytherou a Krétu a byl datován do doby kolem roku 100 př. N. L.

Mechanická analogová počítačová zařízení se ve středověkém islámském světě objevila znovu o tisíc let později a byla vyvinuta muslimskými astronomy , jako například mechanicky zaměřený astroláb od Abū Rayhāna al-Bīrūnīho a torquetum od Jabira ibn Aflaha . Podle Simon Singh , muslimští matematici také významně pokročilo v kryptografii , jako je rozvoj dešifrování a frekvenční analýza pomocí Alkindus . Muslimští inženýři vynalezli také programovatelné stroje , například automatický flétnista od bratrů Banú Mūsā a programovatelné humanoidní automaty a hradní hodiny Al- Jazari , které jsou považovány za první programovatelný analogový počítač. Technologické artefakty podobné složitosti se objevily v Evropě 14. století s mechanickými orlojem .

Když John Napier na počátku 17. století objevil logaritmy pro výpočetní účely, následovalo období značného pokroku vynálezců a vědců ve výrobě výpočetních nástrojů. V roce 1623 Wilhelm Schickard navrhl počítací stroj, ale od projektu upustil, když prototyp, který začal stavět, byl zničen požárem v roce 1624. Kolem roku 1640 Blaise Pascal , přední francouzský matematik, zkonstruoval mechanické přidávací zařízení na základě popsaného designu. podle řeckého matematik Hero Alexandrie . Poté v roce 1672 Gottfried Wilhelm Leibniz vynalezl Stepped Reckoner, který dokončil v roce 1694.

V roce 1837 Charles Babbage poprvé popsal svůj analytický stroj, který je přijímán jako první návrh moderního počítače. Analytický engine měl rozšiřitelnou paměť, aritmetickou jednotku a schopnosti logického zpracování schopné interpretovat programovací jazyk pomocí smyček a podmíněného větvení. Ačkoli nikdy nebyl postaven, design byl rozsáhle studován a je chápán jako Turingův ekvivalent . Analytický motor by měl kapacitu paměti menší než 1 kilobajt paměti a rychlost hodin menší než 10 Hertzů.

Než bylo možné navrhnout první moderní počítače, bylo zapotřebí značného pokroku v matematice a teorii elektroniky.

Binární logika

Gottfried Wilhelm Leibniz (1646-1716), rozvinul logiku v binárním číselném systému

V roce 1702 Gottfried Wilhelm Leibniz rozvinul logiku ve formálním, matematickém smyslu svými spisy o binární číselné soustavě. Ve svém systému, jedniček a nul také představují pravdivé a falešné hodnoty, nebo na a mimo státy. Trvalo však více než sto let, než George Boole v roce 1854 publikoval svou booleovskou algebru s kompletním systémem, který umožňoval matematické modelování výpočetních procesů.

Do této doby byla vynalezena první mechanická zařízení poháněná binárním vzorem. Průmyslová revoluce řídil dopředu mechanizaci mnoho úkolů, a to zahrnovalo tkaní . Děrné karty ovládaly tkalcovský stav Josepha Marie Jacquarda v roce 1801, kde díra vyražená do karty označovala binární jedničku a neděrované místo označovalo binární nulu . Jacquardův stav zdaleka nebyl počítačem, ale ilustroval, že stroje mohou být poháněny binárními systémy.

Vznik disciplíny

Charles Babbage (1791-1871), jeden z prvních průkopníků v oblasti výpočetní techniky

Charles Babbage a Ada Lovelace

Charles Babbage je často považován za jednoho z prvních průkopníků výpočetní techniky. Počínaje rokem 1810 měl Babbage vizi mechanického výpočtu čísel a tabulek. Uvedení do reality, Babbage navrhl kalkulačku pro výpočet čísel až do délky 8 desetinných míst. Babbage pokračoval v úspěchu této myšlenky a vyvinul stroj, který by dokázal vypočítat čísla s až 20 desetinnými místy. Ve třicátých letech 19. století Babbage navrhl plán na vývoj stroje, který by mohl používat děrné štítky k provádění aritmetických operací. Stroj by ukládal čísla do paměťových jednotek a existovala by forma sekvenčního řízení. To znamená, že jedna operace bude provedena před druhou takovým způsobem, že stroj poskytne odpověď a nezklame. Tento stroj měl být známý jako „Analytical Engine“, což byla první skutečná reprezentace toho, co je moderní počítač.

Ada Lovelace (Augusta Ada Byron) je uznávána jako průkopnice počítačového programování a je považována za matematického génia. Lovelace začal pracovat s Charlesem Babbageem jako asistentem, zatímco Babbage pracoval na svém „Analytical Engine“, prvním mechanickém počítači. Během své práce s Babbageem se Ada Lovelace stala návrhářkou prvního počítačového algoritmu, který měl schopnost vypočítat Bernoulliho čísla . Lovelaceova práce s Babbage navíc vyústila v její předpověď budoucích počítačů nejen k provádění matematických výpočtů, ale také k manipulaci se symboly, ať už matematickými nebo ne. I když nikdy nemohla vidět výsledky své práce, protože „Analytický stroj“ nebyl vytvořen za jejího života, její úsilí v pozdějších letech, počínaje 40. lety 18. století, nezůstalo bez povšimnutí.

Charles Sanders Peirce a elektrické spínací obvody

Charles Sanders Peirce (1839-1914) popsal, jak by logické operace mohly provádět elektrické spínací obvody

Charles Sanders Peirce v dopise z roku 1886 popsal, jak by logické operace mohly provádět elektrické spínací obvody. V letech 1880–81 ukázal, že k reprodukci funkcí všech ostatních logických bran lze použít pouze brány NOR (nebo alternativně brány NAND samotné ) , ale tato práce na ní byla nezveřejněna až do roku 1933. Prvním publikovaným důkazem byl Henry M. Sheffer v roce 1913, takže logické operaci NAND se někdy říká Shefferův tah ; logické NOR je někdy nazýván Peirceova šipku . V důsledku toho se těmto branám někdy říká univerzální logické brány .

Nakonec vakuové trubice nahradily relé pro logické operace. Jako logickou bránu lze použít modifikaci Flemingova ventilu od Lee De Forest z roku 1907 . Ludwig Wittgenstein představil verzi tabulky pravdivosti 16 řádků jako tvrzení 5.101 Tractatus Logico-Philosophicus (1921). Walther Bothe , vynálezce obvodu náhod , získal část Nobelovy ceny za fyziku v roce 1954 za první moderní elektronickou bránu AND v roce 1924. Konrad Zuse navrhl a postavil elektromechanické logické brány pro svůj počítač Z1 (v letech 1935 až 1938).

Až do a během třicátých let byli elektrotechnici schopni stavět elektronické obvody k řešení matematických a logických problémů, ale většina z nich to dělala ad hoc , bez jakékoli teoretické přesnosti. To se změnilo s teorií spínacích obvodů ve třicátých letech minulého století. Od roku 1934 do roku 1936 Akira Nakashima , Claude Shannon a Viktor Shetakov publikovali sérii dokumentů, které ukazují, že dvouhodnotová booleovská algebra může popisovat činnost spínacích obvodů. Tento koncept, využívající vlastnosti elektrických spínačů k provádění logiky, je základním konceptem, který je základem všech elektronických digitálních počítačů . Teorie spínacích obvodů poskytla matematické základy a nástroje pro návrh digitálního systému téměř ve všech oblastech moderní technologie.

Při absolvování bakalářské třídy filozofie byl Shannon vystaven Booleově práci a uznal, že by jej bylo možné použít k uspořádání elektromechanických relé (tehdy používaných v telefonních směrovacích přepínačích) k řešení logických problémů. Jeho práce se stala základem praktického návrhu digitálních obvodů, když se stala široce známou mezi elektrotechnickou komunitou během a po druhé světové válce.

Alan Turing a Turingův stroj

Před 20. lety 20. století byly počítače (někdy i počítače ) lidskými úředníky, kteří prováděli výpočty. Obvykle byli pod vedením fyzika. Mnoho tisíc počítačů bylo zaměstnáno v obchodě, vládě a výzkumných zařízeních. Mnoho z těchto úředníků, kteří sloužili jako lidské počítače, byly ženy. Někteří prováděli astronomické výpočty pro kalendáře, jiní balistické tabulky pro armádu.

Po dvacátých letech 20. století se výrazem výpočetní stroj vyjadřoval jakýkoli stroj, který vykonával práci lidského počítače, zejména ten, který byl v souladu s účinnými metodami teze Church-Turing . Diplomová práce uvádí, že matematická metoda je účinná, pokud by mohla být stanovena jako seznam instrukcí, za kterými by mohl následovat lidský úředník s papírem a tužkou tak dlouho, jak je to nutné, a bez vynalézavosti a vhledu.

Stroje, které počítaly s kontinuálními hodnotami, se staly známými jako analogové . Používali stroje, které reprezentovaly spojité číselné veličiny, jako je úhel otáčení hřídele nebo rozdíl v elektrickém potenciálu.

Digitální stroje, na rozdíl od analogových, dokázaly vykreslit stav číselné hodnoty a uložit každou jednotlivou číslici. Digitální stroje používaly před vynálezem rychlejších paměťových zařízení rozdílové motory nebo relé.

Fráze výpočetní stroj postupně ustoupil, po pozdní 1940, jen počítač, jak nástup elektronického digitálního stroje stal se obyčejný. Tyto počítače dokázaly provádět výpočty, které byly provedeny předchozími lidskými úředníky.

Protože hodnoty uložené digitálními stroji nebyly vázány na fyzikální vlastnosti jako analogová zařízení, byl logický počítač založený na digitálním zařízení schopen dělat cokoli, co by se dalo popsat „čistě mechanicky“. Teoretický Turingův stroj , vytvořený Alanem Turingem , je hypotetickým zařízením teoretizovaným za účelem studia vlastností takového hardwaru.

Matematické základy moderní počítačové vědy začal pokládat Kurt Gödel se svou větou o neúplnosti (1931). V této větě ukázal, že existují hranice toho, co lze ve formálním systému dokázat a vyvrátit . To vedlo k práci Gödla a dalších definovat a popsat tyto formální systémy, včetně konceptů, jako jsou mu-rekurzivní funkce a funkce definovatelné lambda .

V roce 1936 Alan Turing a Alonzo Church nezávisle na sobě, a také společně, zavedli formalizaci algoritmu s omezeními toho, co lze vypočítat, a „čistě mechanický“ model pro výpočet. Stala se z toho teze Church – Turinga , hypotéza o povaze mechanických výpočetních zařízení, jako jsou elektronické počítače. Diplomová práce uvádí, že jakýkoli možný výpočet lze provést pomocí algoritmu běžícího na počítači za předpokladu, že je k dispozici dostatek času a úložného prostoru.

V roce 1936 Alan Turing také publikoval svou klíčovou práci na strojích Turing , abstraktní digitální výpočetní stroj, který je nyní jednoduše označován jako Universal Turingův stroj . Tento stroj vynalezl princip moderního počítače a byl rodištěm konceptu uloženého programu, který používají téměř všechny moderní počítače. Tyto hypotetické stroje byly navrženy tak, aby matematicky formálně určovaly, co lze vypočítat, s přihlédnutím k omezením výpočetních schopností. Pokud může Turingův stroj úkol dokončit, je považován za Turinga vyčíslitelný .

Los Alamos fyzik Stanley Frankel , popsal John von Neumann ‚s ohledem na zásadní význam 1936 papíru Turing je ve svém dopise:

Vím, že zhruba v roce 1943 nebo v roce 1944 si von Neumann dobře uvědomoval zásadní význam Turingova článku z roku 1936 ... Von Neumann mě s tímto papírem seznámil a na jeho naléhání jsem ho pečlivě prostudoval. Mnoho lidí uznávalo von Neumanna jako „otce počítače“ (v moderním smyslu tohoto pojmu), ale jsem si jist, že sám by tu chybu nikdy neudělal. Možná by se mu dalo říkat porodní bába, ale mně a ostatním jsem si jistý, že za základní koncepci stojí Turing ...

John V. Atanasoff (1903-1995) tvůrce prvního elektrického digitálního počítače s názvem Atanasoff – Berry computer

Počáteční počítačový hardware

První elektronický digitální počítač na světě, počítač Atanasoff – Berry , byl postaven v kampusu státu Iowa v letech 1939 až 1942 profesorem fyziky a matematiky Johnem V. Atanasoffem a absolventem inženýrství Cliffordem Berrym .

V roce 1941 Konrad Zuse vyvinul první funkční programově řízený počítač na světě, Z3 . V roce 1998 se ukázalo, že je v zásadě Turing-úplný . Zuse také vyvinul počítač S2, považovaný za první počítač pro řízení procesů . V roce 1941 založil jeden z prvních počítačových podniků a vyráběl Z4 , který se stal prvním komerčním počítačem na světě. V roce 1946 navrhl první vysoké úrovni programovací jazyk , Plankalkül .

V roce 1948 bylo dokončeno Manchester Baby ; byl to první elektronický digitální počítač na světě, který běžel programy uložené v jeho paměti, jako téměř všechny moderní počítače. Vliv na Maxe Newmana z klíčového příspěvku Turinga z roku 1936 o Turingových strojích a jeho logicko-matematických příspěvků do projektu, byly oba klíčové pro úspěšný vývoj dítěte.

V roce 1950 dokončila britská národní fyzikální laboratoř Pilot ACE , programovatelný počítač malého rozsahu, založený na Turingově filozofii. S provozní rychlostí 1 MHz byl Pilot Model ACE nějakou dobu nejrychlejším počítačem na světě. Turingův návrh pro ACE měl mnoho společného s dnešními architekturami RISC a vyžadoval vysokorychlostní paměť zhruba stejné kapacity jako raný počítač Macintosh , což bylo na tehdejší poměry obrovské. Kdyby byl Turingův ACE postaven podle plánu a v plném rozsahu, byl by v jiné lize než ostatní rané počítače.

Claude Shannon (1916-2001), Pomáhal při vytváření oboru Informační teorie

První skutečná chyba počítače byla můra . Bylo to zaseknuté mezi relé na Harvardu Mark II. Zatímco vynález pojmu „brouk“ je často, ale mylně přisuzován Grace Hopperové , budoucí kontraadmirálce v americkém námořnictvu, která údajně „brouka“ 9. září 1945 zaznamenala, většina ostatních účtů je v rozporu přinejmenším s těmito detaily. Podle těchto účtů bylo skutečným datem 9. září 1947, kdy operátoři podali tento „incident“ - spolu s hmyzem a poznámkou „První skutečný případ nalezení chyby“ (podrobnosti viz chyba softwaru ).

Shannon a teorie informací

Claude Shannon pokračoval v zakládání oblasti teorie informace svým dokumentem z roku 1948 nazvaným Matematická teorie komunikace , který aplikoval teorii pravděpodobnosti na problém, jak nejlépe zakódovat informace, které chce odesílatel odeslat. Tato práce je jedním z teoretických základů mnoha oblastí studia, včetně komprese dat a kryptografie .

Norbert Wiener (1894-1964) vytvořil termín kybernetika

Wiener a kybernetika

Z experimentů s protiletadlovými systémy, které interpretovaly radarové snímky pro detekci nepřátelských letadel, vytvořil Norbert Wiener termín kybernetika z řeckého slova „kormidelník“. V roce 1948 vydal „Kybernetika“, která ovlivnila umělou inteligenci . Wiener také porovnal výpočet , výpočetní stroje, paměťová zařízení a další kognitivní podobnosti s jeho analýzou mozkových vln.

John von Neumann (1903-1957), představil počítačovou architekturu známou jako Von Neumannova architektura

John von Neumann a von Neumannova architektura

V roce 1946 byl představen model počítačové architektury a stal se známý jako Von Neumannova architektura . Od roku 1950 poskytoval von Neumannův model jednotnost v dalších návrzích počítačů. Architektura von Neumanna byla považována za inovativní, protože představila myšlenku umožňující strojovým instrukcím a datům sdílet paměťový prostor. Von Neumannův model se skládá ze tří hlavních částí, aritmetické logické jednotky (ALU), paměti a jednotky zpracování instrukcí (IPU). Při konstrukci stroje von Neumann IPU předává adresy do paměti a paměť je zase směrována buď zpět do IPU, pokud je načítána instrukce, nebo do ALU, pokud jsou načítána data.

Konstrukce stroje Von Neumanna využívá architekturu RISC (Reduced instruction set computing), což znamená, že sada instrukcí používá k provádění všech úkolů celkem 21 instrukcí. (To je na rozdíl od CISC, komplexní výpočet instrukčních sad, instrukční sady, které mají více instrukcí, ze kterých si můžete vybrat.) U architektury von Neumann je hlavní paměť spolu s akumulátorem (registr, který uchovává výsledek logických operací) dva. vzpomínky, které jsou adresovány. Operace lze provádět jako jednoduchou aritmetiku (provádí je ALU a zahrnuje sčítání, odčítání, násobení a dělení), podmíněné větve (ty jsou nyní běžněji vnímány jako ifpříkazy nebo whilesmyčky. Větve slouží jako go topříkazy) a logické pohyby mezi různými součástmi stroje, tj. přesun z akumulátoru do paměti nebo naopak. Von Neumannova architektura přijímá jako datové typy zlomky a instrukce. Konečně, protože von Neumannova architektura je jednoduchá, je také jednoduchá její správa registrů. Architektura využívá sadu sedmi registrů k manipulaci a interpretaci načtených dat a pokynů. Tyto registry zahrnují „IR“ (registr instrukcí), „IBR“ (registr vyrovnávací paměti instrukcí), „MQ“ (registr kvocientu multiplikátoru), „MAR“ (registr adres paměti) a „MDR“ (registr dat paměti). “ Architektura také používá programový čítač ("PC") ke sledování, kde v programu se stroj nachází.

John McCarthy (1927-2011), byl považován za jednoho ze zakladatelů umělé inteligence

John McCarthy, Marvin Minsky a umělá inteligence

Termín umělá inteligence byl připsán Johnem McCarthym, aby vysvětlil výzkum, který dělali pro návrh letního výzkumu v Dartmouthu . Pojmenování umělé inteligence také vedlo ke zrodu nového oboru v informatice. 31. srpna 1955 byl navržen výzkumný projekt sestávající z Johna McCarthyho, Marvina L. Minskyho, Nathaniela Rochestera a Clauda E. Shannona . Oficiální projekt začal v roce 1956, který se skládal z několika významných částí, o kterých si mysleli, že jim pomohou lépe porozumět složení umělé inteligence.

Myšlenky McCarthyho a jeho kolegů za automatickými počítači spočívaly v tom, že když je stroj schopen dokončit úkol, pak by to samé mělo být potvrzeno počítačem sestavením programu, který provede požadované výsledky. Zjistili také, že lidský mozek byl příliš složitý na to, aby se mohl replikovat, a to nikoli samotným strojem, ale programem. Znalosti produkovat tak sofistikovaný program ještě nebyly.

Koncept se zaměřil na to, jak lidé chápou náš vlastní jazyk a strukturu toho, jak tvoříme věty, dáváme různé významy a sady pravidel a porovnáváme je se strojovým procesem. Počítače dokážou porozumět na hardwarové úrovni. Tento jazyk je psán binárně (1 s a 0). To musí být napsáno ve specifickém formátu, který dává počítači sadu pravidel pro spuštění konkrétního hardwaru.

Minského proces určil, jak by tyto umělé neurální sítě mohly být uspořádány tak, aby měly podobné vlastnosti jako lidský mozek. Mohl však přinést pouze dílčí výsledky a potřeboval další výzkum této myšlenky. Měli však obdržet pouze dílčí výsledky testů

McCarthy a Shannon myšlenkou této teorie bylo vyvinout způsob, jak pomocí složitých problémů určit a měřit účinnost stroje pomocí matematické teorie a výpočtů . Měli však obdržet pouze dílčí výsledky testů.

Myšlenkou sebezdokonalování je, jak by stroj používal kód, který se sám mění, aby byl chytřejší. To by umožnilo stroji růst v inteligenci a zvýšit rychlost výpočtu. Skupina věřila, že by to mohli studovat, pokud by se stroj mohl zlepšit v procesu plnění úkolu v části abstrakcí svého výzkumu.

Skupina si myslela, že výzkum v této kategorii by mohl být rozdělen na menší skupiny. To by sestávalo ze smyslových a jiných forem informací o umělé inteligenci. Abstrakce v počítačové vědě mohou odkazovat na matematiku a programovací jazyk.

Jejich představa o výpočetní kreativitě spočívá v tom, jak lze program nebo stroj vnímat podobnými způsoby lidského myšlení. Chtěli zjistit, jestli stroj dokáže vzít část neúplných informací a vylepšit je, aby vyplnil chybějící detaily, jak to dokáže lidská mysl. Pokud to tento stroj dokáže; potřebovali přemýšlet o tom, jak stroj určil výsledek.

Viz také

Reference

Prameny

Další čtení

externí odkazy