next up previous contents
Next: Μαθηματικό Λογισμικό Up: Αριθμητική Υπολογιστή Previous: Αριθμητική Κινητής Υποδιαστολής   Contents

Απώλεια σημαντικών ψηφίων

Η στρογγύλευση δεν είναι το μόνο αναπόφευκτο πρόβλημα στην αριθμητική πεπερασμένης ακρίβειας. Η αφαίρεση μεταξύ δύο 49#49-ψήφιων αριθμών που έχουν το ίδιο πρόσημο και παρόμοιο μέγεθος έχει αποτέλεσμα αριθμό με λιγότερα από 49#49 σημαντικά ψηφία, και επομένως μπορεί να αναπαρασταθεί ακριβώς (αρκεί οι δύο εμπλεκόμενοι αριθμοί να μη διαφέρουν σε μέγεθος περισσότερο από από έναν παράγοντα δύο). Ο λόγος είναι ότι τα πρώτα στη σειρά σημαντικά ψηφία των δύο αριθμών αλληλοαναιρούνται (δηλαδή η διαφορά τους είναι μηδέν). Για παράδειγμα, παίρνοντας πάλι 100#100 και 166#166, αν 167#167 και 180#180, τότε παίρνουμε το αποτέλεσμα 181#181, το οποίο, με μόνο τρία σημαντικά ψηφία, μπορεί να παρασταθεί ακριβώς. Πάρα την ακρίβεια του αποτελέσματος, όμως, τέτοια απώλεια σημαντικών ψηφίων συχνά συνεπάγεται μια σημαντική απώλεια πληροφορίας. Το πρόβλημα είναι ότι οι δυο όροι της διαφοράς είναι συχνά αβέβαιοι, εξαιτίας της στρογγύλευσης ή άλλων προηγούμενων σφαλμάτων. Σ' αυτήν την περίπτωση η σχετική αβεβαιότητα στη διαφορά μπορεί να είναι μεγάλη. Πρακτικά, αν δύο αριθμοί είναι σχεδόν ίσοι μέσα στα όρια της ακρίβειας του σφάλματος στρογγύλευσης, τότε θεωρώντας τη διαφορά τους παίρνουμε το σφάλμα στρογγύλευσης ως αποτέλεσμα. Σαν ένα απλό παράδειγμα, αν 143#143 είναι ένας θετικός αριθμός λίγο μικρότερος από τη μονάδα στρογγύλευσης 182#182 τότε 183#183 με αριθμητική κινητής υποδιαστολής, που είναι ορθό για τους πραγματικούς όρους της τελικής αφαίρεσης, αλλά το αληθές αποτέλεσμα του όλου υπολογισμού, που είναι 184#184, έχει τελείως χαθεί. Η αφαίρεση αυτή καθεαυτή δεν είναι λανθασμένη, απλά δείχνει την απώλεια της πληροφορίας που έχει ήδη συμβεί. Φυσικά, η απώλεια της πληροφορίας δεν είναι πάντα πλήρης, αλλά παραμένει το γεγονός ότι τα ψηφία που χάνονται κατά την απώλεια αυτή είναι τα πιο σημαντικά, τα πρώτα στη σειρά ψηφία, ενώ τα ψηφία που χάνονται στη στρογγύλευση είναι τα λιγότερο σημαντικά, τα τελευταία στη σειρά ψηφία. Εξαιτίας αυτού, υπολογισμοί μικρών ποσοτήτων μέσω διαφοράς μεγάλων ποσοτήτων δεν είναι γενικά καλή ιδέα, γιατί είναι δυνατόν το σφάλμα στρογγύλευσης να κυριαρχεί στο αποτέλεσμα. Για παράδειγμα, αθροίζοντας τους όρους σειράς με όρους εναλλάξ θετικούς και αρνητικούς, όπως

185#185

για 186#186, μπορεί να δώσει καταστροφικά αποτελέσματα εξαιτίας της απώλειας σημαντικών ψηφίων (δείτε Πρόβλημα σε Υπολογιστή 1.9).

27#27

Παράδειγμα 1.9   Απώλεια σημαντικών ψηφίων Η απώλεια σημαντικών ψηφίων είναι ένα θέμα που δεν αφορά μόνο τους υπολογισμούς στον υπολογιστή, αλλά επίσης οποιαδήποτε κατάσταση στην οποία υπάρχει περιορισμένη ακρίβεια, όπως στις πειραματικές μετρήσεις ή στα εργαστηριακά πειράματα. Για παράδειγμα, αν για να υπολογίσουμε την απόσταση της Αθήνας από την Πάτρα χρησιμοποιήσουμε τις αντίστοιχες αποστάσεις από τη Θεσσαλονίκη, θα πάρουμε ένα χαμηλής ακρίβειας αποτέλεσμα, εκτός κι αν οι τελευταίες αποστάσεις είναι γνωστές με εξαιρετικά υψηλή ακρίβεια. Σαν ένα άλλο παράδειγμα, για πολλά χρόνια οι φυσικοί προσπαθούσαν να υπολογίσουν την ολική ενέργεια του ατόμου του ηλίου από πρώτες αρχές χρησιμοποιώντας τη 187#187 τεχνική. Η ακρίβεια αυτών των υπολογισμών εξαρτάται κυρίως από τον αριθμό των χρησιμοποιούμενων τυχαίων πειραμάτων. Οσο ταχύτεροι γίνονται οι υπολογιστές και οι υπολογιστικές τεχνικές τελειοποιούνται, τόσο το αποτέλεσμα βελτιώνεται. Η ολική ενέργεια είναι ίση με το άθροισμα της κινητικής ενέργειας και της δυναμικής ενέργειας, που υπολογίζονται ξεχωριστά, και έχουν αντίθετα πρόσημα. Ετσι η ολική ενέργεια υπολογίζεται ως διαφορά και υπόκειται στην απώλεια σημαντικών ψηφίων. Ο Πίνακας 1.2 δίνει μία ακολουθία από τιμές που λήφθηκαν κατά τη διάρκεια πολλών ετών (αυτά τα δεδομένα λήφθηκαν από τον 188#188). Κατά τις μετρήσεις οι υπολογισμένες τιμές για την κινητική και τη δυναμική ενέργεια άλλαξαν κατά μόνον 189#189, εν τούτοις το υπολογισμένο αποτέλεσμα της ολικής ενέργειας άλλαξε κατά 190#190. Τα ένα η δύο σημαντικά ψηφία στους πρώτους υπολογισμούς χάθηκαν τελείως στην επακολουθήσασα αφαίρεση.

Table: Υπολογισμένες τιμές για την ολική ενέργεια του ατόμου του ηλίου
Ετος Κινητική Δυναμική Ολική
1971 13.0 -14.0 -1.0
1977 12.76 -14.02 -1.26
1980 12.22 -14.35 -2.13
1985 12.28 -14.65 -2.37
1988 12.40 -14.84 -2.44



27#27


27#27

Παράδειγμα 1.10   Τύπος τριωνύμου. Η απώλεια σημαντικών ψηφίων και άλλες αριθμητικές δυσκολίες δε χρειάζεται να εμπλέκουν μακρά σειρά υπολογισμών. Για παράδειγμα, η χρήση του κλασικού τύπου για τις ρίζες μιάς δευτεροβάθμιας εξίσωσης, εμπεριέχει παγίδες. Οπως κάθε μαθητής γνωρίζει, οι δύο ρίζες μίας εξίσωσης δεύτερου βαθμού

191#191

δίνονται από

192#192

Για κάποιες τιμές των συντελεστών, αφελής χρήση αυτού του τύπου με αριθμούς κινητής υποδιαστολής μπορεί να προκαλέσει υπερχείλιση, υποεκχείλιση , ή καταστροφική απώλεια σημαντικών ψηφίων. Για παράδειγμα, αν οι συντελεστές είναι πολύ μεγάλοι ή πολύ μικροί, τότε το 193#193 ή το 194#194 μπορεί να προκαλέσουν υπερχείλιση ή υποεκχείλιση. Η πιθανότητα να προκληθεί υπερχείλιση μπορεί να αποφευχθεί αν αλλάξουμε την κλίμακα των συντελεστών, για παράδειγμα διαιρώντας και τους τρεις συντελεστές με το συντελεστή με το μεγαλύτερο μέτρο. Μία τέτοια μετατροπή δεν αλλάζει τις ρίζες της δευτεροβάθμιας εξίσωσης, αλλά τώρα ο μεγαλύτερος συντελεστής είναι μονάδα και υπερχείλιση δεν μπορεί να συμβεί στον υπολογισμό του 193#193 ή του 194#194. Η μετατροπή αυτή, όμως, δεν εξαφανίζει την πιθανότητα υποεκχείλισης, αλλά εμποδίζει άσκοπες υποεκχειλίσεις, οι οποίες έτσι κι αλλιώς θα συνέβαιναν όταν και οι τρεις συντελεστές είναι πολύ μικροί. Απώλεια σημαντικών ψηφίων μεταξύ 195#195 και της τετραγωνικής ρίζας μπορεί να αποφευχθούν αν υπολογίσουμε τη μία ρίζα χρησιμοποιώντας τον εναλλακτικό τύπο

196#196

ο οποίος έχει αντίθετα πρόσημα σε σχέση με τον κλασικό τύπο. Αλλά η απώλεια σημαντικών ψηφίων μέσα στην τετραγωνική ρίζα δεν μπορεί να αποφευχθεί εύκολα χωρίς να χρησιμοποιηθεί μεγαλύτερη ακρίβεια (αν η διακρίνουσα είναι μικρή σε σχέση με τους συντελεστές, τότε οι δύο ρίζες είναι κοντά η μία στην άλλη, και το πρόβλημα είναι ενδογενώς κακής κατάστασης). Σαν ένα παράδειγμα, θα χρησιμοποιήσουμε αριθμητική τεσσάρων σημαντικών ψηφίων με προσέγγιση στον πλησιέστερο, για τον υπολογισμό των ριζών της δευτεροβάθμιας εξίσωσης που έχει συντελεστές 197#197, 198#198 και 199#199. Για σύγκριση, οι ορθές ρίζες με προσέγγιση δέκα σημαντικών ψηφίων είναι

200#200

Υπολογίζοντας τη διακρίνουσα με προσέγγιση τεσσάρων σημαντικών ψηφίων έχουμε

201#201

έτσι ώστε

202#202

KATI MAS XRVSTANE EDV... TOYS TO EXV PEI KAI TO FTIAXNOYNE...


27#27

Παράδειγμα 1.11   Προσέγγιση με Πεπερασμένες Διαφορές. Θεωρείστε την προσέγγιση με πεπερασμένες διαφορές της πρώτης παραγώγου

203#203

Θέλουμε το 63#63 να είναι μικρό ώστε η προσέγγιση να είναι ακριβής, αλλά αν το 63#63 είναι πολύ μικρό, τότε το 204#204 μπορεί να μη διαφέρει από το 205#205 Ακόμη και αν 206#206, μπορεί να έχουμε 207#207 αν η 51#51 μεταβάλλεται αργά. Σε οποιαδήποτε περίπτωση μπορεί να περιμένουμε κάποια απώλεια σημαντικών ψηφίων στον υπολογισμό της διαφοράς 208#208 Γι' αυτό το λόγο, υπάρχει κάποια εξισορρόπηση μεταξύ σφάλματος αποκοπής και σφάλματος στρογγύλευσης επιλέγοντας το μέγεθος του 63#63. Αν το σχετικό σφάλμα στις τιμές της συνάρτησης φράσσεται από το 143#143, τότε το σφάλμα στρογγύλευσης στη τιμή της παραγώγου φράσσεται από 209#209 Το ανάπτυγμα της σειράς 210#210

211#211

δίνει μία εκτίμηση 212#212 για το σφάλμα αποκοπής, όπου το 213#213 είναι ένα φράγμα για το 214#214. Το ολικό σφάλμα φράσσεται επομένως από

215#215

το οποίο ελαχιστοποιείται όταν

216#216

Αν υποθέσουμε ότι οι τιμές της συνάρτησης είναι ακριβείς στην ακρίβεια του υπολογιστή, και ότι οι 51#51 και 217#217 έχουν περίπου το ίδιο μέγεθος, τότε θεωρούμε τον πρακτικό κανόνα που είναι συνήθως ο καλύτερος για να διαταράξουμε τα μισά περίπου ψηφία του 33#33 παίρνοντας

218#218

Ενα τυπικό παράδειγμα φαίνεται στο Σχήμα 1.4, όπου το σφάλμα ... ΠΡΟΣΟΧΗ!!! ΚΑΤΙ ΧΡΩΣΤΑΝΕ ΚΙ ΕΔΩ!!!

Figure: Σφάλμα στην προσέγγιση με πεπερασμένες διαφορές ως συνάρτηση της παραμέτρου διακριτοποίησης.
73#73

Το σφάλμα στρογγύλευσης μπορεί να ελαττωθεί χρησιμοποιώντας υψηλότερης ακρίβειας αριθμητική. Το σφάλμα αποκοπής μπορεί να ελαττωθεί χρησιμοποιώντας έναν πιο ακριβή τύπο, όπως η προσέγγιση με κεντρικές διαφορές (δείτε Κεφάλαιο 8.7.1)

219#219


27#27

Παράδειγμα 1.12   Τυπική απόκλιση. Ο αριθμητικός μέσος μιας πεπερασμένης ακολουθίας πραγματικών τιμών 220#220 ορίζεται από

221#221

και η τυπική απόκλιση ορίζεται από

222#222

Η χρήση αυτών των τύπων απαιτεί δύο διαδικασίες διαμέσου των δεδομένων: μία για τον υπολογισμό του αριθμητικού μέσου, και μία για τον υπολογισμό της τυπικής απόκλισης. Για καλύτερη απόδοση είναι δελεαστική η χρησιμοποίηση του μαθηματικά ισοδύναμου τύπου

223#223

για τουν υπολογισμό της τυπικής απόκλισης, αφού και ο αριθμητικος μέσος και το άθροισμα των τετραγώνων μπορούν να υπολογιστούν με μία μόνο διαδικασία μέσω των δεδομένων. Δυστυχώς, η απλή απώλεια σημαντικών ψηφίων στο τέλος της μιας μόνο διαδικασίας διαμέσου των δεδομένων, είναι συχνά πολύ πιο καταστροφική αριθμητικά από όλες τις απώλειες σημαντικών ψηφίων από τις δύο διαδικασίες διαμέσου των δεδομένων. Το πρόβλημα είναι ότι οι δύο ποσότητες που αφαιρούνται στην απλή διαδικασία, είναι δυνατόν να είναι σχετικά μεγάλες και σχεδόν ίσες, και επομένως το σχετικό σφάλμα της διαφοράς μπορεί να είναι μεγάλο (πράγματι, το αποτέλεσμα μπορεί να είναι ακόμη και αρνητικό, προκαλώντας αποτυχία στην εύρεση της τετραγωνικής ρίζας).


27#27

Παράδειγμα 1.13   Υπολογισμός Υπολοίπων. Είναι συχνά δύσκολο να καθορίσει κανείς την ακρίβεια ενός υπολογισμού, αν χρησιμοποιείται μόνο η ίδια ακρίβεια με αυτή του ίδιου του υπολογισμού. Ισως αυτή η παρατήρηση να μην ξαφνιάσει: Αν γνωρίζαμε το πραγματικό σφάλμα, θα μπορούσαμε καταρχήν να το χρησιμοποιήσουμε για να πάρουμε ένα πιο ακριβές αποτέλεσμα. Σαν ένα απλό παράδειγμα, ας υποθέσουμε ότι λύνουμε τη βαθμωτή γραμμική εξίσωση 224#224 ως προς τον άγνωστο 33#33, και παίρνουμε μία προσέγγιση 47#47. Σαν ένα μέτρο ποιότητας της λύσης, θέλουμε να υπολογίσουμε το υπόλοιπο 225#225. Στην αριθμητική κινητής υποδιαστολής,

226#226

Για κάποιο 227#227. Ετσι

228#228

όπου 229#229 Αλλά το 230#230 μπορεί να είναι τόσο μεγάλο όσο το 231#231, το οποίο μπορεί να είναι τόσο μεγάλο όσο το 29#29. Γι' αυτό το λόγο μεγαλύτερη ακρίβεια μπορεί να είναι απαραίτητη για να υπολογιστεί ένα υπόλοιπο 29#29 που θα έχει έννοια.


27#27


next up previous contents
Next: Μαθηματικό Λογισμικό Up: Αριθμητική Υπολογιστή Previous: Αριθμητική Κινητής Υποδιαστολής   Contents
Manolis Vavalis 2000-03-24