John Von Neumann - Racunalo i Mozak

April 21, 2017 | Author: flocky56 | Category: N/A
Share Embed Donate


Short Description

Download John Von Neumann - Racunalo i Mozak...

Description

JOHN VON NEUMANN

RAČUNALO I MOZAK DRUGO IZDANJE S PREDGOVOROM PAUL M. CHURCHLAND I PATRICIA S. CHURCHLAND

Naslov izvornika THE COMPUTER AND THE BRAIN With a foreword by Paul M. Churchland and Patricia S. Churchland © 1958 by Yale University Press. Copyright © renewed 1986 by Marina V. N. Whitman. Foreword to the Second Edition copyright © 2000 by Yale University Prava za hrvatsko izdanje, Sveučilišna knjižara, 2006. Izdanje SVEUČILIŠNE KNJIŽARE Zagreb Urednik biblioteke Visovi znanosti Damir Mikuličić Preveo s engleskog Predrag Raos Obrada i prijelom sloga Stanislav Vidmar Zagreb, 2006. ISBN 953-7015-29-7 Tiskano u Hrvatskoj / Presita en Kroatio

SADRŽAJ PREDGOVOR DRUGOM IZDANJU PREDGOVOR UVOD PRVI DIO RAČUNALO Analogni postupak OBIČNE OSNOVNE OPERACIJE NEOBIČNE OSNOVNE OPERACIJE Digitalni postupak MARKERI, NJIHOVE KOMBINACIJE I PRIKAZIVANJA VRSTE DIGITALNIH STROJEVA I NJIHOVI OSNOVNI DIJELOVI PARALELNE I SERIJSKE SHEME OBIČNE OSNOVNE OPERACIJE Logičko upravljanje UPRAVLJANJE UKAPČANJEM UPRAVLJANJE LOGIČKOM VRPCOM NAČELO O SAMO JEDNOM ORGANU ZA SVAKU OSNOVNU OPERACIJU IZ TOGA IZVEDENA POTREBA ZA POSEBNIM ORGANOM ZA PAMĆENJE UPRAVLJANJE POMOĆU “UPRAVLJA NJ KOG NIZA TOČAKA” UPRAVLJANJE IZ MEMORIJE MODUS OPERANDI UPRAVLJANJA IZ MEMORIJE MJEŠOVITI OBLICI UPRAVLJANJA Mješovite numeričke procedure MJEŠOVITO PRIKAZIVANJE BROJEVA. STROJEVI GRAĐENI NA TIM TEMELJIMA Točnost RAZLOG ZA ZAHTIJEVANJE VISOKE (DIGITALNE) TOČNOSTI Karakteristike modernih analognih strojeva

Karakteristike modernih digitalnih strojeva AKTIVNI DIJELOVI; PITANJE BRZINE POTREBAN BROJ AKTIVNIH DIJELOVA VRIJEME PRISTUPA MEMORIJSKIH ORGANA I KAPACITET MEMORIJE MEMORIJSKI REGISTRI SLOŽENI OD AKTIVNIH ORGANA HIJERARHIJSKO NAČELO U MEMORIJSKIM ORGANIMA DIJELOVI MEMORIJE; PITANJE PRISTUPA KOMPLEKSNOST POJMA VREMENA PRISTUPA NAČELO IZRAVNOG ADRESIRANJA

DRUGI DIO MOZAK Pojednostavljeni opis rada neurona Narav živčanog impulsa PROCES STIMULACIJE MEHANIZAM STIMULIRANJA IMPULSA IMPULSIMA; NJEGOVA DIGITALNA NARAV VREMENSKE KARAKTERISTIKE ŽIVČANOG ODGOVORA, ZAMORA I OBNAVLJANJA VELIČINA NEURONA. USPOREDBA S UMJETNIM DIJELOVIMA DISIPACIJA ENERGIJE. USPOREDBA S UMJETNIM DIJELOVIMA SAŽETAK USPOREDBI Kriteriji stimulacije NAJJEDNOSTAVNIJI – ELEMENTARNO LOGIČNI KOMPLICIRANIJI KRITERIJI STIMULACIJE PRAG OSJETLJIVOSTI VRIJEME SUMIRANJA STIMULACIJSKI KRITERIJI ZA RECEPTORE PROBLEM MEMORIJE U ŽIVČANOM SUSTAVU NAČELA PROCJENE VELIČINE MEMORIJE U ŽIV ČANOM SUSTAVU PROCJENE VELIČINE MEMORIJE POD NAVEDENIM PRETPOSTAVKAMA RAZLIČITA MOGUĆA FIZIČKA UTJELOVLJENJA MEMORIJE ANALOGIJE S UMJETNIM RAČUNSKIM STROJEVIMA OSNOVNI ELEMENTI MEMORIJE NE MORAJU BITI IDENTIČNI OSNOVNIM AKTIVNIM ORGANIMA Digitalni i analogni dijelovi u živčanom sustavu ULOGA GENSKOG USTROJA U NAVEDENOM KONTEKSTU Kodovi i njihova uloga u upravljanju radom stroja IDEJA POTPUNOGA KODA

POJAM KRATKOGA KODA ZADAĆA KRATKOGA KODA Logička struktura živčanog sustava VAŽNOST NUMERIČKOG POSTUPKA INTERAKCIJA NUMERIČKIH POSTUPAKA I LOGIKE RAZLOZI ZA OČEKIVANJE ZAHTJEVA ZA VISOKOM TOČNOŠĆU Narav primijenjenog sustava označavanja: ne digitalna nego statistička ARITMETIČKA DEGENERACIJA. ULOGA ARITMETIČKE I LOGIČKE DUBINE ARITMETIČKA TOČNOST I LOGIČKA POUZDANOST KAO ALTERNATIVE DRUGE KORISNE STATISTIČKE ZNAČAJKE SUSTAVA PORUKA Jezik mozga nije jezik matematike

BILJEŠKA O PISCU

PREDGOVOR DRUGOM IZDANJU Ova naizgled nedužna knjižica leži u samom središtu orkana. Ona tvori točku jasnoće i mira u golemom viru silnih rasprava i suparničkih istraživačkih programa. Što zvuči još neobičnije s obzirom na okolnost da je bila napisana davne 1956., dakle na samom početku suvremene eksplozije tehnologije elektroničkih računala, eksplozije koja će zauvijek obilježiti drugu polovicu dvadesetog stoljeća. A John von Neuman je zapravo u svom posljednjem nizu predavanja – koja se ovdje pojavljuju objedinjena u knjigu – pokušao dati uravnoteženu procjenu mogućih računskih aktivnosti mozga viđenih kroz objektiv suvremene teorije računala i u svjetlu računalne tehnologije i eksperimentalne neurologije svojega doba. Očekivali bismo da je svaka takva procjena, dana u ono doba, neizbježno beznadno zastarjela. A zapravo je baš obratno. U pogledu čiste računalne teorije (teorije stvaranja elemenata bilo koje funkcije koja se dade izračunati), temelji što su ih položili William Church, Alan Turing i, u znatnoj mjeri, sâm Von Neumann, postali su čvršći i plodniji no što se itko od njih mogao i nadati. Ta leća je već na početku bila dobro podešena pa nam stoga još i danas dobro fokusira široki raspon problema. Što se pak tiče same računalne tehnologije, strojevi na prijelomu tisućljeća koji danas rese sve urede i polovicu domova u Americi, i dalje su primjer onoga što smo navikli zvati “Von Neumannovom arhitekturom”. Svi su oni primjer funkcijske organizacije koju je razvio i istražio prije svega Von Neumann, organizacije koja polazi od sekven-cijskog (susljednog) “programa” pohranjenog u promjenjivoj i prilagodljivoj “memoriji” stroja, a koji određuje narav i slijed osnovnih računskih koraka što ih izvršava “centralni procesor” računskog stroja. Početni razlog za takvu organizaciju u ovoj je knjizi britko i lucidno ocrtan riječima samoga Von Neumanna, i to usprkos tome što on govori o “kodu” gdje mi govorimo o “programu”, i o “potpunim kodovima” nasuprot “kratkim”, gdje mi govorimo o “programima na strojnom jeziku” nasuprot “programskom jeziku visoke razine”. U međuvremenu su se, međutim, promijenile samo riječi i brzina rada strojeva. John von Neumann bi u svakom stroju na koji bi mu danas pao pogled – od PalmPilot organizatora do veleračunala (superkompjutora), pa igrali oni poker ili simulirali postanak galaktike – lako prepoznao samo još jedan primjer svoje izvorne

organizacijske vizije. Njega naš mnogostruki napredak kompjutorske tehnologije nije nipošto ostavio iza sebe. Što se pak tiče empirijske neurologije, tu je situacija mnogo kompliciranija, ali i mnogo zanimljivija. Kao prvo, neke neurološke discipline (neuroanatomija, neuropsihologija, razvojna neurobiologija i kognitivna neurobiologija) i same su ostvarile fenomenalan napredak. I ovdje je pola stoljeća mukotrpnog istraživanja stvorilo u biti novu znanost. Zahvaljujući mnogobrojnim suvremenim eksperimentalnim tehnikama (primjerice elektronskoj i konfokalnoj mikroskopiji, mikroelektrodama, elektro i magnetoencefalografiji, kao i CAT, PET i MRI skeniranju), do danas smo stekli mnogo bolju sliku o finoj vlaknastoj građi (mikrostrukturi) mozga, elektrokemijskom ponašanju njegovih mikroskopskih dijelova, kao i njegovu općem fun kcioniranju u raznim vidovima svjesne kognicije. Iako je mozak i dalje stanište mnogih misterija, on ipak više nije tek “crna kutija”, a što je nekoć bio. Zanimljivo je, međutim, da su te dvije srodne discipline – jedna usmjerena na umjetne, a druga na prirodne kognitivne procese – slijedile svoje paralelne staze poprilično izolirane jedna od druge, i to od 1950-ih pa sve do danas. Ljudi koji su stekli visoke akademske naslove iz kompjutorske znanosti u pravilu su o biološkom mozgu znali malo ili (još češće) ništa, a njihova je istraživačka djelatnost bila mahom usmjerena na pisanje programa, razvijanje novih jezika, ili pak na razradu i proizvodnju sve boljih čipova, no ništa ih od svega toga nije dovodilo u doticaj s neurologijom. Isto su tako i ljudi koji su stekli visoke akademske naslove iz neurologije u pravilu znali jako malo ili upravo ništa o teoriji računala i automata, formalnoj logici i binarnoj aritmetici, kao i tranzistorskoj elektronici. Oni su pak vrijeme provedeno u laboratoriju najčešće trošili na stavljanje rezova moždanoga tkiva na predmetna stakalca i na njegovo promatranje kroz mikroskop, kao i na stavljanje mikroelektroda u žive neurone radi bilježenja njihova električnog ponašanja pri obavljanju različitih kognitivnih zadaća. Ako bi kada i posegnuli za računalom i naučili programski jezik – što su mnogi i činili – ono im je bilo samo alat za usmjeravanje i kolacioniranje eksperimenata, sredstvo za rad poput voltmetra, kalkulatora ili arhivskog ormarića. Istina je, međutim, da gledano iz današnje perspektive, nijedna od tih dviju disciplina – iako je svaka od njih trebala naučiti podosta iz vlastitog područja, i makar su obje doživjele gromoglasan uspjeh – na svom području ipak nema baš mnogo toga čime bi mogla podučiti onu drugu.

One su, naime, i unatoč prividnom preklapanju – jer obje se, napokon, bave kognitivnim odnosno računalnim procesima – tekle paralelnim tokovima i ostvarile izvanredan napredak uz malen ili nikakav doprinos sestrinske znanosti. Ali zašto je to tako? Odgovor koji nam se pritom stalno nameće glasi da biološki mozak posjeduje tjelesnu organizaciju i računalnu strategiju vrlo različitu od Von Neumannove arhitekture kakvu nalazimo u standardnim računskim strojevima. Te su dvije sestrinske discipline zapravo već skoro pedeset godina usmjerene na bitno različite teme. I zato, u retrospektivi, nije ni čudo da su se razvijale u biti neovisno jedna o drugoj. Taj je odgovor, međutim, još predmet žučnih rasprava, pa bi lako mogao biti i pogrešan. Ipak, on leži u samom srcu suvremenih rasprava o tome kako zapravo biološki mozak izvodi svoja mnogobrojna kognitivna čudesa, kao i o tome kako dalje ići prema i danas vrlo živom cilju, to jest izgradnji različitih oblika umjetne inteligencije. Da li bismo morali jednostavno proći mimo očitih ograničenja bioloških sustava (ograničenja koja se odnose u prvom redu na brzinu i pouzdanost) i poći za vrtoglavim potencijalima elektroničkih sustava, sustava koji mogu, u načelu, pa čak i u granicama Von Neumannove arhitekture, obavljati ili simulirati svaku moguću računalnu djelatnost? Ili bismo, naprotiv, morali, zbog ovog ili onog razloga, oponašati računalnu organizaciju kakvu nalazimo u mozgu kukaca, riba, ptica i sisavaca? No kakva je uopće ta organizacija? Razlikuje li se ona na važan ili zanimljiv način od one koja postoji u umjetnim strojevima? Čitatelj će s iznenađenjem otkriti da Von Neumann stupa na scenu s vidovitim, krepkim i nedvojbeno neklasičnim odgovorom. On kroz prvu polovicu svoje knjige čitatelja vodi, sve korak po korak, kroz klasična shvaćanja za koja je i sâm tako slavno zaslužan, no kad se napokon okreće mozgu, odvažuje se na preliminarni zaključak “da je njegovo funkcioniranje prima facie digitalno.” Ipak je to početno posezanje za neurološkim podacima i prima facie prokrustovsko, što Von Neumann smjesta i priznaje, da bi se poslije toga pozabavio i opširnijim razglabanjem teme. Prvi problem kojeg se prihvaća izvire iz opažanja da veze između neurona nemaju karakteristične “dvije dolazne i jednu izlaznu liniju”, dakle konfiguraciju kakvu nalazimo kod I-vrata i ILI-vrata (and-gate i or-gate). Iako svaka neuronska stanica ima u pravilu samo jedan izlazni akson, baš

kako to zahtijeva klasična teorija, ipak u svaku od njih pristiže više od stotinu, pa i po nekoliko tisuća, ulaznih linija iz drugih neurona. Ta činjenica nije presudna – jer postoji, primjerice, i multivalentna logika. Ali je pred njom ipak morao zastati. Zatim se radnja zakuhava, jer Von Neumann, sve idući od točke do točke, uspoređuje fundamentalne dimenzije mozgovnih i računalnih “osnovnih radnih organa” (očito neurona odnosno različitih logičkih vrata). Pritom opaža da je prostorna prednost neurona u tome što su oni najmanje 102 puta manji od svojih vjerojatnih elektroničkih analoga. (U tom je trenutku ta procjena bila sasvim točna, ali je zbog neviđenog napretka fotolitografski proizvedenih čipova ta dimenzijska prednost naprosto iščezla, bar kad je riječ o dvodimenzionalnim pločicama. Ali to ćemo mu oprostiti.) Važnije je, međutim, to što neuroni, kad je riječ o brzini rada, uvelike zaostaju za elektroničkim elementima. Procjenjuje se, naime, da su oni u rješavanju osnovnih logičkih zadaća za oko 105 puta sporiji od elektronskih cijevi i tranzistora. I u tom je pogledu Von Neumann uvelike u pravu, i to u smislu kojim ćemo se još baviti. Ako on pritom griješi, onda to svakako čini time što tu vrlo veliku manu neurona podcjenjuje. Ako, naime, pretpostavimo da “taktna frekvencija” neurona nije veća od 102 Hz, onda frekvencije od skoro 1000 MHz (to jest od 109 osnovnih operacija u sekundi), a kakve nalazimo u najnovijoj generaciji stolnih računala, dovode zaostajanje neurona do faktora od skoro 107. Što nas navodi na jedan neizbježan zaključak. Naime, ako bi mozak bio digitalno računalo s Von Neumannovom arhitekturom, onda bi mu bilo suđeno da u usporedbi s elektroničkim bude prava kornjača. Dodajmo tome da je točnost s kojom biološki mozak može prikazati neku varijablu također za mnogo redova veličine niža od točnosti digitalnih računala. Računala, kako zapaža Von Neumann, lako barataju veličinama predstavljenim s osam, deset pa i dvanaest decimalnih mjesta, dok se pretpostavlja da je oblik prikazivanja podataka u neuronu – određen frekvencijom niza maksimuma što ih šalje niz akson – ograničen točnošću od najviše dva decimalna mjesta (ili, određenije, točnošću od možda plus minus 1 posto od frekvencijskog maksimuma pri oko 100 Hz). To svakako zvuči zabrinjavajuće zato što se pri svakom računanju koje se sastoji od velikog broja koraka, male pogreške prikazivanja podataka u ranim fazama redovito akumuliraju u veće pogreške u završnim. I što je još gore, dodaje on, kod mnogih važnih vrsta računanja, čak se i sićušne pogreške ranih

koraka eksponencijalno povećavaju u sljedećim, što neizbježno dovodi do upravo neobuzdano netočnih konačnih rezultata. I zato bi mozak, da je digitalno računalo s točnošću od samo dva decimalna mjesta, po tome morao biti pravi računalni tupan. Ta su dva teška ograničenja – ograničenje brzine i ograničenje točnosti – uzeta zajedno, dovela Von Neumanna do zaključka da računski režim rada mozga, pa ma kakav on bio, u svakom slučaju posjeduje minimalnu, kako on to zove, “logičku dubinu”. Što znači da mozak, pa radio on kako mu drago, zasigurno ne može susljedno izvoditi tisuće i tisuće sekvencijski orkestriranih računskih koraka, kako to čini centralni procesor digitalnog stroja, i koji to obavlja rekurzivno i s izvanrednom visokom frekvencijom. S obzirom na sporost neuronske aktivnosti mozga, on jednostavno nema dovoljno vremena za obavljanje bilo kakvog drugog osim najtrivijalnijeg računanja. A s obzirom na nisku točnost svojih tipičnih podataka, on bi, čak i da ima vremena, u računskom smislu bio posve nesposoban. To je zajedljiv zaključak do kojeg je Von Neumann došao, budući da je očito da mozgu, unatoč navedenim ograničenjima, ipak nekako uspijeva izvesti veliko mnoštvo rafiniranih proračuna, i to još, povrh svega, u tren oka. Pa ipak, Von Neumannove tvrdnje nisu ni po čemu krive. Ograničenja na koja ukazuje posve su stvarna. Pa što da onda zaključimo o mozgu? Von Neumann ispravno opaža da računski režim mozga svoj neizbježni nedostatak logičke dubine nadoknađuje iskorištavanjem svoje izvanredne logičke širine. Jer, kako veli, “veliki će i efikasni prirodni automati težiti tome da budu visoko paralelni, dok će to veliki i efikasni umjetni automati nastojati u manjoj mjeri, te se radije prikloniti serijskom rješenju” (kurziv njegov). Prvi će “nastojati simultano skupiti što je moguće više logičkih (ili informacijskih) jedinica i simultano ih obraditi”, (kurziv naš). To znači, dodaje Von Neumann, da moramo posegnuti i izvan moždanih neurona, pa u ukupni zbroj moždanih “osnovnih radnih organa” uključiti i sve njegove mnogobrojne sinapse. Bile su to sve odreda velike spoznaje. Danas znamo da mozak imao oko 1014 sinaptičkih veza, te da svaka od njih modulira dolazeći aksonski signal prije no što će ga predati prijemnom neuronu. Zadaća je pak neurona da zbroji, ili na koji drugi način integrira, sve dolazne signale tih sinaptičkih veza (kojih u jedincatoj stanici može biti i do 10.000), te na temelju njih stvori vlastiti aksonski izlazni signal. Još je važnije to što se

sva ta sitna modulirajuća djelovanja odvijaju istodobno. Drugim riječima, ako se svaka sinapsa aktivira približno 100 puta u sekundi (prisjetimo se da se tipična frekvencija maksimuma kreće oko 100 Hz), onda bi ukupni broj osnovnih operacija obrade informacija u mozgu morao iznositi otprilike 102 puta 1014, ili 1016 operacija u sekundi! To predstavlja zapanjujuće ostvarenje za svaki sustav, i u svakom slučaju vrlo povoljno u odnosu na već spomenuti broj od 109 osnovnih operacija u sekundi, a što ih ostvaruju kućna računala na samom vrhu napretka. Mozak dakle nije ni kornjača ni tupan, jer on zapravo uopće i nije nikakav serijski, digitalni, nego zapravo analogni stroj obdaren silnom sposobnošću paralelnog rada. Von Neumann baš to i tvrdi, a moderna neurologija i kompjutorsko modeliranje paralelnih mreža to snažno i potkrepljuju. Alternativnu strategiju računanja o kojoj je Von Neumann spekulirao, danas sagledavamo kao primjer simultanog umnožavanja svake od mnogo tisuća pa i milijuna simultanih frekvencija maksimuma u aksonima (a koje tvore vrlo velik ulazni vektor) pomoću koeficijenata još veće matrice (to jest kao konfiguraciju mnogo milijuna sinaptičkih spojeva koji međusobno povezuju neuronske populacije), čime se stvara izlazni vektor (to jest novi i drukčiji obrazac simultane frekvencije maksimuma u prijamnoj populaciji neurona). I baš su u toj općoj konfiguraciji tih mnogih milijuna, pače, bilijuna, sinaptičkih veza i utjelovljena sva ona znanja i vještine što ih mozak može steći. I baš te sinaptičke veze obavljaju, i to tako brzo, računske transformacije aksonskih ulaznih signala – prispjelih, primjerice, iz osjetilnih organa – a koji pristižu na njihov zajednički prag. Tako se dobivaju i brzina i oslobođenje od rekurzivnim postupkom nagomilavanih pogrešaka, a što je Von Neumann smatrao jako bitnim. Morali bismo, međutim, brzo dometnuti da ta odlučujuća spoznaja nimalo ne slabi integritet digitalnih i serijskih rješenja, kao ni našu nadu u stvaranje umjetne inteligencije. Baš naprotiv. Mogli bismo, naime, napraviti elektroničke verzije sinaptičkih veza i odbaciti klasičnu Von Neumannovu arhitekturu te tako stvoriti golemu paralelnu mrežu umjetnih neurona, to jest elektroničku verziju “plitkog” ali “izvanredno širokog” računskog režima, onoga koji mozak sasvim očito iskorištava. Takve bi mreže mogle imati dodatnu i krajnje intrigantnu prednost otprilike 106 puta veće brzine, u cjelini gledano, u usporedbi s biološkim pandanima, i to naprosto stoga što bi bile izgrađene iz elektroničkih, a ne biokemijskih dijelova. A to bi dovelo do mnogo toga. Kao prvo, takav bi elektronički duplikat našega mozga, s jednakim brojem sinapsa, mogao za samo trideset

sekundi obaviti misaoni proces za koji bi biološkim komponentama u našoj glavi trebala čitava godina dana. I takav bi stroj mogao za samo pola sata proživjeti intelektualni život na koji naš mozak potroši uobičajene tri četvrtine stoljeća. Očito je, dakle, da pred inteligencijom stoji zanimljiva budućnost. Ovdje bismo, međutim, trebali kazati i riječ upozorenja. Istina jest da su već stvorene malene umjetne neuronske mreže utemeljene na pretpostavci da su sinapse sićušna pojačala, da su neuroni sišušni zbrajači sa sigma izlaznom funkcijom te da je informacija kodirana isključivo u obliku frekvencije neuronskih maksimuma. Istina je također i to da mnoge od tih mreža iskazuju zamjetne “kognitivne” talente, barem poslije dugog uvježbavanja. Pa ipak, te iste modelne mreže – unatoč tome što su analogne i u golemoj mjeri paralelne – iskazuju malo od sve one suptilnosti i raznovrsnosti što ih opažamo u ponašanju stvarnih sinapsi i stvarnih neurona. Nastavak nas neuroloških istraživanja stalno sve više uči, baš kao što je učio i samog von Neumanna, da su naši modeli moždanoga rada, napravljeni na prvu loptu, u najboljem slučaju tek vrlo grube aproksimacije stvarnosti neuronskog računala, te da bi se na kraju lako moglo pokazati da su oni promašaji baš koliko i negdašnje nagađanje – a koje u ovoj knjizi von Neumann osporava – da su operacije koje se odvijaju u mozgu ponajviše digitalne. Postoji, naime, više načina da se u ponašanje aksona ukodira informacija, kao i više načina da se ona modulira u sinapsi, te napokon više načina da se ona združuje unutar neurona. Naši današnji modeli funkcioniraju dovoljno dobro da nam pokrenu maštu, ali mozak i dalje krije mnoge zagonetke te najavljuje još mnoga buduća iznenađenja. Naš je posao na tom području sve prije negoli gotov, pa bismo pred empirijskim činjenicama morali biti ponizni koliko je to očito bio i sâm von Neumann. Von Neumann je zaslužan za kompjutorsku arhitekturu na kojoj počiva skoro čitava ‘kompjutorska revolucija’ dvadesetog stoljeća, revolucija koja će, dugoročno gledano, na ljudsku budućnost utjecati bar koliko i mehanika Isaaca Newtona i elektromagnetizam Jamesa Maxwella. Von Neumann je, međutim, pošao još i dalje, jer je, kad je riječ o biološkom mozgu, imao dovoljno i karaktera i pronicavosti da pogledom prodre i dalje od vlastite kompjutorske arhitekture te sagleda obrise nove, vjerojatno još moćnije paradigme koja objašnjava realni svijet. Na kraju širokih rasprava o naravi inteligencije, počesto čujemo komentatore kako puni nade zazivaju dolazak nekakvog “Newtona uma”. I

baš bismo zato i voljeli zaključiti u drukčijem tonu. Prethodni su komentari uputili na zaključak – a knjiga će ga što slijedi i ilustrirati – kako bi se moglo uvjerljivo ustvrditi da je taj priželjkivani Newton već došao ali, nažalost, i otišao. I da se zvao John von Neumann. Paul i Patricia Churchland

PREDGOVOR Držanje Sillimaninih predavanja, koja se ubrajaju među najstarije i najistaknutije serije akademskih predavanja u SAD, znanstvenici diljem svijeta smatraju i povlasticom i čašću. Vremenom se uobičajilo da predavač održi niz izlaganja u razdoblju dugom otprilike dva tjedna, a onda da rukopis tih predavanja oblikuje u knjigu i objavi je pod pokroviteljskom sveučilišta Yale, doma i stožera Sillimaninih predavanja. Početkom 1955. mog je supruga Johna von Neumanna sveučilište Yale pozvalo da u proljetnom semestru 1956., negdje potkraj ožujka ili početkom travnja, održi Sillimanina predavanja. Johnny se zbog tog poziva osjetio silno počašćenim i polaskanim, i to unatoč tome što ga je morao prihvatiti pod jednim ograničenjem – naime pod uvjetom da svoja predavanja smije skratiti na samo tjedan dana. Popratni će rukopis, međutim, odabranu temu – Računalo i mozak – temu koja ga je već poduže zanimala, pokriti potpunije. Taj je zahtjev za skraćenjem trajanja predavanja bio plod čiste nužnosti, budući da ga je predsjednik Eisenhower bio postavio za člana Komisije za atomsku energiju, dakle na posao koji traži čitavog čovjeka, ne dopuštajući čak ni jednom znanstveniku da dugo izbiva od svog pisaćeg stola u Washingtonu. Moj muž je, međutim, znao da će naći vremena da napiše ta predavanja, zato što je uvijek pisao noću ili u zoru. Njegova je radna energija bila praktički neograničena, i to napose kad bi ga nešto zanimalo, a njega su mnoge neistražene mogućnosti automata zanimale itekako; i zato je bio prilično siguran da će uspjeti pripremiti čitav rukopis, bez obzira na to što će trajanje samih predavanja biti unekoliko skraćeno. Sveučilište Yale, susretljivo i puno razumijevanja u te davne godine, kao i kasnije kad je sve bilo samo puno tuge, jada i nevolje, prihvatilo je taj uvjet, pa je Johnny započeo svoj novi posao u Komisiji dodatno potaknut mogućnošću da nastavi svoj rad na teoriji automata, pa makar i pomalo en cache. U proljeće 1955. preselili smo se iz Princetona u Washington pa je Johnny krenuo na neplaćeni dopust s Instituta za napredni studij u Princetonu, gdje je bio profesor na odjelu za matematiku još od 1933. Johnny se rodio 1903. u Budimpešti. Još je od najmlađih dana pokazivao nadarenost i izvanredno zanimanje za znanstvena pitanja, a već se i u djetinjoj dobi njegovo skoro fotografsko pamćenje očitovalo na

mnogo neobičnih načina. Dorastavši do studentskih godina, najprije je studirao kemiju, a onda i matematiku na Berlinskom sveučilištu, na Technische Hochschule u Zürichu i na Budipeštanskom sveučilištu. Godine 1927. bio je postavljen za Privatdozenta na Berlinskom sveučilištu, kao jedan od najmlađih ljudi imenovanih na to mjesto na svim njemačkim sveučilištima u posljednjih nekoliko desetaka godina. Kasnije je Johnny predavao na Hamburškom sveučilištu, a onda je 1930. prvi put preplovio Atlantik, prihvativši ponudu Princetonskog sveučilišta da godinu dana bude gost-predavač. Ondje je 1931. postao i stalnim predavačem, pa je tako u Sjedinjenim Državama osnovao i stalni dom i postao građaninom Novog svijeta. Dvadesetih i tridesetih godina Johnnyjevi su znanstveni interesi bili vrlo široki, i zahvaćali uglavnom područje teorije. Njegovi su se znanstveni radovi bavili kvantnom teorijom, matematičkom logikom, geometrijom kontinuuma, problemima vezanim za prstene operatora i mnogim drugim poljima čiste matematike. A onda se koncem tridesetih godina počeo zanimati za pitanja iz teorijske hidrodinamike, i to napose za velike poteškoće povezane s dobivanjem rješenja parcijalnih diferencijalnih jednadžbi pomoću poznatih analitičkih metoda. Taj ga je posao, kojim se bavio u doba kad su oblaci rata već mračili obzore diljem svijeta, doveo do znanstvenog rada na području obrane, i u njemu probudio stalno sve veće zanimanje za primijenjenu matematiku i fiziku. Interakcija udarnih valova, a koja predstavlja vrlo složen hidrodinamički problem, postala je izvanredno važno područje znanstvenog istraživanja u vojne svrhe, a golema računanja nužna za dobivanje nekih odgovora navela su Johnnyja da posegne za brzim računskim spravama. Tako je ENIAC, napravljen u Philadelphiji za potrebe Balističkog istraživačkog laboratorija topništva kopnene vojske, za Johnnyja bio prvi uvod u goleme mogućnosti rješavanja mnogih još neriješenih pitanja uz pomoć automata. Johnny je pridonio modificiranju nekih rješenja u ENIAC-u s područja matematičke logike, te se od tada pa sve do svojih posljednjih časaka svijesti nastavio zanimati još neistraženim aspektima i mogućnostima brzorastuće primjene automata. Godine 1943., nedugo poslije pokretanja projekta Manhattan, Johnny je postao jedan od znanstvenika “iščezlih na zapadu”, stalno na putu između Washingtona, Los Alamosa i mnogih drugih mjesta. Bilo je to razdoblje u kojem se potpuno uvjerio, i za kojeg je pokušao uvjeriti druge na mnogim drugim raznovrsnim područjima, da će numerički proračuni na brzim elektroničkim računskim uređajima olakšati rješavanje mnogih

teških i još neriješenih znanstvenih problema. Johnny je poslije rata, zajedno s malom skupinom odabranih inženjera i matematičara, na Institutu za napredne studije napravio eksperimentalno elektroničko računalo, popularno nazvano JONIAC, koje će kasnije postati pilotmodelom za slične strojeve diljem zemlje. Neka od osnovnih načela razvijenih u JONIAC-u nalazimo još i danas u najbržim i najmodernijim računalima. Pri projektiranju tog stroja, Johnny i njegovi suradnici pokušali su oponašati nešto od poznatog rada živog mozga. I baš ga je ta strana problema dovela do toga da je počeo proučavati neurologiju, tražiti ljude s područja neurologije i psihijatrije, odlaziti na simpozije o tim temama te napokon do izlaganja pred takvom publikom o mogućnostima kopiranja krajnje pojednostavljenog modela živog mozga u obliku umjetno stvorenih strojeva. On će te misli dalje razviti i podrobnije razložiti u Sillimaninim predavanjima. Johnny je u poratnim godinama svoj radni kapacitet porazdijelio na znanstvene probleme na različitim područjima. Napose se počeo zanimati za meteorologiju, gdje se činilo da bi numeričke kalkulacije mogle pridonijeti otvaranju sasvim novih vidika. S druge je strane dio svog vremena trošio na proračune u cilju rješavanja stalno sve širih problema nuklearne fizike. Nastavio je tijesno surađivati s laboratorijima Komisije za atomsku energiju (Atomic Energy Commission), a 1952. je posto i članom Općeg savjetodavnog odbora AEC-a. Na dan 15. ožujka 1955. Johnny je položio prisegu za člana Komisije za atomsku energiju, pa smo početkom svibnja svoj dom preselili u Washington. Tri mjeseca kasnije, to jest u kolovozu, naš aktivni i uzbudljiv život, koji se sav vrtio oko neumornog i zapanjujućeg uma mojega muža, najednom se prekinuo. Johnny je naime počeo osjećati jake bolove u desnom ramenu, a poslije operacije je bio dijagnosticiran rak kostiju. U mjesecima što su uslijedili izmjenjivali su se nada i očaj; ponekad smo bili uvjereni da je ta lezija u ramenu jedina manifestacija te strašne bolesti, koja se još dugo neće vratiti, no onda bi nam sve nade u budućnost razbili neodređeni bolovi koji bi se povremeno javljali. Kroz čitavo je to razdoblje Johnny radio upravo grozničavo – danju u svom uredu ili na kojem od mnogobrojnih putovanja koja je od njega tražio posao; noću bi se pak zadubljivao u svoje radove, u pitanja koja je odlagao dok mu ne istekne rok u Komisiji. Sad je počeo sa sistematskim radom na rukopisu za Sillimanina predavanja; većina svega napisanog na stranicama što slijede stvorena je u te dane neizvjesnosti i iščekivanja. Koncem studenog došao je novi udarac:

nekoliko mu je lezija bilo otkriveno i na kralješnici, a pojavile su se i velike smetnje u hodu. Od tada pa nadalje sve je pošlo od zla na gore, iako je i dalje ostajao bar tračak nade da bi se liječenjem i njegom ta smrtonosna bolest mogla zaustaviti, pa makar i samo privremeno. U siječnju 1956. Johnny je već postao vezan za kolica, ali je i dalje odlazio na simpozije, u kolicima se dovozio u ured i nastavljao raditi na rukopisu za predavanje. Očito je, međutim, bilo da ga iz dana u dan napušta snaga; morao je, sve jedno po jedno, otkazati sva putovanja i dogovorena predavanja, sva, s jednom iznimkom – s iznimkom, naime, Sillimaninih predavanja. Postojao je tračak nade da bi mu zahvaljujući rendgenskoj terapiji kralješnica, pa makar i samo privremeno, mogla do kraja ožujka dovoljno očvrsnuti da uzmogne otputovati u New Haven i izvršiti tu još jedinu obavezu, a koja mu je toliko značila. Pa ipak je morao zamoliti Odbor za Sillimanina predavanja da njegova izlaganja još jednom skrati, i to na samo jedno ili najviše dva, zato što bi napor čitavog tjedna predavanja, u njegovu oslabjelom stanju, mogao biti opasan. U ožujku su se, međutim, rasplinule sve lažne nade, i više se nije moglo ni pomišljati da bi Johnny još ikamo mogao putovati. Sad se sveučilište Yale pokazalo susretljivim i punim razumijevanja kao i uvijek, pa ta predavanja nije otkazalo nego predložilo da mu pošaljemo rukopis koji će onda, umjesto Johnnyja, pročitati netko drugi. Johnny, međutim, unatoč svem trudu, ipak nije uspio na vrijeme napisati svoja planirana predavanja; zapravo ga je tragična sudbina spriječila da ih čak i napiše do kraja. Početkom travnja 1956. Johnnyja su primili u bolnicu Walter Reed; iz nje će izaći tek poslije smrti 8. veljače 1957. S njim je u bolnicu pošao i nedovršeni rukopis Sillimaninih predavanja, gdje je opet pokušao raditi na njemu, no tada ga je bolest već bila konačno nadvladala, pa zato čak ni njegov zaista izuzetni um nije uspio prevagnuti nad slabošću tijela. Budi mi dopušteno na ovome mjestu izraziti svoju duboku zahvalnost Odboru za Sillimanina predavanja na sveučilištu Yale, kao i Yale University Pressu, jer su svi oni bili tako ljubazni i susretljivi u tim posljednjim i tužnim godinama Johnnyjeva života, da bi sad iskazali još i počast njegovoj uspomeni prihvaćajući taj njegov nedovršeni i djelomični rukopis u biblioteku Sillimaninih predavanja. Klara von Neumann Washington, rujna 1957.

UVOD Budući da nisam ni neurolog ni psihijatar već matematičar, rad koji slijedi zahtijeva nekoliko riječi objašnjenja i opravdanja. Riječ je o novom pristupu, naime pokušaju razumijevanja živčanog sustava sa stanovišta jednog matematičara. Tu je tvrdnju, međutim, nužno smjesta pobliže označiti u oba njezina bitna dijela. Kao prvo, to što ja ovdje pokušavam učiniti svakako bi bilo pretjerano nazvati “pokušajem razumijevanja”, jer je riječ tek o pukom, donekle sistematiziranom, skupu spekulacija o tome kako bi tom pitanju uopće trebalo pristupiti. Ja, drugim riječima, pokušavam pogoditi koji se to – matematički vođeni – pravci napada (s maglovite udaljenosti s koje sagledavamo većinu njih), doimaju a priori perspektivnima, a koji od njih stvaraju baš suprotan dojam. Osim toga ću iznijeti i neka razmišljanja koje iza tih nagađanja stoje. Kao drugo, “stanovište jednog matematičara”, u smislu u kojem bih volio da se to u ovom kontekstu shvati, nosi u sebi raspodjelu naglašavanja koja se razlikuje od uobičajene, jer će u prvom planu, s iznimkom samo općih matematičkih postupaka, biti logički i statistički aspekti. Osim toga će trebati i na logiku i statistiku gledati u prvom redu, pa makar i ne isključivo, kao na osnovna oruđa “teorije informacija”. Napokon, treba reći i to da će se u žarištu dobrog dijela te teorije informacija naći i iskustvo što je izraslo oko planiranja, procjenjivanja i kodiranja složenih logičkih i matematičkih automata. A najtipičniji su, iako ne i jedini, takvi automati, dakako, veliki elektronički računski strojevi. Budi mi dopušteno nuzgredno spomenuti kako bi bilo jako ugodno kad bismo mogli govoriti o “teoriji” takvih automata. Nažalost, sve što u ovom trenutku postoji – i na što se mogu pozvati – dalo bi se opisati kao još samo nesavršeno artikulirani i jedva formalizirani “zbroj iskustava”. I napokon, moj je glavni cilj izvesti na svjetlo dana jednu prilično drukčiju dimenziju tog predmeta. Slutim, naime, da bi dublje matematičko proučavanje živčanog sustava – “matematičko” u maločas zacrtanom smislu – moglo utjecati i na naše razumijevanje značajki i same, u to uključene, matematike. Ono bi zapravo moglo promijeniti čak i naš način gledanja i na samu matematiku i logiku. A razloge ću za takvo vjerovanje pokušati objasniti kasnije.

PRVI DIO RAČUNALO

Započet ću s raspravom o nekim načelima na kojima počivaju i sistematika i praksa računskih strojeva. Postojeći računski strojevi dijele se u dva široka razreda, to jest na “analogne” i “digitalne”. Tu podjelu određuje način na koji se u njima predstavljeni brojevi kojima stroj barata.

Analogni postupak U analognom je stroju svaki broj predstavljen prikladnom fizičkom veličinom, čija je vrijednost – izražena nekim unaprijed određenim jedinicama – jednaka promatranom broju. Ta veličina može biti kut za koji se zakrene neki disk ili pak jakost neke struje, ili pak iznos nekog (relativnog) napona itd. Da bismo stroju omogućili računanje, to jest baratanje tim brojevima po nekom unaprijed određenom planu, svakako se moramo pobrinuti i za organe (ili dijelove) koji na tim predstavljenim veličinama mogu izvoditi osnovne matematičke operacije. OBIČNE OSNOVNE OPERACIJE Pod osnovnim operacijama obično predmnijevamo “četiri osnovne aritmetičke operacije”, to jest zbrajanje (operaciju x + y), oduzimanje (x – y), množenje (xy) i dijeljenje (x/y). Očito je, dakle, kako nije nimalo teško zbrojiti ili oduzeti dvije struje (njihovim spajanjem u paralelnom ili antiparalelnom smjeru). Množenje je (dviju struja) mnogo teže, ali postoje raznovrsni elektronički elementi koji mogu izvesti tu operaciju. Isto vrijedi i za dijeljenje (jedne struje drugom). (Za množenje i dijeljenje – ali ne i za zbrajanje i oduzimanje – naravno da je važna jedinica u kojoj se ta struja mjeri.) NEOBIČNE OSNOVNE OPERACIJE Doista je izvanredna značajka nekih analognih strojeva, a o kojima ću još mnogo raspravljati kasnije, i ova koju ću sad navesti. Ponekad stroj nije izgrađen oko već spomenute četiri računske operacije, nego oko nekih drugih “osnovnih” operacija. Tako klasični “diferencijalni analizator”, koji brojeve izražava kutom za koji su se zakrenuli stanoviti diskovi, radi ovako. Umjesto zbrajanja, x + y, oduzimanja, x – y, on nam nudi operaciju (x ± y)/2, i to zato što se to dobiva lako dostupnim i jednostavnim dijelom, takozvanim “diferencijalnim zupčanikom” (istim onim koji nalazimo i na stražnjoj osovini automobila). Tu se, umjesto množenja, xy, primjenjuje sasvim drukčiji postupak. U diferencijalnom se analizatoru sve veličine pojavljuju kao funkcija vremena, a on pak radi pomoću organa zvanog

“integrator”, koji će od dvije takve veličine x(t), y(t) stvoriti (“Stieltjesov”) intregral z(t) = ∫t x(t) dy(t). Bit te sheme je trostruka: Prvo: tri će spomenute operacije, u prikladnoj kombinaciji, reproducirati tri od četiri uobičajene osnovne operacije, to jest zbrajanje, oduzimanje i množenje. Drugo: u kombinaciji s nekim trikom koji polazi od povratne veze, one će generirati i četvrtu operaciju, to jest dijeljenje. Na ovom mjestu neću raspravljati o načelu povratne veze nego ću se ograničiti samo na to da ona, unatoč tome što se doima sredstvom za rješavanje uključenih odnosa, zapravo predstavlja izvanrednu shemu elegantno zaobiđenih ponavljanja i postupnog približavanja traženoj vrijednosti. Treće, a što je i prvo opravdanje postojanja diferencijalnog analizatora: njegove su osnovne operacije (x ± y)/2 te integriranja u širokim klasama problema ekonomičnije od aritmetičkih (x + y, x – y, xy, x/y). Ili, određenije: svaki računski stroj, da bi riješio neki složeni matematički problem, mora za tu zadaću biti “programiran”. To znači da složene operacije rješavanja problema moramo zamijeniti kombinacijom osnovnih operacija stroja. Ponekad to predmnijeva i nešto još suptilnije, to jest aproksimaciju te operacije – do svakog željenog (propisanog) stupnja – i to upravo takvom kombinacijom. Sad za neku danu klasu problema jedan skup osnovnih operacija može biti efikasniji, tj. omogućiti primjenu jednostavnije, manje opsežne kombinacije od onih što ih nudi drugi takav skup. Tako su napose za sustave potpunih diferencijalnih jednadžbi – a zbog kojih je diferencijalni analizator primarno i bio stvoren – gore spomenute osnovne operacije tog stroja efikasnije od ranije spomenutih osnovnih aritmetičkih operacija (x + y, x – y, xy, x/y). Sad prelazim na digitalnu klasu strojeva.

Digitalni postupak Kod decimalnih digitalnih strojeva svaki je broj prikazan kao i u konvencionalnom pisanom ili tiskanom obliku, tj. nizom decimalnih znamenaka. Svaka je pak decimalna znamenka prikazana sustavom “markera”. MARKERI, NJIHOVE KOMBINACIJE I PRIKAZIVANJA Marker koji se pokazuje u deset različitih oblika dostaje već i sam po sebi kao prikaz svih decimalnih znamenki. Marker koji se pak pojavljuje u samo dva različita oblika može decimalne brojke prikazivati skupinom markera. (Skupina od tri markera s dvije različite vrijednosti dopušta nam stvaranje 8 kombinacija, što nije dovoljno. Skupina od četiri takva markera dopušta nam stvaranje 16 kombinacija, što je više no dovoljno. Zato se za označavanje decimalne znamenke moraju uzeti skupine od bar četiri markera. Znaju se, međutim, pojaviti i razlozi za primjenu većih skupina, no o tom potom. Primjer je markera s deset vrijednosti električni impuls koji se pojavljuje na jednoj od deset unaprijed zadanih linija. Marker s dvije vrijednosti je električni impuls koji se pojavljuje na samo jednoj zadanoj liniji, tako da informaciju prenosi njegovo pojavljivanje ili nepojavljivanje (što čini njegovu “vrijednost”). Drugi je mogući marker s dvije vrijednosti električni impuls koji može imati pozitivnu ili negativnu vrijednost. Postoje, dakako, i mnoge druge podjednako valjane sheme markera. Ovdje bih, međutim, iznio još jedno zapažanje o markerima: Spomenuti je marker s deset vrijednosti očito i skupina od deset markera s dvije vrijednosti (pojavljivanje i nepojavljivanje), pa je on, drugim riječima, u spomenutom smislu visoko redundantan. U isti se okvir, naime, dade uklopiti i minimalna skupina, sastavljena od četiri markera s po dvije vrijednosti. Zamislimo sustav od četiri unaprijed zadane linije, takav da se u njemu (simultani) električni impulsi mogu pojaviti u svakoj kombinaciji. Tako dobivamo 16 kombinacija, i za svaku se od njih može odrediti da predstavlja neku decimalnu znamenku. Zamijetimo da tim markerima, koji su obično električni impulsi (ili, moguće, određeni električni napon ili struja, koji traju koliko je dovoljno

da se osigura njihovo bilježenje), moraju upravljati električna vrata. VRSTE DIGITALNIH STROJEVA I NJIHOVI OSNOVNI DIJELOVI Na dosadašnjem razvojnom putu uspješno su bili primijenjeni elektromehanički releji, vakuumske cijevi, kristalne diode, feromagnetske jezgre i tranzistori – neki od njih u kombinaciji s drugima, neki opet najradije u memorijskim organima stroja (vidi dalje), a drugi najradije izvan njih (to jest u “aktivnim” organima) – što je dovelo do nastanka mnogo različitih vrsta digitalnih strojeva. PARALELNE I SERIJSKE SHEME Neki je broj, dakle, u stroju predstavljen slijedom markera (ili njihovih skupina) s deset različitih vrijednosti, a može se udesiti da se oni pojavljuju simultano, u različitim organima stroja – dakle paralelno – ili u vremenskom slijedu, u samo jednom organu stroja – dakle serijski. Ako je stroj napravljen za baratanje, recimo, brojevima s dvanaest decimalnih mjesta, primjerice sa šest decimalnih mjesta “lijevo” i šest “desno” od decimalnog zareza, onda svakom informacijskom kanalu stroja, namijenjenom prenošenju tih brojeva, treba priskrbiti dvanaest takvih markera (ili njihovih skupina). (Ova shema može biti – a u mnogim strojevima ona to i jest – i fleksibilnija na različite načine i u različitoj mjeri. Tako se, primjerice, u skoro svim strojevima decimalni zarez može pomicati. U to, međutim, na ovome mjestu ne bih dalje ulazio.) OBIČNE OSNOVNE OPERACIJE Rad se digitalnog stroja dosad uvijek temeljio na četiri osnovne aritmetičke operacije. S obzirom na dobro poznate postupke koje su upotrebljavane, mogli bismo reći sljedeće: Najprije, o zbrajanju: nasuprot fizičkom procesu koji taj postupak posreduje u analognim strojevima (vidi gore), radom digitalnih strojeva upravljaju pravila stroge i logičke naravi – pravila koja određuju kako oblikovati digitalni zbroj, koji se broj prenosi na sljedeće decimalno mjesto te kako te operacije ponoviti i udružiti. Logička narav digitalnog zbroja postaje još jasnija ako primijenimo binarni (a ne decimalni) sustav.

Zapravo se binarna tablica zbrajanja (0 + 0 = 00, 0 + 1 = 1 + 0 = 01, 1 + 1 = 10) dade iskazati ovako: zbroj je 1 ako se dva adenda razlikuju, u suprotnom je 0; broj 1 se prenosi ako su brojke oba adenda 1, u suprotnom je 0. Zbog moguće prisutnosti brojke koja se prenosi, potrebna nam je zapravo binarna tablica zbrajanja za tri člana (0 + 0 + 0 = 00, 0 + 0 + 1 = 0 + 1 + 0 = 1 + 0 + 0 = 01, 0 + 1 + 1 = 1 + 0 + 1 = 1 + 1 + 0 = 10, 1 + 1 + 1 = 11), a to znači: druga znamenka je 1 (neovisno o prvoj), ako je broj jedinica u adendima neparan (1 odnosno 3), u suprotnom je 0; prva znamenka je 1 ako su jedinice u adendima u većini (2 ili 3), u suprotnom je 0. Drugo, o oduzimanju: njegova je logička struktura vrlo slična strukturi zbrajanja. Ona čak može biti – i obično jest – svedena na potonju na vrlo jednostavan način, to jest “komplementiranjem” subtrahenda. Treće, o množenju: ovdje je primarno logička narav još očitija – i struktura zapletenija – nego pri zbrajanju. Najprije se stvore umnošci (od multiplikanda) sa svakom znamenkom multiplikatora (što se obično obavlja za sve moguće decimalne znamenke, a prema različitim shemama zbrajanja), a onda se (uz prikladne pomake) zbroje. I opet je u binarnom sustavu logička narav tog postupka još transparentnija i očitija. Budući da su dvije jedine moguće znamenke 0 i 1, (multiplikatorov) digitalni umnožak (multiplikanda) izostavlja se za 0, a za 1 je jednak samom multiplikandu. Sve se to odnosi na umnoške pozitivnih faktora. Kad oba faktora mogu imati oba predznaka, četvorim situacijama koje pritom mogu nastati upravljaju dodatna logička pravila. Četvrto, o dijeljenju: logička je struktura slična strukturi množenja, samo što se u ovom slučaju upliću i različite iterativne procedure oduzimanja, utemeljene na metodi pokušaja i pogreške i specifičnim logičkim pravilima (za stvaranje znamenki kvocijenta) ovisnim o različitim alternativnim situacijama koje mogu nastati, a koje valja rješavati po serijskoj, ponavljanoj shemi. Da zaključimo: sve se te operacije radikalno razlikuju od fizičkih procesa u analognim strojevima. Sve su one obrasci alternativnih postupaka, organiziranih u visoko ponavljanim sekvencama i podvrgnutih strogim i logičnim pravilima. Ta pravila u slučaju množenja i dijeljenja imaju posebno složen logički karakter. (Što možda i ne opažamo zbog duge i skoro instinktivne bliskosti s njima, ali ako se prisilimo da ih

izrazimo do kraja, postat će nam očit stupanj njihove složenosti).

Logičko upravljanje Računski stroj mora posjedovati ne samo sposobnost izvršavanja pojedinačnih osnovnih operacija nego i sposobnost njihova izvršavanja u slijedu – ili, točnije, prema nekom logičkom uzorku – kojim one dovode do rješenja matematičkog problema, dakle do ispunjenja stvarne svrhe promatranog računanja. U tradicionalnim analognim strojevima – tipski predstavljenim “diferencijalnim analizatorom” – to se “sekvenciranje” rada postiže ovako. U stroju mora a priori postojati dovoljno organa za izvršavanje svih osnovnih operacija koje zahtjeva željeno računanje – primjerice “diferencijalne zupčanike” i “integratore” (za dvije osnovne, već spomenute operacije (x ± y)/2, odnosno ∫t x(t)dy(t), v. ranije). A ti se organi – primjerice njihovi “ulazni” i “izlazni” diskovi (ili, točnije, njihove osi) – moraju zatim međusobno spojiti zupčaničkim vezama u starijim modelima, odnosno električki oponašanim aranžmanom [“selsinima”] u novijima) da stvore repliku željenog računanja. Spomenimo da se taj uzorak spajanja može složiti po volji – on zapravo predstavlja i sredstvo pomoću kojeg se problem koji valja riješiti, to jest nakana upravljača, uglavljuje u stroj. To se “namještanje” u starijim (već spomenutim strojevima sa zupčanicima) postizalo na mehanički način, a u kasnijim (već spomenutim električki povezanim) strojevima spajanjima. Ipak je u oba slučaja riječ bila o stalnom rasporedu koji je ostajao nepromijenjen za čitavog postojanja problema. UPRAVLJANJE UKAPČANJEM U neke od najnovijih analognih strojeva bio je uveden još jedan trik. Ti su strojevi, naime, dobili “spojive” veze. Tim su vezama zapravo upravljali elektromehanički releji, koji su se mijenjali električnim stimuliranjem pomoću magneta koji su ih otvarali i zatvarali. Tim se električnim uključivanjem moglo upravljati perforiranom papirnom vrpcom, a te su se vrpce mogle pokretati i zaustavljati (i tako mnogo puta) električnim signalima stvorenim u prikladnom trenutku određenom potrebama računanja. UPRAVLJANJE LOGIČKOM VRPCOM

Potonja varijanta znači da su stanoviti numerički organi u stroju dosegli neko predodređeno stanje, primjerice da je predznak nekog broja postao negativan, ili da je neki broj premašen nekim drugim itd. Obratimo pažnju na nešto: naime, ako su brojevi definirani električnim naponom ili strujom, onda ispravljači, postavljeni u neki raspored, mogu osjetiti njihov predznak. Kod rotirajućeg diska predznak nam pokazuje je li prošao nulti položaj gibajući se ulijevo ili udesno; neki je broj premašen drugim ako predznak njihove razlike postane negativan itd. Tako upravljanje “logičkom” vrpcom – ili, još točnije, upravljanje “stanjem računanja udruženim s vrpcom” – zapravo je superponirano na osnovno upravljanje “fiksnim vezama”. Digitalni su pak strojevi svoj život započeli u hodu, vođeni drukčijima sustavima upravljanja. Pa ipak, prije nego što se pozabavim njima, iznijeti ću neke općenite opaske koje se odnose na digitalne strojeve i njihov odnos spram analognih. NAČELO O SAMO JEDNOM ORGANU ZA SVAKU OSNOVNU OPERACIJU Na početku nam valja istaknuti da u svim digitalnim strojevima bez iznimke za izvršenje svake osnovne operacije postoji samo jedan organ. To je suprotno onom što nalazimo u većini analognih strojeva, u kojima mora biti dovoljno organa za svaku osnovnu operaciju, ovisno već o zahtjevima zadanog problema (v. gore). Trebamo, međutim, reći da je tu riječ prije o povijesnoj činjenici negoli o bitnom zahtjevu – analogni strojevi (već spomenute, električki povezane vrste) se mogu načelno napraviti i sa samo jednim organom za svaku osnovnu operaciju, a logičku kontrolu svake digitalne vrste ćemo opisati dalje. (Čitatelj može doista i sâm, i to bez mnogo truda, provjeriti tvrdnju da već i spomenuta “najnovija” vrsta upravljanja analognim strojevima predstavlja zapravo prelazak na taj modus operandi.) Trebalo bi, osim toga, spomenuti i to da neki digitalni strojevi odstupaju manje ili više od tog načela o “samo jednom organu za svaku osnovnu operaciju” – ali je te devijacije moguće vratiti u ortodoksnu shemu prilično jednostavnim drukčijim tumačenjem. (U nekim je tu slučajevima riječ samo o dupleks [ili multipleks] strojevima s prikladnim

načinima međusobnog komuniciranja.) Ali tim se pitanjem ovdje ne kanim više baviti. IZ TOGA IZVEDENA POTREBA ZA POSEBNIM ORGANOM ZA PAMĆENJE Načelo “samo jednog organa za svaku osnovnu operaciju” stvara, međutim, potrebu za većim brojem organa za pasivno čuvanje brojeva – to jest rezultata različitih djelomičnih, pomoćnih računa. Drugim riječima, svaki takav organ mora biti sposoban “pohraniti” broj – i uklanjajući drugi koji je bio ranije pohranjen – prihvatiti ga od nekog drugog organa s kojim je u tom trenutku bio spojen, te ga “na zahtjev” “ponoviti” – to jest odaslati u neki drugi organ s kojim je spojen u tom (drugom) trenutku. Takav organ zovemo “memorijskim registrom”, skup svih tih organa “memorijom”, a broj registara u toj memoriji njezinom “veličinom”. Sad ću prijeći na raspravu o glavnim načinima upravljanja digitalnim strojevima. A to ću najbolje učiniti ako opišem dvije osnovne vrste te navedem neka očita načela njihova kombiniranja. UPRAVLJANJE POMOĆU “UPRAVLJA NJ KOG NIZA TOČAKA” Prvi osnovni postupak upravljanja, koji je našao široku primjenu, mogao bi se opisati (uz neka pojednostavljenja i idealizacije) ovako: Stroj sadrži mnoštvo organa za logičko upravljanje, takozvani “upravljački niz točaka”, sa sljedećom funkcijom. (Broj tih točaka zna biti i pozamašan. U nekim se novijim strojevima on penje i do nekoliko stotina.) U najjednostavnijem modu primjene tog sustava svaka je točka upravljačkog niza povezana s jednim od organa za osnovne operacije kojeg pokreće, a i s memorijskim registrima koji pribavljaju numeričke unose (inputs) za tu operaciju, kao i s onim koji treba primiti izlazne podatke (output). Nakon unaprijed određenog zastoja (koji mora biti dovoljno dug da omogući izvršenje operacije), ili poslije prijama signala “izvršeno” (ako je trajanje operacije promjenjivo, ili ako joj je maksimum neodređen ili neprihvatljivo dug – ta procedura zahtijeva, dakako, i dodatnu vezu sa spomenutim organom za osnovnu operaciju), kontrolna točka upravljačkog niza pokreće sljedeću točku niza, svog “nastavljača”. Ona opet djeluje na sličan način, u skladu s vlastitim vezama itd. Ako se poslije toga više ništa

ne izvrši, time je zaključen uzorak za neuvjetovano računanje bez ponavljanja. Mnogo rafiniraniji uzorci se dobivaju ako su neke točke upravljačkog niza, koje ćemo nazvati “točkama grananja”, povezane s dva “nastavljača” i mogu postojati u dva stanja, recimo A i B, i to tako da A dovodi do nastavljanja procesa preko prvog “nastavljača”, a B preko drugog. Točka upravljačkog niza se normalno nalazi u stanju A, ali je povezana s dva memorijska registra, tako da je stanoviti događaji u njemu mogu navesti da s A prijeđe na B odnosno s B na A – recimo da ga pojava negativnog predznaka u prvom slučaju navodi da s A prijeđe na B, a u drugom s B na A. (Opaska: memorijski registar uz, kao što smo već naveli, znamenke nekog broja pohranjuje i njegov predznak [+ odnosno -] – i za to sasvim dostaje marker s dvije moguće vrijednosti.) I sad se pred nama otvaraju svakovrsne mogućnosti: Navedena dva “nastavljača” mogu predstavljati dva sasvim nepovezana ogranka izračuna, ovisno već o prikladno pripisanim numeričkim kriterijima (koji određuju “A u B“, dok “B u A“ služi za obnavljanje početnih uvjeta kako bi se moglo započeti novo računanje.) Ta se dva ogranka mogu zatim i ponovno udružiti u nekom kasnijem zajedničkom nastavljaču. Osim toga se tu otvara i još jedna mogućnost, jer jedan od dva ogranka, recimo onaj kojim upravlja A, može i voditi natrag do prvospomenute točke (grananja) upravljačkog niza. U tom slučaju imamo posla s ponavljanom procedurom, koja se pojavljuje sve do zadovoljenja nekog brojčanog kriterija (poput već spomenutog koji zapovijeda “A u B“, v. ranije). Tu je, dakako, riječ o osnovnom iterativnom postupku. A svi se tri trikovi mogu kombinirati, preklapati itd. Zamijetimo da u tom slučaju, kao i u slučaju već spomenutih analognih strojeva s ukapčanjem, ukupnost svih već spomenutih (električnih) veza tvori formulaciju problema – to jest iskaz problema koji treba riješiti, odnosno iskaz nakane upravljača računalom. I tako je ovdje ponovno riječ o upravljanju ukapčanjem. Kao u već spomenutom slučaju, obrazac ukapčanja se može mijenjati od problema do problema, ali je on – barem u slučaju najjednostavnijeg sklopa – fiksiran za sve vrijeme rješavanja problema. Taj se postupak dade profiniti na mnogo načina. Svaka točka upravljačkog niza može biti povezana s nekoliko organa i stimulirati više operacija. Ukapčanje veze može biti (kao u navedenom primjeru s analognim strojevima) upravljano elektromehaničkim relejima, koji pak mogu (kao što smo ranije naveli) biti podešavani pomoću perforiranih

vrpci, a one se opet mogu gibati upravljane električnim signalima što ih stvore određeni rezultati računanja. Ovdje više ne bih išao dalje u razlaganje svih varijacija što ih dopušta ova tema. UPRAVLJANJE IZ MEMORIJE Druga osnovna metoda upravljanja, a koja je već uvelike istisnula prvu, mogla bi se (i ona donekle pojednostavljeno) opisati ovako. Ta shema ima, gledajući formalno, neke sličnosti s već opisanom shemom upravljanja ukapčanjem. U njoj su, međutim, točke upravljačkog niza zamijenjene “naredbama”. A naredba je, u većini primjena te sheme, u fizičkom smislu isto što i broj (jedan od onakvih s kakvima stroj barata, a o čemu je već bilo govora). Tako je to u decimalnom stroju zapravo slijed decimalnih znamenaka. (12 decimalnih znamenaka u ranijem primjeru, s predznakom ili bez njega, itd., vidi gore. Ponekad to standardno brojno mjesto sadrži više naredbi, ali nema potrebe da u to ovdje dublje ulazimo.) Naredba mora naznačiti koju osnovnu operaciju valja izvršiti, iz kojeg memorijskog registra moraju doći unosi za tu operaciju, i u koji memorijski registar mora otići izlazni podaci. Pritom zapazimo kako to predmnijeva da su svi memorijski registri numerirani serijski – broj pak memorijskog registra zovemo “adresom”. Zgodno je numerirati i osnovne operacije. U tom slučaju naredba jednostavno sadrži broj operacije i adrese već spomenutih memorijskih registara u obliku slijeda decimalnih znamenaka (unaprijed određenim slijedom). Sad se tu javljaju i neke varijante koje, međutim, u sadašnjem kontekstu i nisu jako važne. Tako jedna naredba može, na već opisan način, upravljati većim brojem operacija; ona može odrediti da se adresa koju ona sadrži, prije nego što se primijeni u postupku koji se provodi, modificira na stanovit specifičan način. (Najčešće primjenjivana – i praktički najvažnija – modifikacija svodi se na umetanje sadržaja nekog specifičnog memorijskog registra u sve promatrane adrese.) Moguće je, međutim, tim funkcijama upravljati i pomoću posebnih naredbi, no naredba se može odnositi i samo na dio svake od već opisanih konstitutivnih radnji. Ipak je važnija faza svake naredbe ova koju ćemo opisati. Baš kao što su to činile i točke upravljačkog niza iz prethodnog primjera, tako i svaka naredba mora odrediti svog nasljednika – s grananjem ili bez njega

(vidi gore). Kao što sam već istaknuo, naredba je obično “fizički” isto što i broj. Zato je prirodni put pohraniti je – pri rješavanju problema u kojem sudjeluje – u memorijski registar. Drugim riječima, svaka se naredba pohranjuje u memoriju, u određeni memorijski registar ili, drugim riječima, na određenu adresu. To otvara mnoštvo specifičnih načina rješavanja pitanja nastavljača naredbe. Tako može biti specificirano da je nastavljač naredbe koja se nalazi na adresi X – ukoliko nije eksplicitno rečeno drukčije – naredba koja se nalazi na adresi X + 1. To “drukčije” je neki “transfer”, specijalna naredba koja određuje da je nastavljač na dodijeljenoj mu adresi Y. Osim toga i svaka naredba može u sebi sadržavati i odredbu o “transferu”, tj. eksplicitno odrediti adresu nastavljača. “Grananje” se najzgodnije rješava naredbom o “uvjetnom transferu”, to jest takvom koja određuje da je adresa nastavljača X ili Y, te da ona ovisi o pojavi nekog numeričkog preduvjeta – primjerice o tome je li broj na danoj adresi Z negativan ili to nije. Takva naredba mora onda sadržavati i broj koji karakterizira baš tu vrstu naredbe (što znači da igra sličnu ulogu i zauzima isto mjesto kao i broj osnovne operacije o kojem smo već govorili), te adrese X, Y i Z u obliku slijeda decimalnih znamenaka (vidi gore). Zapazimo važnu razliku između ovog načina upravljanja i već ranije opisanog upravljanja ukapčanjem: Ondje su točke upravljačkog niza bili realni, fizički predmeti, a njihove prikopčane veze su izražavale rješavani zadatak. Sad su pak naredbe idealni entiteti, pohranjeni u memoriji, te je stoga zadatak izražen sadržajem baš tog segmenta memorije. Zato taj način upravljanja i zovemo “upravljanjem iz memorije”. MODUS OPERANDI UPRAVLJANJA IZ MEMORIJE U tom slučaju, budući da se naredbe koje provode čitavo upravljanje nalaze u memoriji, moguće je postići viši stupanj fleksibilnosti negoli i u jednom prije navedenom upravljačkom načinu. Taj stroj zapravo, upravljan naredbama, može izvlačiti brojeve (ili naredbe) iz memorije, obrađivati ih (kao brojeve!) i zatim ih opet vraćati u memoriju (na isto ili neko drugo mjesto); drugim riječima, on može promijeniti sadržaj memorije – i to je zapravo njegov normalni modus operandi. On tako, napokon, može mijenjati i same naredbe (jer se i one nalaze u memoriji!) – to jest iste one naredbe koje upravljaju njegovim radom. Tako postaju mogući svakovrsni profinjeni naredbeni sustavi, koji se stalno sami modificiraju pa time modificiraju i postupak računanja kojim upravljaju. Tako postaju mogući i

procesi složeniji od pukih ponavljanja. Iako sve to može zvučati preuzetno i komplicirano, takvi se postupci široko primjenjuju i vrlo su važni u modernoj praksi strojnog računanja – ili, točnije, u praksi planiranja računanja. Taj se naredbeni sustav – to jest sredstvo za rješavanje problema, odnosno operaterova nakana – stroju priopćava unošenjem u memoriju (instaliranjem programa). To se obično čini prenošenjem s već pripremljene vrpce ili nekog sličnog medija. MJEŠOVITI OBLICI UPRAVLJANJA Dva opisana upravljačka modusa – upravljanje ukapčanjem i upravljanje memorijom – dopuštaju i različite kombinacije, o kojima bismo mogli reći nekoliko riječi. Razmotrimo stroj kojim se upravlja ukapčanjem. Pretpostavimo da on posjeduje memoriju o kakvoj smo već govorili u vezi sa strojevima kojima se upravlja iz memorije. Čitav je proces ukapčanja moguće opisati nizom znamenaka (primjerene dužine). Taj je niz moguće pohraniti u memoriju; on će vjerojatno zauzeti mjesto nekoliko brojeva, to jest nekoliko memorijskih registara, recimo u nizu – što znači da ćemo ga naći na više izvršnih adresa, od kojih bismo njegovu adresu, da skratimo priču, mogli nazvati prvom. U memoriju može biti pohranjeno nekoliko takvih nizova koje predstavljaju nekoliko različitih shema ukapčanja. Taj stroj, uz ovo, može imati i potpuno upravljanje iz memorije. Uz naredbe koje prirodno idu s tim sustavom (v. gore), on bi trebao sadržavati i naredbe sljedećih vrsta. Kao prvo: naredbu koja izaziva resetiranje uključenog sklopa prema digitalnom nizu pohranjenom na označenoj memorijskoj adresi (v. gore). Kao drugo: sustav naredbi koji mijenja specificirane pojedinačne elemente uključenog sklopa. (Zapazimo kako oba ta svojstva zahtijevaju da se uključivanje u stvarnosti obavlja električno upravljanim uređajima, primjerice elektromehaničkim relejima [v. ranije izlaganje], elektronskim cijevima, feromagnetskim jezgrama i slično.) I treće: naredbu koja upravljanje strojem prebacuje s memorijskog režima na uključni. Uz to je, dakako, nužno i da shema uključivanja posjeduje sposobnost upućivanja na memorijsko upravljanje (po mogućnosti na označenoj adresi) koje u tom slučaju djeluje kao nastavljač (ili, u slučaju

grananja, kao jedan od nastavljača) točke upravljačkog niza.

Mješovite numeričke procedure Navedene bi opaske morale dostajati za stjecanje slike o fleksibilnosti inherentnoj u tim upravljačkim funkcijama i njihovim kombinacijama. Sljedeća klasa “mješovitih” strojnih tipova koja zaslužuje spomen jest ona u kojoj nalazimo udruženo analogno i digitalno načelo. Ili, točnije: To je shema u kojoj je dio stroja analogan, a dio digitalan, s tim da ta dva dijela međusobno komuniciraju (razmjenjujući numeričku građu) te su podvrgnuta zajedničkom upravljanju. Moguće je, dakako i da svaki dio ima vlastiti sustav upravljanja, no u tom slučaju ta dva upravljačka sustava moraju međusobno komunicirati (razmjenjivanjem logičke građe). Ta shema, dakako, zahtijeva organe za pretvaranje digitalno izraženog broja u analogno izraženi, kao i obratno. U prvom se slučaju neka kontinuirana veličina izgrađuje iz svojih digitalnih iskaza, dok se u potonjem mjeri neka kontinuirana veličina, a dobiveni se rezultat izražava u digitalnom obliku. Komponente raznih vrsta – uključivši i brze elektroničke – koje izvršavaju te dvije zadaće široko su poznate. MJEŠOVITO PRIKAZIVANJE BROJEVA. STROJEVI GRAĐENI NA TIM TEMELJIMA U sljedećoj važnoj klasi “mješovitih” strojeva nalazimo uređaje kod kojih se u svakom koraku u postupku računanja (ali, dakako, ne i u logičkoj proceduri) kombiniraju analogno i digitalno načelo. Najjednostavniji slučaj imamo kad je svaki broj predstavljen dijelom na analogan, a dijelom na digitalan način. Opisat ću jednu takvu shemu koja se povremeno pojavljuje u izradi i planiranju strojeva i njihovih dijelova, baš kao i u stanovitim oblicima komuniciranja, iako na temelju nje još nikad nije bio napravljen i neki veliki stroj. U tom sustavu, kojeg ću nazvati sustavom utemeljenim na “gustoći impulsa”, svi se brojevi izražavaju slijedom električnih impulsa (u jednom vodu), ali tako da je duljina tog niza nevažna, a broj je predstavljen prosječnom (vremenskom) gustoćom niza impulsa. Pri tome, dakako, moramo zadati dva vremenska intervala, t1 i t2 (pri čemu je t2 znatno dulji od t1), tako da se određivanje prosječne vrijednosti odvija u vremenu od t1

do t2. Pritom je nužno navesti i jedinicu kojom je izražen broj koji se izjednačuje s gustoćom impulsa. Ponekad je zgodno odrediti da spomenuta gustoća ne bude jednaka samom broju nego nekoj prikladnoj (fiksnoj) neprekinutoj funkciji – primjerice logaritmu. (Svrha potonjeg postupka je postizanje, u slučaju potrebe – kad je broj malen – boljeg razlučivanja tog prikaza – i slabijeg kad je to prihvatljivo – to jest kad je broj velik – no da pritom ipak dobijemo kontinuirani prikaz.) Moguće je osmisliti organe koji na te brojeve primjenjuju četiri aritmetičke operacije. Zato je u slučaju kad gustoća predstavlja sam broj, zbrajanje moguće izvesti kombiniranjem dva slijeda. Druge su operacije malo nezgodnije – no i tu postoje dovoljno dobri, manje ili više elegantni postupci. Neću raspravljati o tome kako se u slučaju potrebe prikazuju negativni brojevi – no i to se dade lako obaviti prikladnim trikovima. Da bi se, međutim, dobila odgovarajuća točnost, svaki niz mora u već spomenutom vremenskom intervalu t1 sadržavati mnogo impulsa. Ako za samog računanja poželimo promijeniti broj, možemo urediti da se u skladu s tim promijeni i gustoća niza, dakako pod uvjetom da je taj proces spor u usporedbi s već spomenutim vremenskim intervalom t2. Za tu vrstu stroja osjećanje numeričkih uvjeta (primjerice za potrebe logičkog upravljanja, vidi gore) može predstavljati vrlo nezgodnu zadaću. Postoje, međutim, različiti uređaji koji takav broj, to jest gustoću impulsa u vremenu, preobražavaju u neku analognu veličinu. (Tako će primjerice gustoća impulsa, od kojih svaki isporučuje standardni naboj kondenzatoru koji ga [zbog nekog danog otpora] polako gubi, u njemu održavati razumno stalan napon i brzinu otjecanja struje – a u oba je slučaja riječ o upotrebljivim analognim veličinama.) Te se analogne veličine mogu zatim iskoristiti za logičko upravljanje, o čemu je već bilo govora. Poslije ovog opisa općih načela funkcioniranja i upravljanja računskim strojevima, nastavit ću s nekim opaskama o njihovoj stvarnoj primjeni i načelima koja ih vode.

Točnost Neka mi bude dopušteno prije svega usporediti točnost analognih i digitalnih strojeva. Pustimo sad sve druge razloge i recimo da je glavna mana analognih strojeva njihova ograničena točnost. I doista, točnost električnih analognih strojeva rijetko kada premašuje 1:102, a čak i mehanički (primjerice diferencijalni analizator) u najboljem slučaju postižu preciznost od 1:104 do 105. Digitalni pak strojevi, s druge strane, mogu postići svaku željenu točnost. Tako primjerice već spomenuti stroj s dvanaest decimalnih mjesta (a zbog razloga o kojima će još biti govora, to je prilično tipičan nivo točnosti modernog digitalnog stroja) radi s točnošću od 1:1012. Zamijetimo također da je povećanje točnosti u digitalnom režimu moguće ostvariti mnogo lakše negoli u analognom: Popeti se s 1:102 na 1:104 u diferencijalnom analizatoru razmjerno je jednostavno; porast s 1:104 na 1:105 otprilike je najbolje što se dade postići postojećom tehnologijom; popeti se, međutim, s 1:105 na 1:106 je (današnjim sredstvima) praktički nemoguće. S druge pak strane, da se u digitalnom stroju uspnemo s 1:10 12 na 1:1013 dovoljno je poslije dvanaestog dodati još samo jedno mjesto, a što znači da opremu obično (ali ne uvijek!) moramo relativno povećati za samo 1/12 ili 8,3 posto, te u istoj mjeri (ne uvijek!) izgubiti i na brzini – a ništa od toga nije ozbiljan nedostatak. Sustav koji radi na temelju gustoće impulsa sličan je analognom; on je zapravo još i gori, jer mu je točnost u svojoj biti niska. Zapravo točnost od 1:102 obično traži da u vremenskom intervalu t1 imamo 102 impulsa (v. gore) – pa već sama ta činjenica smanjuje brzinu stroja za faktor 100. Gubici brzine takvoga reda u pravilu se ne podnose lako, a znatnije veći obično se smatraju nedopustivima. RAZLOG ZA ZAHTIJEVANJE VISOKE (DIGITALNE) TOČNOSTI Sad se, međutim, postavlja još jedno pitanje: zašto je uopće i potrebna tako visoka točnost (primjerice 1:1012 u digitalnom stroju? Zašto nije dovoljno dobra već i točnost tipična za analogni stroj (recimo 1:104), ili čak i za sustav na temelju gustoće impulsa (od recimo 1:102)? Kod većine problema iz primijenjene matematike i inženjerstva podaci nemaju točnost veću od 1:103 do 1:104, a počesto ne uspijevaju doseći ni razinu od

1:102, pa se veća točnost ne traži ni od odgovora, a što ionako ne bi imalo mnogo smisla. U kemiji, biologiji i ekonomiji, kao i u drugim praktičnim pitanjima, stupanj je točnosti još manje zahtjevan. Pa ipak nam jedinstveno iskustvo modernog brzog računanja govori da je čak i razina točnosti od 1:105 nedostatna za velik dio važnih problema, te da je praksa potpuno opravdala digitalne strojeve s razinom preciznosti od 1:1010 pa i 1:1012. Razlozi za tu iznenađujuću pojavu zanimljivi su i značajni. Oni su povezani s inherentnom strukturom naših današnjih matematičkih i numeričkih postupaka. Karakteristična je činjenica povezana s tim postupcima da su oni, kad ih razbijemo na sastavne dijelove, vrlo dugački. To vrijedi za sve probleme kod kojih je opravdana primjena brzog računskog stroja – to jest kod svih koji posjeduju bar nekakav osrednji stupanj složenosti. A razlog je tome što svi naši današnji računski postupci zahtijevaju razlaganje svih matematičkih funkcija u kombinaciju osnovnih operacija – a to obično znači na četiri osnovne aritmetičke operacije ili nešto prilično slično tome. Zapravo se većina funkcija tako dade samo aproksimirati, a to u većini slučajeva predmnijeva ispisivanje vrlo dugačkih, pa i iterativno definiranih, nizova osnovnih operacija (v. gore). Dugim riječima, “aritmetička dubina” nužnih operacija obično je prilično velika. Zamijetimo, međutim, pritom da je “logička dubina” još dublja, i to za popriličan faktor – što će reći, ako primjerice četiri osnovne aritmetičke operacije razbijemo na sastavne logičke korake (v. gore), onda će se svaka od njih i sama pretvarati u dugi logički lanac. Ja bih se, međutim, ovdje morao pozabaviti samo aritmetičkom dubinom. Ali sada, ako imamo velik broj aritmetičkih operacija, pogreške do kojih dolazi pri svakoj od njih zbrajanjem se gomilaju. Budući da su one uglavnom (iako ne i posve) statističke, iz toga slijedi da će se u slučaju N broja operacija pogreška povećati ne za N, nego za oko √N puta. To, međutim, da bi se konačni rezultat dobio s točnošću od 1:102 (v. gore), u pravilu ne bi zahtijevalo točnost pojedinog koraka od 1:1012. Da bi se to dogodilo, trebao bi vrijediti izraz 1/1012√N ≈ 1/102, što, drugim riječima daje N ≈ 1018, dok je i u najbržim modernim strojevima N rijetko kada veći od 1010. (Stroj koji obavlja neku aritmetičku operaciju svakih 20 mikrosekundi, i na jednom problemu radi 48 sati, predstavlja ekstreman slučaj. Pa ipak i u tom slučaju vrijedi samo N ≈ 1010!) Tu se, međutim, pojavljuje još jedna okolnost. Pogreške nastale tijekom izračunavanja mogu po većavati pogreške koje su dobivene pri prethodnom računanju. A

to onda brzo proguta čitav taj numerički jaz. Već spomenuti omjer između 1:103 i 1:1012 iznosi 109, no do njega ćemo doći već poslije 425 sukcesivnih operacija od kojih svaka povećava pogrešku za samo 5 posto! Ovdje, međutim, neću ni pokušati iznijeti nikakvu detaljnu i realističnu procjenu, i to napose zato što se umijeće računanja u ne maloj mjeri svodi baš na suzbijanje te pojave. No bilo kako mu drago, zaključak izveden iz dugog iskustva glasi da je spomenuta razina točnosti u susretu s iole kompliciranijim problemom itekako opravdana. Prije nego što se ostavimo trenutne teme, to jest računskih strojeva, želio bih reći ponešto o njihovoj brzini, veličini i sličnim pitanjima.

Karakteristike modernih analognih strojeva Broj organa za osnovne operacije u najvećim postojećim analognim strojevima iznosi otprilike sto do dvjesto. Narav tih organa ovisi, dakako, o primijenjenom analognom procesu. U zadnje vrijeme takvi su strojevi po općoj tendenciji bili električni ili barem elektromehanički (pri čemu je mehanički stupanj služio povećanju točnosti, vidi gore). Gdje postoji i složeno logičko upravljanje (v. gore), ono sustavu (poput svakog logičkog upravljanja te vrste) dodaje stanovite tipične organe za digitalni rad, primjerice elektromehaničke releje i elektronske cijevi (pri čemu potonje, u tom slučaju, ne rade krajnjom brzinom). Njihov se broj penje i do nekoliko tisuća. Ulaganje u takav stroj može, u ekstremnim slučajevima, doseći i iznose reda veličine od 1,000.000 dolara.

Karakteristike modernih digitalnih strojeva Organizacija je velikih digitalnih strojeva složenija. Oni su sazdani od “aktivnih” organa i organa za obavljanje “memorijskih” funkcija – ja ću pak među potonje ubrojiti i organe za unos podataka (“ulaz”) i izlaz rezultata (“izlaz”), iako to nije uobičajena praksa. A aktivni su organi sljedeći. Kao prvo, tu su organi koji obavljaju osnovne logičke radnje: osjećaju koincidencije, kombiniraju podražaje, a ponekad osjećaju i antikoincidencije (ne više nego što je nužno, iako ponekad postoje i organi za složenije logičke operacija). Kao drugo, organi koji proizvode impulse: obnavljaju njihovu postupno istrošenu energiju ili ih naprosto podižu s energetskog nivoa koji prevladava u jednom dijelu stroja na neki drugi (viši) energetski nivo koji prevladava u drugom dijelu (te dvije funkcije zovemo pojačavanjem) – pa tako obnavljaju željeni prostorni i vremenski oblik impulsa (primjerice unutar zadanih, standardiziranih, tolerancija). Zapazimo da su prvospomenute logičke operacije elementi iz kojih se grade aritmetičke operacije (v. gore). AKTIVNI DIJELOVI; PITANJE BRZINE Sve su te funkcije, u povijesnom slijedu, izvodili elektromehanički releji, elektronske cijevi, kristalne diode, feromagnetske jezgre i tranzistori (vidi gore), odnosno različiti mali strujni krugovi s takvim ugrađenim elementima. Releji su omogućili postizanje brzine od oko 10-2 sekunde po elementarnoj logičkoj operaciji, no elektronske su cijevi omogućile da se ta brzina podigne do reda veličine od 10-5 pa i 10-6 sekunde (a u krajnjim slučajevima i do samo polovice, pa i četvrtine potonje veličine). Posljednja skupina, koji poznajemo po zajedničkim imenom poluvodičkih uređaja, postižu razinu od 10-6 sekunde (a u nekim slučajevima i mali dio toga), a oni će vjerojatno uspjeti proširiti raspon brzina i sve do 10-7 sekunde po elementarnom logičkoj operaciji, pa i više od toga. Drugi uređaji, koje ovdje ne kanim razmatrati, vjerojatno će nas odvesti još i dalje – pa očekujem da neće proći ni deset godina prije nego što dosegnu razinu od 10-8 pa i 10-9 sekunde. POTREBAN BROJ AKTIVNIH DIJELOVA

Broj se aktivnih organa u velikim modernim strojevima kreće, ovisno već o vrsti, između recimo 3000 i 30.000. Unutar toga, osnovne aritmetičke operacije obično obavlja jedan podsklop (ili, bolje rečeno, jedna, manje-više stopljena, skupina podsklopova), to jest “aritmetički organ”. U velikom se modernom stroju taj organ sastoji, ovisno već o vrsti stroja, od približno 300 do 2000 aktivnih organa. Kao što ćemo kasnije još vidjeti, neki agregati aktivnih organa služe i za obavljanje nekih memorijskih funkcija. A oni se u pravilu sastoje od 200 do 2000 aktivnih organa. Napokon, “memorijski” agregati (u užem smislu, v. dalje) zahtijevaju pomoćne podsklopove aktivnih organa koji ih opslužuju i podržavaju. Kod najbrže memorijske skupine koja se ne sastoji od aktivnih organa (v. dalje; prema ovdje prihvaćenoj terminologiji, to je druga razina u memorijskoj hijerarhiji), ta funkcija znade iziskivati oko 300 do 2000 aktivnih organa. Za sve dijelove memorije uzete zajedno, odgovarajući zahtjevi za pomoćne aktivne organe znadu se popeti i do 50 posto čitavog stroja. VRIJEME PRISTUPA MEMORIJSKIH ORGANA I KAPACITET MEMORIJE Memorijski se organi dijele na nekoliko različitih klasa. Karakteristika pak po kojoj se ta klasifikacija vrši zove se “vrijeme pristupa”. A pristup se definira ovako. Kao prvo: vrijeme potrebno da se pohrani broj koji je već prisutan u nekom drugom dijelu stroja (obično u registru aktivnih organa, v. dalje) – odnosno vrijeme potrebno da se uzme broj koji je već otprije pohranjen u memorijskom organu. Kao drugo: vrijeme potrebno da se – na “zahtjev” – pohranjeni broj “ponovi” – u drugom dijelu stroja koji ga može primiti (obično registru aktivnih organa, v. dalje). Ponekad je zgodno razlikovati ta dva pristupna vremena (“ulazno” i “izlazno”), no ponekad je zgodnije raditi samo s jednim, većim od ta dva ili, možda, njihovom prosječnom vrijednošću. Osim toga vrijeme pristupa se može (ali ne i mora) od zgode do zgode razlikovati – a ako ono ne ovisi o memorijskoj adresi zovemo ga vremenom slučajnog ili “proizvoljnog pristupa” (“random access”). Pa ipak, čak i kad je to vrijeme promjenjivo, svejedno mu možemo pridati samo jednu vrijednost koja odgovara maksimalnom, ali ponekad i prosječnom vremenu pristupa.

(Potonje, dakako, znade ovisiti i o statističkim svojstvima zadanih problema.) No bez obzira na sve to ja ću ovdje, zbog jednostavnosti, uvijek govoriti o samo jednom vremenu pristupa. MEMORIJSKI REGISTRI SLOŽENI OD AKTIVNIH ORGANA Memorijski se registri mogu izgraditi od aktivnih organa (v. gore). Oni imaju najkraće vrijeme pristupa, a osim toga su i najskuplji. Takav je registar, zajedno s pristupnim uređajima, sklop od najmanje četiri elektronske cijevi (ili, alternativno, ne bitno manjeg broja tranzistorskih uređaja) po binarnoj znamenki (ili predznaku), ili, sukladno tome, najmanje četiri puta toliko po decimalnom broju (v. gore). Zato će prije spomenuti sustav s dvanaesteroznamenkastim brojevima, normalno zahtijevati registar od 196 elektronske cijevi. S druge će pak strane takvi registri imati vrijeme pristupa ravno jednostrukom do dvostrukom vremenu elementarne reakcije – što znači da su, u usporedbi s drugim mogućnostima, vrlo brzi (vidi dalje). Osim toga se nekoliko takvih registara dade i udružiti, čime se postižu izvjesne uštede na opremi; oni su u svakom slučaju potrebni kao “u” i “iz” pristupni organi za druge vrste memorije; osim toga je potreban još jedan takav, a ponekad i dva (a u ponekim rješenjima čak i tri) u svojstvu dijelova aritmetičkog organa. Da zaključimo: kod umjereno velikih brojeva ti su registri ekonomičniji no što bi se na prvi pogled moglo očekivati, a osim toga su, u velikoj mjeri nužni i kao podređeni dijelovi drugih organa stroja. Čini se, međutim, da oni nisu prikladni i za stvaranje memorija velikog kapaciteta potrebnih u svim velikim računskim strojevima. (Posljednja se opaska odnosi samo na suvremene strojeve, to jest na strojeve iz doba elektronskih cijevi i kasnije. Prije toga, u strojevima s relejima – v. gore – baš su oni bili aktivni organi, pa je glavnina memorije bila izrađena od relejnih registara. Zato je i kod rasprave koja slijedi potrebno shvatiti da se ona odnosi samo na moderne strojeve.) HIJERARHIJSKO NAČELO U MEMORIJSKIM ORGANIMA Zbog svega navedenog kod velikih memorija treba posegnuti za drugim postupcima pohranjivanja podataka. Tu se sad u priču upliće “hijerarhijsko” načelo pri memoriranju. A smisao je tog načela sljedeći:

Da bi stroj valjano funkcionirao – to jest rješavao probleme radi kojih je napravljen – on mora posjedovati veličinu memorije dovoljnu za stanovit broj riječi, označimo ga s N, do kojih se dolazi u pristupnom vremenu koje označimo s t. Ponekad, međutim, znade u tehnološkom smislu biti vrlo teško ili – što je oblik u kojem se takve teškoće obično manifestiraju – vrlo skupo za svih N riječi osigurati vrijeme pristupa t, ali tu pomaže činjenica da ne mora nipošto biti nužno da svih N riječi ima to vrijeme pristupa. Lako je moguće da je sasvim dovoljno da to vrijeme pristupa t ima i znatno manji broj riječi, nazovimo ga N’. Osim toga je i lako moguće da je – kad smo jednom osigurali N’ riječi s vremenom pristupa t – čitava veličina memorije od N riječi potrebna samo uz duže vrijeme pristupa t”. Nastavimo li tako i dalje, može nam se zatim dogoditi da otkrijemo kako je najekonomičnije, uz već spomenuto, osigurati i memoriju veličine između tog dvoga – to jest s manje od N, no s više od N’ riječi, s vremenom pristupa koje je dulje od t ali kraće od t”. U tom se pogledu najop ćenitije rješenje svodi na stvaranje čitavog niza memorija veličina N1, N2,.... Nk-1, N k s pristupnim vremenom t1, t2,…. tk-1, tk, tako da veličine memorija postaju redom sve zahtjevnije, a vrijeme pristupa sve manje zahtjevno – to jest da vrijedi N3
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF