Informatisk julekalender: Luke 12


søndag 12. desember 2010 Julekalender

vonNeumann

Jeg har litt blandede følelser for dagens luke. Den ungarsk-fødte amerikaneren John von Neumann var en skremmende intelligent mann som har bidratt innenfor svært mange ulike felt. Men ikke alle bidragene har vært like samfunnsnyttige, for å si det sånn. Dessuten “skurrer” det litt når vi bruker navnet hans mens vi snakker om datamaskiner.

John von Neumann blir betraktet som en av de største matematikerne i moderne historie. Han gjorde, i løpet av sitt forholdsvis korte liv, betydelige bidrag innenfor områder som sett-teori, kvantemekanikk, geometri, økonomi og spillteori, informatikk, numerisk analyse, hydrodynamikk og statistikk. Dessuten ble han hyppig brukt som rådgiver for blant andre CIA, den amerkianske hæren, Standard Oil, RAND Corporation og IBM.

Det ble sagt om von Neumann at mens han helt klart var en halvgud, så hadde han studert mennesket i detalj, og hans imitasjon av det var perfekt.

The Manhattan Project

Først må jeg gi deg litt bakgrunnsinformasjon om Von Neumanns bidrag innen kjernefysikken. Han var nemlig en av hovedpersonene i the Manhattan Project – sammen med Edward Teller og Stanislaw Ulam skapte han atombomben!

Han var også en del av komiteen som valgte ut Hiroshima og Nagasaki som mål for de to første bombene. Von Neumann hadde ansvar for å beregne bombenes effekt, estimere antall dødsfall, avgjøre hvor høyt over bakken bombene burde detoneres for å skape optimale trykkbølger osv. John mente at USA burde slippe den første atombomben over Tokyo, noe prosjektets leder, General Leslie Groves, var enig i. Det ble derimot nedstemt av Krigsministeren Henry Stimons.

Etter andre verdenskrig var von Neumann også en av dem som mente USA burde bombe Sovietunionen, for å hindre at de klarte å anskaffe seg atomvåpen. Han var en ekstrem anti-kommunist, og kan muligens ha hatt direkte innflytelse i “designet” av den kalde krigen.

Ikke den mest sympatiske mannen i mine øyne altså.

von Neumann arkitektur

The Manhattan Project hadde selvsagt behov for å utføre sinnsvakt mange kalkuleringer, og von Neumann fikk dermed kontakt og begynte å sammarbeide med Eckert og Mauchly – for å dra nytte av ENIAC-maskinen deres (se luke 10).

Mens han jobbet med dem ble han involvert i diskusjoner rundt deres neste maskin, EDVAC, som kunne lagre programmer. John von Neumann meldte seg frivillig til å dokumentere maskinens design. Uttrykket “von Neumann arkitektur” stammer fra Johns First Draft of a Report on the EDVAC, som inneholdt Eckert og Mauchly sine ideer. Beskrivelsen var ikke ferdig da Johns kollega Herman Goldstine begynte å sirkulere papirene med kun von Neumanns navn, til Eckert og Mauchlys fortvilelse. Det ble lest av mange av von Neumanns kolleger i Amerika og Europa, og influerte neste generasjon datamaskin-design.

Von Neumann-arkitekturen beskriver en datamaskin med en sentral prosessor (CPU) og én lagringsstruktur (minne) hvor både data og program/instruksjoner lagres. Dette er grunnlaget for moderne datamaskin-design, og skiller seg fra de tidligste maskinene, som ble programmert gjennom å endre elektroniske kretser.

Av og til snakker man også om von Neumann språk. Dette er rett og slett programmeringsspråk som er en abstraksjon over en von Neumann arkitektur. De fleste programmeringsspråk passer inn i denne beskrivelsen. Forskjellen mellom f.eks. Fortran, C og Java er ikke så veldig stor, selv om de ser svært ulike ut. Dette er fordi de alle er basert på hvordan datamaskinen fungerer.

Noen eksempler på språk man normalt sier faller utenfor denne kategorien er APL, Lucid, Mercury og Konrad Zuses Plankalkül.

Andre bidrag

John von Neumann krediteres som oppfinneren av algoritmen for merge sort. Han har også hatt betydelige bidrag i forhold til generering av tilfeldige tall. Han omgav seg med personer som Claude Shannon, Alan Turing, og Eckert og Mauchly, og det er selvfølgelig vanskelig å si hvem som påvirket hverandre mest. Alle er enige om at Von Neumann var en brilliant matematiker, og selv om han ikke selv står bak von Neumann-arkitekturen så er det liten tvil om at han hadde en sentral rolle i datamaskinens barndom.

Et par sitat fra geniet

“The sciences do not try to explain, they hardly even try to interpret, they mainly make models. By a model is meant a mathematical construct which, with the addition of certain verbal interpretations describes observed phenomena. The justification of such a mathematical construct is solely and precisely that it is expected to work.”

“It would appear that we have reached the limits of what it is possible to achieve with computer technology, although one should be careful with such statements, as they tend to sound pretty silly in 5 years”


comments powered by Disqus