Průkopníci informačního věku - John McCarthy

14. 3. 2012

Sdílet

 Autor:
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í. Setkání zorganizoval matematik John McCarthy, jenž tyto systémy označil souslovím „umělá inteligence“.

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.

ICTS24

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.“

Setkání vědců na Dartmouth College

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.

Význam první etapy AI

V době dartmouthské konference panoval mezi většinou ze zúčastněných vědců optimismus, že stroje nadané inteligencí se podaří vyvinout v horizontu deseti patnácti roků. Tyto naděje se zhroutily v první polovině sedmdesátých let, kdy začaly být počítače dostatečně výkonné, aby stačily na řešení některých intuitivních problémů a začaly vykazovat zřetelně inteligentní chování. Tehdy se však ukázalo, že „inteligence“ tehdejších systémů AI nestačí ani na pochopení dětských říkanek, nemluvě o schopnosti takovou říkanku vytvořit. Nicolas Negroponte, dlouholetý ředitel MIT Media Lab, uvádí, že typickým problémem, s nímž měly tehdejší vyspělé umělé inteligentní systémy potíže, byla například úloha: která písmena následují v řadě zahájené jako J, D, T, Č, P?
John McCarthy je někdy uváděn jako „otec umělé inteligence“

Logický formalismus, jakkoli byl elegantní, ani množství přepečlivě vypracovaných znalostních modulů zdaleka nepostačovaly k tomu, aby bylo dosaženo byť jen inteligence na úrovni tříletého dítěte. Přirozené jazyky se nadto ukázaly mnohem komplikovanějšími, než se původně myslelo – tyto jazyky kódují obrovské množství znalostí závislých na kontextu, které lidem umožňují naplnit slovní vyjádření smyslem.

Tou dobou, jak jsme už předznamenali, skončila první etapa vývoje umělé inteligence, vyznačující se tradičním přístupem a vírou v logický formalismus a hrubou výpočetní sílu. Většina vědců se namísto snahy o vývoj silné AI přiklonila k snáze řešitelným aplikacím, o něž měl zájem trh, jako jsou robotika a expertní systémy, které byly prvním komerčně velmi úspěšným výsledkem této poněkud kontroverzní vědecké disciplíny a jež postupně pronikly do téměř všech oblastí lidské činnosti. O něco později se hlavní výzkumný proud umělé inteligence odvrátil od metodiky spočívající v hledání nejvhodnějších způsobů symbolické reprezentace prostředí, a v souladu s novými poznatky kognitivních věd zaměřil svou pozornost jednak opět na neuronové sítě, jednak na studium interakcí systému a jeho prostředí. Ale to už je jiný příběh. Takže na samotný závěr řešení výše uvedené úlohy, které zní: Š, S. (Řada je tvořena prvními písmeny základních číslovek: jedna, dvě, tři atd.)

John McCarthy (1927–2011)

Americký matematik a počítačový vědec. Vystudoval matematiku na Kalifornském technologickém institutu (titul BS) a na Princetonské univerzitě (titul PhD). Po studiu působil jako asistent na několika prestižních univerzitách (Princeton, Stanfordova univerzita, Dartmouth College, MIT), než se v roce 1962 stal řádným profesorem na Stanfordově univerzitě, kde působil až do svého odchodu na odpočinek v roce 2000. V roce 1956 pořádal společně se svými spolupracovníky na Dartmouth College konferenci o budoucnosti informačních technologií, na které zavedl pojem „umělá inteligence“ (artificial inteligence, AI). V 50. letech, kdy působil na MIT, přispěl k vývoji systémů sdíleného času, vedl práci na programovacím jazyku LISP. Získal řadu ocenění, z nichž nejvýznamnější je Turingova cena (1971) a Národní medaile za vědu (1988).

Umělá inteligence

Z historického hlediska se postupem času vymezily dva základní přístupy označované jako tradiční a nová umělá inteligence. Tradiční neboli symbolicko-reprezentační přístup se používal zejména v první etapě umělé inteligence a vycházel z předpokladu symbolické reprezentace poznatků a prostředí a z existence mechanizmu plánování aktivit na základě reprezentovaných poznatků. K rekonstrukci umělých inteligentních systémů se snažil využít postup „shora dolů“, od lidských intelektuálních schopností jejich redukcemi směrem k porovnatelným schopnostem strojů. Naproti tomu nová umělá inteligence volí postup opačný, „zdola vzhůru“, tedy od jednoduchých reakcí umělých systémů směrem ke komplexnějším projevům těchto systémů.Podle stupně implementace se umělá inteligence rozlišuje na silnou a slabou. Zatímco silná umělá inteligence by měla vykazovat schopnosti lidského mozku (měla by za všech okolností projít Turingovým testem), slabá umělá inteligence se vždy soustředí na konkrétní problém, například na překlad textu či identifikace osoby podle obličeje. Jistou formou slabé umělé inteligence dnes disponuje řada programů či systémů, s nimiž pracujeme prakticky denně.