Artikel top billede

Sådan skabte Alan Turing den moderne computers byggesten

Han opfandt konceptet bag programmer til computere. Han brød tyskernes Enigma-koder under anden verdenskrig. Læs hvordan han skabte grundlaget for den moderne computer.

I lørdags ville den britiske matematiker Alan Turing være fyldt 100 år. Det er svært at forestille sig, at ingen af de informationsteknologier, der i dag omgiver os, fandtes, da han blev født. 

Uden Turings arbejde ville computeren, som vi i dag kender den, simpelthen ikke eksistere, udtaler Robert Kahn, der var med til at opfinde TCP/IP-protokollerne, der driver internettet, i et interview. Uden Turing "ville computerens udviklingsbane have været helt anderledes eller i det mindste være blevet forsinket," siger han.

For selvom ideen om en programmerbar beregningsmaskine havde eksisteret i hvert fald siden 1837 - da den engelske matematiker Charles Babbage formulerede sin idé om en såkaldt analytisk maskine - så var Turing den første, der kastede sig over det vanskelige arbejde med at kortlægge fysikken bag, hvordan den digitale verden kunne fungere. Og det gjorde han udelukkende ved hjælp af en enkelt (teoretisk) strimmel uendeligt bånd.

"Turing er så afgørende for en så stor del af datalogien, at det er svært at foretage sig noget som helst med computere, som ikke på en eller anden måde bærer præg af hans arbejde," siger Eric Brown, som var medlem af det team hos IBM, der byggede supercomputeren Watson, der vandt Jeopardy.

Som polyhistor af højeste karat efterlod Turing sig en liste af præstationer, der strækker sig langt udover det datalogiske felt.

Under 2. verdenskrig var han medvirkende til at knække tyskernes kryptering, hvilket gjorde det muligt for England at foregribe Tysklands handlinger og hjalp i sidste ende til at vinde krigen. Med sine matematiske evner udviklede han også ideer om nonlinearitet i feltet teoretisk biologi, som banede vej for kaos- og kompleksitetsteori.

Herudover er Turing i mindre grad også kendt for sit tragiske endeligt: Han begik tilsyneladende selvmord efter at være blevet retsforfulgt og dømt af den britiske stat for sin homoseksualitet.

Læs mere: Begik miskendt computergeni virkelig selvmord?

Men det er nok i datalogien, Turing har haft den stærkeste indvirkning på samfundet. I forrige uge afholdte Association of Computing Machinery en todages fejring af Turing, hvor flere af it-verdenens største nulevende navne - Vint Cerf, Ken Thompson, Alan C. Key - hyldede den store mand og hans arbejde.

Turing opfandt "programmet"

Turing var ikke den eneste, der gjorde sig dybe tanker om computere i begyndelsen af sidste århundrede. Matematikere havde i nogen tid grublet over emnet beregnelighed. Turing trak i løbet af 1930'erne på kollegers arbejde ved Princeton University.

Der arbejdede Alonzo Church på at definere Lambda-calculus (der senere kom til at udgøre grundlaget i programmeringssproget Lisp). Og Kurt Gödel arbejdede på sine ufuldstændighedsteoremer og rekursive funktioner. Turing hentede inspiration fra begge disse matematikere i forbindelse med sin egen udvikling af en teoretisk universal-maskine.

Hans videnskabelige artikel fra 1936 beskriver det, der senere ville blive kendt som en Turing-maskine. I denne artikel fremlægger han en teoretisk teknisk proces, der anvender et uendeligt langt bånd med en række symboler.

Han forestillede sig, at en maskine kunne læse symbolerne på denne strimmel og tilføje nye symboler. Den kunne bytte om på forskellige dele af strimlen, et symbol af gangen.

"Turing-maskinen gav en idé om, hvad maskinel beregning var, hvad det ville sige at have et program," siger James Hendler, der er professor i datalogi ved Rensselaer Polytechnic Institute og en af de ledende skikkelser inden for forskning i det semantiske web.

"Andre folk tænkte i lignende baner, men Turing gav det virkelig en formel form, hvor man kunne bevise ting om dette koncept."

Det er svært at finde et uendeligt bånd

En sådan Turing-maskine kunne aldrig blive implementeret i den oprindelige form. For det første "er det svært at opdrive uendelige bånd," spøger Robert Kahn. Men konceptet viste sig uvurderligt for de ideer, det introducerede.

"Baseret på den logik, der var i maskinen, demonstrerede Turing, at enhver beregnelig funktion kunne udregnes," siger Kahn.

I dag bruger vores computere binær logik. Et computerprogram kan ses som en algoritme eller et sæt algoritmer, som en compiler laver om til en række 0'er og 1-taller. De fungerer i al væsentlighed præcist lige som Turing-maskinen, hvis man ser bort fra forestillingen om et uendeligt bånd.

"Det er almindeligt anerkendt, at Turing-maskinen kan bruges til at modellere, hvad som helst en digital computer kan gøre, forklarer Chrisila Pettey, som er leder af datalogisk institut ved Middle Tennessee State University.

Takket være Turing, "anses enhver algoritme, der behandler en begrænset mængde symboler, for at være en beregnelig funktion," forklarer Pettey i et interview per e-mail.

Derimod kan hvad som helst, der ikke kan modelleres i en Turing-maskine, heller ikke køres på en computer, hvilket er afgørende at vide i forhold til design af software.

"Hvis man ved, at ens problem er meget komplekst, og man ikke har eksponentiel tid til at vente på et svar, så må man hellere finde frem til en måde at finde et acceptabelt alternativ i stedet for at spilde tid på at finde det faktiske svar," forklarer Pettey.

"Det forholder sig ikke sådan, at dataloger sidder og beviser ting med Turing-maskiner, eller at vi overhovedet bruger Turing-maskiner til at løse problemer," siger hun.

"Sagen er blot den, at sådan som Turing-maskiner blev brugt til at klassificere problemer, har haft en markant indflydelse på datalogers tilgang til problemløsning."

På det tidspunkt Turing skitserede sine ideer, fandtes der masser af temmelig avancerede regnemaskiner, der gjorde det muligt at udføre simple udregninger. Det banebrydende her var Turings idé om en programmerbar universal-maskine. "Man kunne give den et program og den ville derefter gøre, hvad programmet specificerede," forklarer Kahn.

Turing vandt verdenskrigen - men tabte kampen om computeren

I løbet af det næste årti begyndte en anden polyhistor, John von Neumann fra Princeton Institute for Advanced Study, at udvikle en fungerende computer med inspiration i Turings idé, på nær at den anvendte random-access memory i stedet for uendelige bånd til at lagre dataene og programmerne.

Den fik navnet Maniac (Mathematical Analyzer, Numerator, Integrator, and Computer) og var blandt de allerførste moderne computere, der nogensinde blev bygget, og blev sat i drift i 1952. Maniac brugte, hvad der nu kendes som Von Neumann-arkitekturen, der er modellen for alle computere i dag.

Turing vendte tilbage til Storbritannien efter sin tid ved Princeton for at arbejde på et andet projekt med udvikling af en computer, der anvendte disse koncepter.

Den blev kaldt Automatic Computing Engine (ACE) og var det første eksempel på en computer, der lagrede programinstruktioner i elektronisk hukommelse, hvilket ville blive en afgørende komponent i Von Neumann-arkitekturen.

Udover at lægge fundamentet for hele det datalogiske fagområde kan Turings arbejde som kodeknækker under 2. verdenskrig i sidste ende have reddet Storbritannien fra at blive besat af Tyskland.

Der er blevet argumenteret for, at Turings arbejde med at definere, hvad computere er, var afgørende for hans succes med at knække de koder, som blev genereret af Tysklands Enigma-maskine, hvilket hjalp til at afslutte 2. verdenskrig.

Læs mere: Krig om Enigma-knækkerens dokumenter

"Ud fra de definitioner, vi arbejder med i dag, så var Enigma en analog computer. Det, som han (og hans hold, red.) byggede, var langt tættere på at være en digital computer," forklarer Hendler fra Rensselaer.

"Han demonstrerede grundlæggende styrken ved den digitale computer i løsningen af dette analoge problem. Det ændrede grundlæggende, hvordan man i dette felt tænkte over, hvad computere kunne bruges til."

Turing-testen: Begyndelsen til kunstig intelligens

Efter at have udviklet en definition på beregnelige funktioner gik Turing videre til at spille en afgørende rolle i definitionen af kunstig intelligens - computerintelligens, der efterligner den menneskelige måde at tænke på.

I 1950 skrev han en videnskabelig artikel, hvori han fremlagde en metode til at afgøre, om en computer var i besiddelse af noget, man kunne kalde intelligens. Denne test involverer, at en person har en længere samtale med to andre skjulte deltagere, en computer og en mand, der udgiver sig for at være en kvinde. (Hendler forklarer, at Turing "ønskede, at der i begge tilfælde blev ladet som om.") Hvis personen ikke kan afgøre, hvilken deltager der er computeren, kan maskinen med rimelighed siges at tænke som et menneske.

"Han ønskede at vurdere den menneskelige tænkning og maskinens tænkning på lige vilkår," forklarer Hendler. "Sproget er en af menneskets helt afgørende egenskaber, fordi det kræver forståelse for sammenhæng. Hvis en computer kan demonstrere et sådant niveau af forståelse, så vil man ikke kunne kende forskel."

Testen "har den fordel, at den skelner rimelig skarpt mellem menneskets fysiske og intellektuelle formåen," skriver Turing i den oprindelige artikel.

Som Brown fra IBM også bemærker, kommer Turings arv stadig stærkt til udtryk i dag. Med sit matematiske arbejde beviste han, at "der eksisterer problemer, som ingen beslutningsproces kan løse," fortæller Hendler.

I forhold til computere betyder det, at "man aldrig kan bevise, om komplicerede computerprogrammer er fejlfri," siger Hendler.

"Det er ikke muligt at skrive et computerprogram, der kan fejlrette alle andre computerprogrammer."

Læs mere: Første kvinde får Turing-prisen

Men i stedet for at begrænse det datalogiske felt banede indsigten om denne uafgørlighed tværtimod vejen for udviklingen af tidligere utænkelige teknologier.

Denne indsigt gjorde det muligt for ingeniører at udvikle umådeligt nyttige services såsom søgemaskiner på internettet på trods af at være klar over, at de svar som sådanne services ville levere, i visse tilfælde i princippet aldrig kan være fyldestgørende.

"Der er folk, der mener, at vi aldrig bør bygge et computersystem, med mindre vi kan bevise, at det er sikkert. De af os, der forstår Turing, svarer: 'Men det kan ikke bevises.' Derfor er man nødt til at nøjes med at demonstrere en eller anden tilnærmelse af sikkerhed, hvilket skaber en helt anden samtale," siger Hendler.

På trods af talrige forsøg på at klare Turing-testen, er det stadig ikke lykkedes noget computersystem, på nær inden for meget begrænsede emnefelter. Det betyder, at vi sandsynligvis vil arbejde på at imødekomme Turings krav i mange år fremover.

"Man kan ikke sige, 'Siri. Hvordan har du det i dag?' og så forvente, at samtalen fortsætter i nogen interessant retning derfra."
 
Oversat af Thomas Bøndergaard




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
JN Data A/S
Driver og udvikler it-systemer for finanssektoren.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Sådan bruger du aktivt AI til at styrke din cybersikkerhedsindsats

Kan AI styrke din cybersikkerhed og forebygge f.eks. ransomwareangreb? Ja – og endda særdeles effektivt! På denne konference kan du blive klogere på, hvordan du i praksis anvender AI til at styrke dit sikkerhedsniveau – og gøre cyberbeskyttelsen mere fleksibel.

27. november 2024 | Læs mere


Styrk din virksomhed med relevant, pålidelig og ansvarlig AI integration med SAP

Kom og få indsigt i, hvordan du bruger AI til at transformere og effektivisere dine arbejdsgange. Vi kigger nærmere på AI-assistenten Joule, der vil revolutionere måden, brugerne interagere med SAP’s forretningssystemer. Og så får du konkret viden om, hvordan du kommer i gang med at bruge AI til at booste din forretningsudvikling.

03. december 2024 | Læs mere


Fyr op under vækst med dataanalyse, AI og innovation

Hvor langt er den datadrevne virksomhed nået i praksis? Det kan du høre om fra virksomheder, som har foretaget transformationen. Du kommer også til at høre, hvordan de anvender AI i processen, hvilke mål de har nået, hvordan de har høstet gevinsterne og hvilke nyskabelser, der er på vej i horisonten.

04. december 2024 | Læs mere