Hlavní navigace

Průkopníci informačního věku (22.) John McCarthy

21. 4. 2012

Sdílet

 Autor: © Kirill Kurashov - Fotolia.com
V roce 1956 se na letním semináři na Darthmouth College setkala skupina vědců, kteří se začali zabývat problematikou strojového myšlení, otázkou, zda a za jakých okolností by bylo možné sestrojit systémy vyznačující se inteligencí.

Zajímá vás, kudy vedla cesta k umělé inteligenci, která je dnes a denně skloňována ve všech pádech? Pak je dnešní historické okénko určeno právě pro vás!

 

Přestože se v průběhu následujících let ukázalo, že původní vyhlídky tohoto oboru byly příliš optimistické, snaha McCarthyho a jeho spolupracovníků v oblasti vývoje inteligentních strojů měla v řadě ohledů značný vliv na další rozvoj informatiky – dnes jsou prvky umělé inteligence běžnou součástí řady sofistikovaných programů, které den co den používáme.

Gigantické mozky

V padesátých letech minulého století byly počítače v denním tisku nezřídka přirovnávány k jakýmsi „gigantickým mozkům“. Pro tehdejší sálové přístroje se sice slovo gigantický hodilo, ale přirovnání k mozkům bylo zkreslující. A to i přes fakt, že vskutku dokázaly provádět matematické výpočty s udivující rychlostí. Počítače samozřejmě nedisponovaly schopností myslet a už vůbec ne samovolně řešit problémy či na základě zkušeností a poznatků rozvíjet své schopnosti způsobem, jakým to dokáže lidský mozek. Výsledek jejich činnosti byl vždy svázán s přesnými instrukcemi, které jim zadali programátoři, což si přirozeně lidé uvědomovali. Ale mělo tomu tak být i v budoucnosti? To byla otázka, která vzrušovala nejen autory vědeckofantastických knih. Člověk snil o konstrukci myslícího stroje již před staletími, ale teprve s rozvojem počítačů se ukázalo, že tyto sny by snad mohly získat reálnější obrysy. V té době se na rozhraní několika oborů, jimiž byly matematika, kybernetika, informatika, psychologie a biologie, začal formovat vědecký obor umělá inteligence (artificial intelligence, AI).

Prvním člověkem, který se touto problematikou zabýval z hlediska vědeckých poznatků, je podle všeobecné shody odborníků Alan Turing. Jak jsme již uvedli v části věnované tomuto britskému vědci, jeho předválečné práce poskytly pevné teoretické zázemí pro celou oblast výpočetní techniky. Když po válce obrátil svou pozornost k problematice lidského myšlení, dospěl k přesvědčení, že na lidský mozek je třeba se dívat jako na počítač. Z toho dále usuzoval, že v budoucnosti bude možné „myslící stroje“ zkonstruovat. Turingova představa těchto strojů zároveň vycházela z darwinovské analogie – stroje by podle něj mohly probádat řešení problémů tím, že budou napodobovat způsob, jakým příroda kombinuje geny.

CS24

A byl to také Turing, kdo přišel s myšlenkou, že za inteligentní můžeme stroj nebo systém prohlásit tehdy, pokud, zjednodušeně řečeno, jeho odpovědi na soubor rozličných otázek nedokážeme odlišit od odpovědí živého člověka. Metodika tohoto experimentu, označovaného jako Turingův test, se později stala jedním z teoretických pilířů oboru umělé inteligence. (I když na druhé straně řada vědců tento test považuje za nedostatečný, neboť se omezuje na pouhý behavioristický pohled, aniž zkoumá případné vnitřní stavy systému.)

Průkopníci rané etapy oboru umělé inteligence, kterou lze časově vymezit roky 1955 až 1975, vycházeli víceméně z Turingovy představy lidského mozku coby výkonného počítače. Otázky, jak by stroj mohl rozpoznat kontext promluvy či porozumět danému problému, se snažili vyřešit přístupem „shora dolů“, od lidských intelektuálních schopností jejich redukcemi směrem k porovnatelným schopnostem strojů. Praktická aplikace tohoto přístupu vyústila v pokusy spočívající v jakémsi „rozparcelování“ inteligence do oddělených modulů, z nichž se jeden každý měl zabývat specifickými typy informací a vědomostí.

Každý modul měl být vybaven jednoznačným modelem světa, přičemž, což byl základní předpoklad, tyto moduly na sebe měly vzájemně působit prostřednictvím logických pravidel obsažených v „inferenčním stroji“, jenž měl umožnit inteligentní chování celého systému. Zdálo se, že k vytvoření stroje, který by úspěšně prošel Turingovým testem, stačí příslušně zkombinovat hrubou výpočetní sílu s dostatečně kvalitním programem založeným na formální logice a schopným efektivně pracovat se znalostními moduly. K hlavním osobnostem této rané fáze oboru umělé inteligence patřil nedávno zesnulý John McCarthy, profesor matematiky a zakladatel dvou nejvýznamnějších laboratoří zaměřených na vývoj AI.

Vášeň pro matematiku

Narodil se v září roku 1927 v Bostonu. Jeho otec byl irský imigrant, matka pocházela z rodiny litevských Židů, která přišla do Spojených států krátce po ruské revoluci. Oba rodiče byli vzdělaní a oba se jako členové komunistické strany angažovali ve veřejném dění, což způsobovalo, že otec jen s velkými obtížemi hledal zaměstnání, obzvláště v době hospodářské krize třicátých let. Z tohoto důvodu se rodina musela často stěhovat. Pokud jde o McCarthyho matku, prameny ji popisují nejen jako stoupenkyni radikální levice, ale také jako feministku a členku hnutí sufražetek.

Názory, jež zastávali McCarthovy rodiče, byly bezesporu podmíněny dobou a jejich vlastními životními zkušenostmi. Sám John McCarthy později poznamenal, že za nimi byla především touha po spravedlivější společnosti, která ani jemu nebyla cizí. (V době studií na Princetonu se totiž nakrátko připojil k jedné z buněk komunistické strany, ale později, v období vrcholící vietnamské války, ideologii krajní levice navždy opustil a názorově se klonil spíše ke konzervativní pravici.) Pokud jde o jeho otce, rozhodně nebyl levicovým snílkem, jenž si představuje, že revoluční změna vyřeší veškeré neduhy společnosti, nýbrž prakticky uvažujícím mužem, který se i přes své kontroverzní názory dokázal o rodinu vždy postarat. Byl také technickým nadšencem, dokázal opravovat elektrické přístroje, což učil i svého syna, stejně jako se mu snažil předat pevnou víru, že vědecké poznání může významně přispět ke zlepšení lidské společnosti.

Krátce poté, co začal malý John navštěvovat školu, získal jeho otec konečně stabilní práci v Los Angeles. Rodina se tedy z východního pobřeží přestěhovala do Kalifornie, kde pak John McCarthy prožil značnou část života. Že jako chlapec vynikal v matematice a technických předmětech, nikoho zřejmě nepřekvapí, ale v jeho případě je třeba dodat, že tomu tak bylo i navzdory vážným zdravotním komplikacím, s nimiž se v dětství musel potýkat a kvůli nimž se jeho školní docházka vyznačovala častými absencemi. Přesto dokázal absolvovat střední školu v pouhých patnácti letech, a když začal studovat matematiku na proslulém Kalifornském technologickém institutu, mohl díky svým znalostem nastoupit rovnou do třetího ročníku. Podle některých zdrojů získal předstih nad svými vrstevníky právě kvůli svým zdravotním problémům. Neboť v době, kdy nemohl chodit do školy, se intenzivně věnoval samostudiu matematiky z potrhaných učebnic, jež nalezl na skládce nedaleko univerzity.

Protože McCarthy vstoupil na univerzitu době, kdy byly Spojené státy ve válce, jeho studium záhy přerušil povolávací rozkaz. Ve vojenské službě pak strávil necelé dva roky, ale bojů se neúčastnil. Působil jako vojenský administrátor v záloze, patrně s ohledem na zdravotní komplikace v dětství. Po návratu na Caltech získal v roce 1948 svůj první vědecký titul a krátce nato byl přijat ke studiu matematiky na Princetonskou univerzitu, kde o tři roky později obhájil doktorskou práci.

Darthmoutské setkání

Během padesátých let vyučoval na několika univerzitách a byl přesvědčen, že jeho oborem zůstane čistá matematika, přesněji řečeno kombinatorika. V období, kdy působil na Dartmouth College, se však v roce 1955 zúčastnil studijního pobytu v laboratoři IBM, kde se mohl poprvé seznámit s prací na výkonných sálových počítačích. Jako matematika jej zde zaujala nejen problematika tvorby programů (v té době ještě značně neucelená), ale i aspekty související s rozvojem a obecnějším využitím výpočetní techniky. Svět počítačů jej zaujal natolik, že se ponořil do veškeré tehdejší literatury, která s matematikou okolo počítačů více či méně souvisela, od Turingových článků a Shannonovy teorie informace až po kybernetiku Norberta Wienera. Zvláštní oddíl, který neunikl jeho pozornosti, představoval matematický popis mozkových buněk, který roku 1943 navrhli Warren McCulloch a Walter Pitts z univerzity v Illinois. Jejich práce naznačovala, že mozkové buňky neboli neurony, jejichž prostřednictvím funguje lidská mysl, je možné považovat za logické přepínače pracující na principu booleovské (binární) logiky. Po návratu na Dartmouth College se McCarthy rozhodl opustit oblast čisté matematiky a věnovat se aktuálním výzvám, jež se objevily v souvislosti s rozvojem „strojového myšlení“. Ačkoli zatím nebylo zcela jasné, jakým směrem se v tomto bádání vydat, získal několik spolupracovníků, s jejichž pomocí začal organizovat vědeckou konferenci, která by se této otázce vážně věnovala.

K tomu, aby mohl tento seminář zorganizovat, potřeboval prostředky, jež mu Dartmouth College nemohla poskytnout. Proto se ještě téhož roku společně s dalšími vědci obrátil na Rockefellerovu nadaci se žádostí o finanční podporu dvouměsíčního studijního setkání. V žádosti bylo uvedeno, že konference umožní debatu o možnostech výzkumu, který „bude veden na základě předpokladu, že všechny aspekty učení nebo libovolného jiného příznaku inteligence je možné popsat tak precizně, aby se daly simulovat stroji“. Nadaci tento záměr zaujal, a proto poskytla organizátorům částku, která umožnila seminář uskutečnit. Toto setkání vědců na Dartmouth College v Hanoveru ve státě New Hampshire, jež se odehrálo v létě roku 1956, je dnes považováno za okamžik ustanovení mezioborové vědecké disciplíny, označované jako „umělá inteligence“ – tento pojem použil poprvé právě John McCarthy, a proto je někdy uváděn jako „otec umělé inteligence“ (čímž se pochopitelně rozumí obor, nikoli umělý inteligentní systém). Vedle McCarthyho, jenž byl hlavním organizátorem, se setkání zúčastnila řada osobností, jež se v dalších dvou desetiletích významně zasloužily o rozvoj této nové vědecké disciplíny, např. Marvin Minsky, Allen Newel, Herbert Simon, Edward Feigenbaum či Ray Solomonoff. Na několik dní na dartmouthské setkání zavítal i tehdy již těžce nemocný John von Neumann, jenž se problematikou strojové inteligence zabýval od začátku čtyřicátých let.

Význam dartmouthské konference shrnul prof. Josef Kelemen slovy: „Na tomto setkání mladých nadšenců, kteří měli do té doby umělou inteligenci spíše jako koníčka než jako seriózní vědeckou a technickou disciplínu, navíc se jí zabývali izolovaně, znamenal seminář nejenom konstituci jejich oboru a jeho profesionalizaci, nýbrž i možnost začít s koordinovanými aktivitami.“

LISP


Ve druhé polovině padesátých let zamířil John McCarthy na Massachusettský technologický institut, kde společně s Marvinem Minským založil skupinu pro výzkum umělé inteligence (AI Group). Jestliže bychom měli zpětně hodnotit McCarthyho dílo, bylo pětileté působení na MIT v jeho životě bezesporu nejplodnějším vědeckým obdobím, kdy se mu podařilo dosáhnout pokroků, které významně ovlivnily nejen obor umělé inteligence, ale i v širším hledisku celé informatiky.

Za prvé je třeba zmínit jeho přínos v oblasti vývoje systémů sdíleného času (time-sharing), tedy technologii, jež umožňuje současný přístup více uživatelů, přičemž každý uživatel je v kontaktu s počítačem tak, jako by jej měl k dispozici výhradně jen on. McCarthyho práce vycházela z analýzy největšího systému sdíleného času, jímž byl v té době vojenský projekt SAGE (Semi-Automatic Ground Environment), a přinesla podněty k tomu, jak systém sdíleného času dále rozvíjet. Na základě těchto myšlenek pak začala na MIT příprava ambiciózního Projektu MAC. Jedním z cílů tohoto projektu, který se začal realizovat až po odchodu McCarthyho z MIT, bylo vytvoření nového operačního systému Multics, který přes svůj neúspěch přinesl několik nových a inovativních technologií – později dal nejen podnět ke vzniku Unix, ale jeho principy se v podstatě využívají ve všech moderních operačních systémech.

Druhý přínos, ještě podstatnější, spočíval ve vytvoření programovacího jazyka LISP (LISt Processing). Na základě výpočtového modelu Alonza Churcha a prací Allena Newella a Herberta Simona začal McCarthy se svými spolupracovníky ze skupiny AI vyvíjet algebraický programovací jazyk, který by umožňoval efektivní manipulaci se symboly a zpracování seznamů, což bylo pokládáno za předpoklad pro další vývoj systémů umělé inteligence. Newell a Simon z RAND Corporation ukázali, že bitové řetězce v počítači se dají využívat nejen k reprezentaci čísel, nýbrž i obecnějších symbolů. Toto poznání významně posunulo vývoj umělé inteligence, byť na druhé straně také vytvořilo falešný předpoklad, že jí lze dosáhnout přístupem „shora dolů“.

Výzkumníci v čele s Johnem McCarthym vycházeli z toho, že symboly mohou označovat obecné aspekty světa a logické manipulace s nimi lze provádět vhodně strukturovanými programy. Tento postup měl vlastně simulovat činnost lidského mozku, který rovněž, alespoň taková byla tehdy hypotéza, manipuluje se symboly, ať jsou to texty, obrázky či noty. Ve vědecké komunitě zabývající se umělou inteligencí panovalo přesvědčení, že úspěšnost práce na „myslícím stroji“ bude mimo jiné záviset i na rychlém prohledávání depozitářů znalostí převedených do symbolické podoby.

To nepostrádalo logiku. Ale bylo třeba vytvořit příslušný program umožňující orientaci v bázích znalostí. McCarthy se o to pokusil, přičemž hodlal využít princip lambda kalkulu, matematického modelu pro popis funkcí a jejich vyhodnocení. Původně se mělo jednat pouze o modifikaci jazyka FORTRAN, ale tyto úpravy později vyústily k vytvoření nového jazyka, jehož první aplikací měly být právě symbolické matematické výpočty. Když se McCarthy v průběhu práce odklonil od zavedené notace zápisu algebraických výrazů, která se mu zdála příliš složitá, zjistil, že je možné pomocí několika poměrně jednoduchých operací (a notací pro zápis funkcí) vytvořit programovací jazyk, který je turingovsky kompletní. Původní LISP, označovaný též jako „čistý LISP“, byl proto úžasně jednoduchý. Obsahoval pouze dva datové typy, symboly a seznamy a několik málo jednoduchých operátorů bez vedlejších efektů, ale i to stačilo k tomu, aby se jeho vyjadřovací síla vyrovnala Turingovu stroji a přehlednost zápisu programů jej dokonce předčila. (To mimo jiné znamená, že v čistém LISP je možné napsat jeho vlastní interpret, a jak se později ukázalo, dokonce i interprety pro řadu jeho pozdějších, na první pohled bohatších variant.)

LISP se prakticky ihned po vzniku první implementace na počítači IBM 704 začal hojně šířit a používat pro výzkum i tvorbu aplikací z oblasti umělé inteligence a pro vývoj expertních systémů. Záhy vzniklo i nesčetně variant tohoto jazyka. Posléze se některé jeho výhodné vlastnosti, zvláště práce se symboly a možnost efektivního vytváření seznamů, začaly využívat i v odlišných aplikacích – nejznámější je patrně užití jednoho z pozdějších dialektů LISP v populárním AutoCAD.

Pokračování článku naleznete na sesterském magazínu CIO Business World.