Κεφάλαιο 1 Εισαγωγή Οι εφαρµογές συχνότατα οδηγούν µέσω µιας διαδικασίας µαθηµατικής προτυποποίησης σε µαθηµατικά προβλήµατα, τα οποία, στην ολοκληρωµένη µορφή τους, δεν είναι δυνατόν να επιλυθούν µε ακριβείς αναλυτικές µεθόδους είτε λόγω του µεγέθους τους (της κλίµακάς τους), το πλήθος δηλαδή συναρτήσεων και µεταβλητών, είτε/και διότι η (κλασσική) µαθηµατική ανάλυση δεν παρέχει επαρκή εργαλεία. Για την αντιµετώπιση τέτοιων εφαρµογών είναι αναγκαία η χρήση των ηλεκτρονικών υπολογιστών (Η/Υ) µε την ανάπτυξη εξειδικευµένων αριθµητικών µεθόδων/αλγορίθµων επίλυσης και την προγραµµατιστική υλοποίησή τους. Ο το- µέας που ϑεραπεύει αυτήν την προσέγγιση αναφέρεται συχνά ως Υπολογιστικά Μαθηµατικά ή/και Επιστηµονική Υπολογιστική (Computational Mathematics, Scientific Computing). Παραδοσιακά διαχωρίζεται σε δύο υποτοµείς µε συγκεχυµένα όρια: στην Αριθµητική Ανάλυση (Numerical Analysis) και στον Μα- ϑηµατικό Προγραµµατισµό ή Βελτιστοποίηση (Mathematical Programming, Optimization). Η Αριθµητική Ανάλυση αφορά συνήθως στην επίλυση εξισώσεων (µεµονωµένων ή συστηµάτων), στον προσεγγιστικό υπολογισµό µαθηµατικών αντικειµένων (συναρτήσεων, παραγώγων, ολοκληρωµάτων, κ.λ.π.) και στην εκτίµηση των σφαλµάτων που οι προσεγγίσεις αυτές συνεπάγονται. Από την άλλη πλευρά, η Βελτιστοποίηση αφορά συνήθως στην επίλυση προβληµάτων µεγιστοποίησης ή ελαχιστοποίησης και συστηµάτων ανισώσεων (π.χ. µεταβλητών ανισώσεων). Επειδή όπως ενδεχο- µένως γνωρίζουµε από την µαθηµατική ανάλυση οι συνθήκες (τοπικού) µεγίστου ή ελαχίστου εκφράζονται µε την µορφή εξισώσεων, είναι προφανής η αλληλοσύνδεση των δύο αυτών υποτοµέων και συνεπώς η µη ύπαρξη αυστηρών διαχωριστικών ορίων. Θα επικεντρωθούµε στην περίπτωση της Αριθµητικής Ανάλυσης, χωρίς να παρα- ϐλέψουµε τελείως την Βελτιστοποίηση όταν αυτό είναι δυνατόν να πραγµατοποιηθεί χωρίς εισαγωγή υπερβολικού υλικού. 1
ΚΕΦ ΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η Κεντρικό χαρακτηριστικό της Αριθµητικής Ανάλυσης είναι η διακριτοποίηση (discretization) των προβληµάτων, π.χ. το γράφηµα µιας συνεχούς συνάρτησης αντικαθίσταται από διακριτά σηµεία του γραφήµατός της. Η ανάπτυξη µιας αριθ- µητικής µεθόδου για την επίλυση ενός συγκεκριµένου προβλήµατος συνεπάγεται τις περισσότερες ϕορές την εφαρµογή ενός µικρού σχετικά αριθµού επαρκώς απλών ιδεών. Οι ιδέες αυτές συνδυάζονται εποικοδοµητικά µεταξύ τους και µε την όποια γνώση για το συγκεκριµένο πρόβληµα, που έχει αποκτηθεί µε κάποιον τρόπο, π.χ. από την (κλασσική) µαθηµατική ανάλυση και την προέλευση του προβλήµατος. Θα εξετάσουµε γενικές ιδέες και την χρήση τους σε συγκεκριµένα τυπικά προβλή- µατα, τα οποία όµως εµφανίζονται ως επιµέρους προβλήµατα σε εφαρµογές µεγαλύτερης κλίµακας και λιγότερο καθαρής µορφής. Ο σκοπός της µελέτης τέτοιων απλοποιηµένων προβληµάτων είναι η εµπέδωση νέων εννοιών και απόψεων που ϑα µπορούσαν ν αποτελέσουν την ϐάση και τον οδοδείκτη για την αντιµετώπιση πιο περίπλοκων προβληµάτων. Οι αριθµητικές µέθοδοι διαφοροποιούνται από τις µεθόδους της (κλασσικής) µα- ϑηµατικής ανάλυσης. Ενώ, π.χ., αυτό που πρωτίστως ενδιαφέρει στην (κλασσική) µαθηµατική ανάλυση είναι η απόδειξη της ύπαρξης λύσης και η απόδειξη ότι µια συγκεκριµένη ϑεωρητική διαδικασία οδηγεί σ αυτήν, στην αριθµητική ανάλυση, ο χρόνος που απαιτείται για την ανεύρεση µιας λύσης µε την χρήση Η/Υ είναι συχνά ένας πολύ πιο σηµαντικός παράγων. Γνωρίζουµε, π.χ., από τα µαθηµατικά ότι η επίλυση ενός συστήµατος εξισώσεων µε n αγνώστους δύναται να επιλυθεί, για οποιαδήποτε τιµή n, µε πεπερασµένο αριθµό πράξεων τόσο µε την µέθοδο του Cramer όσο και µε την µέθοδο του Gauss. Από την πλευρά όµως της αριθ- µητικής ανάλυσης, η µέθοδος του Cramer είναι τελείως ανεπαρκής. Ο λόγος είναι ότι για επαρκώς µεγάλο n, παρά το πεπερασµένο του πλήθους των απαιτουµένων πράξεων, οι απαιτήσεις αυτές είναι τόσο µεγάλες που η υλοποίηση της µεθόδου ακόµη και στον πιο σύγχρονο Η/Υ αδυνατεί να εκτελέσει όλες τις πράξεις µέσα στα πλαίσια ενός αποδεκτού χρονικού διαστήµατος. Πράγµατι, η επίλυση ενός συστήµατος εξισώσεων µε n αγνώστους µε την µέθοδο του Cramer απαιτεί n n! πράξεις που σηµαίνει ότι για n = 0 απαιτούνται 4, 6 10 19 πράξεις. Εάν ο Η/Υ έχει την δυνατότητα 3 10 6 πράξεων το δευτερόλεπτο, τότε ϑα απαιτούνταν να «τρέξει» επί µισό εκατοµµύρια έτη για να ολοκληρώσει την επίλυση του συστήµατος των 0 αγνώστων µε την µέθοδο του Cramer. Η όποια επιτάχυνση δύναται να επιτευχθεί αναβαθµίζοντας τον Η/Υ µε επεξεργαστές νέας γενιάς ( ϕορές, 10 ϕορές, 100 ϕορές, 1000 ϕορές,... ταχύτεροι) ϕαντάζει µηδαµινή εµπρός στο πλήθος των α- παιτουµένων πράξεων. Συνεπώς, ενώ η µέθοδος αυτή είναι πλήρως αποδεκτή από τα κλασσικά «ϑεωρητικά» µαθηµατικά, είναι απορριπτέα στα πλαίσια της αριθµητικής ανάλυσης. Η µέθοδος π.χ. του Gauss είναι πολύ πιο αποτελεσµατική καθώς απαιτεί µόλις n 3 πράξεις. Ενας τόσο µεγάλος αριθµός πράξεων, όπως ο n 3 της µεθόδου Gauss, εισάγει ό- µως µία δεύτερη δυσκολία: τα υπολογιστικά σφάλµατα απ όλες αυτές τις πράξεις
3 συσσωρεύονται ενδεχοµένως και επηρεάζουν τόσο δραστικά το τελικό αποτέλεσµα που συχνά απέχει πολύ από την πραγµατική λύση. Η ευστάθεια (stability) των µεθόδων και η εκτίµηση σφαλµάτων είναι άλλο ένα πεδίο µελέτης της αριθµητικής ανάλυσης. Μία αριθµητική µέθοδος είναι ευσταθής (stable) εφόσον η λύση που παράγει είναι η µαθηµατικά ακριβής λύση για ένα πρόβληµα το οποίο διαφέ- ϱει ελάχιστα από το προς επίλυση αρχικό πρόβληµα. Η µέθοδος είναι ασταθής (unstable) εφόσον η λύση που παράγει αντιστοιχεί σε πρόβληµα ουσιαστικά δια- ϕορετικό από το αρχικό. Συνεπώς η επιλογή µεθόδου επίλυσης ενός συστήµατος εξισώσεων στον Η/Υ δεν είναι µία τετριµµένη υπόθεση. Η αριθµητική ανάλυση έχει στο οπλοστάσιό της και επαναληπτικές µεθόδους, που σε αντίθεση µε τις «ακριβείς» µεθόδους του Cramer και του Gauss (οι οποίες ϑεω- ϱητικά εγγυούνται την ακριβή επίλυση του συστήµατος), είναι προσεγγιστικές στην ϕύση τους (δεν εγγυούνται δηλαδή ϑεωρητικά την ακριβή επίλυση του συστήµατος) αλλά έχουν το πλεονέκτηµα της µη-συσσώρευσης των υπολογιστικών σφαλµάτων από επανάληψη σε επανάληψη. Για συστήµατα πολύ µεγάλης κλίµακας παρατη- ϱείται συνεπώς το ϕαινοµενικά παράδοξο να προτιµάται µία προσεγγιστική επαναληπτική µέθοδος επίλυσης από µία «ακριβή» πεπερασµένη µέθοδο. Η κατάσταση αυτή είναι όµως τυπική στην περίπτωση των αριθµητικών µεθόδων. Βέβαια υπάρχουν προβλήµατα για τα οποία ακόµη και η καλύτερη δυνατή µέθοδος ϑ αποτύχει να προσφέρει ικανοποιητική λύση. Τέτοια προβλήµατα χαρακτηρίζονται από το γεγονός ότι πολύ µικρές αλλαγές στα δεδοµένα τους επιφέρουν µεγάλες αλλαγές στις λύσεις τους και λέγεται πως είναι κακής κατάστασης. Η αριθµητική ανάλυση µελετά συνεπώς και την κατάσταση (condition) των προβληµάτων και τα κατατάσσει σε προβλήµατα καλής ή κακής κατάστασης. Σ ένα πρόβληµα καλής κατάστασης, µικρές αλλαγές στα δεδοµένα τους συνεπάγονται µικρές µόνον αλλαγές στην λύση του. Η µεγάλη ευαισθησία που παρουσιάζει η λύση ενός προβλήµατος κακής κατάστασης σε µικρές διαταράξεις των δεδοµένων του συνεπάγεται την ανάγκη επανεξάτασης της διατύπωσης του προβλήµατος. Οπως προκύπτει από τα λεγόµενα, ο Η/Υ αποτελεί ϐασικό εργαλείο της αριθµητικής ανάλυσης αλλά και ϐασικός παράγων της ανάπτυξής της. Κάθε µέθοδος αριθ- µητικής επίλυσης ενός προβλήµατος επιδέχεται συχνά διαφορετικές αλγοριθµικές περιγραφές και συνεπώς διαφορετικές υλοποιήσεις στον Η/Υ. Θεωρούµε δηλαδή την µέθοδο ως µία πιο γενική και λιγότερο συγκεκριµένη έννοια από αυτή του αλγορίθµου. Η µέθοδος µπορεί ν απαιτεί άπειρο αριθµό πράξεων και οι πράξεις αυτές µπορεί να ϑεωρούνται πάντοτε ακριβείς. Ο αλγόριθµος αντιστοιχεί πάντοτε σ έναν πεπερασµένο αριθµό καλώς διατυπωµένων ϐασικών πράξεων (πρόσθεση, αφαίρεση, πολλαπλασιασµός, διαίρεση) όπως αυτές εκτελούνται από κάποιο, ενδεχοµένως υποθετικό, πρότυπο Η/Υ. Η µετάφραση του αλγορίθµου σε πρόγραµµα Η/Υ πρέπει να είναι σχεδόν άµεσα δυνατή. Για τον λόγο αυτό, οι αλγόριθµοι αποδίδονται συχνότατα µε την µορφή ψευδοκώδικα όπου χρησιµοποιούνται όροι που αντιστοιχούν σε εντολές προγραµµατισµού. Συνεπώς η διατύπωση του αλγορίθµου σε κάποια γλώσσα προγραµµατισµού, όπως την Fortran 9x/0x ή την C/C++, α-
4 ΚΕΦ ΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η παιτεί µόνον την µετάφραση των όρων του ψευδοκώδικα στις αντίστοιχες εντολές της προτιµώµενης γλώσσας. Θα εξετάσουµε κάθε µέθοδο και αλγόριθµο µε την απαιτούµενη λεπτοµέρεια και περιστασιακά ϑα παρουσιάσουµε υλοποίησή τους στον Η/Υ. Είναι ϐεβαίως ευτύχηµα ότι σήµερα υπάρχει µία πληθώρα αριθµητικών λογισµικών συστηµάτων και υπολογιστικών ϐιβλιοθηκών που µπορούν να διευκολύνουν το έργο του µηχανικού ή του ερευνητή παρέχοντάς του έτοιµες υλοποιήσεις συγκεκρι- µένων αλγορίθµων. Από τα εµπορικά αριθµητικά λογισµικά συστήµατα γνωστότερο είναι ενδεχοµένως το Matlab (www.mathworks.com). Υπάρχουν όµως και εξίσου καλά και σε µεγάλο ϐαθµό συµβατά µε το Matlab ελεύθερα, ανοικτού κώδικα συστήµατα όπως το Scilab (www.scilab.org) από την INRIA, Γαλλία, και η O ctave (www.gnu.org/software/octave) από την GNU, ΗΠΑ. Τα συστήµατα αυτά επιτρέπουν την ταχύτατη ανάπτυξη και δοκιµή αριθµητικών αλγορίθµων. Η επιχειρησιακή όµως υλοποίηση αριθµητικών αλγορίθµων απαιτεί συχνότατα τον προγραµµατισµό στην Fortran 9x/0x ή στην C/C++ και σε τέτοιες περιπτώσεις οι ϐιβλιοθήκες υποδιαδικασιών αποτελούν καταλληλότερο εργαλείο. Από τις εµπορικές ϐιβλιοθήκες, αυτές της NAG (www.nag.com) και της IMSL (www.imsl.com) είναι ενδεχοµένως οι πιο διαδεδοµένες. Βιβλιοθήκες ανοικτού κώδικα 1 είναι η Harwell (www.cse.scitech.ac.uk/nag/hsl), η Slatec (www.netlib.org/slatec), η Lapack (www.netlib.org/lapack), η Gsl (www.gnu.org/software/gsl), η Atlas (math-atlas.sourceforge.net) και πολλές άλλες προσβάσιµες µαζί µε µεµονωµένους κώδικες από την Netlib (www.netlib.org). Τέλος, οι εκδόσεις Cambridge διακινούν υπό τον τίτλο Numerical Recipes µία συλλογή αριθµητικών αλγορίθµων (ϐιβλίο και ηλεκτρονική µορφή) σε Fortran 77/90 ή C/C++ από τους W. H. Press, S. A. Teukolsky, W. T. Vetterling και B. P. Flannery. Η κατανόηση των ϐασικών µεθόδων και αλγορίθµων της Αριθµητικής Ανάλυσης ε- πιτρέπει στον µηχανικό και τον ερευνητή την χρήση αυτών των εργαλείων όχι µε την µορφή «µαύρου κουτιού» (black box) αλλά µε πλήρη κατανόηση των διαδικασιών, των αποτελεσµάτων τους και των σφαλµάτων που ενδεχοµένως έχουν παρεισφρήσει σ αυτά τ αποτελέσµατα. 1 Η Harwell όµως δεν είναι ελεύθερο λογισµικό.
Κεφάλαιο Προσεγγιστικοί Αριθµοί και Σφάλµατα.1 εκαδικό Σύστηµα Αριθµών Το δεκαδικό σύστηµα αριθµών αναφέρεται στο σύστηµα αριθµών που χρησιµοποιούµε ευρέως καθηµερινά και έχει ως ϐάση του τον αριθµό 1 10. Αλλά τι εννοούµε όταν γράφουµε έναν αριθµό όπως ο 13.45; Παρατηρούµε ότι 13.45 = 100 + 0 + 3 + 0.4 + 0.05 ή, ισοδύναµα, 13.45 = 1 100 + 10 + 3 1 + 4 1 + 5 1, το οποίο, µε την σειρά του, ισοδυναµεί 10 100 µε την έκφραση 1 10 + 10 1 + 3 10 0 + 4 10 1 + 5 10. Γενικά κάθε ϑετικός αριθµός a δύναται να αναπαρασταθεί από µία πεπερασµένη ή άπειρη πολυωνυµική σειρά της µορφής: a = d 1 10 m + d 10 m 1 + + d i 10 m i+1 +, (.1) όπου d i (i = 1,, 3,..., i,...) είναι τα ψηφία που εκφράζουν τον αριθµό (µε d 1 0) και το 10 αποτελεί την ϐάση στην οποία εκφράζεται ο αριθµός αυτός (εξ ου και δεκαδικό σύστηµα). Παρατηρούµε ότι, εξετάζοντας την έκφραση (.1) από αριστερά προς τα δεξιά, το ψηφίο αµέσως πριν την υποδιαστολή (το 3 στο 13.45) πολλαπλασιάζεται µε 10 0, ενώ το ψηφίο αµέσως µετά την υποδιαστολή (το 4) πολλαπλασιάζεται µε 10 1. Η µέγιστη τιµή που ένα ψηφίο d i δύναται να λάβει στην έκφραση (.1) είναι 9 = 10 1. Στο δεκαδικό σύστηµα αριθµών εποµένως, η µέγιστη τιµή ενός ψηφίου 1 Ενα δεύτερο σύστηµα αριθµών που αντιµετωπίζουµε καθηµερινά είναι αυτό µε ϐάση το 60. 5
6 ΚΕΦ ΑΛΑΙΟ. ΠΡΟΣΕΓΓΙΣΤΙΚΟ Ι ΑΡΙΘΜΟ Ι ΚΑΙ ΣΦ ΑΛΜΑΤΑ οιοδήποτε αριθµού είναι ίση µε την ϐάση του συστήµατος (το 10) µειωµένη κατά µία µονάδα. Από αριστερά προς τα δεξιά, στην ϑέση i (i = 1,,..., ) της έκφρασης (.1) συναντούµε την τιµή 10 m i+1 που αποτελεί την τιµή της δεκαδικής ϑέσης i. 10 m 10 m 1 10 1 10 0 10 1 10 10 t Σχήµα.1: Τιµές δεκαδικών ϑέσεων στην αναπαράσταση αριθµού στο δεκαδικό σύστηµα Παραδείγµατος χάριν έχοµε: 1905.0778 = 1 10 3 +9 10 +0 10 1 +5 10 0 +0 10 1 +7 10 +7 10 3 +8 10 4. Η τιµή της πρώτης ϑέσης είναι 10 m = 10 3, της δεύτερης 10 m 1 = 10, κ.ο.κ. Το ψηφίο 9 εµφανίζεται στην δεύτερη ϑέση i = και η τιµή της ϑέσης αυτής είναι 10 m i+1 = 10 3 +1 = 10, ενώ το ψηφίο 8 εµφανίζεται στην ϑέση i = 8 και συνεπώς η τιµή της ϑέσης του είναι 10 m i+1 = 10 3 8+1 = 10 4.. Στρογγυλοποίηση και Αποκοπή Στην πράξη είµαστε συχνά αναγκασµένοι ν αντικαθιστούµε έναν αριθµό a µε κάποιον άλλο ā που αποτελείται από µικρότερο αριθµό ψηφίων. Λέµε ότι προσεγγίζουµε (approximate) τον αριθµό a µε τον ā και γράφουµε συνήθως ā a. Ο ακριβής αριθµός a αποδίδει την αληθινή τιµή του αριθµού, ενώ οι προσεγγιστικοί αριθµοί αποδίδουν τιµές «κοντά» στην αληθινή τιµή. Ο ϐαθµός της προσέγγισης εξαρτάται από την διαφορά a ā, το σφάλµα. Χαρακτηριστικό παράδειγµα ο α- ϱιθµός π = 3.1411596535... που άλλοτε αναφέρεται ως 3.14, άλλοτε ως 3.14, ως 3.1416, κ.λ.π. Στην πράξη, αντιλαµβανόµαστε τον προσεγγιστικό αριθµό ā ως µία τιµή που διαφέρει ελάχιστα από τον ακριβή αριθµό a και που δύναται να τον αντικαταστήσει στου υπολογισµούς που τον εµπλέκουν. Υπάρχουν ϐασικά δύο τρόποι τέτοιας αντικατάστασης του a µε τον ā. Αποκοπή (chopping) στην ϑέση t µετά την υποδιαστολή: Ολα τα δεκαδικά ψηφία δεξιά της ϑέσης t απορρίπτονται Στρογγυλοποίηση (rounding) στην ϑέση t µετά την υποδιαστολή: Μεταξύ των αριθµών που δύνανται ν αποδοθούν µε t δεκαδικά ψηφία επιλέγεται ε- κείνος που ϐρίσκεται πλησιέστερα στον δεδοµένο αριθµό. Αυτό ουσιαστικά σηµαίνει πως εάν τα ψηφία δεξιά της ϑέσης t συντάσσουν έναν κλασµατικό α- ϱιθµό µικρότερο του 1 10 t τότε απλώς αποκόπτονται. Εάν όµως ο αριθµός
.3. ΑΠ ΟΛΥΤΑ ΚΑΙ ΣΧΕΤΙΚ Α ΣΦ ΑΛΜΑΤΑ 7 αυτός είναι µεγαλύτερος του 1 10 t, τότε το ψηφίο στην ϑέση t επαυξάνεται κατά µία µονάδα. Πρακτικά αυτό σηµαίνει ότι εάν το πρώτο από τα ψηφία που απορρίπτονται υπερβαίνει το 5 τότε αυξάνουµε το τελευταίο ψηφίο που διατηρείται µε µία µονάδα. Τι συµβαίνει εάν έχοµε ισότητα; Τότε, µία συνήθης πρακτική είναι ν αυξήσουµε το ψηφίο στην ϑέση t κατά µία µονάδα εάν είναι περιττός αριθµός και να το διατηρήσουµε ως έχει εάν είναι Ϲυγός. Λέγεται ότι εφαρµόζουµε τον κανόνα περιττού ψηφίου (rule of odd digit). Εάν δεν εφαρµόσουµε τον κανόνα, τότε αυξάνουµε το τελευταίο ψηφίο που διατηρείται ανεξάρτητα από το εάν είναι περιττός ή Ϲυγός αριθµός. Παράδειγµα.1 Προσέγγιση Αριθµός Αποκοπή Στρογγυλοποίηση 0.397 0.39 0.40-0.397-0.39-0.40 0.3750 0.37 0.38 0.3650 0.36 0.36 Στους δύο τελευταίους αριθµούς του παραδείγµατος έχοµε χρησιµοποιήσει τον κανόνα περιττού ψηφίου..3 Απόλυτα και Σχετικά Σφάλµατα Οταν ο αριθµός a προσεγγίζεται µε τον αριθµό ā εισάγεται ένα σφάλµα (error) που ισούται µε την διαφορά τους. Επειδή συνήθως ο ακριβής αριθµός είναι άγνωστος, τόσο η διαφορά αυτή όσο και το πρόσηµό της παραµένουν άγνωστα. Για τον λόγο αυτό χρησιµοποιούµε µία απόλυτη εκτίµηση του σφάλµατος της προσέγγισης: Το εκτιµούµενο απόλυτο σφάλµα (absolute error) του προσεγγιστικού αριθµού ā είναι ο µικρότερος αριθµός ǫ που ικανοποιεί την ανισότητα a ā ǫ (.) Παράδειγµα. Ποιο είναι το απόλυτο σφάλµα όταν ο ακριβής αριθµός π προσεγγίζεται ως π = 3.14; Επειδή 3.14 < π < 3.15 έχοµε π π < 0.01 και άρα µπορούµε να εκλάβουµε το ǫ = 0.01 ως απόλυτο σφάλµα. Βέβαια επειδή έχοµε και 3.14 < π < 3.14, µία δεύτερη, καλύτερη, εκτίµηση του απολύτου σφάλµατος είναι ǫ = 0.00
8 ΚΕΦ ΑΛΑΙΟ. ΠΡΟΣΕΓΓΙΣΤΙΚΟ Ι ΑΡΙΘΜΟ Ι ΚΑΙ ΣΦ ΑΛΜΑΤΑ Το απόλυτο σφάλµα εισάγει όρια διακύµανσης της απόκλισης του ακριβούς αριθ- µού a από την προσέγγισή του ā: Για τον λόγο αυτό γράφουµε συχνά, κατά συνθήκη, ότι ā ǫ a ā + ǫ (.3) a = ā ± ǫ (.4) Στην πράξη, όταν χρησιµοποιούµε εκφράσεις όπως «µε ακρίβεια 0.01» ή «µε α- κρίβεια ενός εκατοστού» εννοούµε ότι το απόλυτο σφάλµα είναι 0.01 και 1 cm αντίστοιχα. Η χρήση της έκφρασης (.4) είναι ιδιαίτερα συνήθης στ αποτελέσµατα µετρήσεων µε επιστηµονικά όργανα (αλλά και υπολογισµών) για να εκφρασθεί η ακρίβεια των αποτελεσµάτων. Εάν στην προσέγγιση του αριθµού a µε τον αριθµό ā χρησιµοποιηθεί η αποκοπή µετά την δεκαδική ϑέση t εισάγεται ένα απόλυτο σφάλµα που είναι (σχεδόν) 10 t, ενώ κατά την αντίστοιχη στρογγυλοποίηση το σφάλµα είναι (σχεδόν) 1 10 t. Για τον λόγο αυτό, η στρογγυλοποίηση είναι πάντοτε προτιµότερη από την αποκοπή. Το απόλυτο σφάλµα εκφράζει µόνον την ποσοτική πλευρά µιας προσέγγισης και ποτέ την ποιοτική. Παράδειγµα.3 Εάν κατά την µέτρηση του ύψους και του πλάτους ενός παραλληλογράµµου καταλήξουµε ότι το πλάτος του είναι l 1 = ±0.5 ενώ το ύψος του l = 100 ±0.5, τ απόλυτο σφάλµα είναι το αυτό σ αµφότερες τις µετρήσεις, όµως η µέτρηση του ύψους είναι οπωσδήποτε πιο ακριβής (Γιατί;). Για την ποιοτική εκτίµηση του σφάλµατος της προσέγγισης απαιτείται η εισαγωγή µιας ακόµη έννοιας που σχετίζει π.χ. το απόλυτο σφάλµα µιας µέτρησης µε την µονάδα µέτρησης. Το εκτιµούµενο σχετικό σφάλµα (relative error) του προσεγγιστικού αριθµού ā είναι ο µικρότερος αριθµός δ που ικανοποιεί την ανισότητα a ā δ, (ā 0) (.5) ā εχόµαστε ουσιαστικά ότι δ = ǫ, (ā 0) (.6) ā οπότε, επειδή έχοµε ǫ = ā δ και την σχέση (.4), έπεται ότι a = ā(1 ± δ) (.7)
.4. ΣΗΜΑΝΤΙΚ Α ΨΗΦ ΙΑ ΚΑΙ ΚΙΝΗΤ Η ΥΠΟ ΙΑΣΤΟΛ Η 9 Το σχετικό σφάλµα είναι ένας αφηρηµένος αριθµός (δεν εκφράζεται π.χ. σε cm) που συχνά εκφέρεται ως σφάλµα επί τοις εκατό (%). Παράδειγµα.4 (Συνέχεια) Για το πλάτος έχοµε σχετικό σφάλµα δ 1 = 0.5 = 0.5 ή σφάλµα 5%. Ενώ για το ύψος έχοµε σχετικό σφάλµα δ = 0.5 100 = 0.005 ή σφάλµα 0.5%. Συνεπώς η δεύτερη µέτρηση είναι 50 ϕορές πιο ακριβής από την πρώτη. Στην πράξη είναι σύνηθες να στρογγυλοποιούµε το σχετικό σφάλµα σε µόλις ένα ή δύο µη-µηδενικά ψηφία. Η στρογγυλοποίηση γίνεται πάντοτε προς τα άνω σ έναν µεγαλύτερο αριθµό έτσι ώστε οι ανισότητες (.3) και (.5) να ικανοποιούνται. Παράδειγµα.5 Εάν γνωρίζουµε ότι ο ακριβής αριθµός a κείται στο διάστηµα [3.07, 3.10] µπορούµε να τον προσεγγίσουµε µε το µέσον του διαστήµατος ā = 3.085. Το απόλυτο σφάλµα της προσέγγισης είναι τότε το ήµισυ του µήκους του διαστήµατος, δηλαδή ǫ = 0.015. Το σχετικό σφάλµα της προσέγγισης υπολογίζεται τότε ως δ = ǫ ā = 0.000604... Το σφάλµα αυτό το στρογγυλοποιούµε προς τα άνω σε δ = 0.07%. Παράδειγµα.6 Εάν υποθέσουµε ότι ο ακριβής αριθµός είναι γνωστός ως a = 35.148 ± 0.00074, όπου προσεγγίζεται από τον αριθµό ā = 35.148, τότε το σχετικό σφάλµα της προσέγγισης υπολογίζεται ως δ = ǫ ā = 0.00074 35.148 = 0.0000 0.003%. Παράδειγµα.7 Εάν γνωρίζουµε ότι ο αριθµός ā = 4.13 προσεγγίζει τον a µε σχετικό σφάλµα δ = 0.01%, µπορούµε να υπολογίσουµε το απόλυτο σφάλµα της προσέγγισης από την ισότητα (.6). Εχοµε ǫ = ā δ = 4.13 0.0001 0.0005. Άρα a = 4.13 ± 0.0005..4 Σηµαντικά Ψηφία και Κινητή Υποδιαστολή Οταν εκτελούµε διάφορους υπολογισµούς συχνά καθορίζουµε ότι το αποτέλεσµα τους πρέπει να έχει ακρίβεια 0.1, 0.01, κ.λ.π. Μπορεί έτσι να µας δηµιουργείται η εντύπωση ότι η ακρίβεια των υπολογισµών καθορίζεται από τον αριθµό των ψη- ϕίων που ακολουθούν την δεκαδική υποδιαστολή. Κάτι τέτοιο όµως δεν ισχύει. Η ακρίβεια των υπολογισµών καθορίζεται από τον αριθµό των ψηφίων που εµπιστευό- µαστε στο αποτέλεσµα. Η σηµαντικότητα αφορά στο µέγιστο πλήθος ψηφίων ενός αριθµού που έχουν κάποιο νόηµα. Σηµαντικό ψηφίο (significant digit) ενός προσεγγιστικού αριθµού είναι κάθε µη-µηδενικό του ψηφίο ή κάθε µηδενικό ψηφίο µεταξύ σηµαντικών ψηφίων. Ετσι τα µηδενικά ψηφία που χρησιµοποιούνται στην αρχή κάθε αριθµού για να καθορίσουν την ϑέση της υποδιαστολής δεν ϑεωρούνται σηµαντικά ψηφία. Μηδενικά ψηφία στο τέλος ενός αριθµού όµως ϑεωρούνται σηµαντικά εφόσον καταγράφονται. Παραδείγµατος χάριν, ο αριθµός 0.00080 έχει τέσσερα (4) σηµαντικά ψηφία: το Το σχετικό σφάλµα ϑα έπρεπε ασφαλώς να ορισθεί ως δ = a ā a, όπου όµως ο ακριβής αριθµός a είναι συνήθως άγνωστος. Εάν το σχετικό σφάλµα της προσέγγισης ā είναι µικρό, π.χ. δεν υπερβαίνει το 5%, τότε η διαφορά µεταξύ του a ā a ā a και της εκτίµησής του ως ā είναι ασήµαντη.
10 ΚΕΦ ΑΛΑΙΟ. ΠΡΟΣΕΓΓΙΣΤΙΚΟ Ι ΑΡΙΘΜΟ Ι ΚΑΙ ΣΦ ΑΛΜΑΤΑ και το 8 διότι είναι µη-µηδενικά, το 0 που περιέχεται µεταξύ αυτών και το µηδέν στο τέλος του αριθµού (αφού καταγράφεται). Τα τρία πρώτα µηδενικά του ψηφία 0.00 δεν ϑεωρούνται σηµαντικά. Για να τονισθούν τα σηµαντικά ψηφία ενός αριθµού χρησιµοποιείται συνήθως ο ε- πιστηµονικός συµβολισµός (scientific notation) για την καταγραφή του αριθµού, ο οποίος ϐασίζεται στην χρήση των δυνάµεων του 10. Παράδειγµα.8 Ο αριθµός 689000 δύναται να καταγραφεί, ανάλογα µε τον αριθµό ψηφίων που ϑεωρούνται σηµαντικά, µε διάφορους τρόπους κάνοντας χρήση επιστηµονικού συµβολισµού: Στο χέρι Στον Η/Υ Σηµαντικά Ψηφία 689 10 3 689E3 3 68.9 10 4 68.9E4 3 6.89 10 5 6.89E5 3 0.689 10 6 0.689E6 3 (*) 68.900 10 4 68.900E4 5 6.8900 10 5 6.8900E5 5 0.68900 10 6 0.68900E6 5 (*) Ο συµβολισµός αυτός είναι ιδιαιτέρως χρήσιµος για αριθµούς µε πολλά µη-σηµαντικά στοιχεία. Π.χ. ο αριθµός 0.00000010 αποδίδεται ως 1.0 10 7 ή ως 0.10 10 6 και γίνεται άµεσα γνωστό ότι αποτελείται από 3 σηµαντικά στοιχεία. Από τους διάφορους τρόπους που ένας αριθµός δύναται να εκφρασθεί µε επιστη- µονικό συµβολισµό προτιµάται αυτός της κανονικοποιηµένης κινητής υποδιαστολής (normalized floating point) που στο παράδειγµα αντιστοιχεί στους συµβολισµούς µε τον αστερίσκο (*). Σύµφωνα µε τον τρόπο αυτό, κάθε προσεγγιστικός αριθµός ā αποδίδεται ως ā = ± (0.d 1 d... d n ) 10 e (.8) όπου ο κλασµατικός αριθµός στην παρένθεση ικανοποιεί 0 < 0.d 1 d...d n < 1 µε d 1 0 και αποδίδει τα σηµαντικά ψηφία d 1 d...d n του ā, ενώ ο e είναι ο (ϑετικός ή αρνητικός) εκθέτης της ϐάσης 10. Ο λόγος που απαιτείται d 1 0 είναι για να επιτευχθεί η µοναδικότητα της αναπαράστασης του ā για δεδοµένο πεπερασµένο n. Το πλήθος n των σηµαντικών στοιχείων αναφέρεται ως ακρίβεια αναπαράστασης (precision) του ā ως αριθµού κανονικοποιηµένης κινητής υποδιαστολής. Η ακρίβεια αυτή δεν αναφέρεται καθόλου στην ακρίβεια ή ορθότητα της προσέγγισης, (accuracy), στην ευστοχία δηλαδή µε την οποία ο προσεγγιστικός αριθµός ā αντιπροσωπεύει τον ακριβή αριθµό a. Η ακρίβεια της προσέγγισης δεν εξαρτάται από το πλήθος των σηµαντικών ψηφίων του ā αλλά από το πλήθος των έγκυρων ή ορθών σηµαντικών ψηφίων του (valid, correct significant digits).
.4. ΣΗΜΑΝΤΙΚ Α ΨΗΦ ΙΑ ΚΑΙ ΚΙΝΗΤ Η ΥΠΟ ΙΑΣΤΟΛ Η 11 Θεώρησε έναν προσεγγιστικό αριθµό ā στην πεπερασµένη µορφή της (.1): ā = d 1 10 m + d 10 m 1 + + d i 10 m i+1 + + d n 10 m n+1 (.9) Λέγεται ότι το ψηφίο d i του ā είναι ορθό σηµαντικό ψηφίο εφόσον a ā 1 10m i+1, (.10) εφόσον δηλαδή το απόλυτο σφάλµα της προσέγγισης δεν υπερβαίνει το ήµισυ της τιµής της δεκαδικής ϑέσης όπου εµφανίζεται το d i. Τα ψηφία που δεν είναι ορθά ϑεωρούνται αµφίβολα (doubtful) 3. Παράδειγµα.9 Εστω ο ακριβής αριθµός a = 35.97 = 0.3597 10 και η προσέγγισή του µε τον ā = 36.00 = 0.3600 10. Επειδή a ā = 0.03 < 0.05 = 1 10 1, η προσέγγιση είναι ορθή µε 3 ψηφία, τα 3, 6 και το πρώτο 0. [Η ανισότητα (.10) ικανοποιείται δηλαδή για i = 3 δεδοµένου ότι m = 1. Πράγµατι, m i+1 = 1 i+1 = 1 i = 3]. Το 1 στο απόλυτο σφάλµα 1 10 1 υποδηλώνει, µαζί µε το 1, ότι το πρώτο ψηφίο µετά την υποδιαστολή στο ā = 36.00 είναι ορθό σηµαντικό και άρα και όλα τα ψηφία πριν απ αυτό. Οπως άλλωστε διαφαίνεται και από το παράδειγµα, η έκφραση «n ορθά ψηφία» δεν σηµαίνει αναγκαστικά ότι τα τα πρώτα (από αριστερά) n ψηφία της προσέγγισης συµπίπτουν µε τ αντίστοιχα του αρχικού αριθµού. Παραδείγµατος χάριν, εάν a = 10 και ā = 9.995 έχοµε a ā = 0.005 1 10 και συνεπώς ο ā έχει 3 ορθά σηµαντικά ψηφία, τα τρία 9. Παράδειγµα.10 Εστω ότι γνωρίζοµε πως ο αριθµός ā = 3.10 προήλθε από την στρογγυλοποίηση κάποιου αριθµού a. Πόσα ορθά ψηφία εµπεριέχονται στον ā; εχόµενοι την στρογγυλοποίηση σύµφωνα µε τον κανόνα περιττού ψηφίου, τ απόλυτο σφάλµα δεν υπερβαίνει το ήµισυ της τιµής της τελευταίας δεκαδικής ϑέσης που έχει διατη- ϱηθεί. Συνεπώς όλα τα ψηφία του στρογγυλοποιηµένου αριθµού είναι ορθά και τ απόλυτο σφάλµα είναι ǫ = 0.005 = 0.5 10. Παράδειγµα.11 Εάν ο αριθµός ā = 3.071937 εµπεριέχει πέντε ορθά ψηφία, τότε, κάνοντας χρήση της ανισότητας (.10), τ απόλυτο σφάλµα είναι 0.5 10 1 5+1 = 10 3 = 0.0005. Παράδειγµα.1 Εστω ότι τ απόλυτο σφάλµα του αριθµού ā = 705.1978 είναι ǫ = 0.3. Ποια είναι τα ορθά ψηφία του ā; Από την ανισότητα (.10) έχοµε 0.3 0.5 10 i+1 = 0.5 10 3 i. Η ανισότητα ικανοποιείται για i = 3 και συνεπώς το ψηφίο 5 είναι ορθό (0.3 < 0.5 10 3+1 ), ενώ το ψηφίο 1 είναι αµφίβολο (0.3 > 0.5 10 4+1 ). 3 Στα τελικά αποτελέσµατα υπολογισµών εκτός όλων των ορθών σηµαντικών ψηφίων διατηρείται συνήθως και ένα αµφίβολο τελικό ψηφίο. Στα ενδιάµεσα αποτελέσµατα των υπολογισµών διατηρούνται συνήθως δύο ή τρία αµφίβολα ψηφία για ν αποφευχθεί η συνάθροιση πρόσθετων σφαλµάτων από την στρογγυλοποίηση.
1 ΚΕΦ ΑΛΑΙΟ. ΠΡΟΣΕΓΓΙΣΤΙΚΟ Ι ΑΡΙΘΜΟ Ι ΚΑΙ ΣΦ ΑΛΜΑΤΑ Άρα ο αριθµός ā έχει τρία ορθά ψηφία και µπορούµε να τον στρογγυλοποιήσουµε σε ā = 705. Το απόλυτο σφάλµα αυτής της προσέγγισης είναι το άθροισµα του αρχικού σφάλµατος συν το σφάλµα από την στρογγυλοποίηση, δηλαδή ǫ = 0.3 + 0. = 0.5. Συνεπώς µπορούµε να γράψουµε a = 705 ± 0.5. Παράδειγµα.13 Ας υποθέσουµε ότι στην µέτρηση του µήκους και του πλάτους µιας ορθογώνιας επιφάνειας έχοµε καταλήξει σε l = 5.43 m και w = 3.8 m αντίστοιχα µε ακρίβεια 1 cm. Θα ϑέλαµε να εκτιµήσουµε το σφάλµα στον υπολογισµό του εµβαδού της επιφάνειας Ē = l w = 0.746 m. Από την υπόθεση της ακρίβειας έχουµε τ απόλυτα σφάλµατα ǫ l = 0.01 m και ǫ w = 0.01 m. Άρα οι δύο ακραίες τιµές του εµβαδού είναι E + = (l + 0.01)(w + 0.01) = 0.835 m και E = (l 0.01)(w 0.01) = 0.650. Επειδή Ē E = 0.094 και E + Ē = 0.096, έχοµε την ακόλουθη εκτίµηση απολύτου σφάλµατος στην προσέγγιση του αληθινού εµβαδού E µε το Ē: E Ē 0.096 = ǫ. Το σχετικό σφάλµα στην προσέγγιση του εµβαδού είναι δ = 0.096 0.746 = 96 0746 = 0.0045 = 0.45%. Επειδή τα σφάλµατα µπορούν να στρογγυλοποιηθούν προς τα άνω, ϑα µπορούσαµε να δεχθούµε ενδεχοµένως ως σφάλµα το ǫ = 0.10 m. Σε µία τέτοια περίπτωση η προσεγγιστική τιµή του εµβαδού ϑα µπορούσε να γραφεί ως 0.743 m ή 0.74 m ή, ακόµη και, 0.7 m. Αποδίδουµε δηλαδή το εµβαδόν µε µόλις τρία ορθά ψηφία σ αυτήν την στρογγυλοποίηση. Οταν όµως απορρίπτουµε την ποσότητα 0.046, ϑα πρέπει να την προσθέσουµε στο απόλυτο σφάλµα ǫ = 0.096 καταλήγοντας έτσι σ ένα νέο απόλυτο σφάλµα 0.136. Αλλά ένα τέτοιο απόλυτο σφάλµα µας οδηγεί στο να ϑεωρήσουµε ακόµη και το τρίτο ψηφίο της προσέγγισης του εµβαδού ως αµφίβολο [διότι 0.136 > 0.05 = 1 10 1 ], οπότε στρογγυλοποιούµε το εµβαδόν στο Ē = 1 µε ǫ = 0.44 < 0.5. Το παράδειγµα διαφωτίζει το γεγονός ότι η συνεχής στρογγυλοποίηση των υπολογιστικών αποτελεσµάτων σε µόνον ορθά σηµαντικά ψηφία δεν ενδείκνυται πάντοτε (Παράβαλε την Υποσηµείωση 3 στην σελίδα 3). Συχνά επικεντρώνουµε την προσοχή µας στην ορθότητα των δεκαδικών ενός προσεγγιστικού αριθµού. Παράδειγµα.14 Θεώρησε ότι µας δίδεται ο προσεγγιστικός αριθµός ā = 0.00134 µε απόλυτο σφάλµα ǫ = 0.000004. Τότε επειδή ǫ 0.5 10 5, ο ā έχει πέντε (5) ορθά ή έγκυρα δεκαδικά (valid, correct decimals). Συνεπώς η στρογγυλοποίησή του σε 0.0013 αποτελείται από µόνον ορθά δεκαδικά. Μόνον τρία (3) από τα ψηφία του ā είναι όµως σηµαντικά. Τα 1, και 3. Τα ψηφία αυτά είναι ορθά σηµαντικά ψηφία του ā. Εάν ο αριθµός µας δοθεί µε απόλυτο σφάλµα ǫ = 0.000006, τότε, επειδή ǫ > 0.5 10 5, ο ā έχει τέσσερα (4) ορθά δεκαδικά και µόνον δύο από αυτά είναι σηµαντικά ψηφία. Τα 1 και. Τα ψηφία αυτά είναι ορθά σηµαντικά ψηφία του ā. Οπως ενδεχοµένως προκύπτει από το παράδειγµα, ο αριθµός των ορθών δεκαδικών δίδει µία εκτίµηση του απολύτου σφάλµατος. Από την άλλη πλευρά ο αριθµός των
.5. ΣΧ ΕΣΗ ΜΕΤΑΞ Υ ΑΡΙΘΜΟ Υ ΟΡΘ ΩΝ ΨΗΦ ΙΩΝ ΚΑΙ ΣΦ ΑΛΜΑΤΟΣ ΠΡΟΣ ΕΓΓΙΣΗΣ13 ορθών σηµαντικών ψηφίων δίδει µία πρόχειρη εκτίµηση του σχετικού σφάλµατος. Τις σχέσεις αυτές εξετάζουµε παρακάτω..5 Σχέση µεταξύ Αριθµού Ορθών Ψηφίων και Σφάλ- µατος Προσέγγισης Το σχετικό σφάλµα ενός προσεγγιστικού αριθµού σχετίζεται µε τον αριθµό ορθών σηµαντικών ψηφίων στην αναπαράσταση του αριθµού. Τα ορθά σηµαντικά ψηφία αριθµούνται από το πρώτο σηµαντικό ψηφίο του αριθµού ως το πρώτο σηµαντικό ψηφίο του απολύτου σφάλµατος. Παραδείγµατος χάριν, ο αριθµός ā = 0.746 µε απόλυτο σφάλµα ǫ = 0.096 έχει τρία ορθά ψηφία, τα 0 και 7, ενώ τα υπόλοιπα ψηφία του ϑεωρούνται αµφίβολα. Μπορούµε, κάπως πρόχειρα, να υποθέσουµε ότι η παρουσία ενός µόνον ορθού ψηφίου αντιστοιχεί σε σχετικό σφάλµα της τάξης του 10%, δύο ορθών ψηφίων σε σχετικό σφάλµα της τάξης του 1%, τριών σε σφάλ- µα 0.1%, κ.ο.κ. Στους µαθηµατικούς πίνακες, π.χ. τους λογαριθµικούς, όλοι οι αριθµοί αποδίδονται στρογγυλοποιηµένοι µε µόνον ορθά σηµαντικά ψηφία. Στην περίπτωση αυτή, τ απόλυτο σφάλµα δεν υπερβαίνει το ήµισυ της τιµής της δεκαδικής ϑέσης του τελευταίου ψηφίου. Εάν, π.χ., ο µαθηµατικός πίνακας αποδίδει την τιµή του e ως.718, τότε το απόλυτο σφάλµα δεν υπερβαίνει την τιµή του 1 10 3. Για µια πιο ακριβή συσχέτιση, διαιρούµε την έκφραση (.10), από τον ορισµό των ορθών σηµαντικών στοιχείων, µε την ισότητα (.9) και λαµβάνουµε: a ā ā 0.5 10 m i+1 d 1 10 m + + d i 10 m i+1 + + d n 10 m n+1 0.5 10m i+1 d 1 10 m = 0.5 d 1 10 i 1 (.11) Συνεπώς, όταν γνωρίζουµε ότι το iστο σηµαντικό ψηφίο του ā είναι ορθό, µπορούµε να προσδιορίσουµε το σχετικό σφάλµα της προσέγγισης του a από το ā ως δ = Από την άλλη πλευρά, η ανισότητα δ 0.5 d 1 10 i 1 (.1) 0.5 (d 1 + 1) 10 i 1 (.13) είναι αναγκαία, επειδή συνεπάγεται τόσο την (.11) όσο και την (.10), για να χαρακτηρισθεί το ψηφίο d i του ā ως ορθό.
14 ΚΕΦ ΑΛΑΙΟ. ΠΡΟΣΕΓΓΙΣΤΙΚΟ Ι ΑΡΙΘΜΟ Ι ΚΑΙ ΣΦ ΑΛΜΑΤΑ Παράδειγµα.15 Ποιο είναι το σχετικό σφάλµα στον προσεγγιστικό αριθµό ā = 4.176 εάν όλα του τα ψηφία είναι ορθά; Από την ισότητα (.1) έχοµε: δ = 0.5 d 1 10 n 1 = 1 4 10 3 0.00013 = 0.013%. Εάν, από την άλλη πλευρά, υπολογίσουµε το σχετικό σφάλµα από τον ορισµό του, δηλαδή ως δ = ǫ ā, επειδή η ορθότητα και των τεσσάρων ψηφίων του ā συνεπάγεται ǫ = 0.0005, ϑα έχοµε δ = 0.0005 4.176 0.0001 = 0.01%. Παρατηρούµε ότι η διαφορά των δύο υπολογισµών του σχετικού σφάλµατος είναι µικρή. Παράδειγµα.16 Με πόσα δεκαδικά ψηφία ϑα πρέπει να υπολογίσουµε την 18 για να µην υπερβεί το σφάλµα της προσέγγισης το 0.1%; Επιθυµούµε δ 0.1% ή δ 0.001 ή, επειδή 18 = 4., έχοµε λόγω της (.1) ότι 0.5 δ = 4 10 0.001 n 1 ή 15 10 n 1 ή 1.5 10 10 n 1 ή log 1.5 + n 1 ή n 3 + log 1.5 ή n 4. Άρα ϑα πρέπει να υπολογίσουµε την 18 µε τουλάχιστον n = 4 δεκαδικά ψηφία..6 Πηγές σφαλµάτων Τα σφάλµατα που εµφανίζονται κατά την µαθηµατική αντιµετώπιση ενός προβλή- µατος συνοψίζονται στις εξής κατηγορίες: 1. Σφάλµατα που εµπεριέχονται στην µαθηµατική προτυποποίηση του προβλή- µατος καθώς κάθε µαθηµατικό πρότυπο αποτελεί απλοποίηση της πραγµατικότητας και δεν αποδίδει µε ακρίβεια το πραγµατικό ϕαινόµενο που προσπαθεί να περιγράψει. Η ανακρίβεια αυτή µπορεί να έχει ως πηγή είτε την αδυναµία µας να εκφράσουµε µαθηµατικά κάθε πτυχή της πραγµατικότητας είτε/και την αδυναµία µας να προσφέρουµε µία διαδικασία επίλυσης εάν το πρότυπο είναι πλούσιο σε λεπτοµέρειες.. Το µαθηµατικό πρότυπο κάθε προβλήµατος εκφράζεται µε µορφή σχέσεων µεταξύ παραµέτρων, που ϑεωρούνται δεδοµένα (π.χ. ϕυσικές σταθερές), και µεταβλητών, που οι τιµές τους λαµβάνονται ως αποτέλεσµα της διαδικασίας επίλυσης. Τα δεδοµένα όµως δύνανται να καθορισθούν µόνον ως ένα ϐαθµό ακριβείας καθώς κάθε επιστηµονικό όργανο µέτρησής τους έχει περιορισµένη ακρίβεια. 3. Σφάλµατα που προκύπτουν λόγω των αριθµητικών πράξεων που τελούνται µε προσεγγιστικούς αριθµούς. Εκκινώντας ήδη µε προσεγγιστικά δεδοµένα είναι ϕυσικό, ως κάποιο σηµείο, τα σφάλµατα των αρχικών δεδοµένων να
.6. ΠΗΓ ΕΣ ΣΦΑΛΜ ΑΤΩΝ 15 διαχέονται µέσω αυτών των πράξεων στο τελικό αποτέλεσµα. Την διάδοση των σφαλµάτων στρογγυλοποίησης µέσω αριθµητικών πράξεων εξετάζουµε στη.7. 4. Σφάλµατα προκύπτουν επίσης από την χρήση µη-πεπερασµένων διαδικασιών από την µαθηµατική ανάλυση. Για παράδειγµα ο υπολογισµός των τιµών συναρτήσεων ϐασίζεται συχνά στην ανάπτυξη των σειρών Taylor ή Maclaurin, π.χ., ο υπολογισµός του sin (x) ϑα µπορούσε να ϐασισθεί 4 στο γεγονός ότι sin (x) = x x3 + x5. Επίσης η διαδικασία επίλυσης πολλών µαθη- 3! 5! µατικών εξισώσεων αντιστοιχεί µαθηµατικά σε µη-πεπερασµένη διαδικασία η οποία παράγει µία ακολουθία υποψηφίων λύσεων που το όριό της είναι η επιθυµητή λύση. Επειδή µία µη-πεπερασµένη διαδικασία δεν µπορεί να ε- κτελεσθεί σε πεπερασµένο χρόνο, είµαστε αναγκασµένοι να την διακόψουµε σε κάποιο σηµείο και να δεχθούµε µία προσέγγιση της πραγµατικής λύσης. Φυσικά ένας τέτοιος τερµατισµός της διαδικασίας οδηγεί σε σφάλµα, το σφάλµα κολόβωσης (truncation error), π.χ. που στην περίπτωση των σει- ϱών Taylor ή Maclaurin αντιστοιχεί στο υπόλοιπο των όρων υψηλότερης τάξης που δεν συµπεριελήφθησαν στην προσέγγιση της συνάρτησης. Τα σφάλµατα κολόβωσης είναι σφάλµατα µεθόδου, της πεπερασµένης δηλαδή διαδικασίας και όχι σφάλµατα υπολογισµών, όπως τα σφάλµατα στρογγυλοποίησης. Θα εξετάσουµε τα σφάλµατα αυτά στα ιδιαίτερα κεφάλαια των αντιστοίχων µεθόδων υπολογισµού τιµών συναρτήσεων και επίλυσης εξισώσεων. 5. Σφάλµατα προκύπτουν και από το εν χρήσει σύστηµα αριθµών. Π.χ. η απόδοση αρρήτων αλλά ακόµη και ϱητών αριθµών στο δεκαδικό (ή άλλο σύστηµα) µπορεί ν απαιτεί την παρουσία απείρου ή πολύ µεγάλου πλήθους ψηφίων στο κλασµατικό του µέρος. Προφανώς µπορούµε να χρησιµοποιήσουµε µόνον πεπερασµένο αριθµό ψηφίων στους υπολογισµούς µας και για τον λόγο αυτό στρογγυλοποιούµε τους αριθµούς µε αποτέλεσµα την εισαγωγή των σφαλµάτων στρογγυλοποίησης που ήδη συζητήσαµε. Ετσι εάν δεχθούµε ότι 1 3 0.333, τότε εισάγουµε ένα σφάλµα της τάξης 0.3 10 3 < 0.5 10 3. Συχνά είµαστε αναγκασµένοι να στρογγυλοποιούµε και ακριβείς αριθµούς µε πολλά δεκαδικά ψηφία. Μάλιστα το γεγονός ότι οι ηλεκτρονικοί υπολογιστές χρησιµοποιούν, για λόγους κυρίως οικονοµικότερης τεχνολογίας, το δυαδικό σύστηµα αντί του δεκαδικού, ακόµη και αριθµοί, όπως ο 1 10, που έχουν ακριβή αναπαράσταση στο δεκαδικό σύστηµα δεν µπορούν ν αποδο- ϑούν επακριβώς στο δυαδικό, εισάγοντας έτσι σφάλµατα προσέγγισης που ενδεχοµένως αιφνιδιάζουν αρχικά. Θα συζητήσουµε το δυαδικό σύστηµα στην.10. 4 Οπως ϑα δούµε στην συνέχεια, η εναλλαγή προσήµων σ ένα άθροισµα εµπεριέχει το κίνδυνο του σφάλµατος της αλληλοεξάλειψης όρων που µπορεί ν αποβεί ολέθριο για το τελικό αποτέλεσµα.
16 ΚΕΦ ΑΛΑΙΟ. ΠΡΟΣΕΓΓΙΣΤΙΚΟ Ι ΑΡΙΘΜΟ Ι ΚΑΙ ΣΦ ΑΛΜΑΤΑ.7 Σφάλµατα Πράξεων Εξετάζουµε την διάδοση των σφαλµάτων µέσω αριθµητικών πράξεων σε προσεγγιστικούς αριθµούς..7.1 Πρόσθεση Εστω ότι οι ακριβείς αριθµοί a 1 και a προσεγγίζονται από τους ā 1 και ā µε απόλυτα σφάλµατα ǫ 1 και ǫ αντίστοιχα. Ποιο είναι το σφάλµα ǫ της προσέγγισης του a = a 1 + a από το ā = ā 1 + ā ; Αφαιρώντας την δεύτερη ισότητα από την πρώτη λαµβάνουµε το σφάλµα a ā = (a 1 ā 1 ) + (a ā ) οπότε, κάνοντας χρήση της απόλυτης τιµής, έχουµε για το απόλυτο σφάλµα: a ā a 1 ā 1 + a ā ή ǫ ǫ 1 + ǫ. Παρατηρούµε ότι το απόλυτο σφάλµα του αθροίσµατος είναι µικρότερο από ή ίσο µε το άθροισµα των απολύτων σφαλµάτων. εχόµαστε ως πρόχειρη εκτίµηση του σφάλµατος το άθροισµα των σφαλµάτων και ϑέτουµε ǫ = ǫ 1 + ǫ. Παρατηρούµε ότι το απόλυτο σφάλµα του αθροίσµατος δεν µπορεί να είναι µικρότερο από το απόλυτο σφάλµα στον λιγότερο ακριβή αριθµό. Συνεπώς, δεν ϑα µπορέσουµε ν αυξήσουµε την ακρίβεια του αθροίσµατος αυξάνοντας απλώς την ακρίβεια του άλλου αριθµού. Ως συνέπεια αυτής της παρατήρησης, όταν αθροί- Ϲονται δύο προσεγγιστικοί αριθµοί (1) αφήνουµε τον λιγότερο ακριβή ως έχει, () στρογγυλοποιούµε τον πιο ακριβή αριθµό έτσι ώστε να διαθέτει ένα (ή δύο) πε- ϱισσότερο δεκαδικό ψηφίο από τον προηγούµενο, (3) τους προσθέτουµε και (3) στρογγυλοποιούµε το αποτέλεσµα στο επίπεδο του λιγότερου ακριβή αριθµού. Γενικά, για το άθροισµα ā των προσεγγιστικών αριθµών ā 1, ā,...,ā n έχοµε ότι το απόλυτο σφάλµα του αθροίσµατος δεν υπερβαίνει το άθροισµα των απολύτων σφαλµάτων και δεχόµαστε ως πρόχειρη εκτίµηση την ǫ = ǫ 1 + ǫ + + ǫ n. Οταν όλοι οι προσεγγιστικοί αριθµοί στρογγυλοποιούνται στην tστη δεκαδική ϑέση, τ απόλυτο σφάλµα του αθροίσµατος δεν υπερβαίνει το ǫ = n 1 10 t. Μάλιστα για πολύ µεγάλο n, η στατιστική εκτίµηση του σφάλµατος είναι ǫ = n 1 10 t.
.7. ΣΦ ΑΛΜΑΤΑ ΠΡ ΑΞΕΩΝ 17 Μία πολύ πιο ακριβής εκτίµηση του σφάλµατος είναι δυνατή εφόσον τα πρόση- µα των ατοµικών σφαλµάτων είναι γνωστά. Ο λόγος είναι ότι τότε µπορούµε να λάβουµε υπ όψιν µας την αλληλοεξάλειψη των σφαλµάτων (error cancelation). Παράδειγµα.17 Εστω ότι επιθυµούµε να υπολογίσουµε το άθροισµα 0.173 + 17.45 + 0.000333 + 04.4 + 7.5 + 144. + 0.011 + 0.634 + 0.0771, όπου όλοι οι προσεγγιστικοί αριθµοί εµφανίζονται µόνον µε ορθά σηµαντικά ψηφία. Παρατηρούµε ότι οι αριθµοί 144. και 04.4 έχουν την µικρότερη ακρίβεια απ όλους. Για τον λόγο αυτό στρογγυλοποιούµε όλους τους άλλους σε δύο () µόνον δεκαδικά ψηφία ένα περισσότερο απ ό,τι έχουν οι λιγότεροι ακριβείς αριθµοί. Οπότε έχοµε: 0.17 + 17.45 + 0.00 + 04.4 + 7.5 + 144. + 0.01 + 0.63 + 0.08 = 374.19. Το αποτέλεσµα αυτό το στρογγυλοποιούµε στο επίπεδο των αριθµών 144. και 04.4, δηλαδή σ ένα µόλις δεκαδικό ψηφίο: 374.. Ποιο είναι τ απόλυτο σφάλµα αυτού του αποτελέσµατος; Εξ υποθέσεως, οι αριθµοί 144. και 04.4 εµφανίζονται µε σφάλµατα της τάξης 0.05. Επίσης επειδή στρογγυλοποιήσαµε (ή εξ αρχής είχαµε) επτά (7) αριθµούς σε δύο δεκαδικά ψηφία εισάγαµε σε καθένα εξ αυτών ένα σφάλµα της τάξης 0.005. Άρα έχοµε: 0.05 + 0.005 7 0.14. Στο σφάλµα αυτό ϑα πρέπει να προσθέσουµε και το σφάλµα από την στρογγυλοποίηση του αποτελέσµατος που η ακριβής του τιµή είναι 0.01. Άρα το συνολικό σφάλµα είναι 0.15. Συνεπώς το άθροισµα µας είναι γνωστό ως 374. ± 0.15..7. Αφαίρεση Εστω ότι οι ακριβείς αριθµοί a 1 και a προσεγγίζονται από τους ā 1 και ā µε απόλυτα σφάλµατα ǫ 1 και ǫ αντίστοιχα. Ποιο είναι το σφάλµα ǫ της προσέγγισης του a = a 1 a από το ā = ā 1 ā ; Αφαιρώντας την δεύτερη ισότητα από την πρώτη λαµβάνουµε το σφάλµα a ā = (a 1 ā 1 ) (a ā ) οπότε, κάνοντας χρήση της απόλυτης τιµής, έχοµε για το απόλυτο σφάλµα: a ā a 1 ā 1 + a ā ή ǫ ǫ 1 + ǫ. Εποµένως όπως και στην περίπτωση του αθροίσµατος, το απόλυτο σφάλµα της διαφοράς είναι µικρότερο από ή ίσο µε το άθροισµα των απολύτων σφαλµάτων και δεχόµαστε ως πρόχειρη εκτίµηση του σφάλµατος το άθροισµα των σφαλµάτων ǫ = ǫ 1 + ǫ. Για το σχετικό σφάλµα του αποτελέσµατος έχοµε: δ = ǫ ā = ǫ 1 + ǫ ā 1 ā.
18 ΚΕΦ ΑΛΑΙΟ. ΠΡΟΣΕΓΓΙΣΤΙΚΟ Ι ΑΡΙΘΜΟ Ι ΚΑΙ ΣΦ ΑΛΜΑΤΑ Παρατηρούµε ότι όταν οι αριθµοί ā 1 και ā έχουν παραπλήσιες τιµές, ακόµη και για µικρά απόλυτα σφάλµατα ǫ 1 και ǫ, το σχετικό σφάλµα µπορεί να είναι µεγάλο µε αποτέλεσµα την απώλεια της ακρίβειας του αποτελέσµατος της αφαίρεσης. Οµιλούµε τότε για σφάλµα αλληλοεξάλειψης (cancelation error) το οποίο είναι ένα από τα σοβαρότερα σφάλµατα όσον αφορά στην ορθότητα του τελικού αποτελέσµατος των υπολογισµών 5. Παράδειγµα.18 Εστω οι προσεγγιστικοί αριθµοί ā 1 = 47.13 και ā = 47.111 µε όλα τα ψηφία τους ορθά. Υπολογίζουµε την διαφορά: ā 1 ā = 47.13 47.111 = 0.01 Εξ υποθέσεως, ǫ 1 = ǫ = 0.0005 και άρα το απόλυτο σφάλµα της διαφοράς είναι ǫ = 0.0005 = 0.001. Συνεπώς η διαφορά που υπολογίσαµε έχει δύο µόνον σηµαντικά ψηφία εκ των οποίων το δεύτερο είναι αµφίβολο λόγω του ǫ. Τα σχετικά σφάλµατα των αρχικών αριθµών είναι δ 1 = 0.0005 47.13 0.00001 και δ = 0.0005 47.111 0.00001 αλλά το σχετικό σφάλµα της διαφοράς είναι δ = 0.001 0.01 0.05, δηλαδή περίπου 5000 µεγαλύτερο από τα αρχικά. Τα ευρήµατά µας για τις πράξεις της πρόσθεσης και αφαίρεσης συνοψίζονται στο κάτωθι ϑεώρηµα: Θεώρηµα.1 Για τους προσεγγιστικούς αριθµούς ā 1, ā,...,ā n, ϑεώρησε το αλγε- ϐρικό τους άθροισµα ā = ±ā 1 ± ā ± ± ā n. Το απόλυτο σφάλµα του αλγεβρικού αθροίσµατος δεν υπερβαίνει το άθροισµα των απολύτων σφαλµάτων των προσεγγιστικών αριθµών: ǫ ǫ 1 + ǫ + + ǫ n. Ως πρόχειρη εκτίµηση του ǫ µπορούµε συνεπώς να δεχθούµε ότι ǫ = ǫ 1 + ǫ + + ǫ n. 5 Προσοχή! Άλλο η αλληλοεξάλειψη των σφαλµάτων στην σελίδα 17 και άλλο το σφάλµα αλληλοεξάλειψης.
.7. ΣΦ ΑΛΜΑΤΑ ΠΡ ΑΞΕΩΝ 19.7.3 Πολλαπλασιασµός Εστω ότι οι ακριβείς αριθµοί a 1 και a προσεγγίζονται από τους ā 1 και ā µε σχετικά σφάλµατα δ 1 και δ αντίστοιχα. Ποιο είναι το σχετικό σφάλµα δ της προσέγγισης του a = a 1 a από το ā = ā 1 ā ; Ας δεχτούµε, χωρίς απώλεια της γενικότητας, ότι a 1 = ā 1 + ˆǫ 1 και a = ā + ˆǫ, όπου ˆǫ 1 ā 1 δ 1 και ˆǫ ā δ. Εχοµε a 1 a = ā 1 ā + ˆǫ 1 ā + ˆǫ ā 1 + ˆǫ 1 ˆǫ και, κάνοντας χρήση απόλυτων τιµών, a 1 a ā 1 ā ˆǫ 1 ā + ˆǫ ā 1 + ˆǫ 1 ˆǫ. Επειδή ο όρος ˆǫ 1 ˆǫ είναι πολύ µικρός, δεχόµαστε a 1 a ā 1 ā ˆǫ 1 ā + ˆǫ ā 1. ιαιρούµε την ανισότητα µε την ισότητα ā = ā 1 ā οπότε έχοµε: δ = a ā ā ˆǫ ā 1 + ˆǫ 1 ā ā 1 ā = ˆǫ ā + ˆǫ 1 ā 1 δ 1 + δ Συνεπώς το σχετικό σφάλµα του γινοµένου δεν υπερβαίνει το άθροισµα των σχετικών σφαλµάτων των παραγόντων του. εχόµαστε αυτό το άθροισµα ως εκτίµηση του σχετικού σφάλµατος του γινοµένου: δ = δ 1 + δ Το αποτέλεσµα αυτό γενικεύεται και για γινόµενο n αριθµών. Ετσι το σχετικό σφάλµα του γινοµένου ā = ā 1 ā ā n εκτιµάται σε δ = δ 1 + δ + + δ n. Το απόλυτο σφάλµα του γινοµένου εκτιµάται από την σχέση ǫ = ā δ. Οπως και στην περίπτωση του αλγεβρικού αθροίσµατος, όταν δεχόµαστε την πιο πάνω εκτίµηση του σχετικού σφάλµατος, η ακρίβεια µε την οποία υπολογίζουµε το γινόµενο καθορίζεται από τον λιγότερο ακριβή παράγοντά του. Παράδειγµα.19 Εστω οι προσεγγιστικοί αριθµοί ā 1 = 1. και ā = 73.56 µε όλα τα ψηφία τους ορθά. Επιθυµούµε να υπολογίσουµε το γινόµενο ā = ā 1 ā. Εχοµε ā = ā 1 ā = 897.43. Από την ορθότητα των ψηφίων έπεται ότι ǫ 1 = 0.05 και ǫ = 0.005. Άρα δ = δ 1 + δ = 0.05 1. + 0.005 73.56 = 0.004. Συνεπώς το απόλυτο σφάλµα του γινοµένου εκτιµάται σε ǫ = ā δ = 897.43 0.004 = 3.769, που στρογγυλοποιείται σε 4. Το γινόµενο 897.43 έχει δηλαδή µόνον δύο ορθά ψηφία, τα 8 και 9, ενώ το 7 είναι αµφίβολο. Γράφουµε: a = 897 ± 4.
0 ΚΕΦ ΑΛΑΙΟ. ΠΡΟΣΕΓΓΙΣΤΙΚΟ Ι ΑΡΙΘΜΟ Ι ΚΑΙ ΣΦ ΑΛΜΑΤΑ Παράδειγµα.0 Εστω οι προσεγγιστικοί αριθµοί ā 1 =.5 και ā = 7.397 µε όλα τα ψηφία τους ορθά. Επιθυµούµε να υπολογίσουµε το γινόµενο ā = ā 1 ā. Από την ορθότητα των ψηφίων έπεται ότι ǫ 1 = 0.05 και ǫ = 0.0005. Άρα ο αριθµός ā 1 είναι ο λιγότερο ακριβής και καθορίζει την ακρίβεια του αποτελέσµατος. Για τον λόγο αυτό, όπως και στην περίπτωση του αθροίσµατος, στρογγυλοποιούµε τον πιο ακριβή αριθµό σε έναν αριθµό ā = 7.4 µε ένα δεκαδικό ψηφίο περισσότερο από τον λιγότερο ακριβή, οπότε έχοµε ā 1 ā =.5 7.4 = 181. Επειδή ο λιγότερο ακριβής παράγων έχει δύο µόνον ορθά σηµαντικά ψηφία, το τελευταίο 1 του αποτελέσµατος είναι αµφίβολο. Το σχετικό σφάλµα είναι δ = δ 1 + δ = 0.05.5 + 0.0035 7.4 0.0. Οπότε, τ απόλυτο σφάλµα είναι ǫ = 181 0.0 3.6 και επιβεβαιώνει ότι το γινόµενο έχει δύο µόνον ορθά σηµαντικά ψηφία. Γράφουµε συνεπώς a = 181 ± 4, αφού στρογγυλοποιήσουµε τ απόλυτο σφάλµα..7.4 ιαίρεση Εστω ότι οι ακριβείς αριθµοί a 1 και a προσεγγίζονται από τους ā 1 και ā µε απόλυτα σφάλµατα ǫ 1 και ǫ αντίστοιχα. Ποιο είναι το σχετικό σφάλµα δ της προσέγγισης του a = a 1 a από το ā = ā1 ā ; Θα ϑεωρήσουµε ότι a 1 = ā 1 + ˆǫ 1 και a = ā + ˆǫ, όπου ˆǫ 1 ǫ 1 και ˆǫ ǫ. Εχοµε τότε a ā = a 1+ ˆǫ 1 a + ˆǫ a 1 a = a ˆǫ 1 ā 1 ˆǫ ā1 a (ā + ˆǫ. ιαιρώντας µε την ισότητα ā = ) ā και κάνοντας χρήση της απόλυτης τιµής λαµβάνουµε a ā = ˆǫ 1 ā 1 ˆǫ = a ā ā ā 1 ( a + ˆǫ ) a + ˆǫ ˆǫ a1 1 ˆǫ. ā ā Επειδή το ˆǫ είναι µικρό σε σχέση µε το ā, ā + ˆǫ 1. Άρα δ = a ā ā ˆǫ 1 ā 1 ˆǫ ā ˆǫ 1 ā 1 + ˆǫ ā ǫ 1 ā 1 + ǫ ā = δ 1 + δ. Συµπεραίνουµε ότι το σχετικό σφάλµα του πηλίκου δεν υπερβαίνει το άθροισµα των σχετικών σφαλµάτων του διαιρέτη και του διαιρετέου. Ως εκτίµηση του σφάλµατος λαµβάνουµε το άθροισµα των σφαλµάτων: δ = δ 1 + δ.
.7. ΣΦ ΑΛΜΑΤΑ ΠΡ ΑΞΕΩΝ 1 Ο υπολογισµός του απολύτου σφάλµατος γίνεται από την σχέση ǫ = ā δ, οπότε ǫ = ā1 ā (δ 1 + δ ). Παράδειγµα.1 Εστω οι προσεγγιστικοί αριθµοί ā 1 = 5.7 και ā = 3.6 µε όλα τα ψηφία τους ορθά. Επιθυµούµε να υπολογίσουµε το πηλίκο ā = ā 1 ā. Εχοµε ā = ā 1 ā = 5.7 3.6 = 7.14. Λόγω της ορθότητας των ψηφίων, έχοµε ǫ 1 = ǫ = 0.05 και άρα δ = δ 1 +δ = (0.05 5.7)+ (0.05 3.6) = 0.016. Συνεπώς το απόλυτο σφάλµα του πηλίκου είναι ǫ = 7.14 0.016 = 0.11. Το πηλίκο που υπολογίσαµε έχει µόνον ένα ορθό σηµαντικό ψηφίο το 7. Γράφουµε a = 7 ± 0.5. Το κάτωθι ϑεώρηµα συνοψίζει τα ευρήµατά µας για τον πολλαπλασιασµό και την διαίρεση. Θεώρηµα. Για τους προσεγγιστικούς αριθµούς ā 1, ā,...,ā n, ϑεώρησε το γινό- µενό τους ā = ā 1 ā ā n. Το σχετικό σφάλµα του γινοµένου δεν υπερβαίνει το άθροισµα των απολύτων σφαλ- µάτων των προσεγγιστικών αριθµών: δ δ 1 + δ + + δ n. Ως εκτίµηση του δ µπορούµε συνεπώς να δεχθούµε ότι δ = δ 1 + δ + + δ n. Οµοίως, το σχετικό σφάλµα του πηλίκου ā 1 ā δεν υπερβαίνει το άθροισµα των απολύτων σφαλµάτων των προσεγγιστικών αριθµών: δ δ 1 + δ. Ως εκτίµηση του δ µπορούµε συνεπώς να δεχθούµε ότι δ = δ 1 + δ. Προσέχουµε την διαφορά µεταξύ πρόσθεσης/αφαίρεσης από την µία πλευρά και πολλαπλασιασµού/διαίρεσης από την άλλη: Στην πρώτη περίπτωση τ απόλυτα σφάλµατα αθροίζονται, ενώ στην δεύτερη τα σχετικά σφάλµατα είναι αυτά που αθροίζονται.
ΚΕΦ ΑΛΑΙΟ. ΠΡΟΣΕΓΓΙΣΤΙΚΟ Ι ΑΡΙΘΜΟ Ι ΚΑΙ ΣΦ ΑΛΜΑΤΑ.8 Σφάλµατα από τις Περιορισµένες υνατότητες του Υπολογιστή Για να διευκολύνουµε την παρουσίαση ϑα υποθέσουµε την ύπαρξη υπολογιστή που αποθηκεύει τους αριθµούς σε µορφή κανονικοποιηµένης υποδιαστολής στο δεκαδικό σύστηµα 6 : ā = ±(0.d 1 d...d i...d n ) 10 e Θα υποθέσουµε ότι ο εκθέτης e κυµαίνεται στο διάστηµα [ 9, +9] και ότι η ακρί- ϐεια αναπαράστασης (precision) του συστήµατος είναι n = 4. Παράδειγµα. Στον ακόλουθο πίνακα δίδονται παραδείγµατα δεκαδικών αριθµών και η αναπαράστασή τους στον υποθετικό υπολογιστή: Αριθµός Παράστασή του στον Η/Υ Σχόλιο 48.5 0.4850 10 13.456 0.135 10 3 στρογγυλοποίηση 13456789.134 0.134 10 9 0.000001345678 0.134 10 5 0.9999999999999 0.1 10 1 στρογγυλοποίηση 134567890.431 αδύνατη (απαιτεί e = 10) 0.000000000567 αδύνατη (απαιτεί e = 10) Η απαίτηση µεγαλύτερου εκθέτη απ ό,τι παρέχει το σύστηµα οδηγεί στην αδυναµία αναπαράστασης του αριθµού. Η κατάσταση αυτή ονοµάζεται υπερ(εκ)χείλιση (overflow). Οµοίως η απαίτηση εκθέτη µικρότερου απ ό,τι παρέχει το σύστηµα οδηγεί επίσης στην αδυναµία παράστασης του αριθµού. Η κατάσταση αυτή ο- νοµάζεται υπο(εκ)χείλιση (underflow). Η πρώτη περίπτωση αντιστοιχεί σε οξύ πρόβληµα και η περαιτέρω επεξεργασία διακόπτεται µε κάποιο αντίστοιχο µήνυµα από τον υπολογιστή. Η δεύτερη περίπτωση αποτελεί λιγότερο οξύ πρόβληµα κα- ϑώς αφορά ουσιαστικά το γεγονός ότι ο µη-δυνάµενος να αναπαρασταθεί αριθµός ευρίσκεται πολύ κοντά στο να είναι µηδέν. Στην περίπτωση αυτή υπάρχει το ενδεχόµενο να εκπροσωπηθεί αυτόµατα ως µηδέν στην µνήµη και η διαδικασία να συνεχισθεί σιωπηρά εκ µέρους του υπολογιστή. Οι περισσότεροι πραγµατικοί υπολογιστές χρησιµοποιούν κατά την εκτέλεση α- ϱιθµητικών πράξεων αριθµητικούς καταχωρητές (arithmetic registers) οι οποίοι επιτρέπουν την αναπαράσταση των ενδιάµεσων αποτελεσµάτων µε περισσότερα ψηφία στο κλασµατικό τους µέρος, µε µεγαλύτερη δηλαδή ακρίβεια. Ετσι ϑα ϑεωρήσουµε ότι ο υποθετικός µας υπολογιστής χρησιµοποιεί n = 8 ψηφία. Οι 6 Πραγµατικοί υπολογιστές χρησιµοποιούν το δυαδικό σύστηµα (Βλέπε.10). Τα προβλήµατα που αντιµετωπίζουµε στον υποθετικό µας υπολογιστή έχουν τ αντίστοιχά τους και στους πραγµατικούς υπολογιστές.
.8. ΣΦ ΑΛΜΑΤΑ ΑΠ Ο ΤΙΣ ΠΕΡΙΟΡΙΣΜ ΕΝΕΣ ΥΝΑΤ ΟΤΗΤΕΣ ΤΟΥ ΥΠΟΛΟΓΙΣΤ Η3 καταχωρητές έχουν δηλαδή διπλή ακρίβεια (double precision) σε σύγκριση µε την απλή µνήµη. Οταν κάποιος αριθµός µεταφέρεται από καταχωρητή στην απλή µνήµη, ο υπολογιστής τον στρογγυλοποιεί σε n = 4 δεκαδικά ψηφία. Παράδειγµα.3 Θα εξετάσουµε την πρόσθεση δύο αριθµών, των 11 9 και 1 3, σ έναν τέτοιον υποθετικό υπολογιστή. Η αναπαράσταση αυτών των αριθµών στην µνήµη του υπολογιστή είναι 0.1 10 1 και 0.3333 10 0 αντίστοιχα. Για να εκτελέσει το σύστηµα την πράξη της πρόσθεσης ϑα πρέπει πρώτα να εξασφαλίσει ότι ο εκθέτης του 10 είναι ο ίδιος σε αµφότερες τις αναπαραστάσεις. Εχοµε λοιπόν 0.1 10 1 + 0.0333[3] 10 1 0.1555[3] 10 1 (στους καταχωρητές) 0.1555 10 1 (στην µνήµη) Τα ψηφία που εµφανίζονται σε [] προέρχονται από το γεγονός ότι οι καταχωρητές έχουν διπλή ακρίβεια. Επειδή 11 9 + 1 3 = 14 9, η ορθή αναπαράσταση του αποτελέσµατος είναι 0.1556 101. Η απλή πρόσθεση δύο αριθµών σε µορφή κινητής υποδιαστολής έχει δηλαδή εισάγει σφάλµα στο τέταρτο σηµαντικό ψηφίο λόγω των στρογγυλοποιήσεων. Παράδειγµα.4 Ας εξετάσουµε τώρα την πρόσθεση των αριθµών 4, 0.0004, 0.0004, 0.0004 και 0.0004. Επειδή οι αριθµητικές πράξεις στους υπολογιστές εµπλέκουν πάντοτε δύο µόνον αριθµητικές τιµές έχοµε: 0.4000 10 1 + 0.0000[4] 10 1 0.4000[4] 10 1 (καταχωρητές) 0.4000 10 1 (µνήµη) 0.4000 10 1 + 0.0000[4] 10 1 0.4000[4] 10 1 (καταχωρητές) 0.4000 10 1 (µνήµη) 0.4000 10 1 + 0.0000[4] 10 1 0.4000[4] 10 1 (καταχωρητές) 0.4000 10 1 (µνήµη) 0.4000 10 1 + 0.0000[4] 10 1 0.4000[4] 10 1 (καταχωρητές) 0.4000 10 1 (µνήµη) Το αποτέλεσµα είναι 0.4000 10 1 ή 4.0 ενώ ϑα έπρεπε να είναι 4.0016 ή 4.00 όταν στρογγυλοποιηθεί σε τέσσερα σηµαντικά ψηφία. Παράδειγµα.5 Ας εξετάσουµε τώρα την πρόσθεση των αριθµών του προηγουµένου παραδείγµατος µε αντίστροφη σειρά. Εχοµε: 0.4000 10 3 + 0.4000 10 3 0.8000 10 3 (καταχωρητές) 0.8000 10 3 (µνήµη) 0.8000 10 3 + 0.4000 10 3 1.000 10 3 (καταχωρητές) 0.100[0] 10 (καταχωρητές) 0.100 10 (µνήµη) 0.100 10 + 0.0400[0] 10 0.1600 10 (καταχωρητές)
4 ΚΕΦ ΑΛΑΙΟ. ΠΡΟΣΕΓΓΙΣΤΙΚΟ Ι ΑΡΙΘΜΟ Ι ΚΑΙ ΣΦ ΑΛΜΑΤΑ 0.1600 10 (µνήµη) 0.0001[6] 10 1 + 0.4000 10 1 0.4001[6] 10 1 (καταχωρητές) 0.400 10 1 (µνήµη) Στην περίπτωση αυτή λαµβάνεται το αποτέλεσµα 4.00 µε τέσσερα σηµαντικά ψηφία. Τα δύο τελευταία παραδείγµατα αναδεικνύουν το γεγονός ότι η πρόσθεση ϑετικών αριθµών ϑα πρέπει να εκτελείται, όποτε αυτό είναι δυνατό, σε αύξουσα σειρά τιµών για να ελαχιστοποιούνται τα σφάλµατα στρογγυλοποίησης. Οµοίως, η πρόσθεση αρνητικών τιµών ϑα πρέπει να γίνεται σε ϕθίνουσα σειρά τιµών. Το επόµενο παράδειγµα αναδεικνύει το πολύ µεγαλύτερο πρόβληµα που προκύπτει κατά την αφαίρεση αριθµών µε κοντινές τιµές. Παράδειγµα.6 Θεώρησε την αφαίρεση του 1 41 από το 5 17. Στον υποθετικό µας υ- πολογιστή, οι αριθµοί αυτοί αντιπροσωπεύονται από τους 0.97 10 0 και 0.941 10 0 αντίστοιχα. Εχοµε: 0.941 10 0 0.97 10 0 0.0014 10 0 (καταχωρητές) 0.1400 10 (µνήµη) Επειδή όµως 5 17 1 41 = 1 697, το αποτέλεσµα αυτό έχει την αναπαράσταση 0.1435 10 στον υπολογιστή µας και όχι την 0.1400 10 που παρήχθη µε υπολογισµούς κινητής υποδιαστολής. Το σχετικό σφάλµα είναι δ.4% και συνεπώς η ακρίβεια του αποτελέσµατος χαµηλή. Οπως προκύπτει από το παράδειγµα, η αφαίρεση σχεδόν ισότιµων αριθµών, αλλά και γενικότερα η πρόσθεση αριθµών ανάµεικτα ϑετικών και αρνητικών, µπορεί να οδηγήσει σε σοβαρή απώλεια της ακρίβειας στο τελικό αποτέλεσµα. Προφανώς τα ίδια ϕαινόµενα µπορούν ν αναπαραχθούν (για άλλους ϕυσικά αριθ- µούς) και σε υπολογιστές (όπως οι πραγµατικοί) µε µεγαλύτερη ακρίβεια από αυτή των τεσσάρων ψηφίων..9 Εκχειλίσεις κατά την Επίλυση Τετραγωνικής Εξίσωσης Θεώρησε, για a 0 την τετραγωνική εξίσωση ax + bx + c = 0, η οποία, ως γνωστόν, έχει δύο πραγµατικές λύσεις (ϱίζες) οι οποίες δίδονται από τον τύπο: x 1, = b ± b 4ac, a