अल्फा मैक्स प्लस बीटा मिन एल्गोरिथम

अल्फ़ा मैक्स प्लस बीटा मिन एल्गोरिथम दो वर्गों के योग के वर्गमूल का उच्च गति सन्निकटन है। दो वर्गों के योग का वर्गमूल, जिसे पायथागॉरियन जोड़ के रूप में भी जाना जाता है, उपयोगी फ़ंक्शन है, क्योंकि यह दो भुजाओं की लंबाई, 2-डी वेक्टर (ज्यामितीय) के मानक (गणित), या परिमाण (गणित) को देखते हुए समकोण त्रिभुज के कर्ण का पता लगाता है। $$|z| = \sqrt{a^2 + b^2}$$ सम्मिश्र संख्या का $z = a + bi$ वास्तविक संख्या और काल्पनिक संख्या भाग दिए गए हैं।

एल्गोरिदम वर्ग और वर्ग-मूल संचालन करने से बचता है, इसके बजाय तुलना, गुणा और जोड़ जैसे सरल संचालन का उपयोग करता है। एल्गोरिथ्म के α और β मापदंडों के कुछ विकल्प गुणन ऑपरेशन को बाइनरी अंकों की सरल शिफ्ट में कम करने की अनुमति देते हैं जो विशेष रूप से उच्च गति डिजिटल सर्किटरी में कार्यान्वयन के लिए उपयुक्त है।

सन्निकटन के रूप में व्यक्त किया गया है $$|z| = \alpha\,\mathbf{Max} + \beta\,\mathbf{Min},$$ कहाँ $$\mathbf{Max}$$ ए और बी का अधिकतम निरपेक्ष मान है, और $$\mathbf{Min}$$ ए और बी का न्यूनतम निरपेक्ष मान है।

निकटतम सन्निकटन के लिए, इष्टतम मान $$\alpha$$ और $$\beta$$ हैं $$\alpha_0 = \frac{2 \cos \frac{\pi}{8}}{1 + \cos \frac{\pi}{8}} = 0.960433870103...$$ और $$\beta_0 = \frac{2 \sin \frac{\pi}{8}}{1 + \cos \frac{\pi}{8}} = 0.397824734759...$$, अधिकतम 3.96% त्रुटि दे रहा है।



सुधार
कब $$\alpha < 1$$, $$|z|$$ से छोटा हो जाता है $$\mathbf{Max}$$ (जो ज्यामितीय रूप से असंभव है) अक्षों के पास जहां $$\mathbf{Min}$$ 0 के करीब है. परिणाम को प्रतिस्थापित करके इसका समाधान किया जा सकता है $$\mathbf{Max}$$ जब भी वह अधिक होता है, तो अनिवार्य रूप से रेखा को दो अलग-अलग खंडों में विभाजित कर दिया जाता है।


 * $$|z| = \max(\mathbf{Max}, \alpha\,\mathbf{Max} + \beta\,\mathbf{Min}).$$

हार्डवेयर के आधार पर, यह सुधार लगभग निःशुल्क हो सकता है।

इस सुधार का उपयोग करने से यह बदल जाता है कि कौन से पैरामीटर मान इष्टतम हैं, क्योंकि उन्हें अब पूरे अंतराल के लिए करीबी मिलान की आवश्यकता नहीं है। निम्न $$\alpha$$ और उच्चा $$\beta$$ इसलिए परिशुद्धता को और अधिक बढ़ाया जा सकता है।

परिशुद्धता में वृद्धि: इस तरह से रेखा को दो भागों में विभाजित करते समय पहले खंड को बेहतर अनुमान से प्रतिस्थापित करके परिशुद्धता में और भी अधिक सुधार किया जा सकता है $$\mathbf{Max}$$, और समायोजित करें $$\alpha$$ और $$\beta$$ इसलिए।


 * $$|z| = \max\big(|z_0|, |z_1|\big),$$
 * $$|z_0| = \alpha_0\,\mathbf{Max} + \beta_0\,\mathbf{Min},$$
 * $$|z_1| = \alpha_1\,\mathbf{Max} + \beta_1\,\mathbf{Min}.$$

हालाँकि, सावधान रहें, यह गैर-शून्य है $$\beta_0$$ इसके लिए कम से कम अतिरिक्त जोड़ और कुछ बिट-शिफ्ट (या गुणन) की आवश्यकता होगी, संभवतः लागत लगभग दोगुनी हो जाएगी और, हार्डवेयर के आधार पर, संभवतः पहले स्थान पर सन्निकटन का उपयोग करने का उद्देश्य विफल हो जाएगा।

यह भी देखें

 * हाइपोट, सटीक फ़ंक्शन या एल्गोरिदम जो ओवरफ़्लो और अंडरफ़्लो के विरुद्ध भी सुरक्षित है।

संदर्भ

 * Lyons, Richard G. Understanding Digital Signal Processing, section 13.2. Prentice Hall, 2004 ISBN 0-13-108989-7.
 * Griffin, Grant. DSP Trick: Magnitude Estimator.