У чисельних методах, нищівне скасування — це явище коли віднімання двох хороших наближень двох близьких чисел може породити дуже погане наближення різниці двох початкових чисел.
Наприклад, якщо маємо дві дошки, одна завдовшки, а інша завдовжки, і ми виміряємо їх лінійкою, точність якої лише сантиметр, тоді наближення будуть і . Ці наближення можуть бути хорошими у сенсі відносної похибки, до справжніх довжин: наближення відхились менш ніж на 2 % від справжніх довжин, .
Однак, якщо наближені довжини відняти, то різниця буде , хоча справжня різниця між довжинами становить . Різниця між наближенням, , має похибку в 100% від розміру різниці справжніх значень, .
Нищівне скасування може статись навіть якщо різниця обчислена точно, як у прикладі вище — це не властивість якогось певного різновиду арифметики як-от з рухомою комою; радше це притаманне відніманню, коли входи це наближення. Насправді, в арифметиці з рухомою комою, коли входи достатньо близькі, вислід обчислення різниці точний, згідно з [en] немає похибки заокруглення через дію віднімання з рухомою точкою.
Формальний розгляд
Формально, нищівне знищення відбувається, бо віднімання погано обумовлене на близьких входах: навіть, якщо наближення і мають малі відносні похибки і щодо справжніх значень і , відповідно, відносна похибка наближеної різниці від справжньої різниці зворотно пропорційна справжній різниці:
Отже, відносна похибка точної різниці наближень щодо різниці справжніх чисел це
І вона може бути наскільки завгодно великою якщо справжні числа і близькі.
У числових алгоритмах
Приклад: Різниця квадратів
Маючи числа і , наївна спроба обчислити математичну функцію з використанням арифметики з рухомою точкою призведе до нищівного скасування, якщо і близькі величини, бо віднімання може виявити похибки заокруглення під час піднесення до квадрату. Альтернативне представлення , обчислене в арифметиці з рухомою точкою таким чином , уникає нищівного скасування, бо уникає похибки заокруглення.
Наприклад, якщо і , тоді справжнє значення різниці це . В арифметиці IEEE 754 binary64, обчислення дає правильний результат (без округлення), тоді як обчислення наївного виразу повертає таке число з рухомою точкою , де правильні менш ніж половина цифр, а інші (підкреслені) цифри відображають загублені доданки , втрачені через заокруглення під час обчислення проміжних квадратних значень.
Примітки
- Muller, Jean-Michel; Brunie, Nicolas; de Dinechin, Florent; Jeannerod, Claude-Pierre; Joldes, Mioara; Lefèvre, Vincent; Melquiond, Guillaume; Revol, Nathalie; Torres, Serge (2018). Handbook of Floating-Point Arithmetic (вид. 2nd). Gewerbestrasse 11, 6330 Cham, Switzerland: Birkhäuser. с. 102. doi:10.1007/978-3-319-76526-6. ISBN .
- Goldberg, David (March 1991). What every computer scientist should know about floating-point arithmetic. ACM Computing Surveys. New York, NY, United States: Association for Computing Machinery. 23 (1): 5—48. doi:10.1145/103162.103163. ISSN 0360-0300. S2CID 222008826. Процитовано 17 вересня 2020.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U chiselnih metodah nishivne skasuvannya ce yavishe koli vidnimannya dvoh horoshih nablizhen dvoh blizkih chisel mozhe poroditi duzhe pogane nablizhennya riznici dvoh pochatkovih chisel Napriklad yaksho mayemo dvi doshki odna L1 254 5sm displaystyle L 1 254 5 text sm zavdovshki a insha L2 253 5sm displaystyle L 2 253 5 text sm zavdovzhki i mi vimiryayemo yih linijkoyu tochnist yakoyi lishe santimetr todi nablizhennya budut L 1 255sm displaystyle tilde L 1 255 text sm i L 2 253sm displaystyle tilde L 2 253 text sm Ci nablizhennya mozhut buti horoshimi u sensi vidnosnoyi pohibki do spravzhnih dovzhin nablizhennya vidhilis mensh nizh na 2 vid spravzhnih dovzhin L1 L 1 L1 lt 2 displaystyle L 1 tilde L 1 L 1 lt 2 Odnak yaksho nablizheni dovzhini vidnyati to riznicya bude L 1 L 2 255sm 253sm 2sm displaystyle tilde L 1 tilde L 2 255 text sm 253 text sm 2 text sm hocha spravzhnya riznicya mizh dovzhinami stanovit L1 L2 254 5sm 253 5sm 1sm displaystyle L 1 L 2 254 5 text sm 253 5 text sm 1 text sm Riznicya mizh nablizhennyam 2sm displaystyle 2 text sm maye pohibku v 100 vid rozmiru riznici spravzhnih znachen 1sm displaystyle 1 text sm Nishivne skasuvannya mozhe statis navit yaksho riznicya obchislena tochno yak u prikladi vishe ce ne vlastivist yakogos pevnogo riznovidu arifmetiki yak ot z ruhomoyu komoyu radshe ce pritamanne vidnimannyu koli vhodi ce nablizhennya Naspravdi v arifmetici z ruhomoyu komoyu koli vhodi dostatno blizki vislid obchislennya riznici tochnij zgidno z en nemaye pohibki zaokruglennya cherez diyu vidnimannya z ruhomoyu tochkoyu Formalnij rozglyadFormalno nishivne znishennya vidbuvayetsya bo vidnimannya pogano obumovlene na blizkih vhodah navit yaksho nablizhennya x x 1 dx displaystyle tilde x x 1 delta x i y y 1 dy displaystyle tilde y y 1 delta y mayut mali vidnosni pohibki dx x x x displaystyle delta x x tilde x x i dy y y y displaystyle delta y y tilde y y shodo spravzhnih znachen x displaystyle x i y displaystyle y vidpovidno vidnosna pohibka nablizhenoyi riznici x y displaystyle tilde x tilde y vid spravzhnoyi riznici x y displaystyle x y zvorotno proporcijna spravzhnij riznici x y x 1 dx y 1 dy x y xdx ydy x y x y xdx ydyx y x y 1 xdx ydyx y displaystyle begin aligned tilde x tilde y amp x 1 delta x y 1 delta y x y x delta x y delta y amp x y x y frac x delta x y delta y x y amp x y biggr 1 frac x delta x y delta y x y biggr end aligned Otzhe vidnosna pohibka tochnoyi riznici nablizhen x y displaystyle tilde x tilde y shodo riznici spravzhnih chisel x y displaystyle x y ce xdx ydyx y displaystyle left frac x delta x y delta y x y right I vona mozhe buti naskilki zavgodno velikoyu yaksho spravzhni chisla x displaystyle x i y displaystyle y blizki U chislovih algoritmahPriklad Riznicya kvadrativ Mayuchi chisla x displaystyle x i y displaystyle y nayivna sproba obchisliti matematichnu funkciyu x2 y2 displaystyle x 2 y 2 z vikoristannyam arifmetiki z ruhomoyu tochkoyu fl fl x2 fl y2 displaystyle operatorname fl operatorname fl x 2 operatorname fl y 2 prizvede do nishivnogo skasuvannya yaksho x displaystyle x i y displaystyle y blizki velichini bo vidnimannya mozhe viyaviti pohibki zaokruglennya pid chas pidnesennya do kvadratu Alternativne predstavlennya x y x y displaystyle x y x y obchislene v arifmetici z ruhomoyu tochkoyu takim chinom fl fl x y fl x y displaystyle operatorname fl operatorname fl x y cdot operatorname fl x y unikaye nishivnogo skasuvannya bo unikaye pohibki zaokruglennya Napriklad yaksho x 1 2 29 1 0000000018626451 displaystyle x 1 2 29 approx 1 0000000018626451 i y 1 2 30 1 0000000009313226 displaystyle y 1 2 30 approx 1 0000000009313226 todi spravzhnye znachennya riznici x2 y2 displaystyle x 2 y 2 ce 2 29 1 2 30 2 31 1 8626451518330422 10 9 displaystyle 2 29 cdot 1 2 30 2 31 approx 1 8626451518330422 times 10 9 V arifmetici IEEE 754 binary64 obchislennya x y x y displaystyle x y x y daye pravilnij rezultat bez okruglennya todi yak obchislennya nayivnogo virazu x2 y2 displaystyle x 2 y 2 povertaye take chislo z ruhomoyu tochkoyu 2 29 1 86264514923095703125 10 9 displaystyle 2 29 1 8626451 underline 4923095703125 times 10 9 de pravilni mensh nizh polovina cifr a inshi pidkresleni cifri vidobrazhayut zagubleni dodanki 2 59 2 60 displaystyle 2 59 2 60 vtracheni cherez zaokruglennya pid chas obchislennya promizhnih kvadratnih znachen PrimitkiMuller Jean Michel Brunie Nicolas de Dinechin Florent Jeannerod Claude Pierre Joldes Mioara Lefevre Vincent Melquiond Guillaume Revol Nathalie Torres Serge 2018 Handbook of Floating Point Arithmetic vid 2nd Gewerbestrasse 11 6330 Cham Switzerland Birkhauser s 102 doi 10 1007 978 3 319 76526 6 ISBN 978 3 319 76525 9 Goldberg David March 1991 What every computer scientist should know about floating point arithmetic ACM Computing Surveys New York NY United States Association for Computing Machinery 23 1 5 48 doi 10 1145 103162 103163 ISSN 0360 0300 S2CID 222008826 Procitovano 17 veresnya 2020