Miért nem tudnak a számítógépek számolni?
2009.05.19. 11:47
Nem egy diák életét keserítette meg elsős mérnökpalánta korunkban, amikor véresre tanult szemekkel beült megírni a zéhát, visszakapta egy szép nagy eggyessel a tetején, megnézte mit rontott el, és látta, hogy nála 3+2=8. Vagy 9. De semmi esetre sem 5...
Persze, nekünk ott volt kifogásként, hogy emberek vagyunk és nem gépek, bár a tanárokat ez valahogy sose érdekelte... De vajon milyen kifogást tud kitalálni mondjuk a Google számológépe, ha nem tud számolni?
Ha pl. ide kattintasz, a képen látható eredményt fogod kapni:
Namármost. A számítógépeknek definíció szerint... hogy is mondjam csak... illene elég jól számolni. Akkor viszont hogyan lehetséges, hogy ilyen hülyeségeket próbálnak velünk elhitetni?
A dolog megoldása ahhoz kapcsolódik, hogy a számítógépek a számítások során kénytelenek közelítésekkel élni. A legelterjedtebb, IEEE 754-es szabvány szerinti lebegőpontos számábrázolás elég tág határokon belül jól működik: kb. 16 tizedesjegy pontossággal tudja „leírni” a számokat, maximum 10308-as nagyságrendig, ahol az 1-est 308 db nulla követi. Ez az esetek többségében elég. Előfordul azonban olyan is, amikor nem – érdekes módon a legtöbb problémát nem is az szorzás vagy az osztás, hanem a kivonás okozza.
Általában a dolog azon túl, hogy érdekes, nem okoz különösebb gondot. A Google pl., noha már régóta tud a fent említett eredményről, nem igazán fárasztja magát, hogy kijavítsa.
Viszont időnként ez a hiba is tud nagyot durranni... Így történt ez az Ariane-5 hordozórakéta első próbaútján. A legerősebb európai hordozórakétát 1996. június 4-én lőtték fel, hogy aztán 37 másodperccel később egyszerűen megsemmisítse önmagát. Az egyik számítás során kapott szám nagyobb volt, mint ami 16 biten elfért volna. 300 millió dolláros kárt okozott, hogy a fedélzeti számítógép „nem tudott számolni”.
.
Utolsó kommentek