Похибка округленняПомилка округлення або похибка округлення це різниця між результатом, отриманим за допомогою абсолютно точної арифметики в рамках заданого алгоритму, і результатом, отриманим тим же алгоритмом, але з використанням округленої арифметики з обмеженою точністю. Помилки округлення пов’язані з тим що представлення дійсних чисел і в двійковій або десятковій системі є неточним виконанням арифметичних дій над ними. Це один із варіантів помилок квантування. При використанні алгоритмів або формул для апроксимації розрахунків за допомогою чисельних методів є оцінка похибок обчислень, особливо при використанні обмеженої кількості цифр для представлення дійсних чисел (які в теорії мають нескінченну кількість цифр в десятковій або двійковій системі). Деякі числові операції дуже чутливі до помилок округлення. Це може бути наслідком як математичних міркувань, так і способу виконання арифметичних операцій комп’ютерами. Під час виконання послідовності обчислень із використанням обмеженої точності, похибка може накопичуватись, іноді приймати значні значення, що не задовільняють вимогам щодо можливого рівня похибки. Загалом два основних аспекти помилок округлення, які беруть участь у числових обчисленнях[1] це обмежена здатність комп'ютера зберігати дійсну величину в тій системі числення, яка використовується, та накопичення похибок під час послідовних операцій. Похибка представленняПохибка, яка виникає під час спроби представити число за допомогою обмеженої кількості цифр, є формою помилки округлення, яка називається похибкою представлення.[2] Приклади з використанням обмеженої кількості десяткових цифр:
Збільшення точності зображення дійсного числа зменшує похибку округлення. Проте будь-яке представлення, обмежене скінченною кількістю цифр, все одно призведе до певної похибки для незліченної кількості дійсних чисел. Методика використання додаткових знаків, які використовуються на проміжних етапах розрахунку, називається англійською guard digit[3]. Багаторазове округлення може призвести до накопичення помилок. [4] Наприклад, якщо 9,945309 округлити до двох знаків після коми (9,95), а потім знову округлити до одного знака після коми (10,0), загальна похибка становитиме 0,054691. Округлення 9,945309 до одного знака після коми (9,9) за один крок вносить меншу похибку (0,045309). Це може статися, наприклад, коли програмне забезпечення виконує арифметику у 80-розрядному значенні з рухомою комою x86, а потім округлює результат до IEEE 754 binary64 floating-com . Системи численняСистема числення з рухомою комою є більш ефективною для представлення дійсних чисел, порівняно з системою числення з нерухомою комою, для широкого діапазону застосувань, де використовуються алгоритми чисельних методів, (фізика, САПР), тому вона широко використовується в сучасних комп’ютерах. Найпопулярніший стандарт для чисел з рухомою комою це IEEE 754, там використовується двійкова система, нормалізація. В окремих бітах зберігає знак експоненти та значущої частини, мантиси. Стандарт має фіксовану кількість бітів для мантиси та експоненти. Задля ефективності використання комп'ютерами, сумарна кількість бітів кратна розрядності процесорів, саме тому найпоширенішими рівнями точності є одинарна точність - 32 біта, подвійна точність - 64 бітів. Машинний епсилонМашинний епсилон можна використовувати для вимірювання рівня помилки округлення в системі числення з рухомою комою. Ось два різних визначення. [5] Похибка округлення за різними правилами округлення
Накопичення похибки округленняПохибка може накопичуватись, тобто збільшуватись її діапазон, якщо послідовність обчислень виконується над даними, що вже отримані з похибкою, через обмеженість представлення. Нестабільний алгоритм та погано обумовлена задачаАлгоритм або чисельний процес називається стабільним, якщо невеликі зміни у вхідних даних викликають лише незначні зміни у вихідних даних, і навпаки нестабільним, якщо у вихідних даних відбуваються великі зміни.[6] Навіть якщо використовується стабільний алгоритм, розв’язок проблеми все одно може бути неточним через накопичення помилки округлення, коли сама проблема є погано обумовленою . Число обумовленості задачі — це відношення відносної зміни розв’язку до відносної зміни входу.[5] Задача є добре обумовленою, якщо невеликі відносні зміни вхідних даних призводять до невеликих відносних змін у розв’язанні. В протилежному випадку задача є необумовленою . [5] Іншими словами, проблема є погано обумовленою, якщо її число обумовленості «набагато більше» за 1. Число обумовленості вводиться як засіб оцінки похибки округлення, яка може виникнути при розв’язуванні погано обумовлених задач. [1] Дивись також
Примітки
|
Portal di Ensiklopedia Dunia