Galántai Zoltán

A komputációs szörnyeteg 

Jegyzetek

„Azt hiszem, itt mindjárt hangot adhatunk egy alapvetô

kifogásunknak; annak, hogy ugyancsak kétes az a tudás,

amelynek nem valamilyen gondolat az alapja, hanem egy puszta osztályozási sablon… Nem hiszem, hogy két,

ember alkotta osztályozási mód merô szimmetriája elegendô

volna a kiszámíthatatlan, rejtélyes valóság megmagyarázására, nem egyéb [ez] az üres számtani szemfényvesztésnél.”

(Jorge Luis Borges: Vita)

A QWERTY-billentyuzet

Az írógépek billentyuzetkiosztását eredetileg egy Christopher Latham Sholes nevu amerikai feltaláló tervezte meg 1867-ben – ekkoriban mindenki mással együtt még ô is úgy gondolta, hogy az emberek csupán két ujjukat fogják használni a gépeléshez. 1878-re azonban, amikorra kezdtek elterjedni a Sholes-szabadalom alapján megépített Remington-írógépek, nyilvánvalóvá vált, hogy a gépírók vakon dolgozva mind a tíz ujjukat használni fogják, úgyhogy egy Mrs. L. V. Longley nevu hölgy hamarosan ki is fejlesztette azt, amit ma QWERTY-billentyuzetnek nevezünk, és ami a technikatörténészek egyik kedvenc példájának számít. Méghozzá azért, mert bár ez az elrendezés található meg immár a több százmillió mai számítógép billentyuzetén is, nehezen volna elképzelhetô ennél rosszabb megoldás. Mrs. Longley-nek ugyanis nem az volt a célja, hogy könnyebbé, hanem az, hogy nehezebbé tegye a gépelést.

Persze jó oka volt rá.

Az akkori betukarok összeragadtak, ha túlságosan gyorsan ütötték le ôket, úgyhogy mi sem tunt logikusabbnak, mint egy olyan kiosztást választani, ami a lehetô leginkább lelassítja a munkát. És ha egyszer már ez terjedt el, akkor annak ellenére is egyeduralkodó maradt mind a mai napig, hogy az ergonómus August Dvorak már 1936-ban kidolgozta az angol nyelv hanggyakoriság-eloszlása alapján a lehetô legkönnyebben használható megoldást.

Hilbert lélektelen komputere

A QWERTY-billentyuzet továbbélése különösnek tunhet, de legalább ugyanennyire különös a mai számítógép-felépítés kialakulásának története is. És ez utóbbi már csak azért is érdekesebb, mert míg a Mrs. Longley-féle billentyuzetkiosztásból legfeljebb arra lehet következtetni, hogy az írott angol nyelvben mely betukombinációk fordulnak elô a leggyakrabban, a számítógép révén viszont megtudhatunk néhány dolgot a matematikai, illetve kissé általánosabban fogalmazva magáról a fogalmi gondolkodásról is.1

Pedig elsôre mintha itt is pusztán technikai kérdésrôl lenne szó. Méghozzá arról, hogy a hagyományos számítógép végtelenül centralizált felépítésu: az úgynevezett központi egység (CPU, azaz Central Processing Unit) egymás után beolvassa az adatokat, aztán egyenként elvégzi rajtuk a megfelelô muveleteket, és végül kiírja ôket a memóriába – ami nagyjából olyan hatékony, mintha egy autópályán a nyolc, tizenkét vagy tízezer sáv helyett egyszerre mindig csupán egyet használhatnánk. Ezt a felépítést szokás a magyar származású matematikus, Neumann János nyomán Neumann-féle architektúrának nevezni – illetve olykor nem éppen hízelgôen Neumann-féle szuk keresztmetszetnek is. (A hagyományos felépítésu komputereket egyébként szokás SISD-gépeknek – Single Instruction Stream, Single Data Stream – is nevezni.)

Elvileg megtehetnénk, hogy egyszerre több (nyolc, tizenkét vagy tízezer) csatornán mozgatjuk az adatokat ugyanennyi központi egység felé, s ekkor a következô adatnak nem kellene addig várnia, amíg az elôzôvel végez a gép – ez lenne az ún. párhuzamos felépítésu komputer. Daniel Hillis, az egyik elsô és minden bizonnyal legismertebb ilyen számítógép, a Connection Machine megalkotója például úgy véli, hogy ennek a számítógép-iparban elterjedt és mai szemmel nézve végtelenül ésszerutlen, központosító megoldásnak történeti okai vannak: szerinte az elsô elektromos számítógépek megjelenésekor a központi egység viszonylag drága és viszonylag gyors volt, míg a memória lassú és olcsó, és így a lehetô leglogikusabbnak tunt „annyira kihasználni a [kezdetben központi egységként szolgáló] drága vákuumcsövet, amennyire csak lehet”.

Késôbb pedig ugyanúgy fennmaradt minden ésszerutlensége ellenére is, akár a QWERTY.

Ez azonban a magyarázatnak csak az egyik fele: egy technológia elfogadása ugyanis mindig különbözô értékítéleteket is feltételez – jelen esetben például azt, hogy a számítások gyors elvégzése elsôdleges bármilyen más szemponthoz képest. A másik felét talán annak a David Hilbert-nek az említésével érdemes kezdeni, aki 1900-ban elôadást tartván a matematika 23 legfontosabb problémájáról, többek között azt a kérdést is feltette, hogy vajon található-e „teljesen általános eljárás” – ahogyan késôbb a kozmológus Paul Davies fogalmazta meg a problémát – „a matematikai tételek bizonyítására”. Vagyis, hogy kidolgozható-e egy abszolút biztos és tévedhetetlen módszer, aminek a segítségével véges sok lépésben bármilyen matematikai állításról eldönthetô, hogy igaz-e vagy hamis. Mert amennyiben ez lehetséges, úgy már csak a megfelelô személyekre van szükségünk, akik szigorúan a szabályokat követve, egymás után ellenôriznek minden tételt. És eközben még érteniük sem kell, hogy mit csinálnak. „Elvégre mikor végrehajtunk egy számtani muveletet… akkor bizonyos egyszeru szabályokat követünk – mondja ismét csak Davies –, hogy megkapjuk a végeredményt… Ehhez nincs szükségünk a szabályok megértésére, még kevésbé az eredetük firtatására. Valójában a muveletben szereplô jelek megértésére sem… Mindaddig, amíg helyesen ismerjük fel ôket, és betartjuk a szabályokat, megkapjuk a megfelelô eredményt. Maga az a tény, hogy [például] a [szorzási] muvelet zsebszámológéppel végrehajtható, egyben azt is bizonyítja, hogy vakon, minden gondolkodás nélkül elvégezhetô az egész”, vagyis a számításokat végzô ember, ha már ismerjük a matematikai szabályokat, akkor egészen egyszeruen géppel helyettesíthetô.

Az elképzelés mögött persze ott rejtôzik a matematikának az a formalista értelmezése is, mely szerint a matematika átfordítható valamiféle formális, gép által is ellenôrizhetô nyelvre, a szimbólumok jelentése pedig matematikán kívüli dolognak számít. Elvégre ha nem így volna, akkor a hipotetikus gépnek képesnek kellene lennie megértenie a bizonyítást.

Az ember, aki komputer volt – és a komputer, aki ember

Hilbert szerint tehát a tételek ellenôrzésekor egy számítógép nyugodtan átvehette volna az ember munkáját – sôt igazság szerint erre elvileg akár már jóval korábban és jóval gyakorlatibb szinten is sor kerülhetett volna erre, és egy ismét csak technikai beállítottságú magyarázat szerint ez csupán azért nem történt meg, mert egyszeruen nem volt érdemes próbálkozni vele. Neumann János állítólag még úgy tesztelte a komputereket valamikor a 40-es évek elején, hogy megnézte, gyorsabban számolnak-e, mint ô fejben. Az 1944-es, Howard Aiken-féle elektromechanikus Mark I-nek még nem kevesebb, mint 6 másodpercre volt szüksége egy szorzáshoz (és 12-re egy osztáshoz) – ám az egy évvel késôbb elkészült, teljesen elektronikus és digitális ENIAC-nak (Electronic Numerical Integrator and Calculator) már alig 2,8 ezredmásodpercre, vagyis durván kétezerszer vált gyorsabbá. Egy olyan gép viszont, ami rosszabb esetben még az embereknél is lassabban dolgozott, valóban nem feltétlenül tunhetett volna vonzónak.

Még akkor sem, ha – az emberrel ellentétben – hibátlanul dolgozott, és miután Leibniz már az 1600-as évek végén kijelentette, hogy „kiváló emberekhez… nem méltó, hogy rabszolga módra órákat vesztegessenek el olyan számítások elvégzésével, amelyeket bárkire nyugodtan rá lehetne bízni, ha gépet használna”, Charles Babbage a gyakorlatban is megpróbált az 1820-as években egy a logaritmustáblázatokat teljesen mechanikusan kiszámító gépet megkonstruálni. Eközben számára nem is annyira Leibniz gondolata, mint inkább az a francia kísérlet szolgált mintául, amire még valamikor a forradalom után került sor, amikor közel száz ember számítási kapacitásának kihasználásával szintén logaritmustáblázatokat állítottak össze. Az ötletet pedig Adam Smith minden bizonnyal legtöbbet idézett megállapítása adta, mely szerint egy manufaktúrában, ahol alig tíz ember dolgozott, „minden egyes személy négyezer-nyolcszáz tut készített naponta”, mivel a munkafolyamatot egymástól jól elkülöníthetô, egyszeru fázisokra osztották fel – máskülönben viszont „bizonyos, hogy egyenként nem húsz, de talán még egy gombostut sem tudtak volna megcsinálni”.

És akkor miért is ne tennénk ugyanezt a valójában semmiféle értelmet és belátást nem igénylô matematikai muveletekkel is.

Ezért a franciák is elemeire bontották a számítási folyamatot. A piramis csúcsán a kor néhány legnagyobb matematikusa foglalt helyet (mint amilyen például A. M. Legendre is volt): nekik kellett kiválasztaniuk a megfelelô képleteket és meghatározniuk a célokat. Alattuk középszintu matematikusok dolgoztak, akik leginkább a XX. századi programozókkal állíthatók párhuzamba, és akik olyan formulákat alkottak meg, melyek a feladatot részeire bontották, és így a hierarchia legalján található, „élô számológépek” számára feldolgozhatóvá tették. Nekünk most egészen úgy tunhet, mintha emberekbôl építettek volna meg egy számítógépet, pedig éppen fordítva történt: az 1900-as évek közepén a korai elektromechanikus vagy elektronikus komputerek fogják majd lemásolni ezt a struktúrát.

Erre azonban még várni kell, hiszen egyelôre csak a papírral és ceruzával dolgozó számítóközpontok alkalmazták ezt a rendszert – így például a II. világháború végén az amerikai hadsereg ballisztikai kutatólaboratóriuma is, ahol az ENIAC nevu óriásgépet aztán azért építették meg, hogy a számításokat végzô „humán komputerek” munkáját helyettesítsék vele. Ehhez viszont kézenfekvônek tunt az egész adatfeldolgozási struktúrát is átvenni, és ha Hilbert-nél már nyilvánvaló volt, hogy a gép kiválthatja az embert, akkor itt ez most meg is történt. Az eredmény pedig az volt, hogy az elektronikus számítógép átvette azokat a sajátosságokat is, melyek abból adódtak, hogy a módszert addigra a lehetô leginkább hozzáigazították a számításokat végzô emberek sajátosságaihoz – így például ahhoz, hogy egyszerre legfeljebb néhány számot tudunk megjegyezni (tehát jobb, ha egyszerre csupán nagyon kevés számot kell kezelni); vagy például ahhoz, hogy fogalmi gondolkodásunk soros muködésu, és tökéletesen alkalmatlanok vagyunk párhuzamosan egyszerre több matematikai muveletet végezni. Azaz, bármilyen különösen hangozzék is, amennyiben egy értelmes földönkívüli tanulmányozhatná a korai monstrumokból kinövô személyi számítógépet, akkor (feltéve, hogy ismerné egyáltalán a számítógép fogalmát) következtetéseket vonhatna le az ember biológiájával, illetve az emberi agy muködésével kapcsolatban is.

Pedig ez egyáltalán nem biztos, hogy jó, mivel a mi biológiai korlátaink és a komputerek fizikai lehetôségei között nyilvánvalóan alapvetô különbségek vannak. Említhetnénk például – anélkül persze, hogy egyenlôségjelet akarnánk tenni a két folyamat közé –, hogy míg az ember viszonylag lassan tanul, utána pedig lassan felejt, addig a számítógépnél mindössze egy pillanat az egész; vagy azt, ami témánk szempontjából most mérhetetlenül fontosabb: hogy miközben a számítógép elvileg tökéletesen alkalmas lehetne a párhuzamos adatfeldolgozásra, addig a szimbólumokkal dolgozó, elvont emberi gondolkodás egyáltalán nem az. Márpedig ha a billentyuzetkiosztással kapcsolatban azt mondhatjuk, hogy az angolul beszélôk számára a Dvorak-féle lenne az ideális, akkor a számítástechnika szempontjából viszont meglepôen sok esetben az volna a célszeru, ha túllépnénk a Neumann-féle szuk keresztmetszeten. Különösen, ha nagy mennyiségu, egymással is összefüggésben lévô adatot kell egyszerre elemezni, mint amilyen a városi forgalom, a fertôzések terjedése, az alakfelismerés – vagy éppen az idôjárás változásai.

Szekvenciális matematikák

James Bailey, a párhuzamos felépítésu számítógépeket gyártó Hillis-féle Thinking Machines egyik volt vezetôje szerint „amikor az ENIAC tervezôje tudni akarta, hogy a különbözô feladatok megoldásához mit kell csinálnia az áramköröknek, akkor lement a ballisztikai számítások termébe, és egyszeruen lemásolta az emberi komputerek munkáját”. Innét továbblépve már nem is olyan nehéz azt mondani, hogy ezek szerint az ENIAC, illetve az ôt követô elektromos komputerek „tervezési specifikációját” mind a mai napig a Principia Mathematica határozza meg, hiszen az 1940-es években a ballisztikai számításokhoz az egészen idáig visszakövethetô képleteket használták. Ami viszont azért válhatott lehetôvé, mert – ismét Bailey megfogalmazásával élve – „a newtoni képletek struktúrája különösen jól illett az emberi információkezeléshez”.

Stanislaw Lem, az ismert lengyel sci-fi író egy helyütt olyan ôrült szabóról beszél, aki minden lehetséges ruhát megkonstruál. „Az emberekrôl, a madarakról, a növényekrôl nem tud semmit. A világ nem érdekli, nem tanulmányozza. Csak ruhákat varr. Hogy kinek, nem is gondol erre. Vannak gömb alakú, nyílás nélküli ruhái is… A matematika pontosan így cselekszik… Struktúrákat teremt, csak azt nem tudni, kinek a részére”, mondja. A természettudósok pedig megfelelô ruhák után kutatva „a XVI. századtól át- meg átfésülik azoknak az »üres ruháknak« a raktárát, amelyeket a matematika hoz létre”, hogy az általuk tanulmányozott természeti jelenséggel kapcsolatban hatékonyan használható matematikai eszközt találjanak. „A fizikát tehát lefordítjuk a matematika nyelvére”, ami persze azért lehetséges csak, mert ezek szerint a matematikai alakra hozott törvények valamilyen szinten egyfelôl tényleg leírják a valóságot; másfelôl pedig azért, mert az emberi gondolkodás képes az ilyen formára hozott információkat feldolgozni. Tulajdonképpen mintha nem is volna olyan nehéz arra a következtetésre jutnunk, hogy egyfelôl a valóság és a matematika, másfelôl pedig a matematika és a szekvenciális gondolkodás között is van valamiféle kapcsolat. A mai számítástechnika logikai alapjául szolgáló, ún. Boole-algebra kidolgozója, George Boole még valamikor a XIX. században ezért beszélt arról, hogy „közeli hasonlóság van aközött, ahogyan az elme általános [fogalmi], illetve ahogyan a speciális, algebrai gondolkodás közben muködik”, és akár úgy is fogalmazhatnánk, hogy a fogalmi és a matematikai gondolkodás tulajdonképpen azonosak: az utóbbi az elôbbinek speciális esetekre való alkalmazása. Descartes egyenesen azt vallotta, hogy mindazokat a dolgokat, melyek eszünkbe juthatnak, ugyanúgy kell elrendezni, mint „ahogyan a számok természettôl fogva vannak sorrendbe állítva”.

A szekvenciális és a numerikus gondolkodás között tehát tényleg nem lehet valami nagy a távolság, és a mesterséges intelligencia Hobbesig visszakövethetô szimbólummanipulációs irányzata ezt az elképzelést továbbfejlesztve tartja azt, hogy a gondolkodás tulajdonképpen belsô beszéd: az elme bizonyos belsô szimbólumokat dolgoz fel a logika szabályai alapján. E szerint az elképzelés szerint a nevek, a fogalmak belsô hasonmásai pontosan ugyanazt jelentik, mint külsô „megfelelôik”: amikor ezen belsô nyelv szavait megfelelô sorrendben, a megfelelô szabályokat követve sorba rakjuk, akkor tulajdonképpen gondolkodunk. Ahogyan egy a mesterséges intelligencia filozófiai kérdéseit tárgyaló könyv fogalmaz, „az elme olyan belsô mondatokká fuzi össze ezeket a lelki szimbólumokat, amelyek a külvilág különféle tényállásait jelenítik meg, vagy ahogy ôk mondják, reprezentálják”. A mesterséges intelligenciakutatások egyik úttörôje, Herbert A. Simon egyenesen úgy fogalmazott, hogy a számítógép nem egyfajta „számfaló” mechanizmus, hanem „olyan, rendkívül általános szimbólumok manipulálására szolgáló rendszer, amely – ha kell – ugyanazokat az alapvetô információfeldolgozási eljárásokat alkalmazza, mint az emberi agy”, és így, ha megfelelô szimbólumokkal meg szabályokkal szereljük fel, akkor képes lesz gondolkodni is.

Simon persze hajlamos volt elfelejtkezni arról, hogy a komputert eredetileg éppen azért hozták létre, hogy a „kiváló emberekhez… nem méltó”, gondolkodást nem igénylô számolási munkákat végeztessék el vele. Abból pedig, hogy bizonyos esetekben az emberi agy is a logika, illetve a matematika szabályait követve, szekvenciálisan muködik, még nem következik, hogy az egész emberi gondolkodás is ennyiben merülne ki. Vannak területek, ahol a szekvenciális gondolkodás és a hagyományos számítógépek egyaránt látványosan kudarcot vallanak, például a mintafelismerés esetében, miközben az embernek semmi gondja nincsen velük.

Paralel gépek, avagy

programozás helyett evolúció

Amikor Lem az ôrült szabóval példálózott, akkor persze figyelmen kívül hagyta, hogy az a történelem folyamán közelrôl sem minden lehetséges „ruhát”, illetve matematikai konstrukciót készített el: a párhuzamos megközelítés egészen a legutóbbi idôkig kimaradt. Miközben vitathatatlanul a hagyományos képletek mellett szól, hogy tömörek és könnyen áttekinthetôk, cserébe viszont gyakorlatilag alkalmatlanok olyan, sok elembôl álló rendszerek finom változásainak leírására, ahol az egyes elemek kölcsönhatásban vannak egymással. Úgyhogy valószínuleg nem véletlenül éppen a meteorológiával kapcsolatban merült fel elôször a párhuzamos felépítésu komputerek ötlete – az idôjárási jelenségeket ugyanis leginkább még folyadékok áramlásaként lehet modellezni. Neumann János az 1940-es évek elején úgy becsülte, hogy egy lövedék pályájának meghatározásához „csupán” 3300 trajektóriát kell kiszámítani – egy egyszeru folyadékáramlási jelenségnél viszont mintegy 330 000-et, vagyis százszor többet.

Az idôjárás elôrejelzése tehát már csak ezért is roppant bonyolult feladat – ráadásul az I. világháború idején Nagy-Britanniában még nem is valami egzakt módszereket használtak hozzá. Egy meglehetôsen kiterjedt kartotékrendszerben próbálták meg kikeresni, hogy korábban mikor volt az adott napéhoz a lehetô leginkább hasonlító idôjárás, majd pedig azt nézték meg, hogy azt követôen milyen volt az idô, úgyhogy egy Lewis Fry Richardson nevu kutató végül arra gondolt, hogy milyen durva és hozzávetôleges módszer is ez ahhoz képest, amit a csillagászok alkalmaznak, és miután képzeletben rácspontokra bontotta fel a Föld felszínét, ki is dolgozott egy a folyadékok áramlásán alapuló matematikai módszert az egyes rácspontokban várható idôjárás elôrejelzésére. (A rácspontok az egyes idôjárási mérôállomásoknak feleltek meg, és a számítások az adott pontba befelé, illetve az adott pontból kifelé irányuló folyadékok áramlásának matematikáján alapultak.) Ennek azonban az volt a szépséghibája, hogy kezdetben hat hétig, a módszerek tökéletesítésével pedig még mindig 100 óráig tartott kiszámítani, hogy három óra múlva várhatóan milyen lesz az idôjárás egy adott helyen. Ezért végül egy afféle a párhuzamos programozáson alapuló „idôjárásszínházat” tervezett, ami az egész földgolyót modellezte volna, és ahol egyszerre akár sok tízezer, a különbözô földrajzi helyekhez hozzárendelt élô komputer végezte volna egymással párhuzamosan, a mellette ülôk eredményeit is figyelembe véve a számításokat. Tehát nem úgy muködtek volna, hogy amíg az egyik kiszámolja a részeredményt, addig a többiek rá várnak (ahogyan a Neumann-architektúra elôírná), hanem egyszerre, az eredményeket újra és újra korrigálva – és ennek azért is alapvetô jelentôsége van, mert ez esetben sokkal kevésbé válik sérülékennyé és a hibákra érzékennyé a rendszer. És ez még nem is csupán a „számítási kapacitás” növekedésének tudható be: az 1972-es, olykor „a valaha is megépített, legtökéletesebb soros gépnek” nevezett Cray–1 szuperkomputer például nagyjából ugyanannyiba került, mint Daniel Hillis 65 536 processzorból álló Connection Machine-ja, és amennyiben pusztán megfelelô alakra hozott matematikai muveletek nagyon nagy sebességu elvégzésérôl volt szó, úgy több mint tízszer volt gyorsabb a párhuzamos felépítésunél – amennyiben viszont sok különálló adatot kellett egyszerre feldolgozni, a másik bizonyult legalább ugyanennyivel jobbnak.

A lényegi különbség azonban nem is annyira a sebesség, mint inkább a kétféle módszer által kínált lehetôségek között van. Kevin Kelly, a Wired magazin szerkesztôje egy írásában azt kérdezi, hogy ha a jövôben az élet egyre több területén jelen lesz a számítástechnika, és ennek megfelelôen „a jövô… termékei egyre inkább a mai szoftverekre fognak hasonlítani, akkor vajon mi vár ránk? [Szoftverhiba miatt] muködésképtelenné váló televíziók? Lefagyó autók? Felrobbanó kenyérpirítók?” Vagyis a kérdés végsô soron az, hogy miért olyan sérülékenyek a mai számítógépes programok.

A Mariner–1-et 1962-ben lôtték fel, de mivel a programjában egy helyen R’ helyett R szerepelt, a a földi irányítóközpont szuperszámítógépe hibásan értékelte a helyzetét, és az urszonda soha nem jutott el a Marsra – egyetlen betunyi hiba is katasztrofális következményekkel járt. Amennyiben az élôlények ugyanilyen érzékenyek lennének a sérülésekre, úgy legalábbis nehéz elképzelni, hogy az élet ki tudott volna fejlôdni a Földön, és ez alapján már nem csupán arra gyanakodhatunk, hogy a természet a „párhuzamos módszereket” részesíti elônyben, hanem arra is, hogy a párhuzamos felépítésu szoftverek jóval stabilabbak volnának a sorosnál. „Mindössze két, nagy komplexitású szerkezetekhez vezetô utat ismerünk. Az egyik a mérnöki módszerek alkalmazása, a másik az evolúció – mondja Hillis. – [És mivel] kettejük közül az utóbbi hozza létre a sokkal összetettebb dolgokat”, ezért logikusnak tunik a második módszert lemásolni.

A talán legismertebb „evolúciós programozási” kísérletben a Connection Machine minden processzorához egy-egy rövid, véletlenszeru kódrészletet rendeltek hozzá, majd pedig minden lépésben megnézték, hogy melyik jár a legközelebb a célhoz, ami jelen esetben egy sorbaállítási feladat volt. Míg a sikeresebbeket hagyták „szaporodni”, addig a sikertelenebbeket nem (sôt egy idô után mesterséges parazitákat is beépítettek a rendszerbe, hogy felgyorsítsák a folyamatot). Vagyis egyféle mesterséges evolúciót valósítottak meg, az eredményül kapott program pedig a hagyományos programokhoz képest a sérülésekkel szemben különösen ellenálló volt – noha a szükséges redundancia miatt persze jóval terjedelmesebb is.

A Connection Machine-t az 1970-es évek elején Daniel Hillis azért kezdte fejleszteni, mert komplex struktúrákban (ún. szemantikai networkökben, ahol az adatok nem sorokba vagy oszlopokba vannak rendezve, hanem bonyolult hálózatot alkotva kapcsolódnak egymáshoz) tárolt információkkal akart dolgozni, és akkor választotta az emberi agy egyetlen központi processzor helyett egymással egyenrangú neuronokból álló hálózatát modellnek, amikor a hagyományos, szeriális módszerekkel nem jutott eredményre. Ez a konstrukció nyilvánvalóan alkalmasabb a komplex, sok, egymással is kölcsönhatásban lévô tényezôt tartalmazó problémák megoldására – azt eddig csak remélni lehet, hogy idôvel majd jobban el fog terjedni a Dvorak-féle billentyuzetkiosztásnál.

(A szerzô a cikk megírása idején a Magyar Tudományos Akadémia Bolyai Ösztöndíjában részesült.)

Jegyzetek

1 Fogalmi gondolkodás alatt a (például a matematikai) szimbólumok manipulációjára irányuló gondolkodást kell érteni, tehát például semmiképpen sem mondjuk az alakfelismerést. Jellemzô egyébként, hogy Arisztotelész még annyira meg volt gyôzôdve az ember „szekvenciális természetérôl”, hogy egy helyütt azt állította, hogy még a látás és hallás sem lehetséges egyszerre.

2 A „humán” vagy „élô komputer” kifejezést a továbbiakban a számításokat végzô személyre fogjuk alkalmazni, és ezt tenni annyival is indokoltabb, minthogy eredetileg tényleg így hívták ôket, és a számítógépek (komputerek) is innen kapták késôbb a nevüket.

3 Az ENIAC esetében „a legtöbb egység önálló programvezérléssel (program control) rendelkezett, amely meg tudta jegyezni, hogy az egységnek az adott muveletet, például összeadást el kell végeznie, és jeleznie is tudta, ha ezzel végzett” – írja Neumann közvetlen munkatársa, H. H. Goldstine. Késôbb ennek a struktúrának az általánosításából nôtt ki a Neumann-féle felépítés is, ami kimondottan jól utánozza az egymástól elkülönülô, emberi kalkulátorokból álló felépítést.

4 Nem véletlen, hogy a káoszelmélet éppen a meteorológiából nôtt ki: az „egy pillangó szárnycsapása Kínában tornádót okoz Floridában” mondás jól érzékelteti, hogy olykor egészen kis változások is milyen hatással járhatnak.

5 A Cray–1 esetében „a tudósok anélkül, hogy bármit változtattak volna [tudományosnak nevezett és az absztrakt matematikán alapuló] gondolkodásukon, képesek voltak gyorsabban »használni és kihasználni az elmúlt négyszáz év tudományos bölcsességét«, mint valaha”, írja Bailey.

6 Egy John Holland nevu számítógépes tudós már az 50-es években rámutatott, hogy az evolúció a „párhuzamos” megoldásokat részesíti elônyben. A DNS például, miközben meghatározza, hogy miként épüljön fel egy élôlény teste, „párhuzamos komputerként” muködik: a DNS-t felépítô molekulaszekvenciák kódolás közben nem várnak arra, hogy az egyik átadja a másiknak az eredményeket, és hogy csak azután folytassák a munkát.

7 A becslések szerint egy kb. kétmillió soros repülôgép-irányító programot egy ötmillió soros hibaturô, tenyésztett programmal lehetne helyettesíteni.


Észrevételeit, megjegyzéseit, kérjük, küldje el postafiókunkba: beszelo@c3.hu




C3 Alapítvány       c3.hu/scripta/