Catastrophic cancellation
সংখ্যাসূচক বিশ্লেষণে, বিপর্যয়মূলক বাতিলকরণ হল এমন একটি ঘটনা যা কাছাকাছি দুটি সংখ্যার সাথে ভাল আনুমানিক বিয়োগ করলে মূল সংখ্যার পার্থক্যের সাথে খুব খারাপ আনুমানিক ফলাফল পাওয়া যেতে পারে। উদাহরণস্বরূপ, যদি দুটি স্টাড থাকে, একটি দীর্ঘ এবং অন্যটি দীর্ঘ, এবং সেগুলি এমন একটি শাসক দিয়ে পরিমাপ করা হয় যা কেবল সেন্টিমিটারের জন্য ভাল, তবে আনুমানিকগুলি এবং হতে পারে। আপেক্ষিক ত্রুটিতে এগুলি সঠিক দৈর্ঘ্যের ভাল অনুমান হতে পারেঃ প্রকৃত দৈর্ঘ্যের 2 শতাংশেরও কম দ্বারা অনুমানগুলি ভুল হয়। যাইহোক, যদি আনুমানিক দৈর্ঘ্য বিয়োগ করা হয়, তবে পার্থক্য হবে, যদিও দৈর্ঘ্যের মধ্যে প্রকৃত পার্থক্য হল। আনুমানিক পার্থক্য,, সঠিক মানগুলির পার্থক্যের মাত্রার 100% দ্বারা ভুল হয়। বিপর্যয়মূলক বাতিলকরণ কতটা বড় ইনপুট দ্বারা প্রভাবিত হয় না-এটি বড় এবং ছোট ইনপুটগুলির ক্ষেত্রে ঠিক ততটাই প্রযোজ্য। এটি কেবলমাত্র পার্থক্য কতটা বড় এবং ইনপুটগুলির ত্রুটির উপর নির্ভর করে। আনুমানিক থেকে এবং-এ বিয়োগ করার মাধ্যমে অথবা আনুমানিক থেকে এবং-এ বিয়োগ করার মাধ্যমে ঠিক একই ত্রুটি দেখা দেবে। বিপর্যয়মূলক বাতিলকরণ ঘটতে পারে এমনকি যদি পার্থক্যটি সঠিকভাবে গণনা করা হয়, যেমন উপরের উদাহরণে-এটি কোনও নির্দিষ্ট ধরনের গাণিতিক বৈশিষ্ট্য নয় যেমন ভাসমান-বিন্দু গাণিতিক; বরং, এটি বিয়োগের সহজাত, যখন ইনপুটগুলি নিজেরাই আনুমানিক হয়। প্রকৃতপক্ষে, ভাসমান-বিন্দু গণিতে, যখন ইনপুটগুলি যথেষ্ট কাছাকাছি থাকে, তখন ভাসমান-বিন্দু পার্থক্যটি স্টেরবেঞ্জ লেম্মা দ্বারা সঠিকভাবে গণনা করা হয়-ভাসমান-বিন্দু বিয়োগ ক্রিয়াকলাপ দ্বারা প্রবর্তিত কোনও বৃত্তাকার ত্রুটি নেই। আনুষ্ঠানিক বিশ্লেষণ, বিপর্যয়মূলক বাতিলকরণ ঘটে কারণ নিকটবর্তী ইনপুটগুলিতে বিয়োগ অ-শর্তযুক্তঃ এমনকি যদি আনুমানিক এবং সত্য মান থেকে ছোট আপেক্ষিক ত্রুটি থাকে এবং যথাক্রমে, সত্য মানগুলির পার্থক্য থেকে আনুমানিক পার্থক্যের আপেক্ষিক ত্রুটি সত্য মানগুলির পার্থক্যের বিপরীত আনুপাতিক হয়ঃ সুতরাং, সত্য মানগুলির পার্থক্য থেকে আনুমানিক পার্থক্যের আপেক্ষিক ত্রুটিটি যদি সত্য মান এবং কাছাকাছি হয় তবে নির্বিচারে বড় হতে পারে। সংখ্যাসূচক অ্যালগরিদমগুলিতে ভাসমান-বিন্দু গণিতে নিকটবর্তী সংখ্যাগুলি বিয়োগ করা সর্বদা বিপর্যয়মূলক বাতিলকরণ বা এমনকি কোনও ত্রুটির কারণ হয় না-স্টেরবেঞ্জ লেম্মার দ্বারা, যদি সংখ্যাগুলি যথেষ্ট কাছাকাছি থাকে তবে ভাসমান-বিন্দুর পার্থক্য সঠিক হয়। কিন্তু বাতিলকরণ অন্যান্য ভাসমান-বিন্দু গণিতে বৃত্তাকার থেকে উদ্ভূত ইনপুটগুলিতে ত্রুটিগুলিকে প্রশস্ত করতে পারে। উদাহরণস্বরূপঃ বর্গের পার্থক্য প্রদত্ত সংখ্যা এবং ভাসমান-বিন্দু গাণিতিক দ্বারা গাণিতিক ফাংশন গণনা করার সরল প্রচেষ্টা যখন মাত্রার কাছাকাছি থাকে তখন বিপর্যয়মূলক বাতিলকরণের বিষয় হয়, কারণ বিয়োগ বর্গের বৃত্তাকার ত্রুটিগুলি প্রকাশ করতে পারে। ভাসমান-বিন্দু গাণিতিক দ্বারা মূল্যায়ন করা বিকল্প ফ্যাক্টরিং বিপর্যয়মূলক বাতিলকরণ এড়িয়ে চলে কারণ এটি বিয়োগের দিকে পরিচালিত বৃত্তাকার ত্রুটির প্রবর্তনকে এড়িয়ে চলে। উদাহরণস্বরূপ, যদি এবং, তাহলে পার্থক্যের প্রকৃত মান হল। আই. ই. ই. ই 754 বাইনারি64 গাণিতিক পদ্ধতিতে, বিকল্প ফ্যাক্টরিংয়ের মূল্যায়ন সঠিক ফলাফল দেয় (কোনও বৃত্তাকার ছাড়াই), তবে সরল অভিব্যক্তিটির মূল্যায়ন করলে ভাসমান-বিন্দু সংখ্যা পাওয়া যায়, যার মধ্যে অর্ধেকেরও কম সংখ্যা সঠিক এবং অন্যান্য (আন্ডারলাইন করা) সংখ্যাগুলি অনুপস্থিত পদগুলিকে প্রতিফলিত করে, যা মধ্যবর্তী বর্গ মান গণনা করার সময় বৃত্তাকার হওয়ার কারণে হারিয়ে যায়। উদাহরণস্বরূপঃ জটিল আর্ক্সাইন জটিল আর্ক্সাইন ফাংশন গণনা করার সময়, লগারিদমিক সূত্রটি সরাসরি ব্যবহার করার জন্য প্রলুব্ধ হতে পারেঃ তবে, ধরুন। তারপর এবং; তাদের মধ্যে পার্থক্য কল-একটি খুব ছোট পার্থক্য, প্রায় শূন্য। যদি ভাসমান-বিন্দু গণিতে কোনও ত্রুটি দিয়ে মূল্যায়ন করা হয়, যেখানে ভাসমান-বিন্দু বৃত্তাকার বোঝায়, তবে কাছাকাছি দুটি সংখ্যার পার্থক্য গণনা করা, উভয়ই খুব কাছাকাছি, একটি ইনপুটের ত্রুটিকে একটি ফ্যাক্টর দ্বারা প্রশস্ত করতে পারে-একটি খুব বড় ফ্যাক্টর কারণ প্রায় শূন্য ছিল। উদাহরণস্বরূপ, যদি এর প্রকৃত মান আনুমানিক হয়, তবে আই. ই. ই. ই 754 বাইনারি64 গাণিতিকের নিষ্ক্রিয় লগারিদমিক সূত্র ব্যবহার করে ষোলটি সংখ্যার মধ্যে মাত্র পাঁচটি সঠিক এবং অবশিষ্ট (আন্ডারলাইন করা) সমস্ত আবর্জনা হতে পারে। ফর-এর ক্ষেত্রে, আইডেন্টিটি ব্যবহার করা বাতিলকরণ এড়িয়ে চলে কারণ কিন্তু, তাই বিয়োগ কার্যকরভাবে একই চিহ্নের সাথে যোগ করা হয় যা বাতিল হয় না। উদাহরণস্বরূপঃ র্যাডিক্স রূপান্তর সফ্টওয়্যার প্রোগ্রামগুলিতে সংখ্যাসূচক ধ্রুবকগুলি প্রায়শই দশমিক ভাষায় লেখা হয়, যেমন সি খণ্ডে ডাবল x = 1.000000000000001; x নামে একটি আই. ই. ই. ই 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সাম অ্যালগরিদম উভয়ই একটি বৃত্তাকার ত্রুটির পরে এই ধরনের বাতিলকরণের উপর নির্ভর করে যাতে একটি ভাসমান-বিন্দু সংযোজন ক্রিয়াকলাপে একটি ভাসমান-বিন্দু সংখ্যা হিসাবে ত্রুটিটি ঠিক কী ছিল তা গণনা করা যায়। ফাংশনটি, যদি পয়েন্টগুলিতে সরলভাবে মূল্যায়ন করা হয়, তবে বৃত্তাকারের বেশিরভাগ সংখ্যা হারাবে। যাইহোক, ফাংশন নিজেই কাছাকাছি ইনপুটগুলিতে ভাল-শর্তযুক্ত। সরাসরি মূল্যায়ন থেকে ত্রুটি এড়াতে এটিকে শোষণ হিসাবে পুনরায় লেখা বাতিলকরণ। এটি কাজ করে কারণ সংখ্যার বাতিলকরণ এবং হরের বাতিলকরণ একে অপরকে প্রতিহত করে; ফাংশনটি শূন্যের কাছাকাছি যথেষ্ট শর্তযুক্ত যা একটি ভাল আনুমানিক দেয় এবং এইভাবে একটি ভাল আনুমানিক দেয়। তথ্যসূত্র সংখ্যাসূচক বিশ্লেষণ