A tudomány a számítógépes modellezésre támaszkodik - mi történik, ha rosszul történik?

A penicillin felfedezésétől a relativitáselmélet és a kvantummechanika elméleteinek átalakításáig a tudomány még a számítógépek megléte előtt is elképesztő sebességgel haladt előre. Ennek nagy része a tudományos módszer robusztusságán múlik: a tudományos eredményeket validálják más tudósok által végzett ismételt és kibővített adatokkal.

De a tudomány fejlődésének módja változik - most egyre inkább összetett számítógépes modellekre támaszkodunk a természet megértése érdekében. És kiderül, hogy ezeket a modelleket szinte lehetetlen reprodukálni - ami azt jelenti, hogy a tudomány fontos mérföldköve kihívást jelent. Tehát milyen következményekkel jár ez a változás a valós világban, és mit tehetünk vele?

A premodern tudomány - a „természetes filozófia” néven - empirikus volt. Az empirikus tudomány a múltbeli megfigyelések alapján előrejelzéseket készít a jövőről, amelyeket kipróbálhat. Tycho Braheszázadi dán csillagásznak sikerült pontosan és átfogóan megfigyelnie az eget.

A modern tudomány azonban elméleti. Az elméleti tudomány szintén előrejelzéseket fogalmaz meg, de inkább a matematikai modellekből, nem pedig az előző megfigyelésekből származtatja őket. Gondolj Isaac Newton mozgási törvényeire, mint például a gravitáció fordított négyzet törvénye.

Például van egy olyan egyenlet, amely leírja a Föld körüli pályáját a Nap körül. Ez az egyenlet felhasználható egy számítógépes modell felépítésére, amelybe csak egyes változókat csatlakoztathat, és megnézheti, hogyan változik a megoldás. Csatlakozhat egy jövőbeli dátumhoz, és elolvashatja a Föld helyzetét abban az időpontban. Ugyanazt a programot felhasználhatja más bolygórendszerek modellezésére is - ez mind ugyanazon a matematikán alapul. Csak annyit kell tennie, hogy csatlakoztatja a test különböző tömegeit és egyéb tulajdonságait.


belső feliratkozási grafika


Az ilyen matematikai egyenletek nagyszerűek, ha rendelkezésre állnak - de gyakran nem. Például, tudjuk, hogy nincs egyszerű egyenlet, amely megoldja az úgynevezett „három test problémája”, Amely leírja a három testet, amelyek körül keringnek és egymást gravitációs erők befolyásolják - mint például a hold, a föld és a nap.

A jelenlegi tudomány nagy része még bonyolultabb rendszerekkel foglalkozik, és hasonlóképpen hiányoznak a pontos megoldások. Az ilyen modelleknek „számítógépesnek” kell lenniük - leírniuk kell, hogyan változik a rendszer egy pillanatra a másikra. A pontos állapotot azonban a jövőben nem lehet meghatározni, csak azáltal, hogy így „szimuláljuk” fejlődését. Az időjárás-előrejelzés ismerős példa; a számítógépek megjelenéséig az 1950-kben lehetetlen volt előre jelezni a jövőbeli időjárást, mint valójában történt.

A jelenlegi tudomány általában egy bonyolult rendszert leíró matematikai modell kidolgozását foglalja magában, majd ezt számítási szimulációvá alakítja, és a szimuláció futtatásával előrejelzéseket készít a modell validálása céljából.

Ha a modellezés sikertelen

A modellezést a tudományos területeken alkalmazzák - az asztrofizikától és a éghajlati előrejelzés a bioinformáció és a közgazdaságtan felé. De van egy egyre növekvő vita arról a tényről, hogy ezt a tudományt nehéz reprodukcióval igazolni.

Kiderült, hogy a kísérleti módszerek szavakkal történő egyszerű leírása nem elég. Ez részben azért van, mert a természetes nyelvek, például az angol, egyszerűen túl homályosak a számítások pontos leírására. Végül is van egy ok, amiért a programozók használják a programozási nyelveket. A szoftverfejlesztés egyik legnagyobb kihívása a homályos követelményeknek a viselkedés pontos specifikációkká alakítása.

Az emberek - még a tudósok is - végül is hibáznak. Bármely információ programmá történő átalakítása szinte változatlanul hibákat vezet be az út mentén. Például sok tudós függ az adatfeldolgozó eszközöktől, például a táblázatoktól, amelyeket a könnyű használat, és nem a robusztusság érdekében terveztek. Nagyon könnyű egyszerűen összefoglalni a táblázat celláinak hibás tartományát, anélkül, hogy bármilyen figyelmeztetést lennie kellene. Ez volt az egyik módszertani hibák egy olyan cikkben, amelyen az Egyesült Államok republikánus pártja alapozta megszorító politikáját.

Hasonlóképpen a nemrégiben készült tanulmány Az amerikai vállalatnál végzett vizsgálat során nyilvánosságra hozott 15,770 táblázatokon az Enron kimutatta, hogy a legalább egy képletet tartalmazó táblázatok 24% -ában nyilvánvaló hibák vannak, például üres cellák összeadása.

A természettudományokban a A Mars klímamegfigyelője, a 1998-ben a Mars éghajlatának tanulmányozására elindított űrszonda, egy évvel később elveszett, mert a vezérlőszoftver egyik része tévesen imperialis, a metrikus egységek helyett használt. Egy másik tanulmány Ugyanazon geostudományi kísérlet kilenc független megvalósítása - ugyanazon adatkészlet, algoritmusok és programozási nyelv felhasználásával - nagyon kevés egyetértést mutatott a kapott eredményekben.

Sőt, még ha egy kutatási dolgozat olvasója sikeresen is tudja értelmezni az író pontos jelentését, majd hibátlanul lefordítani programmá, akkor is vannak buktatók a végrehajtásában. A problémák egy különösen trükkös osztálya abból adódik, hogy a számítógépek hogyan kezelik a számokat: bár tökéletes pontossággal képesek manipulálni az egész számokat, például a 42-t és a -17-et, a valós számok manipulálására szolgáló szabványos technikák, mint például a 3.14 és a 2-1.414, csak közelítő pontosságot tesznek lehetővé. Ezek a közelítések azt jelentik, hogy ugyanazon érték kiszámításának látszólag egyenértékű módjai képesek eltérő eredményt adnak.

Szóval, mit lehet tenni? Ha még a szakértő szoftverfejlesztők sem tudnak megbízhatóan előállítani a megfelelő szoftvert, mi remény van az amatőr programozók számára, mint például a tudósok?

Az egyik munka az, hogy eszközöket állítson elő a „domain-specifikus” programozási nyelvek tervezéséhez, mindegyiket egy adott problémacsoportra szabva, például az ügynökök viselkedését a gazdasági piacokon vagy a gyógyszerek diffúzióját a cellák között. Ezek célja, hogy sokkal könnyebbé tegyék a szakemberek számára a számítások közvetlen, ismert módon történő leírását, ahelyett, hogy azokat közvetett módon kódolni kellene egy általános célú programozási nyelven.

A második megközelítés kifejezettebb, de mégis felhasználóbarát „típusú rendszereket” tervez a programok számára. Ez megkönnyítené az „ostoba” hibák felismerését, például a táblázatok üres celláit vagy az értékeket különböző egységekben összekeverve. Nem zárhatja ki az összes logikai hibát. A harmadik sor a felhasználható kódkönyvtárak fejlesztése a pontos aritmetika számára, elkerülve a közelítés problémáit.

Minden esély van arra, hogy ezek a megközelítések elősegíthetik a probléma előrehaladását, vagy legalábbis kiküszöbölhetik a kockázatot. Végül is a világnak tudományra van szüksége, a tudósokra pedig számítógépekre van szükség - ez nem valószínű, hogy hamarosan megváltozik.

A szerzőről

Jeremy Gibbons, az Oxfordi Egyetem számítástechnikai professzora. A programozási nyelvek kutatási témájának vezetője.

Ez a cikk eredetileg a The Conversation oldalon jelent meg

Kapcsolódó könyv:

at InnerSelf Market és Amazon