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

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{short description|High-speed approximation of the square root of the sum of two squares}}
{{short description|High-speed approximation of the square root of the sum of two squares}}
{{Distinguish|Minimax|Alpha–beta pruning}}
{{Distinguish|मिनीमैक्स|अल्फा-बीटा प्रूनिंग}}


[[File:AlphaMaxBetaMin.png|thumb|अल्फ़ा और बीटा के विभिन्न मानों के लिए एल्गोरिदम में समान मान देने वाले बिंदुओं का स्थान]]अल्फ़ा मैक्स प्लस बीटा मिन एल्गोरिथम दो वर्गों के योग के [[वर्गमूल]] का उच्च गति सन्निकटन है। दो वर्गों के योग का वर्गमूल, जिसे [[पायथागॉरियन जोड़]] के रूप में भी जाना जाता है, उपयोगी फ़ंक्शन है, क्योंकि यह दो भुजाओं की लंबाई, 2-डी [[वेक्टर (ज्यामितीय)]] के मानक (गणित), या [[परिमाण (गणित)]] को देखते हुए समकोण त्रिभुज के [[कर्ण]] का पता लगाता है। <math>|z| = \sqrt{a^2 + b^2}</math> सम्मिश्र संख्या का {{math|1=''z'' = ''a'' + ''bi''}} [[वास्तविक संख्या]] और [[काल्पनिक संख्या]] भाग दिए गए हैं।
[[File:AlphaMaxBetaMin.png|thumb|अल्फ़ा और बीटा के विभिन्न मानों के लिए एल्गोरिदम में समान मान देने वाले बिंदुओं का स्थान]]'''अल्फ़ा मैक्स प्लस बीटा मिन एल्गोरिथम''' दो वर्गों के योग के [[वर्गमूल]] का उच्च गति सन्निकटन होता है। इसको दो वर्गों के योग का वर्गमूल कहा जाता हैं, जिसे [[पायथागॉरियन जोड़]] के रूप में भी जाना जाता है, यह उपयोगी फलन होता है, क्योंकि इसकी दो भुजाओं की लंबाई, 2-डी होती हैं | यह [[वेक्टर (ज्यामितीय)|सदिश (ज्यामितीय)]] के मानदंड या [[परिमाण (गणित)]] <math>|z| = \sqrt{a^2 + b^2}</math> को देखते हुए समकोण त्रिभुज का [[कर्ण]] '''पाता''' है। इसमें सम्मिश्र संख्या {{math|1=''z'' = ''a'' + ''bi''}} के [[वास्तविक संख्या]] और [[काल्पनिक संख्या]] के भाग दिए गए हैं।


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


सन्निकटन के रूप में व्यक्त किया गया है
इसको सन्निकटन के रूप में व्यक्त किया गया है।
<math display="block">|z| = \alpha\,\mathbf{Max} + \beta\,\mathbf{Min},</math>
<math display="block">|z| = \alpha\,\mathbf{Max} + \beta\,\mathbf{Min},</math>
कहाँ <math>\mathbf{Max}</math> और बी का अधिकतम निरपेक्ष मान है, और <math>\mathbf{Min}</math> और बी का न्यूनतम निरपेक्ष मान है।
जहाँ <math>\mathbf{Max}</math> ''a'' और ''b'' का अधिकतम निरपेक्ष मान होता है, और <math>\mathbf{Min}</math> ''a'' और ''b'' का न्यूनतम निरपेक्ष मान होता है।


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


{| class="wikitable" style="text-align:right"
{| class="wikitable" style="text-align:right"
! <math>\alpha\,\!</math> || <math>\beta\,\!</math> || Largest error (%) || Mean error (%)
! <math>\alpha\,\!</math> || <math>\beta\,\!</math> ||सबसे बड़ी त्रुटि (%)  
!माध्य त्रुटि (%)
|-
|-
| 1/1 || 1/2 || 11.80 || 8.68
| 1/1 || 1/2 || 11.80 || 8.68
Line 30: Line 33:


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


: <math>|z| = \max(\mathbf{Max}, \alpha\,\mathbf{Max} + \beta\,\mathbf{Min}).</math>
: <math>|z| = \max(\mathbf{Max}, \alpha\,\mathbf{Max} + \beta\,\mathbf{Min}).</math>
हार्डवेयर के आधार पर, यह सुधार लगभग निःशुल्क हो सकता है।
हार्डवेयर के आधार पर, यह सुधार लगभग निःशुल्क हो सकता है।


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


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


: <math>|z| = \max\big(|z_0|, |z_1|\big),</math>
: <math>|z| = \max\big(|z_0|, |z_1|\big),</math>
Line 46: Line 48:
{| class="wikitable" style="text-align:right"
{| class="wikitable" style="text-align:right"
|-
|-
! <math>\alpha_0</math> || <math>\beta_0</math> || <math>\alpha_1</math> || <math>\beta_1</math> || Largest error (%)
! <math>\alpha_0</math> || <math>\beta_0</math> || <math>\alpha_1</math> || <math>\beta_1</math> ||सबसे बड़ी त्रुटि (%)
|-
|-
| 1 || 0 || 7/8 || 17/32 || −2.65%  
| 1 || 0 || 7/8 || 17/32 || −2.65%  
Line 61: Line 63:
|-
|-
|}
|}
हालाँकि, सावधान रहें, यह गैर-शून्य है <math>\beta_0</math> इसके लिए कम से कम अतिरिक्त जोड़ और कुछ बिट-शिफ्ट (या गुणन) की आवश्यकता होगी, संभवतः लागत लगभग दोगुनी हो जाएगी और, हार्डवेयर के आधार पर, संभवतः पहले स्थान पर सन्निकटन का उपयोग करने का उद्देश्य विफल हो जाएगा।
हालाँकि, सावधान रहें, यह गैर-शून्य है <math>\beta_0</math> इसके लिए कम से कम अतिरिक्त जोड़ और कुछ बिट-शिफ्ट (या गुणन) की आवश्यकता होगी, संभवतः लागत लगभग दोगुनी हो जाएगी और, हार्डवेयर के आधार पर, संभवतः प्रथम स्थान पर सन्निकटन का उपयोग करने का उद्देश्य विफल हो जाएगा।


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


==संदर्भ==
==संदर्भ==

Revision as of 10:59, 29 July 2023

अल्फ़ा और बीटा के विभिन्न मानों के लिए एल्गोरिदम में समान मान देने वाले बिंदुओं का स्थान

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

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

इसको सन्निकटन के रूप में व्यक्त किया गया है।

जहाँ a और b का अधिकतम निरपेक्ष मान होता है, और a और b का न्यूनतम निरपेक्ष मान होता है।

निकटतम सन्निकटन के लिए, और के लिए इष्टतम मान और हैं

, अधिकतम 3.96% त्रुटि दे रहा है।

सबसे बड़ी त्रुटि (%) माध्य त्रुटि (%)
1/1 1/2 11.80 8.68
1/1 1/4 11.61 3.20
1/1 3/8 6.80 4.25
7/8 7/16 12.50 4.91
15/16 15/32 6.25 3.08
3.96 2.41

केंद्र

सुधार

जब , उन अक्षों के पास से छोटा हो जाता है (जो ज्यामितीय रूप से असंभव है) जहां 0 के करीब है। जब भी यह अधिक हो, तो परिणाम को से प्रतिस्थापित करके इसका समाधान किया जा सकता है। अनिवार्य रूप से रेखा को दो अलग-अलग खंडों में विभाजित करना।

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

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

परिशुद्धता में वृद्धि: इस तरह से रेखा को दो भागों में विभाजित करते समय पहले खंड को से बेहतर अनुमान से प्रतिस्थापित करके और तदनुसार और को समायोजित करके परिशुद्धता में और भी अधिक सुधार किया जा सकता है।

सबसे बड़ी त्रुटि (%)
1 0 7/8 17/32 −2.65%
1 0 29/32 61/128 +2.4%
1 0 0.898204193266868 0.485968200201465 ±2.12%
1 1/8 7/8 33/64 −1.7%
1 5/32 27/32 71/128 1.22%
127/128 3/16 27/32 71/128 −1.13%

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

यह भी देखें

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

संदर्भ

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


बाहरी संबंध