Catastrophic cancellation
આંકડાકીય વિશ્લેષણમાં, આપત્તિજનક રદ એ એવી ઘટના છે કે નજીકના બે આંકડાઓમાં સારા અંદાજોને બાદ કરવાથી મૂળ સંખ્યાઓના તફાવતનો ખૂબ જ ખરાબ અંદાજ મળી શકે છે. ઉદાહરણ તરીકે, જો ત્યાં બે સ્ટડ હોય, એક લાંબો અને બીજો લાંબો, અને તેમને એક શાસક સાથે માપવામાં આવે છે જે ફક્ત સેન્ટીમીટર સુધી જ સારો હોય, તો અંદાજો અને હોઈ શકે છે. સાપેક્ષ ભૂલમાં, સાચી લંબાઈ માટે આ સારા અંદાજો હોઈ શકે છેઃ અંદાજો સાચી લંબાઈના 2 ટકાથી ઓછા દ્વારા ભૂલમાં છે. જો કે, જો અંદાજિત લંબાઈ બાદ કરવામાં આવે, તો તફાવત હશે, ભલે લંબાઈ વચ્ચેનો સાચો તફાવત છે. અંદાજોનો તફાવત, સાચા મૂલ્યોના તફાવતની તીવ્રતાના 100% દ્વારા ભૂલમાં છે. ઇનપુટ્સ કેટલા મોટા છે તેનાથી વિનાશક રદ થવાની અસર થતી નથી-તે મોટા અને નાના ઇનપુટ્સને પણ એટલી જ લાગુ પડે છે. તે માત્ર તફાવત કેટલો મોટો છે અને ઇનપુટ્સની ભૂલ પર આધાર રાખે છે. બરાબર એ જ ભૂલ અંદાજોમાંથી અને તરીકે બાદ કરીને અથવા અંદાજોમાંથી અને તરીકે બાદ કરીને ઊભી થશે. જો તફાવતની બરાબર ગણતરી કરવામાં આવે તો પણ વિનાશક રદ થઈ શકે છે, ઉપરના ઉદાહરણની જેમ-તે ફ્લોટિંગ-પોઇન્ટ અંકગણિત જેવા કોઈ ચોક્કસ પ્રકારના અંકગણિતનો ગુણધર્મ નથી; તેના બદલે, તે બાદબાકીમાં સહજ છે, જ્યારે ઇનપુટ્સ પોતે અંદાજો હોય છે. ખરેખર, ફ્લોટિંગ-પોઇન્ટ અંકગણિતમાં, જ્યારે ઇનપુટ્સ પૂરતા પ્રમાણમાં નજીક હોય છે, ત્યારે ફ્લોટિંગ-પોઇન્ટ તફાવતની ગણતરી સ્ટેરબેન્ઝ લેમ્મા દ્વારા બરાબર કરવામાં આવે છે-ફ્લોટિંગ-પોઇન્ટ બાદબાકી કામગીરી દ્વારા કોઈ ગોળાકાર ભૂલ રજૂ કરવામાં આવતી નથી. ઔપચારિક વિશ્લેષણ ઔપચારિક રીતે, આપત્તિજનક રદ થાય છે કારણ કે નજીકના ઇનપુટ્સ પર બાદબાકી અયોગ્ય રીતે કરવામાં આવે છેઃ ભલે અંદાજો અને તેમાં નાની સંબંધિત ભૂલો હોય અને સાચા મૂલ્યોમાંથી અને, અનુક્રમે, સાચા મૂલ્યોના તફાવતથી અંદાજોના તફાવતની સંબંધિત ભૂલ સાચા મૂલ્યોના તફાવત સાથે વ્યસ્ત પ્રમાણમાં હોયઃ આમ, સાચા મૂલ્યોના તફાવતથી અંદાજોના ચોક્કસ તફાવતની સંબંધિત ભૂલ એ છે કે જો સાચા મૂલ્યો અને નજીક હોય તો તે મનસ્વી રીતે મોટી હોઈ શકે છે. આંકડાકીય અલ્ગોરિધમ્સમાં ફ્લોટિંગ-પોઇન્ટ અંકગણિતમાં નજીકની સંખ્યાઓને બાદ કરવાથી હંમેશા આપત્તિજનક રદ થતું નથી, અથવા તો કોઈ ભૂલ પણ થતી નથી-સ્ટેરબેન્ઝ લેમ્મા દ્વારા, જો સંખ્યાઓ પૂરતી નજીક હોય તો ફ્લોટિંગ-પોઇન્ટ તફાવત ચોક્કસ હોય છે. પરંતુ રદ કરવાથી અન્ય ફ્લોટિંગ-પોઇન્ટ અંકગણિતમાં ગોળાકાર થવાથી ઉદ્ભવતા ઇનપુટ્સમાં ભૂલો વધી શકે છે. ઉદાહરણોઃ વર્ગોનો તફાવત આપેલ સંખ્યાઓ અને ફ્લોટિંગ-પોઇન્ટ અંકગણિત દ્વારા ગાણિતિક કાર્યની ગણતરી કરવાનો નિષ્કપટ પ્રયાસ જ્યારે અને જ્યારે તે તીવ્રતાની નજીક હોય ત્યારે તે આપત્તિજનક રદને આધિન હોય છે, કારણ કે બાદબાકી વર્ગમાં ગોળાકાર ભૂલોને ખુલ્લી પાડી શકે છે. ફ્લોટિંગ-પોઇન્ટ અંકગણિત દ્વારા મૂલ્યાંકન કરાયેલ વૈકલ્પિક ફેક્ટરીંગ, આપત્તિજનક રદ કરવાનું ટાળે છે કારણ કે તે બાદબાકી તરફ દોરી જતી ગોળાકાર ભૂલ રજૂ કરવાનું ટાળે છે. ઉદાહરણ તરીકે, જો અને, તો પછી તફાવતની સાચી કિંમત છે. IEEE 754 દ્વિસંગી 64 અંકગણિતમાં, વૈકલ્પિક ફેક્ટરીંગનું મૂલ્યાંકન બરાબર સાચું પરિણામ આપે છે (કોઈ ગોળાકાર વગર), પરંતુ નિષ્કપટ અભિવ્યક્તિનું મૂલ્યાંકન કરવાથી ફ્લોટિંગ-પોઇન્ટ નંબર મળે છે, જેમાંથી અડધાથી ઓછા અંકો સાચા હોય છે અને અન્ય (રેખાંકિત) અંકો ગુમ થયેલ શબ્દોને પ્રતિબિંબિત કરે છે, જે મધ્યવર્તી વર્ગ મૂલ્યોની ગણતરી કરતી વખતે ગોળાકારને કારણે ખોવાઈ જાય છે. ઉદાહરણ તરીકેઃ કોમ્પ્લેક્સ આર્ક્સાઇન જ્યારે કોમ્પ્લેક્સ આર્ક્સાઇન ફંક્શનની ગણતરી કરવામાં આવે છે, ત્યારે લોગરિથમિક સૂત્રનો સીધો ઉપયોગ કરવા માટે લલચાવી શકાય છેઃ જો કે, ધારો કે. પછી અને; તેમની વચ્ચેના તફાવતને કહો-એક ખૂબ જ નાનો તફાવત, લગભગ શૂન્ય. જો ફ્લોટિંગ-પોઇન્ટ અંકગણિતમાં કોઈપણ ભૂલ સાથે મૂલ્યાંકન કરવામાં આવે, જ્યાં ફ્લોટિંગ-પોઇન્ટ ગોળાકાર સૂચવે છે, તો પછી નજીકની બે સંખ્યાઓના તફાવતની ગણતરી, બંનેની ખૂબ નજીક, એક ઇનપુટમાં ભૂલને પરિબળ દ્વારા વિસ્તૃત કરી શકે છે-એક ખૂબ જ મોટું પરિબળ કારણ કે તે લગભગ શૂન્ય હતું. દાખલા તરીકે, જો તેનું સાચું મૂલ્ય આશરે હોય, પરંતુ IEEE 754 દ્વિસંગી 64 અંકગણિતમાં નિષ્કપટ લઘુગણક સૂત્રનો ઉપયોગ કરવાથી, સોળમાંથી માત્ર પાંચ અંકો સાચા અને બાકીના (રેખાંકિત) બધા કચરો મળી શકે છે. માટે ના કિસ્સામાં, ઓળખનો ઉપયોગ રદ કરવાનું ટાળે છે કારણ કે, પરંતુ, તેથી બાદબાકી અસરકારક રીતે તે જ નિશાની સાથે ઉમેરવામાં આવે છે જે રદ થતી નથી. ઉદાહરણોઃ રેડિક્સ રૂપાંતર સોફ્ટવેર પ્રોગ્રામ્સમાં આંકડાકીય સ્થિરાંકો ઘણીવાર દશાંશમાં લખવામાં આવે છે, જેમ કે C ફ્રેગમેન્ટ ડબલ x = 1.000000000000001; x નામના IEEE 754 દ્વિસંગી 64 ચલને જાહેર કરવા અને પ્રારંભ કરવા માટે. જો કે, તે દ્વિસંગી 64 ફ્લોટિંગ-પોઇન્ટ નંબર નથી; સૌથી નજીકનો એક, જેને આ ટુકડામાં x શરૂ કરવામાં આવશે, તે છે. જો કે દશાંશ ફ્લોટિંગ-પોઇન્ટથી દ્વિસંગી ફ્લોટિંગ-પોઇન્ટમાં મૂળાક્ષરોના રૂપાંતરણમાં માત્ર એક નાની સંબંધિત ભૂલ થાય છે, તેમ છતાં આપત્તિજનક રદ તેને ઘણી મોટી ભૂલમાં વિસ્તૃત કરી શકે છેઃ ડબલ x = 1.000000000000001;// ગોળાકાર 1 + 5 * 2 ^ {-52} ડબલ y = 1.000000000000002;// ગોળાકાર 1 + 9 * 2 ^ {-52} ડબલ z = y-x;// તફાવત બરાબર 4 * 2 ^ {-52} છે. x ની અને y ની સાપેક્ષ ભૂલો બંને નીચે છે, અને ફ્લોટિંગ-પોઇન્ટ બાદબાકી y-x ની ગણતરી બરાબર સ્ટેરબેન્ઝ લેમ્મા દ્વારા કરવામાં આવે છે. પરંતુ ઇનપુટ્સ સારા અંદાજો હોવા છતાં, અને બાદબાકીની બરાબર ગણતરી કરવામાં આવી હોવા છતાં, અંદાજોના તફાવતમાં દશાંશમાં લખેલા મૂળ મૂલ્યોના તફાવતની તુલનામાં સાપેક્ષ ભૂલ હોય છેઃ આપત્તિજનક રદ કરવાથી રેડિક્સમાં એક નાની ભૂલને આઉટપુટમાં મોટી ભૂલમાં રૂપાંતરિત કરવામાં આવે છે. સૌમ્ય રદ રદ કરવું કેટલીકવાર સંખ્યાત્મક અલ્ગોરિધમ્સમાં ઉપયોગી અને ઇચ્છનીય હોય છે. ઉદાહરણ તરીકે, 2સમ અને ફાસ્ટ2સમ એલ્ગોરિધમ્સ બંને ફ્લોટિંગ-પોઇન્ટ નંબર તરીકે ફ્લોટિંગ-પોઇન્ટ એડિશન ઓપરેશનમાં શું ભૂલ હતી તેની ચોક્કસ ગણતરી કરવા માટે ગોળાકાર ભૂલ પછી આવા રદ કરવા પર આધાર રાખે છે. કાર્ય, જો બિંદુઓ પર નિષ્કપટ રીતે મૂલ્યાંકન કરવામાં આવે, તો તે ગોળાકારના મોટાભાગના અંકો ગુમાવશે. જો કે, કાર્ય પોતે નજીકના ઇનપુટ્સ પર સારી રીતે કન્ડિશન્ડ છે. તેને શોષણ તરીકે ફરીથી લખવાથી ભૂલનું સીધું મૂલ્યાંકન ન થાય તે માટે તેને રદ કરવામાં આવે છે. આ કામ કરે છે કારણ કે અંશમાં રદ અને છેદમાં રદ એકબીજાને પ્રતિકૂળ બનાવે છે; કાર્ય શૂન્યની નજીક સારી રીતે શરતી છે જે તેને સારો અંદાજ આપે છે, અને આમ તેને સારો અંદાજ આપે છે. સંદર્ભો આંકડાકીય વિશ્લેષણ