Nyomtatóbarát változat
„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-billentyűzet
Az írógépek billentyűzetkiosztását eredetileg egy Christopher Latham Sholes nevű 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 nevű hölgy hamarosan ki is fejlesztette azt, amit ma QWERTY-billentyűzetnek 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 billentyűzeté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 tűnt 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-billentyűzet továbbélése különösnek tűnhet, 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 billentyűzetkiosztásból legfeljebb arra lehet következtetni, hogy az írott angol nyelvben mely betűkombiná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 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ésű: 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ő műveleteket, é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 szűk keresztmetszetnek is. (A hagyományos felépítésű 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ésű 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 ésszerűtlen, 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 tűnt „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 ésszerűtlensé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 műveletet… akkor bizonyos egyszerű 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 műveletben 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] művelet 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 egyszerűen 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 egyszerűen 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 tűnhetett 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 tűt készített naponta”, mivel a munkafolyamatot egymástól jól elkülöníthető, egyszerű fázisokra osztották fel – máskülönben viszont „bizonyos, hogy egyenként nem húsz, de talán még egy gombostűt 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 műveletekkel 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épszintű 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”[2] számára feldolgozhatóvá tették. Nekünk most egészen úgy tűnhet, 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[3] nevű ó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 tűnt 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 működésű, és tökéletesen alkalmatlanok vagyunk párhuzamosan egyszerre több matematikai műveletet 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 műkö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 billentyűzetkiosztá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élszerű, ha túllépnénk a Neumann-féle szűk keresztmetszeten. Különösen, ha nagy mennyiségű, 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ésű 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 egyszerűen 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 műkö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á fűzi ö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 műkö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ínűleg nem véletlenül éppen a meteorológiával kapcsolatban merült fel először a párhuzamos felépítésű 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 egyszerű folyadékáramlási jelenségnél viszont mintegy 330 000-et, vagyis százszor többet.[4]
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 nevű 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 műkö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[5] 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 műveletek nagyon nagy sebességű elvégzéséről volt szó, úgy több mint tízszer volt gyorsabb a párhuzamos felépítésűné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] műkö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 földi irányítóközpont szuperszámítógépe hibásan értékelte a helyzetét, és az űrszonda soha nem jutott el a Marsra – egyetlen betűnyi 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”[6] részesíti előnyben, hanem arra is, hogy a párhuzamos felépítésű 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 tűnik 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életlenszerű 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 billentyűzetkiosztá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 műveletet, 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 nevű 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” műkö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 hibatűrő, tenyésztett programmal lehetne helyettesíteni.
Friss hozzászólások
6 év 18 hét
8 év 43 hét
8 év 47 hét
8 év 47 hét
8 év 48 hét
8 év 49 hét
8 év 49 hét
8 év 51 hét
8 év 51 hét
9 év 8 óra