Sidste afsnit i sæson 4, så der var masser af “cliff hangers” til sæson 5. Men der var også en hel del matematik. Algebraisk statistik (det, der blev brugt i DNA-analysen, som blev sendt til Pakistan). Noget om at få data til at passe med forud bestemte konklusioner ved at se på data med bestemte briller(absolut forbudt i statistik). Noget i den branche af matematik, der kaldes teoretisk datalogi (!), nemlig Byzantinske fejl og fejltolerance. Og så var der den altoverskyggende problematik i afsnittet: hvad gør et internationalt fag som f.eks. matematik, i en verden, hvor det kan være ulovligt at fortælle om forskningsresultater til forskere fra bestemte lande?
Algebraisk Statistik
Det kan være mange ting, men jeg vil tro, der henvises til Bernd Sturmfels og brugen af algebraisk geometri i biologi. En ny gren af matematikken, Computer Algebra, er opstået i forbindelse med behovet for at “lave matematik på en computer” og her tænkes på matematik – ikke regnestykker. F.eks. har stamfunktionsproblemer: find en funktion F(x) , hvis afledte er f(x), krævet rigtig smart ny matematik. Tænker man på, hvordan den slags gøres i hånden, er det klart, det er svært: Man skal se godt på funktionen, overveje, om det nu er delt integration eller substitution, der kan virke etc. Og de fleste funktioner f(x) har slet ikke en “pæn” stamfunktion. Sturmfels og co. bruger statistik kombineret med computer agebra i biologi – specielt i forbindelse med DNA sekvenser og lignende. Se f.eks. bogen Algebraic statistics for Computational Biology
Byzantinske fejl
I et computerprogram, der skal udføres i samarbejde mellem flere computere eller bare flere processorer i samme computer, skal man tage hensyn til en lang række problemer. Området Parallel (Concurrent) og distribueret (distributed) beregning er et overordentligt aktivt og væsentligt forskningsområde: Vi vil gerne tillade distribution (fordeling til flere processorer) af opgaverne, for det går hurtigere med flere processorer, men vi vil ikke have, der opstår fejl, som skyldes, at det nu er distribueret og ikke bare en processor, der går et skridt af gangen – samarbejdsproblemer… Jeg arbejder med matematik, der kan bruges til at ræsonnere om parallelle beregninger, og jeg har fået hjælp af min kollega Maurice Herlihy (Brown University) til dette svar. Maurice arbejder i området distribuerede systemer og er berømt for visse umulighedsresultater om netop fejltolerante programmer; resultaterne er vist ved brug af moderne matematik – fra området algebraisk topologi. Maurice’s foredrag, da han modtog Gödel prisen i 2004 , findes her.
Et eksempel på et distribueret system er “Free Flight”. Piloter, der skal over Atlanterhavet (f.eks.) skal måske fremover selv udveksle info med de andre fly og blive enige om, hvem der bruger hvilken korridor – i.e. – hvem flyver i laget i højde 10000m til 10500 m og hvem i laget 9500-10000m etc. De skulle helst kunne blive enige om en fælles fordeling af alle. Systemet er ikke indført, men er muligvis på vej.
Man kan finde mange flotte ppt præsentationer om distribueret beregning på Maurice’s hjemmeside.
I branchen fejltolerance er scenen som følger:
Man studerer
1) Forskellige typer fejl
2) Forskellige former for udveksling af information
3) Forskellige opgaver, der skal udføres i fællesskab.
Om 3): En typisk opgave, som mange distribuerede problemer kan koges ned til, er konsensus: Hver processor har en startværdi (ofte enten 0 eller 1) og alle processorer skal efter en række skridt enes om en af disse.
Om 2) Man kan udveksle synkront – alle udsender information samtidig. Eller asynkront – man sender, når man vil, og skal ikke vente til alle er klar. Man kan udveksle fra alle til alle eller man kan sende til nærmeste naboer (passende defineret).
Om 1) En processor kan simpelthen dø – holde op med at sende. Den kan sende noget, der ikke overholder “reglerne”, den kan dø og senere live op igen. En Byzantinsk fejl repræsenterer det værste, man kan forstille sig : At en bevidst vildleder de andre. Det gør processorer jo ikke, men man bruger denne analogi for at kunne lave meget robuste systemer til f.eks. fly. Hvis man ikke kan vide, hvilken type fejl, der kan opstå, må man sikre sig mod det værst tænkelige.
Opgaven vil, når der er mulighed for fejlagtige processorer, være, at de ikke-fejlbehæftede enes om en af de værdier, de havde fra starten af.
Et typisk spørgsmål er: Hvor mange fejlagtige processorer kan man have, og stadig fuldføre?
Lad os sige, der er to værdier, 0 og 1, at vælge imellem. Og at der er tre processorer, A,B og C. I første runde skal de fortælle hinanden, hvilke værdier de har. Og i næste kommunikerer de, hvad de har modtaget fra hinanden. Vi sidder på B’s plads.
Første scenario:
A siger til B og C, “Min værdi er 0”
I næste runde siger C til B “A sagde, hun havde værdien 1” (C er forræderen)
Andet scenario:
A siger til B: “Min værdi er 0” og til C: “Min værdi er 1” (A er forræder)
Så vil C i næste runde sig “A sagde, hun havde værdien 1” og C er ikke forræder.
Hvad skal B så konkludere? Det ser ens ud, men der er forskellige forræddere.
Man kan vise, at konsensus i denne opsætning kan løses, hvis der er højst t forrædere og mindst 3t+1 processer. Og at det ikke kan løses, hvis 1/3 af processorerne er fejlagtige/forræderiske.
Charlie påstod, at han brugte den type metoder til at finde forræderen. Det er tvivlsomt, for man kan godt have en løsning på konsensus, uden at have fundet ud af, hvem forræderen er. Bare man kan blive enig om en, der i hvert fald ikke er.
Et typisk bevis for umulighedsresultater er et modstridsbevis. I Herlihy (og i øvrigt Nir Shavit)’s resultater antager de, at de kan løse et bestemt konsensusproblem. Så bruger de nogen rigtig smarte argumenter til at oversætte til, at i så fald er der en bestemt funktion mellem to geometriske objekter. Fra algebraisk topologi ved vi, at den type funktion ikke findes. Voila en modstrid. Så antagelsen var forkert – man kan ikke løse dette konsensusproblem.
Matematik er international
Matematikkens infrastruktur er ganske kompliceret. Vi bruger Internettet (og har gjort det flere år før www): Vi emailer artikler frem og tilbage, mellem medforfattere. Vi lægger færdige artikler, som er klar til publicering – preprints- i ArXiv. Matematiske tidsskrifter er tilgængelige på nettet (nogen af dem er alt for dyre, men det er en anden historie). Der er to store databaser. MathReviews og Zentralblatt, hvori vi skriver korte reviews af allerede publicererede artikler. Så kan man søge og finde ud af, om det, man skal bruge, måske allerede er bevist i 1896 (!). Der er 2.500.000 reviews og altså lige så mange artikler. Matematik er et stort fagområde.
Vi rejser rundt i verden for at samarbejde. Vi har PhD-studerende og PostDocs (folk, der lige har fået deres PhD) fra mange lande, og danske PhD-studerende rejser ud. Vi deltager i konferencer, hvor vi præsenterer egen forskning, og, nok så vigtigt, lærer om andres forskning.
Vi skelner normalt ikke mellem, om kollegerne er fra den ene eller den anden del af verden. Universiteternes rolle er at producere viden og give den væk til dem, der kan bruge den. Og for danske universiteter er det bl.a. at deltage i handlen med resultater: Jeg præsenterer mit arbejde og lærer om alle de andres. Den viden kan jeg så tage med hjem og måske gøre ingeniørkollegaer opmærksomme på noget nyt matematik, de ikke havde hørt om.
Omvendt skal man jo ikke være nyttig idiot og levere bombeopskrifter til galninge. Så det er en balance. I dette Numb3rs afsnit så det ud til, at FBI/CIA var så forhippede på, at pakistanerne var terrorister, at de så spøgelser i forskningsresultaterne.