Akademia Góriczo-Huticza Wdział Elektrotechiki, Automatki, Iformatki i Iżierii Biomedczej WSTĘP DO INFORMATYKI Adria Horzk BŁĘDY NUMERYCZNE I POPRAWNOŚĆ OBLICZEŃ www.agh.edu.pl
POPRAWNOŚĆ OBLICZEŃ Obliczeia prowadzoe prz pomoc współczesch komputerów mogą bć bardzo dokłade i poprawe, lecz w wielu przpadkach wmaga to wiedz o procesach obliczeiowch, artmetce komputerowej, zaokrąglaiu itp., żeb obliczeia zaprojektować i wkować w sposób popraw umerczie. Obliczeia wkowae a komputerach arażoe są róże rodzaje błędów wikające z: Ograiczoej dokładości dach źródłowch Ograiczoej ilości bitów a reprezetację dach Kowersjami pomiędz sstemami liczbowmi Zaokrągleń spowodowach reprezetacją dach Obcięciami i uproszczeiami obliczeń wikające z ieskończoch sum Trudością wkowaia operacji a bardzo małch i dużch liczbach Brak wiedz a te temat może prowadzić do błędego budowaia algortmów i powstawaia błędów umerczch podczas obliczeń!
BŁĘDY NUMERYCZNE Błęd umercze możem podzielić a czter podstawowe kategorie:. Błęd dach wejściowch wstępują wówczas, gd dae liczbowe wprowadzae do pamięci i rejestrów masz cfrowej odbiegają od dokładch ich wartości (p. fizczch, biometrczch) ze względu a ograiczoą dokładość urządzeń pomiarowch (p. ciężar, odległość). 2. Błęd reprezetacji powstają, gd wstępuje koieczość reprezetacji liczb w maszie z wkorzstaiem skończoej długości słów biarch (ciągów bitów), co wmusza zaokrąglaie. Do błędów reprezetacji dochodzi rówież a skutek kowersji wielu liczb rzeczwistch z sstemu źródłowego (zwkle dziesiętego) a sstem dwójkow, stosowa w techice komputerowej, p. liczba 0,4 ie posiada swojego dokładego odpowiedika w sstemie dwójkowm, gdż (0,4)[0] = (0.0(00))[2]! 3. Błęd obcięcia związae są z koieczością zmiejszeia ilości działań, p. podczas obliczaia ciągów/szeregów/sum ieskończoch lub przbliżoego wzaczaia całek ozaczoch. 4. Błęd zaokrągleń pojawiają się w trakcie zaokrąglaia obliczoch wartości z powodu ograiczoej długości słów biarch.
BŁĘDY DANYCH WEJŚCIOWYCH Urządzeia pomiarowe zawsze charakterzują się ograiczoą dokładością wkowach pomiarów wielkości fizczch. Róże stosowae w przemśle orm określają dopuszczalą wielkość odchleń urządzeń pomiarowch od rzeczwistch wartości, jakie powi wskazwać: Stąd wikają błęd dach wejściowch.
BŁĘDY REPREZENTACJI Błęd reprezetacji ajczęściej powstają w trakcie kowersji liczb pomiędz sstemami liczbowmi. O ile m ludzie jesteśm przzwczajei liczć w sstemie dziesiętm, o tle komputer stosują sstem dwójkow. Z tm związae są jedak pewe trudości, gdż ie każde skończoe rozwiięcie liczb w sstemie dziesiętm posiada takowe w sstemie dwójkowm i vice versa! Może am się więc wdawać, iż wpisujem do komputera dokładą wartość, p. liczbę wmierą 0,4, lecz właśie wted dochodzi do błędu reprezetacji, gdż komputer od razu kowertuje taką liczbę a dwójkową postać wewętrzą, a tu okazuje się, iż ie istieje dokład odpowiedik tej liczb w sstemie dwójkowm, czli skończoe rozwiięcie dwójkowe, gdż: 0, 4 0 = 4 0 00 0 = 00 2 0000 2 = 0. 0 00 [2] 2 e 0, 4 0 * 2 = (0),90 0, 90 0 * 2 = (),80 0, 80 0 * 2 = (),60 0, 60 0 * 2 = (),20 0, 20 0 * 2 = (0),40 0, 40 0 * 2 = (0),80
BŁĘDY OBCIĘCIA Błęd obcięcia często związae są z przbliżaiem obliczeń ieskończoch: gd wstępuje koieczość pomiięcia ajmiej istotch wrazów wrażeia. Błęd obcięcia charakterstcze są rówież w stuacjach, gd ze względu a zbt długi czas obliczeń, decdujem się a uproszczeie obliczeń pomijając miej istote szczegół bądź ograiczam dokładość przbliżeń, p. prz wzaczaiu wartości całek ozaczoch: gdzie N jest ilością podziałów przedziału [a, b], a h szerokością tego przedziału....!... 2! 2 0 N e N!... 2! 2 0 N N N h T h d I N b a 0 2 N a b h
BŁĘDY ZAOKRĄGLEŃ Słowa biare służące do zapisu liczb w techice cfrowej dspoują ograiczoą ilością bitów możliwch do wkorzstaia w celu zapamiętaia określoej liczb. Moża tego dokoać ze skończoą dokładością. Jeśli więc zabrakie bitów a reprezetację liczb, ieuikioe jest jej zaokrągleie, p.: W sstemie dziesiętm zae są stuacje koieczości zaokrąglaia: 3 0,333333... 0,333333 0,66666... 0, 66667 6 Podobie dzieje się to w sstemie dwójkowm, gdzie wik pewej operacji (p. dzieleia) ie posiada skończoego rozwiięcia dwójkowego lub rozwiięcie to przekracza maksmalą ilość dostępch bitów w stosowam słowie biarm służącm do przechowwaia wiku działaia. Wted dochodzi do błędów zaokrągleń.
BŁĘDY ZAOKRĄGLEŃ Jeśli mam możliwość przechowwaia tlko 0 cfr zaczącch, wted wik takiego dodawaia ie będzie taki, jaki bśm się spodziewali a skutek wkoaia operacji dodawaia: 23467890 + 0,2346789 = 23467890,2346789 lecz po zaokrągleiu wiku do 0 cfr zaczącch otrzmam: 23467890 + 0,2346789 = 23467890 Dochodzi więc poowie do błędu w wiku zaokrągleia. A co się staie, jeśli będziem mieli pętlę obliczeiową, w której będziem dodawali małą liczbę do dużej aż do osiągięcia pewej wartości pozwalającej a zakończeie się pętli?
NIESTABILNOŚĆ NUMERYCZNA Z iestabilością umerczą mam do czieia wted, gd małe błęd dach lub popełiae w trakcie obliczeń rosą szbko w trakcie dalszch obliczeń powodując istote/duże błęd/ziekształceia wików obliczeń. PRZYKŁAD: Obliczaie ciągu całek ozaczoch: wprowadzając zależość rekurecją: umożliwiającą wzaczeie astępego elemetu ciągu całek a podstawie poprzediego: 0 0 0 0 0 d d d d d
PRZYKŁAD NIESTABILNOŚCI NUMERYCZNEJ Obliczam więc elemet zerow ciągu całek wg wzoru, dokoujem zaokrągleia wiku do 3 cfr zaczącch i astępie próbujem wzaczć koleje elemet ciągu całek a podstawie poprzedich z wzaczoej wcześiej zależości: Całka ozaczoa reprezetuje pole pod fukcją, a więc musi bć ieujeme. Dlaczego już w czwartm kroku otrzmaliśm wartość ujemą całki? Każd astęp wraz ciągu potecjalie moż wcześiejsz błąd przez!
PRZYKŁAD STABILNOŚCI NUMERYCZNEJ Cz możem więc taki ciąg całek obliczć poprawie? Potecjalie możem rówież spróbować wzaczć poprzedi wraz ciągu a podstawie kolejego odpowiedio przekształcając wprowadzoą zależość: Lecz skąd wziąć wartość -tego wrazu ciągu? Załóżm świadomie popełiając błąd, iż dwa koleje wraz są jedakowe: W tm przpadku okazuje się, iż mimo potecjalie dużego błędu początkowego, otrzma zerow wraz tego ciągu został wzaczo poprawie, gdż błąd w każdm astęp kroku bł dzielo przez!
KUMULACJA BŁĘDÓW NUMERYCZNYCH W trakcie różch operacji artmetczch może dochodzić do kumulacji błędów, p. jeśli dwie liczb obarczoe są pewmi zami błędami dach wejściowch, to w wiku wkoaia operacji a tch liczbach błęd rówież zostaą poddae tej operacji powodując kumulację możliwch błędów. PRZYKŁAD:
UWARUNKOWANIE ZADANIA Zadaie jest źle uwarukowae, jeśli względie małe błęd dach początkowch powodują duże błęd wików obliczeń. Zadie źle uwarukowae obarczoe jest dużmi błędami wików iezależie od zastosowaej metod lub algortmu obliczaia. PRZYKŁAD: Proste rówoległe w przestrzei Jeśli współrzęde puktów defiiującch proste rówoległe zostaą obarczoe chociażb ajmiejszm błędem, przestaą bć rówoległe i możliwe będzie wzaczeie pewego puktu ich przecięcia! Uwarukowaie zadaia umerczego to wrażliwość jego rozwiązaia a poprawość dach początkowch.
BIBLIOGRAFIA I LITERATURA UZUPEŁNIAJĄCA. L. Baachowski, K. Diks, W. Rtter: Algortm i struktur dach, WNT, Warszawa, 200. 2. Z. Fortua, B. Macukow, J. Wąsowski: Metod umercze, WNT, Warszawa, 993. 3. J. i M. Jakowsc: Przegląd metod i algortmów umerczch, WNT, Warszawa, 988. 4. A. Kiełbasiński, H. Schwetlick: Numercza algebra liiowa, WNT, Warszawa 992.. M. Ssło: Elemet Iformatki. 6. A. Szepietowski: Podstaw Iformatki. 7. R. Tadeusiewicz, P. Moszer, A. Szdełko: Teoretcze podstaw iformatki. 8. W. M. Turski: Propedeutka iformatki. 9. N. Wirth: Wstęp do programowaia sstematczego. 0. N. Wirth: ALGORYTMY + STRUKTURY DANYCH = PROGRAMY.