Nem, nem az iskolai osztályok könyvgyűjteményiről van szó. Hanem arról, hogy egyre többször használunk olyan szoftverelemeket, amelyek (elméletben) esetleg nem felelnek meg a mi alkalmazási körülményeinknek. Legyen példa a kör: a számítógépen ugye nincs kör, csak olyan sokszög, amelynek legnagyobb eltérése az ideális körtől kisebb, mint az adott számábrázolásban leírható legkisebb szám.
És mi van, ha a számítások során az ilyen eredetű hibák felgyűlnek? És egyszercsak érzékelhetővé válnak – például úgy, hogy a tervezett szerkezet összetörik?
Tudom, hogy ez paranoia. Hogy a ma használatos, lebegőpontos számítási könyvtárak sorbafejtési pontossága legfeljebb a csillagászati számításokhoz nem elegendő. (Pont ezért a csillagászok saját számítási könyvtárakat alkalmaznak – remélhetőleg.)
Jobban aggódom a véges elemes módszerek pontosságáért. Azokban ugyanis nemcsak számítási, hanem elvi pontatlanság is lehet. Mi van, ha az adott hálógenerálási és számítási módszer nem mutat ki egy, a valóságban igenis megjelenő feszültségcsúcsot, deformációt, túlmelegedést, kavitációt?
Legjobb tudomásom szerint manapság nagyon ritkán építenek terhelhető modelleket, annyira megbíznak a szoftveres szimulációkban. Mondjuk, arról már olvastam, hogy egy-egy repülőgép-baleset kapcsán jól megvizsgálták a pilóták kiképzésében használt szimulációs programot, de hogy a szárny- vagy sárkánytervezésben alkalmazott FEA-szoftvert felülvizsgálták volna?!
Jó, nyugodjak meg. Évente lezuhan 50 gép, az utóbbi húsz évben (1000 gépnél) nem merült fel a gyanúja, hogy a tervezőszoftver lenne a hibás. (Vagy nem tudunk róla…) Nem tartották be a javítási protokollt, rossz csavart raktak be, hülye volt a pilóta, rossz volt az idő – ilyenek az okok. Ha egy-egy erőműben leszakad egy turbinalapát, az általában nem repül el a településig, meg különben is, ennél előbb jelzi valami tünet, hogy nincs minden rendben.
Hát, jó. Megnyugszom.
(Már csak azért is, mert tök véletlenül belefutottam abba az okfejtésbe, hogy a pi „mindössze" 39 tizedesjegyű formája olyan kevéssel tér el az igazi értéktől, mint egy 500 milliárd oldalú, szabályos sokszög a belé (vagy köré) írt körtől. Sőt, ha ez a kör akkora, mint az Univerzum, akkor az eltérés kisebb, mint a hidrogénmolekula átmérője.
Nomármost a szabványos C++ programozási nyelv normál pontosságú lebegőpontos ábrázolásában a legnagyobb ábrázolható szám 3,4*10^38 (oh, mily véletlen, ez egy 39 jegyű szám), a legkisebb pedig 1,4*10^-45. Ezek a számok az Univerzum hidrogénatomjai számosságának nagyságrendjébe esnek – és akkor ott vannak még a dupla pontosságú lebegőpontos számok… Továbbá megkérdeztem egy magfizikust, hogy mit szól ehhez az egész problematikához, és a válasza értelmében megegyezett a fentiekkel: említette a lebegőpontos számábrázolás kitevőit.)
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.