Vitenskap er avhengig av datamodellering - så hva skjer når det går galt?

Fra den transformerende oppdagelsen av penicillin til relativitetsteorier og kvantemekanikk, gikk vitenskapen fremover med overveldende hastighet selv før det var datamaskiner. Mye av dette er ned til robustheten av den vitenskapelige metoden: Vitenskapelige resultater bekreftes ved å bli replikert og utvidet av andre forskere.

Men måten vi gjør på naturvitenskap er i endring - vi stoler stadig mer på komplekse datamodeller for å forstå naturen. Og det viser seg at disse modellene kan være nesten umulig å reprodusere - noe som betyr at en viktig berøringspunkt for vitenskapen blir utfordret. Så hva er virkelighetens konsekvenser av denne endringen, og hva kan vi gjøre med det?

Pre-modern vitenskap - kjent som "naturlig filosofi" - var empirisk. Empirisk vitenskap bruker tidligere observasjoner for å gjøre forutsigelser om fremtiden, som da kan bli testet. Tycho Brahe, en dansk-astronom fra det nittende århundre, klarte å gjøre nøyaktige og omfattende observasjoner av himlene på denne måten.

Moderne vitenskap er imidlertid teoretisk. Teoretisk vitenskap gjør også spådommer, men den kommer fra matematiske modeller i stedet for fra tidligere observasjoner. Tenk på Isaac Newtons bevegelseslover, for eksempel den inverse firkantede gravitasjonsloven.

For eksempel er det en ligning som beskriver jordens bane rundt solen. Denne ligningen kan brukes til å bygge en datamodell der du bare kan koble til bestemte variabler og se hvordan løsningen endres. Du kan bare plugge inn en fremtidig dato og lese av jordens posisjon på den aktuelle datoen. Du kan også bruke det samme programmet til å modellere andre planetariske systemer - det er alt basert på samme matematikk. Alt du trenger å gjøre er å plugge inn forskjellige masser og forskjellige andre egenskaper av de involverte kroppene.


innerself abonnere grafikk


Slike matematiske ligninger er flotte når de er tilgjengelige - men ofte er de ikke. For eksempel vet vi at det ikke er noen enkel likning som løser den såkalte "tre-kropps problem", Som beskriver tre legemer som kretser rundt og påvirker hverandre av gravitasjonskrefter - som månen, jorden og solen.

Mye av dagens vitenskap omhandler enda mer kompliserte systemer, og mangler på samme måte nøyaktige løsninger. Slike modeller må være "beregningsmessige" - beskriver hvordan et system skifter fra et øyeblikk til et annet. Men det er ingen måte å fastslå den eksakte tilstanden på en gang i fremtiden, bortsett fra ved å "simulere" dens utvikling på denne måten. Værprognose er et kjent eksempel; inntil fremkomsten av datamaskiner i 1950-ene, var det umulig å forutsi fremtidig vær raskere enn det faktisk skjedde.

Nåværende vitenskap består vanligvis av å utarbeide en matematisk modell som beskriver et komplisert system, og deretter omdanne dette til en beregningsmessig simulering og å kjøre simuleringen for å foreta spådommer for å validere modellen.

Når modellering mislykkes

Modellering er brukt på tvers av vitenskapelige felt - alt fra astrofysikk og klimaforutsigelse til bioinformatikk og økonomi. Men det er økende debatt om det faktum at denne vitenskapen er vanskelig å validere gjennom reproduksjon.

Det viser seg at det bare ikke er nok å beskrive eksperimentelle metoder i ord. Det er delvis fordi naturlige språk som engelsk er rett og slett for vage for å beskrive beregninger nettopp. Det er jo en grunn til at programmerere bruker programmeringsspråk. En av de største utfordringene innen programvareutvikling er å konvertere vage krav til presise spesifikasjoner for atferd.

Mennesker - selv forskere - er tross alt fallible. Transformering av informasjon til et program introduserer nesten alltid feil underveis. For eksempel er mange forskere avhengige av datautforskingsverktøy, for eksempel regneark, som er designet for enkel bruk og ikke for robusthet. Det er veldig enkelt å bare oppsummere feil rekkevidde av celler i et regneark uten å få noen advarsler. Dette var en av metodiske feil i et papir som det amerikanske republikanske partiet pleide å basere sin pro-austerity politikk på.

Tilsvarende a fersk undersøkelse På 15,770-regnearkene som ble offentliggjort under undersøkelsen til det amerikanske selskapet Enron, viste 24% av regnearkene som inneholdt minst en formel, åpenbare feil, for eksempel å legge opp tomme celler.

I naturvitenskapen, den Mars Climate Observer, en romprobe lansert i 1998 for å studere klimaet på Mars, ble tapt et år senere fordi en del av kontrollprogramvaren feilaktig brukte imperial i stedet for metriske enheter. En annen studie av ni uavhengige implementeringer av det samme geovitenskapseksperimentet - ved hjelp av samme datasett, algoritmer og programmeringsspråk - viste svært lite avtale i de oppnådde resultatene.

Dessuten, selv om leseren av en forskningsoppgave med hell kan tolke forfatterens presise mening, og deretter feilfritt oversette den til et program, er det fortsatt fallgruver ved å utføre den. En spesielt vanskelig klasse av problemer oppstår fra hvordan datamaskiner håndterer tall: selv om de kan manipulere heltall som 42 og -17 med perfekt nøyaktighet, tillater standardteknikker for å manipulere reelle tall som ??3.14 og ?2?1.414 bare omtrentlig nøyaktighet. Disse tilnærmingene betyr at tilsynelatende like måter å beregne den samme verdien kan gi forskjellige resultater.

Så hva kan gjøres? Hvis selv ekspertprogramvareutviklere ikke pålitelig kan produsere riktig programvare, hva håper det for amatørprogrammerere som forskere?

En linje med arbeidet er å produsere verktøy for å designe "domenespesifikke" programmeringsspråk, hver skreddersydd for en bestemt klasse av problem, som for eksempel agenter på agenter i økonomiske markeder eller diffusjon av stoffer over celler. Disse tar sikte på å gjøre det lettere for spesialister å beskrive beregninger direkte i kjente ord, i stedet for å kodes dem indirekte i et allsidig programmeringsspråk.

En annen tilnærming søker å designe mer uttrykksfulle, men likevel brukervennlige "type systemer" for programmer. Disse vil gjøre det lettere å fange "dumme" feil, som tomme celler i regneark eller blande verdier i ulike enheter. Det kan imidlertid ikke utelukke alle logiske feil. En tredje linje er å utvikle brukbare bibliotek av kode for nøyaktig aritmetikk, og unngå problemer med tilnærming.

Det er all sjanse for disse tilnærmingene kan bidra til å løse problemet fremover, eller i det minste eliminere noen av risikoen. Tross alt, verden trenger vitenskap og forskere trenger datamaskiner - det er ikke sannsynlig å endre når som helst snart.

Om forfatteren

Jeremy Gibbons, professor i databehandling, University of Oxford. Leder av Programmeringsspråket forskningstema.

Denne artikkelen opprinnelig oppstod på The Conversation

Relatert bok:

at InnerSelf Market og Amazon