Peter Naur

Fra DDHFwiki
Spring til navigation Spring til søgning
Peter Naur i 1978

Peter Naur (1928-2016) blev født på Frederiksberg. Mens han stadig gik i gymnasiet, udviklede han en interesse for astronomi og med vejledning fra personalet på Københavns Universitets Observatorium arbejdede med beregninger af banerne af kometer og mindre planeter. Han begyndte sine akademiske studier på Københavns Universitet i 1947, fik sin mag. videnskabelig. grad i astronomi i 1949. Han tilbragte året 1950-51 som forskningsstuderende ved King's College, Cambridge, England og udviklede programmer til EDSAC elektronregnemaskinen. Årene 1952-53 tilbragte han i USA med besøg i en række astronomiske observatorier og computerudviklingslaboratorier efterfulgt med endnu et ophold i Cambridge. Han modtog sin doktorgrad i astronomi i 1957.

I 1959 sluttede Dr. Naur sig til Regnecentralens stab og specialiserede sig i højniveausprog. Han blev dermed stærkt involveret i den internationale udvikling af Algol 60. Han organiserede Algol Bulletin og blev et af de tretten medlemmer af et internationalt team, der udarbejdede det endelige design af Algol 60 i 1960, og fungerede som redaktør af holdets rapport om sproget.

Som medlem af Regnecentralens compilergruppe bidrog Naur til design af compilere til Algol 60 og COBOL, karakteriseret ved deres brug af multipass teknikker. Denne erfaring førte til en interesse for de grundlæggende principper for databehandling, hvilket resulterede i en bog, Concise Survey of Computer Methods, udgivet i 1974. På Regnecentralen arbejdede han indtil 1969, hvorefter han blev den første professor i datalogi ved Københavns Universitet.

I anledning af Peter Naur's 60 års fødselsdag i 1988 skrev Jakob Krarup denne artikel i tidsskriftet DATA.

I 2005 modtog Peter Naur ACM A.M.Turing award. Læs Per Brinch Hansen's indstilling af Peter Naur.

Nedenstående fortæller Naur om et par af de første DASK-projekter, han lavede på Regnecentralen:

Til Villy Tofts beretning (se Min første tid ved Regnecentralen) kan jeg føje min historie om et projekt på Dask fra min første tid på RC omkring 1959-61. Som projektbeskrivelse fik jeg udleveret Villy Tofts omfattende eksamensarbejde. Dertil fik jeg den besked at det handlede om professor Lottrup Knudsens kontrakt med den amerikanske rumfartsadministration om beregning af den elektromagnetiske udstråling fra antenner i rumfartøjer. Antennerne var udformet som skrueformede spalter i selve rumfartøjets cylindriske metalskal.

Beregningen gik ud på at bestemme udstrålingen fra forskellige sådanne antenner mod et stort antal retninger ud i rummet. Denne udstråling kunne bestemmes med den elektromagnetiske feltteori, ud fra formler udviklet af Lottrup Knudsen. I disse formler blev feltstyrken mod en bestemt retning i rummet udtrykt som summen af en uendelig, konvergent række af komplekse værdier, hvor hvert led i rækken var bestemt ved et indviklet matematisk udtryk hvori indgik Besselfunktionerne J og Y.

Min opgave gik ud på at beregne omfattende tabeller over udstrålingen fra tre forskellige antenner, bestemt ved tre forskellige formler. Jeg fik dertil den besked at Villy Tofts eksamensarbejde havde løst opgaven, men dens resultater var forkerte.

Jeg gik i gang med at granske Villy Tofts eksamensarbejde. I løbet af nogle dage havde jeg konstateret, at programmet måtte kunne organiseres, så beregningerne blev mere overkommelige og overskuelige. At summere et meget stort antal forskellige konvergente rækker af indviklede led med Besselfunktioner i kan, hvis man ikke organiserer det rigtigt, blive helt uoverkommeligt, selv med en god regnemaskine. At undgå sådanne tidsproblemer handler om programmets løkkestruktur og om at udnytte den rækkefølge resultaterne skal trykkes ud. Det handler om at undgå unødvendige gentagelser af beregninger af mellemresultater.

Jeg begyndte forfra og fik lavet et program for hver af de tre antenneformer der kunne udføre beregningen så hurtigt at det var udskriften der satte grænsen. Forud for den endelige beregning af de mange hundrede siders tabeller lavede jeg en beregning af udstrålingen til punkter i et ganske groft net. Disse prøveresultater fik jeg godkendt af Lottrup Knudsen, og derefter fik jeg produceret og afleveret de ønskede resultater for tre forskellige antenneformer.

Et par måneder senere kom Lottrup Knudsen tilbage. Han havde brug for beregninger for endnu en fjerde antenneform, ud fra et nyt matematisk udtryk. Jeg udarbejdede programmet og fremsendte det vanlige prøveresultat. Så fik jeg Lottrup Knudsen i telefonen. Han spurgte mig om jeg kunne forstå at feltet blev nul i retning mod ækvator. Jeg kastede et blik på de formler han havde givet mig og sagde at det måske ikke var så mærkeligt, da der i formlen som faktor optrådte sinus til breddevinklen. Breddevinklen er som bekendt nul langs ækvator. Så måtte Lottrup Knudsen i tænkeboksen igen, og kom så tilbage efter nogle uger med en helt anden formel. Den lykkedes bedre.

Jeg spekulerer sommetider på om de amerikanske rumfartøjer stadig er udstyret med antenner udformet efter de beregninger vi lavede med Dask.

I denne sammenhæng har jeg også lyst til at sige et par ord om et andet projekt fra min tid ved Dask. Problemet var stillet af fysikerne Jens Lindhard og Aage Winther fra Niels Bohr Instituttet og handlede om partiklers stopning ved indtrængen i stof. Det drejede sig om at beregne et integral med to komponenter. Den ene komponent var et fladeintegral over et rhombisk område i planen af en vis funktion F, den anden komponent var et kurveintegral over en bestemt kurve i planen af en anden funktion G. Der var det særlige problem at funktionen F når man nærmede sig et bestemt punkt på det rhombiske områdes kant voksede til det uendelige.

Hvad gør man når man anmodes om at beregne et fladeintegral over en funktion hvis værdi i et punkt på kanten af fladen bliver uendelig? En rigtig matematiker vil straks tænke på at opfinde en analytisk transformation af problemet, således at uendeligheden bliver trukket ud, som en rådden tand. Men ikke jeg. Jeg er ingen virtuos analytisk matematiker. Men jeg vidste at Dask kunne regne, hurtigt. Altså, lad os prøve at lade maskinen tage besværet. Så jeg skrev bare et program til at beregne fladeintegralet med brug af en procedure til at beregne integraler. Proceduren bruger Simpson’s integralformel, med automatisk forfinelse af integrationsintervallet indtil en vis nøjagtighed er nået. Til at beregne fladeintegralet måtte denne procedure bruges i to dimensioner.

Og så slap jeg maskinen løs på beregningen. Jeg lod beregningen først dække områder uden for det sted hvor uendeligheden optrådte. Det gik som smurt, integralværdierne strømmede frem som udskrift med få sekunders mellemrum. Men så kom området med uendeligheden. Det affødte en tøven i Dask, lamperne blinkede, men tiden gik. Og så, efter 40 minutter kom der endelig et resultat!

Resultatet så rimeligt ud, men var det korrekt? Jeg iværksatte en kontrolberegning hvor området i planen var delt op på en anden måde, således at alle mellemregninger ville blive helt andre. Dask reagerede på ganske samme måde, med en lang tøven. Og slutresultatet blev det samme.

Og fysikerne var godt tilfredse. Så snart de så mine tal bemærkede de at der bestod en vis simpel relation mellem integralets to komponenter. Denne relation kunne de eftervise analytisk og således få en bekræftelse af at tallene fra Dask var korrekte.

Læs mere