দ্রুত বিপরীত বর্গমূল
From Wikipedia, the free encyclopedia
দ্রুত বিপরীত বর্গমূল, যা কখনো Fast InvSqrt() বা হেক্সাডেসিমাল সংখ্যা পদ্ধতিতে 0x5F3759DF লিখা হয়, এটি এমন একটি অ্যালগরিদম যা 1/√x এর IEEE-৭৫৪ ফ্লোটিং পয়েন্ট বিন্যাসে ৩২-বিট ফ্লোটিং পয়েন্ট নম্বর x এর বর্গমূলের পারস্পরিক (বা গুণগত বিপরীত) মান বের করে। এই পদ্ধতিতে ডিজিটাল সিগন্যাল প্রক্রিয়াকরণে একটি ভেক্টরকে স্বাভাবিক করার জন্য ব্যবহার করা হয়, যেমন, একটি দৈর্ঘ্যের মান ১। উদাহরণস্বরূপ, কম্পিউটার গ্রাফিক্স প্রোগ্রামগুলি আলো এবং ছায়াকরণের ঘটনা এবং প্রতিফলনের কোণ গণনা করার জন্য বিপরীত বর্গমূল ব্যবহার করে। অ্যালগরিদমটি ১৯৯৯ সালে কোয়েক তৃতীয় এরিনার সোর্স কোডে বাস্তবায়ন করার জন্য সুপরিচিত, একটি মূখ্য শ্যুটার ভিডিও গেম যা থ্রিডি গ্রাফিক্সের ব্যাপক ব্যবহার করে। অ্যালগরিদমটি শুধুমাত্র পাবলিক ফোরাম যেমন ইউজেনট ২০০২ বা ২০০৩-এ উপস্থাপন করা শুরু করে।[1][note 1] সেই সময়ে, এটি সাধারণত গণনীয় মান মূল্যবান ছিল যা একটি ফ্লোটিং পয়েন্টের পারস্পরিক ক্রমবিন্যাস হিসেবে গণনা করা হত, বিশেষ করে বৃহৎ স্কেলে; দ্রুত বিপরীত বর্গমূল এই ধাপটি সহজেই পরিমাপ করে।
অ্যালগরিদম ইনপুট হিসাবে একটি ৩২ বিট ফ্লোটিং পয়েন্ট নম্বর গ্রহণ করে এবং পরবর্তী ব্যবহারের জন্য একটি আংশিক মান সঞ্চয় করে। তারপর, একটি পূর্ণসংখ্যা হিসাবে ৩২ বিট ফ্লোটিং পয়েন্ট নম্বরকে প্রতিনিধিত্ব করে, এক বিট দ্বারা একটি লজিকাল শিফট সঞ্চালিত হয় এবং ফলাফল থেকে ম্যাজিক নম্বর 0x5F3759DF থেকে বিয়োগ করা হয়। এটি ইনপুটটির বিপরীত বর্গমূলের প্রথম পরিমাপ। একটি ফ্লোটিং পয়েন্ট পয়েন্ট হিসাবে বিটটি নিউটন এর পদ্ধতির একটি পুনরাবৃত্তির সঞ্চালন করে আরো সুনির্দিষ্ট আসন্ন মান বের করা হয়।
অ্যালগরিদমটি মূলত আবিষ্কার করেন জন কারম্যাক, কিন্তু একটি তদন্ত এই তথ্য দেয় যে, কোডটি কম্পিউটার গ্রাফিক্স হার্ডওয়্যার এবং সফ্টওয়্যার উভয় দিক থেকেই গভীর সম্পর্ক খুঁজে পাওয়া যায়। সিলিকন গ্রাফিক্স ও ৩-ডিফএক্স ইন্টারেক্টিভ উভয় মাধ্যমেই পরিবর্তনগুলি সামঞ্জস্য, গ্যারি তরোলো এর এসজিআই নীল নকশার জন্য এটি বাস্তবায়ন করা হয়, যেগুলি সর্বপ্রথম ব্যবহার হিসাবে পরিচিত। ধ্রুবকটি মূলত কীভাবে উৎপন্ন হয়েছিল তা জানা যায় নি, যদিও তদন্তটি সম্ভাব্য পদ্ধতিগুলির উপর কিছুটা আলোকপাত করে।