Élet és Tudomány, 1998. évi 21. szám

Számítógépek fejlődési irányai 1.

TERMÉSZET MOTIVÁLTA ARCHITEKTÚRÁK

Versenyre tudnak-e kelni a természettel a számítógépek? Hogyan számol a természet? Vannak-e biztos ismereteink minderről? Hová tart a számítás- és információtechnika az ezredfordulón? Lesz-e fordulat alapvető módszereiben? Nem ígérem, hogy e kérdéseket megválaszolja ez a dolgozat, mindössze néhány szempontot kívánok felvillantani, s eközben a számítógépek újfajta, természetmotiválta architektúráira és ezek fizikai megvalósulásaira koncentrálok.

Az egy csipen lévő tranzisztorok száma az 1960 és 2000 közötti időszakban egyről mintegy egymilliárdra nő. Ugyanakkor e négy évtized alatt az egyre komplexebb csipek, mikroprocesszorok ára majdnem ugyanannyi maradt. Ez az ipartörténeti csoda a háttere a számítógépek fejlődésének, amelyek mérnöki alkotások, a fizikai megvalósítás és az ár nem mellékkörülmény. A számítás fizikai folyamat, amelynek formái igen gazdagok, ámbár ma is lényegében a Neumann János alkotta szerkezeti modellek (architektúrák) állnak mögöttük, beleértve a teljesen parallel működésű sejtautomata1 modellt is.

A negyven év alatt kifejlődött elektronikai technológia immár közelít egy működési korláthoz (mivel a legkisebb méret közelít a 70-100 nanométerhez), de manapság újfajta számítógépek konstrukciójával is foglalkoznak a kutatók és a mérnökök.

Még mindig igaz

Ha a számítógépek fejlődésének félszázados történetében a kezdetekhez lapozunk, tanulságos néhány jelentős gondolatot kiemelnünk, különösen most, amikor a jól meggszokott fizikai alapok és működési módok változás előtt állnak. Neumann János néhány gondolatára utalunk, ezeket az alábbiakban foglaljuk össze.

A számítógépek megalkotásakor tehát a minták az idegrendszer illetve az emberi gondolkodás elemi műveletei voltak, mind a műveleti elemek, mind az architektúra esetében. Egy ideig az egyre nagyobb teljesítményű egyetlen számítógép illetve mikroprocesszor előállítása volt a cél. Ma néhány száz dollárért kaphatunk 300 MHz sebességű 32 bites mikroprocesszort, és 100 dollár alatt 100 Mbites memóriákat. De építettek 64 ezer mikroprocesszorból parallel számítógépet is. Most (1997-ben) építettek egy másodpercenként trillió műveletet végző (tera ops) nagy számítógépet 9200 Pentium típusú mikroprocesszorral (Intel).

Vannak azonban olyan jelenségek amelyek számítógépes feldolgozása során olyan számítási feladatok lépnek fel, amelyekben ezek az óriás gépek is vagy gyengék, vagy aránytalanul nagyméretűek, és túl sok elektromos teljesítményt fogyasztanak. A természet gyakran sokkal gazdaságosabban vagy gyorsabban oldja meg ezeket a feladatokat. Ne csak az élőlények páratlan kép-, hang-, illat-, légáramlat-felismerési képességeire gondoljunk, bizony, egy vízcsapból kifolyó vízsugár turbulenciájának kiszámítása vagy egy egyszerű hullámjelenség szimulációja is komoly számítási teljesítmény számunkra. Néhány ezer "lassú" idegsejt vagy molekula ugyanakkor "csodákra" képes mint számítógép.

1. ábra. Egy nyúl szívének felületén kialakuló spirális állóhullám

2. ábra. Kaotikus attraktorok. Egy nemlineáris cella két állapotjellemzője oszcilloszkópos megjelenítésének képe különböző paraméterek mellett

Az 1. képen egy nyúl szívének felületén kialakuló spirálhullámok pillanatképét mutatjuk. Ha a biológus azt látja, hogy az izomrostok állapota ilyen alakot ölt, akkor tudja, hogy a nyúl hamarosan elpusztul.

A 2. ábrán látható rajzolatok olyan felvételek, amelyek egy nemlineáris áramkör illetve cella-modell két állapotjellemzőjének változását oszcilloszkópon megjelenítő képről készültek, néhány különböző paraméterérték mellett. E "kaotikus attraktorok"jellemzők az egyes rendszerállapotokra, így azok kódjának is tekinthetők.

Folytonos rendszerállapotok mint kódok

A két példában olyan jeleket látunk, amelyek nem diszkrétek. Ezek a "számítógépek" folytonos jelekkel dolgoznak, és ily módon bizonyos tér-idő jelenségek folytonos változásait nem tördelik a digitalizálás lépcsőibe, hanem az eseményt egységében ragadják meg. A kihívás nyilvánvaló: be tudjuk-e fogni ezeket a komplex tér-időbeli jelenségeket mint elemi utasításokat egy tárolt programú "szekérbe"? Lehet-e algoritmusokat építeni e jelenségekre, azaz meg tudunk-e adni olyan szabályokat, utasításokat, amelyek alapján az egyik ilyen jelenségből létrejönnek további mások? Logikailag (kombinatorikusan) nehéz feladatok könnyebbé válnak-e ezáltal?

Ennek az elvnek a műszaki megvalósítása egy interaktív hálózattal történhet. Ezek az újfajta, természet motiválta számítógépek nem egy vagy néhány tucat nagy teljesítményű számítógépből állnak, hanem sok ezer, akár millió, nagyon egyszerű számítógépből. E számítógépsereg, egyszerű műveletek és iterációk mellett, meglepő képességekkel rendelkezik. Például tér-időbeli, hullámszerűen osztódó-fejlődő, kibontakozó, majd sajátos mintázatú egyensúlyi rendszerben stabilizálódó jelenségek jönnek benne létre nagy sebességgel. De véges időben működő nem egyensúlyi hullámjelenségeket is használhatunk újfajta számítógépeinkben.

A természet motiválta számítógépsereg mint számítógép-alapmodell sok új irányt és jelenséget takar. Idetartoznak például az úgynevezett neuroszámítógépek, DNA számítógépek2 vagy a hullámszerűen kommunikáló nyelvtanprocesszor-seregek. De érdekes hullámszerű jelenségek zajlanak le például az internet világhálózaton is, sokszor a használók és a tervezők akarata ellenére.

Néhány hónapja léteznek olyan kísérleti csipek (az úgynevezett analogikai CNN szuperszámítógép architektúrára építve), amelyet Sevillában és Berkeleyben készítettek, és először Budapesten mértek le funkcionálisan. Egy ilyen csip közel trillió ekvivalens műveletre képes másodpercenként 1 cm2-es felületen.

Sok kicsi sokra megy

Helyezzünk egy négyzetrács valamennyi csúcspontjába egy processzort (cellát, elemi dinamikus rendszert)! Amint a 3. ábrán láthatjuk, mindegyik cella csak a szomszédaival van közvetlenül összekötve, azaz egy véges lokális környezetével van csupán kapcsolatban (néha a második vagy harmadik szomszédokkal is). Az így létrejövő processzorsereg a celluláris neurális/nemlineáris hálózat vagy röviden CNN (Cellular Neural/nonlinear Network).

3. ábra. Négyzetrácson elhelyezett processzorsereg és lokális összekötései

4. ábra. Neurális hálózatba kötött "processzorsereg" (CNN) egy elemi cellájának áramkörvázlata

Egy elemi cella elektronikus áramköri vázlatát a 4. ábra mutatja. A cella hatást kap a környezetétől: visszacsatolás, és hatást küld a környezetének: előrecsatolás. A cellabemenetek és a cellakimenetek által vezérelt hatás erősségeit két mátrix jellemezheti. Például:

ElőrecsatolásVisszacsatolás
0000-1,50
01,502,52,02,5
0000-1,50

A számok a megfelelő irányokban a legközelebbi szomszédokkal közölt hatást adják meg relatív egységekben. A mátrixok középső eleme a saját magára való hatás (a cella környezetébe saját maga is beleértendő), a többiek a megfelelő szomszédsági irányokban való hatás erősségével arányosak. Megadunk még egy küszöbértéket beállító tényezőt is, s ez a szám, valamint a két mátrix a CNN-hatásmintázat, "template", amelyet így 19 számmal jellemezhetünk.

Ha megadjuk a hatásmintázatot, majd a CNN gép celláit "feltöltjük" a kezdeti értékekkel, a komplexum öntörvényű működésbe kezd. A rengeteg "dinamikus molekula" folyamatos interakciójából állapothullámok keletkeznek, ezek végigsöpörnek a hálózaton, egymással egyre bonyolultabb módokon interferálódnak, állapotmintázatok jönnek létre, amelyek - ha a kezdeti feltételek megfelelők voltak - egy idő elteltével stabilizálódnak.

Ennek az egyensúlyi végállapotnak a kezdetekben rejlő feltételeire nézve az elméleti számítógéptudomány szép matematikai eredményekkel szolgált. Ezeknek alapján akár azt is mondhatjuk: a hullámok a természet kedvelt formái.

Interaktív mozaikok

Kézenfekvő a CNN és a képfeldolgozás kapcsolata. (Erre már a stadionok lelátóinak színes ruhadarabokat öltő, ernyőket, zászlócskákat lengető közönsége is rájött.) Feleltessünk meg minden képelemnek (pixelnek) egy processzort (cellát), és a cellák bemenetei, állapotai és kimenetei (u, x, y) egy-egy képet kódolnak. E kódolásra példa: jelentse +1 a fekete és -1 a fehér értékét, a szürke árnyalatok értékei pedig e két határ között folyamatosan helyezkednek el. Máris egy képfeldolgozó számítógéppé válik a CNN.

5. ábra. Két visszacsatoló hatásmátrix (template) és az általuk vezérelt folyamat végállapotának eredményképe

6. ábra. El Greco madonnájából a CNN számítógép különböző template-ekkel kimeneti képként ilyen rajzokat állít elő

A két független input-kép a bemenetek (u), illetve a cellák kezdeti értékei (x(o)) által kódolt képek, a kimenet pedig az eredménykép. Az 5. ábrán két visszacsatoló CNN-template-et adtunk meg, és az általuk vezérelt folyamat végállapotaként keletkező kimeneti képeket látjuk. Ezen egzotikus mintázatok egyikét - amelyiket akár egy tehénbőr tarka foltjainak is vélhetnénk - először Alan Turing generálta, aki Turing gépével3 és eredményeivel a mai számítógépek elméletének megalapozója. A 6. ábrán szép példát láthatunk arra, milyen különböző rajzokat készít egy template-sorozat ugyanazon bemeneti képből, El Greco madonna festményének a bal felső sarokban lévő részletéből. Egyszerű CNN-modellekkel az élő látórendszer sok jelensége modellezhető.

ROSKA TAMÁS
akadémikus

KISLEXIKON

Sejtautomata: az azonos szomszédsági mintázat szerint összekapcsolt, szinkronizáltan működő sejtek (cellák) olyan összessége, ahol az egyes sejtek állapota csak saját és szomszédainak előző állapotától függ. A következő állapotot az átmeneti függvény adja meg. Neumann bizonyította, hogy megfelelő átmeneti függvény esetén a sejtautomata univerzális és önreprodukáló.

DNA (DNS) számítógépek, genetikus algoritmusok: a gének kódolásán és a gének közötti elemi műveleteken alapuló számítási, optimalizálási eljárások. Elemi műveleteket élő anyaggal is elvégeztek, hagyományos számítógépen is sikerrel szimuláltak.

Turing gép: Alan Mathison Turing (1912-1954) a 30-as években a programozáselmélet alaptulajdonságainak megvilágítására fogalmazott meg egy elméleti gépet, amely egy véges számú állapotot felvevő "szerkezet", a véges automata, és egy végtelen, de "kazettáiban" véges fajta jelet tartalmazó "szalag" kölcsönhatásával működik. Megmutatták, hogy ezen egyszerű géppel szinte minden, véges számú szimbólum és szám használatára alapozott számítás elvégezhető (Turing-Church tétel)