राउंड-ऑफ़ एरर
कम्प्यूटिंग में, एक राउंडऑफ़ त्रुटि,[1] इसे पूर्णांकन त्रुटि भी कहा जाता है,[2] सटीक अंकगणित का उपयोग करके किसी दिए गए कलन विधि द्वारा उत्पादित परिणाम और परिमित-परिशुद्धता, गोलाई अंकगणित का उपयोग करके समान एल्गोरिदम द्वारा उत्पादित परिणाम के बीच का अंतर है।[3] पूर्णांकन त्रुटियाँ वास्तविक संख्याओं के निरूपण और उनके साथ किए गए अंकगणितीय संक्रियाओं में अशुद्धि के कारण होती हैं। यह परिमाणीकरण त्रुटि का एक रूप है। रेफरी>Aksoy, Pelin; DeNardis, Laura (2007), Information Technology in Theory, Cengage Learning, p. 134, ISBN 978-1-42390140-2</ref> सन्निकटन समीकरणों या एल्गोरिदम का उपयोग करते समय, विशेष रूप से वास्तविक संख्याओं (जिनमें सिद्धांत रूप में अनंत रूप से कई अंक होते हैं) का प्रतिनिधित्व करने के लिए सीमित कई अंकों का उपयोग करते समय, संख्यात्मक विश्लेषण का एक लक्ष्य गणना त्रुटियों का त्रुटि विश्लेषण (गणित) करना है। रेफरी>Ralston, Anthony; Rabinowitz, Philip (2012), A First Course in Numerical Analysis, Dover Books on Mathematics (2nd ed.), Courier Dover Publications, pp. 2–4, ISBN 978-0-48614029-2</ref> संगणना त्रुटियाँ, जिन्हें संख्यात्मक त्रुटियाँ भी कहा जाता है, में ट्रंकेशन त्रुटियाँ और राउंडऑफ़ त्रुटियाँ दोनों शामिल हैं।
जब किसी राउंडऑफ त्रुटि वाले इनपुट के साथ गणना का क्रम बनाया जाता है, तो त्रुटियां जमा हो सकती हैं, जो कभी-कभी गणना पर हावी हो जाती हैं। खराब स्थिति वाली समस्याओं में, महत्वपूर्ण त्रुटि जमा हो सकती है। रेफरी>Chapman, Stephen (2012), MATLAB Programming with Applications for Engineers, Cengage Learning, p. 454, ISBN 978-1-28540279-6</ref>
संक्षेप में, संख्यात्मक गणना में शामिल राउंडऑफ़ त्रुटियों के दो प्रमुख पहलू हैं:[4]
- संख्याओं के परिमाण और सटीकता दोनों को दर्शाने की कंप्यूटर की क्षमता स्वाभाविक रूप से सीमित है।
- कुछ संख्यात्मक जोड़-तोड़ राउंडऑफ़ त्रुटियों के प्रति अत्यधिक संवेदनशील होते हैं। यह गणितीय विचारों के साथ-साथ कंप्यूटर द्वारा अंकगणितीय संचालन करने के तरीके दोनों के परिणामस्वरूप हो सकता है।
प्रतिनिधित्व त्रुटि
अंकों की एक सीमित स्ट्रिंग का उपयोग करके किसी संख्या का प्रतिनिधित्व करने का प्रयास करने से उत्पन्न त्रुटि राउंडऑफ़ त्रुटि का एक रूप है जिसे प्रतिनिधित्व त्रुटि कहा जाता है।[5] यहां दशमलव निरूपण में निरूपण त्रुटि के कुछ उदाहरण दिए गए हैं:
| Notation | Representation | Approximation | Error |
|---|---|---|---|
| 1/7 | 0.142 857 | 0.142 857 | 0.000 000 142 857 |
| ln 2 | 0.693 147 180 559 945 309 41... | 0.693 147 | 0.000 000 180 559 945 309 41... |
| log10 2 | 0.301 029 995 663 981 195 21... | 0.3010 | 0.000 029 995 663 981 195 21... |
| 3√2 | 1.259 921 049 894 873 164 76... | 1.25992 | 0.000 001 049 894 873 164 76... |
| √2 | 1.414 213 562 373 095 048 80... | 1.41421 | 0.000 003 562 373 095 048 80... |
| e | 2.718 281 828 459 045 235 36... | 2.718 281 828 459 045 | 0.000 000 000 000 000 235 36... |
| π | 3.141 592 653 589 793 238 46... | 3.141 592 653 589 793 | 0.000 000 000 000 000 238 46... |
किसी प्रतिनिधित्व में अनुमत अंकों की संख्या बढ़ाने से संभावित राउंडऑफ़ त्रुटियों की भयावहता कम हो जाती है, लेकिन कई अंकों तक सीमित कोई भी प्रतिनिधित्व अभी भी गणनीय वास्तविक संख्याओं के लिए कुछ हद तक राउंडऑफ़ त्रुटि का कारण बनेगा। गणना के मध्यवर्ती चरणों के लिए उपयोग किए जाने वाले अतिरिक्त अंकों को गार्ड अंक के रूप में जाना जाता है।[6]
कई बार पूर्णांकन करने से त्रुटि जमा हो सकती है।[7] उदाहरण के लिए, यदि 9.945309 को दो दशमलव स्थानों (9.95) तक पूर्णांकित किया जाता है, फिर एक दशमलव स्थान (10.0) तक पूर्णांकित किया जाता है, तो कुल त्रुटि 0.054691 होती है। एक चरण में 9.945309 को एक दशमलव स्थान (9.9) तक पूर्णांकित करने पर कम त्रुटि (0.045309) आती है। यह तब हो सकता है, उदाहरण के लिए, जब सॉफ़्टवेयर विस्तारित परिशुद्धता#x86 विस्तारित परिशुद्धता प्रारूप|x86 80-बिट फ़्लोटिंग-पॉइंट में अंकगणित करता है और फिर परिणाम को डबल-परिशुद्धता फ़्लोटिंग-पॉइंट प्रारूप|आईईईई 754 बाइनरी64 फ़्लोटिंग-पॉइंट में राउंड करता है।
फ़्लोटिंग-पॉइंट संख्या प्रणाली
निश्चित-बिंदु अंकगणित|निश्चित-बिंदु संख्या प्रणाली की तुलना में, फ्लोटिंग-प्वाइंट अंकगणित|फ्लोटिंग-बिंदु संख्या प्रणाली वास्तविक संख्याओं का प्रतिनिधित्व करने में अधिक कुशल है, इसलिए आधुनिक कंप्यूटरों में इसका व्यापक रूप से उपयोग किया जाता है। जबकि वास्तविक संख्या अनंत और निरंतर हैं, एक फ्लोटिंग-पॉइंट संख्या प्रणाली परिमित और पृथक है. इस प्रकार, प्रतिनिधित्व त्रुटि, जो राउंडऑफ़ त्रुटि की ओर ले जाती है, फ़्लोटिंग-पॉइंट नंबर सिस्टम के तहत होती है।
फ्लोटिंग-पॉइंट संख्या प्रणाली का संकेतन
एक फ़्लोटिंग-पॉइंट संख्या प्रणाली द्वारा चित्रित है पूर्णांक:
- : आधार या मूलांक
- : शुद्धता
- : घातांक सीमा, कहाँ निचली सीमा है और ऊपरी सीमा है
कोई निम्नलिखित रूप है:
कहाँ ऐसा एक पूर्णांक है के लिए , और ऐसा एक पूर्णांक है .
सामान्यीकृत फ़्लोटिंग-नंबर सिस्टम
- यदि अग्रणी अंक हो तो फ़्लोटिंग-पॉइंट संख्या प्रणाली सामान्यीकृत हो जाती है जब तक संख्या शून्य न हो, हमेशा शून्येतर होती है।[3]चूंकि मंटिसा है , एक सामान्यीकृत प्रणाली में एक गैर-शून्य संख्या का मंटिसा संतुष्ट होता है . इस प्रकार, नॉनज़ेरो इंस्टीट्यूट ऑफ़ इलेक्ट्रिकल एंड इलेक्ट्रॉनिक्स इंजीनियर्स का सामान्यीकृत रूप फ्लोटिंग-पॉइंट नंबर है कहाँ . बाइनरी में, अग्रणी अंक हमेशा होता है इसलिए इसे लिखा नहीं जाता है और इसे अंतर्निहित बिट कहा जाता है। यह अतिरिक्त सटीकता देता है ताकि प्रतिनिधित्व त्रुटि के कारण होने वाली राउंडऑफ़ त्रुटि कम हो जाए।
- चूंकि फ्लोटिंग-पॉइंट नंबर सिस्टम परिमित और असतत है, यह सभी वास्तविक संख्याओं का प्रतिनिधित्व नहीं कर सकता है जिसका अर्थ है कि अनंत वास्तविक संख्याओं को केवल पूर्णांकन के माध्यम से कुछ सीमित संख्याओं द्वारा अनुमानित किया जा सकता है। किसी दी गई वास्तविक संख्या का फ़्लोटिंग-पॉइंट सन्निकटन द्वारा निरूपित किया जा सकता है.
- सामान्यीकृत फ़्लोटिंग-पॉइंट संख्याओं की कुल संख्या है कहाँ
- सकारात्मक या नकारात्मक होने पर संकेत की पसंद को गिना जाता है
- सामान्यीकृत फ़्लोटिंग-पॉइंट संख्याओं की कुल संख्या है