सामान्यीकृत वितरण नियम

सामान्यीकृत वितरण नियम (जीडीएल) वितरण गुण का एक ऐसा सामान्यीकरण है जो सामान्य संदेश देना एल्गोरिदम को जन्म देता है। यह सूचना सिद्धांत, डिजिटल संचार, संकेत आगे बढ़ाना, सांख्यिकी और कृत्रिम बुद्धिमत्ता समुदायों में कई लेखकों के फलन का संश्लेषण है। नियम और एल्गोरिदम को इसी शीर्षक के साथ श्रीनिवास एम. अजी और रॉबर्ट जे. मैकएलीस द्वारा अर्ध-संरक्षक में प्रस्तुत किया गया था।

परिचय
गणित में वितरणात्मक नियम गुणा और जोड़ की संक्रियाओं से संबंधित नियम है, जिसे प्रतीकात्मक रूप से कहा गया है, $$ a*(b + c) = a*b + a*c$$; अर्थात, एकपदी गुणनखंड $$a$$ द्विपद गुणनखंड $$ b + c $$ के प्रत्येक पद पर वितरित किया जाता है, या अलग से लागू किया जाता है, जिसके परिणामस्वरूप उत्पाद $$ a*b + a*c $$- होता है" - ब्रिटानिका

जैसा कि परिभाषा से देखा जा सकता है, अंकगणितीय अभिव्यक्ति में वितरणात्मक नियम को लागू करने से इसमें संक्रियाओं की संख्या कम हो जाती है। पूर्व उदाहरण में संक्रियाओं की कुल संख्या तीन $$ a*b + a*c $$) में दो गुणा और एक जोड़) से घटकर दो हो गई $$ a*(b + c) $$में एक गुणा और एक जोड़)। वितरणात्मक नियम के सामान्यीकरण से तीव्र एल्गोरिदम का बड़ा वर्ग तैयार होता है। इसमें फास्ट फूरियर ट्रांसफॉर्म और विटर्बी एल्गोरिदम सम्मिलित हैं।

इसे नीचे दिए गए उदाहरण में अधिक औपचारिक विधि से समझाया गया है:

$$\alpha(a,\, b) \stackrel{\mathrm{def}}{=} \displaystyle\sum \limits_{c,d,e \in A} f(a, \, c, \, b) \, g(a, \, d, \, e) $$ जहां $$f(\cdot)$$ और $$g(\cdot)$$ वास्तविक-मानित फलन हैं, $$a,b,c,d,e \in A$$ और $$|A|=q$$ (कहना)

यहां हम परिणाम प्राप्त करने के लिए स्वतंत्र चरों ($$c$$, $$d$$, और $$e$$) को हाशिए पर रख रहे हैं। जब हम कम्प्यूटेशनल जटिलता की गणना कर रहे हैं, तो हम देख सकते हैं कि $$(a,b)$$ के प्रत्येक $$q^{2}$$ जोड़े के लिए, त्रिक $$(c,d,e)$$ के कारण $$q^{3}$$ पद हैं जिन्हें लेने की आवश्यकता है प्रत्येक चरण में एक जोड़ और एक गुणा के साथ $$\alpha(a,\, b)$$ के मूल्यांकन में भाग लें। इसलिए, आवश्यक गणनाओं की कुल संख्या $$2\cdot q^2 \cdot q^3 = 2q^5$$ हैं। इसलिए उपरोक्त फलन की स्पर्शोन्मुख जटिलता $$O(n^5)$$ हैं।

यदि हम वितरण नियम को समीकरण के आरएचएस पर लागू करते हैं, तो हमें निम्नलिखित मिलता है:


 * $$\alpha(a, \, b) \stackrel{\mathrm{def}}{=}  \displaystyle\sum\limits_{c \in A} f(a, \, c, \, b ) \cdot \sum _{d,\,e \in A} g(a,\,d,\,e) $$

इसका अर्थ यह है कि $$\alpha(a, \, b)$$ उत्पाद के रूप में वर्णित किया जा सकता है $$\alpha_{1}(a,\, b) \cdot \alpha_{2}(a)$$ जहां $$ \alpha_{1}(a,b) \stackrel{\mathrm{def}}{=} \displaystyle\sum\limits_{c \in A} f(a, \, c, \, b )$$ और $$\alpha_{2}(a) \stackrel{\mathrm{def}}{=} \displaystyle\sum\limits_{d,\,e \in A} g(a,\, d, \,e )$$ अब, जब हम कम्प्यूटेशनल जटिलता की गणना कर रहे हैं, तो हम देख सकते हैं कि वहाँ हैं $$q^{3}$$ में परिवर्धन $$\alpha_{1}(a,\, b)$$ और $$\alpha_{2}(a)$$ प्रत्येक और वहाँ हैं $$q^2$$ जब हम उत्पाद का उपयोग कर रहे होते हैं तो गुणन $$\alpha_{1}(a,\, b) \cdot \alpha_{2}(a)$$ मूल्यांकन करना $$\alpha(a, \, b)$$. इसलिए, आवश्यक गणनाओं की कुल संख्या है $$q^3 + q^3 + q^2 = 2q^3 + q^2$$. इसलिए गणना की स्पर्शोन्मुख जटिलता $$\alpha(a,b)$$ तक कम कर देता है $$O(n^{3})$$ से $$O(n^{5})$$. यह उदाहरण से पता चलता है कि वितरण नियम लागू करने से कम्प्यूटेशनल जटिलता कम हो जाती है जो कि तीव्र एल्गोरिदम की अच्छी विशेषताओं में से है।

इतिहास
कुछ समस्याएँ जिन्हें हल करने के लिए वितरणात्मक नियम का उपयोग किया गया, उन्हें निम्नानुसार समूहीकृत किया जा सकता है

1. डिकोडिंग एल्गोरिदम कम घनत्व समता-जांच कोड को डिकोड करने के लिए गैलेजर द्वारा जीडीएल जैसे एल्गोरिदम का उपयोग किया गया था। गैलागर के फलन के आधार पर टान्नर ने टान्नर ग्राफ प्रस्तुत किया और गैलागर के फलन को संदेश पासिंग फॉर्म में व्यक्त किया। टेनर्स ग्राफ़ ने विटरबी एल्गोरिथम को समझाने में भी मदद की।

फ़ॉर्नी द्वारा यह देखा गया है कि विटर्बी के कन्वेन्शनल कोड की अधिकतम संभावना डिकोडिंग में जीडीएल जैसी व्यापकता के एल्गोरिदम का भी उपयोग किया जाता है।

2. फॉरवर्ड-बैकवर्ड एल्गोरिथम फॉरवर्ड बैकवर्ड एल्गोरिदम ने मार्कोव श्रृंखला में राज्यों को ट्रैक करने के लिए एल्गोरिदम के रूप में मदद की। और इसमें भी सामान्यता की तरह जीडीएल के एल्गोरिदम का उपयोग किया गया था

3. कृत्रिम बुद्धिमत्ता एआई में कई समस्याओं को हल करने के लिए जंक्शन पेड़ों की अवधारणा का उपयोग किया गया है। इसके अलावा बाल्टी उन्मूलन की अवधारणा में कई अवधारणाओं का उपयोग किया गया।

एमपीएफ समस्या
एमपीएफ या उत्पाद फलन को हाशिए पर रखना सामान्य कम्प्यूटेशनल समस्या है जिसमें विशेष मामले में कई शास्त्रीय समस्याएं सम्मिलित हैं जैसे कि असतत हैडामर्ड परिवर्तन की गणना, मेमोरी-कम चैनल (संचार) पर रैखिक कोड की अधिकतम संभावना डिकोडिंग, और मैट्रिक्स श्रृंखला गुणन। जीडीएल की शक्ति इस तथ्य में निहित है कि यह उन स्थितियों पर लागू होता है जिनमें जोड़ और गुणा को सामान्यीकृत किया जाता है। इस व्यवहार को समझाने के लिए क्रमविनिमेय सेमीरिंग अच्छा ढाँचा है। इसे सेट पर परिभाषित किया गया है $$K$$ ऑपरेटरों के साथ$$+$$और$$.$$जहां $$(K,\, +)$$ और $$(K,\, .)$$ क्रमविनिमेय मोनोइड हैं और वितरणात्मक नियम कायम है।

होने देना $$p_1, \ldots, p_n$$ ऐसे परिवर्तनशील बनें $$p_1 \in A_1, \ldots, p_n \in A_{n}$$ जहां $$A $$ परिमित समुच्चय है और $$|A_i| = q_i$$. यहाँ $$i = 1,\ldots, n$$. अगर $$S = \{i_{1}, \ldots, i_{r}\}$$ और $$S \, \subset \{1,\ldots, n\}$$, होने देना $$ A_{S} = A_{i_1} \times \cdots \times A_{i_r} $$, $$ p_{S} = (p_{i_1},\ldots, p_{i_r})$$,

$$ q_{S} = |A_{S}|$$, $$\mathbf A = A_{1} \times \cdots \times A_{n} $$, और

$$\mathbf p = \{p_{1}, \ldots, p_{n}\}$$ होने देना $$S = \{S_{j}\}_{j=1}^M $$ जहां $$S_{j} \subset \{1, ...\,,n\}$$. मान लीजिए किसी फलन को इस प्रकार परिभाषित किया गया है $$\alpha_{i}: A_{S_{i}} \rightarrow R$$, जहां $$R$$ क्रमविनिमेय सेमीरिंग है। भी, $$ p_{S_{i}}$$ स्थानीय डोमेन नाम दिए गए हैं और $$\alpha_{i}$$ स्थानीय गुठली के रूप में.

अब वैश्विक कर्नेल $$\beta : \mathbf A \rightarrow R$$ परिभाषित किया जाता है : $$ \beta(p_{1}, ...\,, p_{n}) = \prod_{i=1}^M \alpha(p_{S_{i}})$$ एमपीएफ समस्या की परिभाषा: या अधिक सूचकांकों के लिए $$i = 1, ...\,, M$$, के मानों की तालिका की गणना करें $$S_{i}$$-वैश्विक कर्नेल का हाशियाकरण $$\beta$$, जो कि फलन है $$\beta_{i}:A_{S_{i}} \rightarrow R$$ के रूप में परिभाषित $$\beta_{i}(p_{S_{i}}) \, = \displaystyle\sum\limits_{p_{S_{i}^c} \in A_{S_{i}^c}} \beta(p)$$ यहाँ $$S_{i}^c$$ का पूरक है $$S_{i}$$ इसके संबंध में $$\mathbf \{1,...\,,n\}$$ और यह $$\beta_i(p_{S_i})$$ कहा जाता है $$i^{th}$$ वस्तुनिष्ठ फलन, या वस्तुनिष्ठ फलन $$S_i$$. यह देखा जा सकता है कि की गणना $$i^{th}$$ स्पष्ट विधि से वस्तुनिष्ठ फलन की आवश्यकता है $$Mq_1 q_2 q_3\cdots q_{n}$$ परिचालन. ऐसा इसलिए है क्योंकि वहाँ हैं $$q_1 q_2\cdots q_n$$ अतिरिक्त और $$(M-1)q_1 q_2...q_n$$ की गणना में आवश्यक गुणन $$i^\text{th}$$ उद्देश्य समारोह। जीडीएल एल्गोरिदम जिसे अगले भाग में समझाया गया है, इस कम्प्यूटेशनल जटिलता को कम कर सकता है।

निम्नलिखित एमपीएफ समस्या का उदाहरण है। होने देना $$p_{1},\,p_{2},\,p_{3},\,p_{4},$$ और $$p_{5}$$ ऐसे परिवर्तनशील बनें $$p_{1} \in A_{1}, p_{2} \in A_{2}, p_{3} \in A_{3}, p_{4} \in A_{4}, $$ और $$p_{5} \in A_{5}$$. यहाँ $$M=4$$ और $$S = \{\{1,2,5\},\{2,4\},\{1,4\}, \{2\}\}$$. इन वेरिएबल्स का उपयोग करके दिए गए फलन हैं $$f(p_{1},p_{2},p_{5})$$ और $$g(p_{3},p_{4})$$ और हमें गणना करने की आवश्यकता है $$\alpha(p_{1}, \, p_{4})$$ और $$\beta(p_{2})$$ के रूप में परिभाषित:


 * $$ \alpha(p_1, \, p_4) = \displaystyle\sum\limits_{p_2 \in A_2,\, p_3 \in A_3, \, p_5 \in A_5 } f(p_1,\, p_2,\, p_5 ) \cdot g(p_2, \, p_4)$$
 * $$ \beta(p_{2}) = \sum\limits_{p_1 \in A_1,\, p_3 \in A_3,\, p_4 \in A_4, \, p_5 \in A_5 } f(p_1, \, p_2, \, p_5) \cdot g(p_2, \, p_4) $$

यहां स्थानीय डोमेन और स्थानीय कर्नेल को इस प्रकार परिभाषित किया गया है: जहां $$\alpha(p_{1}, p_{4})$$ है $$3^{rd}$$ वस्तुनिष्ठ फलन और $$\beta(p_{2})$$ है $$4^{th}$$ उद्देश्य समारोह।

एक और उदाहरण पर विचार करें जहां $$p_{1},p_{2},p_{3},p_{4},r_{1},r_{2},r_{3},r_{4} \in \{0,1\}$$ और $$f(r_{1},r_{2},r_{3},r_{4})$$ वास्तविक मानित फलन है। अब, हम एमपीएफ समस्या पर विचार करेंगे जहां क्रमविनिमेय सेमीरिंग को सामान्य जोड़ और गुणा के साथ वास्तविक संख्याओं के सेट के रूप में परिभाषित किया गया है और स्थानीय डोमेन और स्थानीय कर्नेल को निम्नानुसार परिभाषित किया गया है:

अब चूंकि वैश्विक कर्नेल को स्थानीय कर्नेल के उत्पाद के रूप में परिभाषित किया गया है, यह है


 * $$F(p_1, p_2, p_3,p_4, r_1, r_2, r_3,r_4) = f(p_1,p_2,p_3,p_4)\cdot(-1)^{p_1r_1 + p_2r_2 + p_3r_3 + p_4r_4}$$

और स्थानीय डोमेन पर उद्देश्य फलन $$p_1, p_2, p_3,p_4$$ है


 * $$F(p_1, p_2, p_3,p_4) = \displaystyle\sum \limits_{r_1,r_2,r_3,r_4} f(r_1,r_2,r_3,r_4) \cdot(-1)^{p_1r_1 + p_2r_2 + p_3r_3 + p_4r_4}.$$

यह फलन का Hadamard रूपांतरण है $$f(\cdot)$$. इसलिए हम देख सकते हैं कि हैडामर्ड ट्रांसफॉर्म की गणना एमपीएफ समस्या का विशेष मामला है। यह साबित करने के लिए और अधिक उदाहरण प्रदर्शित किए जा सकते हैं कि एमपीएफ समस्या कई शास्त्रीय समस्याओं के विशेष मामले बनाती है जैसा कि ऊपर बताया गया है जिनका विवरण यहां पाया जा सकता है

जीडीएल: एमपीएफ समस्या को हल करने के लिए एल्गोरिदम
यदि कोई किसी दिए गए सेट के तत्वों के बीच संबंध पा सकता है $$S$$, तो कोई विश्वास प्रसार की धारणा के आधार पर एमपीएफ समस्या को हल कर सकता है जो संदेश भेजने की तकनीक का विशेष उपयोग है। आवश्यक संबंध यह है कि स्थानीय डोमेन के दिए गए सेट को जंक्शन ट्री में व्यवस्थित किया जा सकता है। दूसरे शब्दों में, हम के तत्वों के साथ ग्राफ सैद्धांतिक वृक्ष बनाते हैं $$S$$ पेड़ के शीर्ष के रूप में (ग्राफ सिद्धांत) $$T$$, जैसे कि किन्हीं दो मनमाने शीर्षों के लिए कहें $$v_{i}$$ और $$v_{j}$$ जहां $$i \neq j$$ और इन दो शीर्षों के बीच किनारा मौजूद है, फिर संबंधित लेबलों का प्रतिच्छेदन, अर्थात $$S_{i}\cap S_{j}$$, से अद्वितीय पथ पर प्रत्येक शीर्ष पर लेबल का उपसमूह है $$v_{i}$$ को $$v_{j}$$.

उदाहरण के लिए,

उदाहरण 1: निम्नलिखित नौ स्थानीय डोमेन पर विचार करें:

ऊपर दिए गए स्थानीय डोमेन के सेट के लिए, कोई उन्हें जंक्शन ट्री में व्यवस्थित कर सकता है जैसा कि नीचे दिखाया गया है:
 * 1) $$\{p_2\}$$
 * 2) $$\{p_3,p_2\}$$
 * 3) $$\{p_2,p_1\}$$
 * 4) $$\{p_3,p_4\}$$
 * 5) $$\{p_3\}$$
 * 6) $$\{p_1,p_4\}$$
 * 7) $$\{p_1\}$$
 * 8) $$\{p_4\}$$
 * 9) $$\{p_2,p_4\}$$

इसी प्रकार यदि निम्नलिखित जैसा और सेट दिया गया है

उदाहरण 2: निम्नलिखित चार स्थानीय डोमेन पर विचार करें:

फिर केवल इन स्थानीय डोमेन के साथ पेड़ का निर्माण संभव नहीं है क्योंकि मूल्यों के इस सेट में कोई सामान्य डोमेन नहीं है जिसे उपरोक्त सेट के किन्हीं दो मानों के बीच रखा जा सके। लेकिन हालाँकि, यदि नीचे दिखाए गए अनुसार दो डमी डोमेन जोड़ें तो अद्यतन सेट को जंक्शन ट्री में व्यवस्थित करना संभव और आसान भी होगा।
 * 1) $$\{p_1,p_2\}$$
 * 2) $$\{p_2,p_3\}$$
 * 3) $$\{p_3,p_4\}$$
 * 4) $$\{p_1,p_4\}$$

5.$$\{p_{1},p_{2}$$,$$p_{4}\}$$ 6.$$\{p_{2},p_{3}$$,$$p_{4}\}$$ इसी प्रकार डोमेन के इन सेट के लिए, जंक्शन ट्री नीचे दिखाए गए जैसा दिखता है:

सामान्यीकृत वितरण नियम (जीडीएल) एल्गोरिदम
इनपुट: स्थानीय डोमेन का सेट।

आउटपुट: डोमेन के दिए गए सेट के लिए, समस्या को हल करने के लिए आवश्यक न्यूनतम संख्या में ऑपरेशन की गणना की जाती है। तो यदि $$v_{i}$$ और $$v_{j}$$ जंक्शन ट्री में किनारे से जुड़े होते हैं, फिर संदेश से $$v_{i}$$ को $$v_{j}$$ किसी फलन द्वारा दिए गए मानों का सेट/तालिका है: $$\mu_{i,j}$$:$$A_{S_{i}\cap S_{j}} \rightarrow R$$. सभी कार्यों के साथ आरंभ करने के लिए अर्थात सभी संयोजनों के लिए $$i$$ और $$j$$ दिए गए पेड़ में, $$\mu_{i,j}$$ को समान रूप से परिभाषित किया गया है $$1$$ और जब कोई विशेष संदेश अद्यतन किया जाता है, तो यह नीचे दिए गए समीकरण का पालन करता है।


 * $$\mu_{i,j}(p_{S_{i}\cap S_{j}})$$ = $$\sum_{p_{S_{i}\setminus S_{j}}\in A_{S_{i} \setminus S_{j}}} \alpha _{i} (p_{S_{i}}) \prod_{{v_k \operatorname{adj} v_i},{k \neq j}} \mu_{k,j}(p_{S_k\cap S_i})(1)

$$ जहां $$v_k \operatorname{adj} v_i$$ मतलब कि $$v_{k}$$ का निकटवर्ती शीर्ष है $$v_{i}$$ पेड़ में.

इसी प्रकार प्रत्येक शीर्ष पर स्थिति होती है जिसे फलन के मानों वाली तालिका के रूप में परिभाषित किया जाता है $$\sigma_{i}: A_{S_{i}} \rightarrow R $$, बिल्कुल वैसे ही जैसे संदेश 1 से प्रारंभ होते हैं, ठीक उसी तरह, की स्थिति $$v_{i}$$ स्थानीय कर्नेल के रूप में परिभाषित किया गया है $$\alpha(p_{S_{i}})$$, लेकिन जब भी $$\sigma_{i}$$ अद्यतन हो जाता है, यह निम्नलिखित समीकरण का पालन करता है:


 * $$\sigma(p_{S_i}) =   \alpha_i(p_{S_i}) \prod_{v_k \operatorname{adj} v_i}  \mu_{k,j}(p_{S_k\cap S_i})(2).$$

एल्गोरिदम का मूल कार्य
इनपुट के रूप में स्थानीय डोमेन के दिए गए सेट के लिए, हम यह पता लगाते हैं कि क्या हम जंक्शन ट्री बना सकते हैं, या तो सीधे सेट का उपयोग करके या पहले सेट में डमी डोमेन जोड़कर और फिर जंक्शन ट्री बनाकर, यदि निर्माण जंक्शन संभव नहीं है तो एल्गोरिदम आउटपुट देता है कि दिए गए समीकरण समस्या की गणना करने के लिए चरणों की संख्या को कम करने का कोई तरीका नहीं है, लेकिन बार जब हमारे पास जंक्शन ट्री होता है, तो एल्गोरिदम को संदेशों को शेड्यूल करना होगा और राज्यों की गणना करनी होगी, ऐसा करने से हम जान सकते हैं कि चरणों को कहां कम किया जा सकता है, इसलिए इस पर नीचे चर्चा की जाएगी।

संदेश भेजने का शेड्यूल और स्थिति की गणना
ऐसे दो विशेष मामले हैं जिनके बारे में हम यहां बात करने जा रहे हैं, अर्थात् सिंगल वर्टेक्स समस्या जिसमें उद्देश्य फलन की गणना केवल शीर्ष पर की जाती है। $$v_{0}$$ और दूसरा ऑल वर्टिसेस समस्या है जहां लक्ष्य सभी शीर्षों पर वस्तुनिष्ठ फलन की गणना करना है।

आइए 'सिंगल-वर्टेक्स समस्या' से शुरुआत करें, जीडीएल प्रत्येक किनारे को लक्षित शीर्ष की ओर निर्देशित करके शुरू करेगा $$v_0$$. यहां संदेश केवल लक्षित शीर्ष की दिशा में ही भेजे जाते हैं। ध्यान दें कि सभी निर्देशित संदेश केवल बार भेजे जाते हैं। संदेश लीफ नोड्स (जहां डिग्री 1 है) से शुरू होकर लक्ष्य शीर्ष की ओर बढ़ते हैं $$v_0$$. संदेश पत्तियों से उसके माता-पिता तक और फिर वहां से उनके माता-पिता तक और इसी तरह तब तक चलता रहता है जब तक कि वह लक्ष्य शीर्ष तक नहीं पहुंच जाता $$v_0$$. लक्ष्य शिखर $$v_0$$ अपनी स्थिति की गणना तभी करेगा जब उसे अपने सभी पड़ोसियों से सभी संदेश प्राप्त होंगे। बार जब हमें स्थिति मिल जाती है, तो हमें उत्तर मिल जाता है और इसलिए एल्गोरिथम समाप्त हो जाता है।

उदाहरण के लिए, आइए ऊपर दिए गए स्थानीय डोमेन के सेट से निर्मित जंक्शन ट्री पर विचार करें, यानी उदाहरण 1 से सेट, अब इन डोमेन के लिए शेड्यूलिंग तालिका है (जहां लक्ष्य शीर्ष है) $$p_2$$).

$$\text{Round                     Message or State Computation} $$ $$1.\mu_{8,4}(p_{4}) = \alpha_{8}(p_{4}) $$ $$2.\mu_{8,4}(p_{4}) = \Sigma_{p_{2}} \alpha_{9}(p_{2},p_{4}) $$ $$3.\mu_{5,2}(p_{3}) = \alpha_{5}(p_{3}) $$ $$4.\mu_{6,3}(p_{1}) = \Sigma_{p_{4}} \alpha_{6}(p_{1},p_{4}) $$ $$5.\mu_{7,3}(p_{1}) = \alpha_{7}(p_{1}) $$ $$6.\mu_{4,2}(p_{3}) = \Sigma_{p_{4}} \alpha_{4}(p_{3},p_{4}).\mu_{8,4}(p_{4}).\mu_{9,4}(p_{4}) $$ $$7.\mu_{3,1}(p_{2}) = \Sigma_{p_{1}} \alpha_{3}(p_{2},p_{1}).\mu_{6,3}(p_{1}).\mu_{7,3}(p_{1}) $$ $$8.\mu_{2,1}(p_{2}) = \Sigma_{p_{3}} \alpha_{2}(p_{3},p_{2}).\mu_{4,2}(p_{3}).\mu_{5,2}(p_{3}) $$ $$9.\sigma_{1}(p_{2}) = \alpha_{1}(p_{2}).\mu_{2,1}(p_{2}).\mu_{3,1}(p_{2})$$ इस प्रकार सिंगल वर्टेक्स जीडीएल की जटिलता को इस प्रकार दिखाया जा सकता है

$$\Sigma_{v} d(v)|A_{S_{(v)}}| $$ अंकगणितीय संक्रियाएँ

कहां (नोट: उपरोक्त समीकरण का स्पष्टीकरण लेख में बाद में बताया गया है)

$$S(v)$$ का लेबल है $$v$$.

$$d(v)$$ की डिग्री (ग्राफ सिद्धांत) है $$v$$ (अर्थात् v के निकटवर्ती शीर्षों की संख्या)।

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

इस समस्या के लिए जीडीएल को शेड्यूल करने का दूसरा तरीका क्रमिक कार्यान्वयन है जहां यह सिंगल वर्टेक्स समस्या के समान है, सिवाय इसके कि हम एल्गोरिदम को तब तक नहीं रोकते हैं जब तक कि आवश्यक सेट के सभी शीर्षों को अपने सभी पड़ोसियों से सभी संदेश नहीं मिल जाते हैं और उनकी गणना नहीं कर लेते हैं राज्य। इस प्रकार इस कार्यान्वयन के लिए आवश्यक अंकगणित की संख्या अधिकतम है $$\Sigma_{v \in V} d(v)|A_{S_{(v)}}| $$ अंकगणितीय आपरेशनस।

जंक्शन ट्री का निर्माण
जंक्शन ट्री बनाने की कुंजी स्थानीय डोमेन ग्राफ़ में निहित है $$G_{LD}$$, जो भारित पूर्ण ग्राफ़ है $$M$$ कोने $$v_1,v_2,v_3,\ldots ,v_M$$ यानी प्रत्येक स्थानीय डोमेन के लिए एक, जिसमें किनारे का भार होता है $$e_{i,j} : v_i \leftrightarrow v_j$$ द्वारा परिभाषित $$\omega_{i,j} = |S_{i} \cap S_{j}|$$.

अगर $$x_{k} \in S_{i} \cap S_{j}$$, तो हम कहते हैं $$x_{k}$$ में निहित है$$e_{i,j}$$. द्वारा चिह्नित $$\omega_{max}$$ (अधिकतम वजन वाले फैले हुए पेड़ का वजन $$G_{LD}$$), जिसे परिभाषित किया गया है


 * $$\omega^{*} = \Sigma ^M_{i=1}|S_{i}| - n$$

जहाँ n उस सेट में तत्वों की संख्या है। अधिक स्पष्टता और विवरण के लिए, कृपया इन्हें देखें।

शेड्यूलिंग प्रमेय
होने देना $$'T'$$ वर्टेक्स सेट के साथ जंक्शन ट्री बनें $$'V'$$ और किनारा सेट $$'E'$$. इस एल्गोरिथ्म में, संदेश किसी भी किनारे पर दोनों दिशाओं में भेजे जाते हैं, इसलिए हम किनारे के सेट E को शीर्षों के क्रमित जोड़े के सेट के रूप में कह/मान सकते हैं। उदाहरण के लिए, चित्र 1 से $$'E'$$ निम्नानुसार परिभाषित किया जा सकता है


 * $$E = \{(1,2),(2,1),(1,3),(3,1),(4,2),(2,4),(5,2),(2,5),(6,3),(3,6),(7,3),(3,7),(8,4),(4,8),(9,4),(4,9)\}$$

टिप्पणी:$$E$$ उपरोक्त आपको वे सभी संभावित दिशा-निर्देश देता है जिनसे संदेश पेड़ में फैल सकता है।

जीडीएल के लिए शेड्यूल को सबसेट के सीमित अनुक्रम के रूप में परिभाषित किया गया है$$E$$. जिसका सामान्यतः प्रतिनिधित्व किया जाता है

$$\mathcal{E} =$${$$E_{1},E_{2},E_{3},\ldots, E_{N}$$}, जहां $$E_{N}$$ के दौरान अद्यतन किए गए संदेशों का सेट है $$N^{th}$$ एल्गोरिदम चलाने का दौर।

कुछ नोटेशनों को परिभाषित/देखने के बाद, हम देखेंगे कि प्रमेय कहता है, जब हमें शेड्यूल दिया जाता है $$\mathcal{E} =\{ E_1,E_2,E_3,\ldots, E_N\}$$, वर्टेक्स सेट के साथ परिमित निर्देशित ग्राफ के रूप में संबंधित सलाखें (ग्राफ) । $$V \times \{0,1,2,3,\ldots, N\}$$, जिसमें विशिष्ट तत्व को निरूपित किया जाता है $$v_{i}(t)$$ के लिए $$t \in \{0,1,2,3,\ldots,N\}$$, फिर संदेश पारित होने के पूरा होने के बाद, शीर्ष पर बताएं $$v_{j}$$ यह होंगे $$j^\text{th}$$ उद्देश्य परिभाषित


 * $$\sigma(p_{S_i}) = \alpha_i(p_{S_i}) \prod_{v_k \operatorname{adj} v_i} \mu_{k,j}(p_{S_{k}\cap S_{i}})$$

और iff से रास्ता है $$v_i(0)$$ को $$v_j(N)$$

कम्प्यूटेशनल जटिलता
यहां हम गणना के लिए आवश्यक गणितीय संक्रियाओं की संख्या के संदर्भ में एमपीएफ समस्या को हल करने की जटिलता को समझाने का प्रयास करते हैं। यानी हम सामान्य विधि का उपयोग करके गणना करते समय आवश्यक संचालन की संख्या की तुलना करते हैं (यहां सामान्य विधि से हमारा मतलब उन तरीकों से है जो संदेश पासिंग या जंक्शन पेड़ों का उपयोग नहीं करते हैं जो संक्षिप्त तरीकों में जीडीएल की अवधारणाओं का उपयोग नहीं करते हैं) और उपयोग करने वाले संचालन की संख्या की तुलना करते हैं सामान्यीकृत वितरणात्मक नियम.

उदाहरण: सबसे सरल मामले पर विचार करें जहां हमें निम्नलिखित अभिव्यक्ति की गणना करने की आवश्यकता है $$ab+ac$$.

इस अभिव्यक्ति का मूल्यांकन करने के लिए दो गुणा और जोड़ की आवश्यकता होती है। अभिव्यक्ति जब वितरणात्मक नियम का उपयोग करके व्यक्त की जाती है तो उसे इस प्रकार लिखा जा सकता है $$a(b+c)$$ सरल अनुकूलन जो संचालन की संख्या को जोड़ और गुणा तक कम कर देता है।

ऊपर बताए गए उदाहरण के समान हम जीडीएल लागू करके यथासंभव कम ऑपरेशन करने के लिए समीकरणों को विभिन्न रूपों में व्यक्त करेंगे।

जैसा कि पूर्व अनुभागों में बताया गया है, हम जंक्शन पेड़ों की अवधारणा का उपयोग करके समस्या का समाधान करते हैं। इन पेड़ों के उपयोग से प्राप्त अनुकूलन पेड़ों पर अर्ध समूह समस्या को हल करके प्राप्त अनुकूलन के बराबर है। उदाहरण के लिए, संख्याओं के समूह का न्यूनतम ज्ञात करने के लिए हम यह देख सकते हैं कि यदि हमारे पास पेड़ है और सभी तत्व पेड़ के नीचे हैं, तो हम समानांतर में दो वस्तुओं के न्यूनतम की तुलना कर सकते हैं और परिणामी न्यूनतम होगा माता-पिता को लिखा गया। जब यह प्रक्रिया पेड़ तक फैलती है तो जड़ में तत्वों का न्यूनतम समूह पाया जाएगा।

संदेश पासिंग का उपयोग करके जंक्शन ट्री को हल करने की जटिलता निम्नलिखित है

हम पहले इस्तेमाल किए गए फॉर्मूले को निम्नलिखित फॉर्म में फिर से लिखते हैं। यह शीर्ष v से w तक भेजे जाने वाले संदेश का समीकरण है


 * $$\mu _{v,w} (p_{v \cap w}) = \sum _{p _{v \setminus w} \in A _{S(v) \setminus S(w)}} \alpha _{v} (p _{v})  \prod _{u adj v _{u \neq v}} \mu _{u,v} (p _{u \cap v})$$ संदेश समीकरण

इसी प्रकार हम शीर्ष v की स्थिति की गणना के लिए समीकरण को निम्नानुसार फिर से लिखते हैं


 * $$\sigma_v(p_v) = \alpha_v (p_v) \prod_{u \operatorname{adj} v} \mu _{v,w} (p _{v \cap w}) $$

हम पहले एकल-शीर्ष समस्या का विश्लेषण करेंगे और मान लेंगे कि लक्ष्य शीर्ष है $$v_0$$ और इसलिए हमारे पास किनारा है $$v$$ को $$v _{0}$$. मान लीजिए हमारे पास बढ़त है $$(v,w)$$ हम संदेश समीकरण का उपयोग करके संदेश की गणना करते हैं। की गणना करना $$p _{u \cap v}$$ आवश्यक है


 * $$ q _{v \setminus w} -1 $$

अतिरिक्त और


 * $$ q _{v \setminus w} (d(v)-1)$$

गुणन.

(हम इसका प्रतिनिधित्व करते हैं $$|A _{S(v) \ S(w)}|$$ जैसा $$q _{v \setminus w}$$.)

लेकिन इसके लिए कई संभावनाएं होंगी $$x _{v \cap w}$$ इसलिए

$$ q _{v \cap w} \stackrel{\mathrm{def}}{=} | A _{S(v) \cap S(w)}|$$ के लिए संभावनाएं $$p _{v \cap w}$$. इस प्रकार पूरे संदेश की आवश्यकता होगी


 * $$ (q _{v \cap w})(q _{v \setminus w} -1) = q _{v} - q _{v \cap w}$$

अतिरिक्त और


 * $$ (q _{v \cap w}) q _{v \setminus w}. (d(v) -1) = (d(v) -1) q _v$$

गुणा

एक संदेश भेजने के लिए आवश्यक अंकगणितीय संक्रियाओं की कुल संख्या $$v_0 $$पेड़ के किनारों के साथ होगा


 * $$\sum _{ v \neq v0} (q_v - q _{v \cap w})$$

अतिरिक्त और


 * $$ \sum _{ v \neq v0} (d(v) - 1) q_v$$

गुणन.

एक बार जब सभी संदेश प्रसारित हो जाते हैं तो एल्गोरिदम स्थिति की गणना के साथ समाप्त हो जाता है $$v_0$$ राज्य गणना की आवश्यकता है $$d(v_0) q _0$$ अधिक गुणन. राज्य की गणना के लिए आवश्यक गणनाओं की संख्या नीचे दी गई है
 * $$ \sum _{v \neq v _{0}} (q _{v} - q _{v \cap w}) $$

अतिरिक्त और


 * $$ \sum _{v \neq v _{0}} (d(v) -1) q _{v} + d(v _{0})q _{v _{0}}$$

गुणा

इस प्रकार गणनाओं की संख्या का कुल योग है


 * $$ \chi (T) = \sum _{v \in V} d(v)q _{v} - \sum _{e \in E} q _{e}$$ $$(1)$$

जहां $$e = (v,w)$$ किनारा है और इसका आकार इससे परिभाषित होता है $$q _{v \cap w}$$ उपरोक्त सूत्र हमें ऊपरी सीमा देता है।

यदि हम किनारे की जटिलता को परिभाषित करते हैं $$e = (v,w)$$ जैसा


 * $$ \chi (e) = q _{v} + q _{w} - q _{v \cap w} $$

इसलिए, $$(1)$$ के रूप में लिखा जा सकता है


 * $$ \chi(T) = \sum _{e \in E} \chi (e)$$

अब हम चित्र 1 में परिभाषित समस्या के लिए किनारे की जटिलता की गणना निम्नानुसार करते हैं


 * $$ \chi(1,2) = q_2 + q_2 q_3 - q_2$$
 * $$ \chi(2,4) = q_3 q_4 + q_2 q_3 - q_3$$
 * $$ \chi(2,5) = q_3 + q_2 q_3 - q_3$$
 * $$ \chi(4,8) = q_4 + q_3 q_4 - q_4$$
 * $$ \chi(4,9) = q_2 q_4 + q_3 q_4 - q_4$$
 * $$ \chi(1,3) = q _2 + q_2 q_1 - q_2$$
 * $$ \chi(3,7) = q_1 + q_1 q_2 - q_1$$
 * $$ \chi(3,6) = q_1 q _4 + q _1 q_2 - q _1$$

पूरी जटिलता होगी $$ 3 q _{2}q _{3} + 3q _{3}q _{4}+ 3 q _{1}q _{2}+q _{2}q _{4} + q _{1}q _{4} - q _{1} - q _{3} - q _{4}$$ जो प्रत्यक्ष विधि की तुलना में काफी कम है। (यहां प्रत्यक्ष विधि से हमारा मतलब उन तरीकों से है जो संदेश भेजने का उपयोग नहीं करते हैं। प्रत्यक्ष विधि का उपयोग करने में लगने वाला समय प्रत्येक नोड पर संदेश की गणना करने और प्रत्येक नोड की स्थिति की गणना करने के समय के बराबर होगा।)

अब हम ऑल-वर्टेक्स समस्या पर विचार करते हैं जहां संदेश को दोनों दिशाओं में भेजना होगा और दोनों शीर्षों पर स्थिति की गणना करनी होगी। ये लगेगा $$ O( \sum _{v} d(v) d(v) q _{v}) $$ लेकिन प्रीकंप्यूटिंग द्वारा हम गुणन की संख्या को कम कर सकते हैं $$3(d-2)$$. यहाँ $$d$$ शीर्ष की डिग्री है. उदाहरणार्थ: यदि कोई समुच्चय है $$(a _{1}, \ldots ,a _{d})$$ साथ $$ d $$ नंबर. के सभी d उत्पादों की गणना करना संभव है $$d-1$$ की $$ a _{i}$$ अधिक से अधिक के साथ $$3(d-2)$$ स्पष्ट के बजाय गुणा $$ d(d-2) $$. हम मात्राओं की पूर्व-गणना करके ऐसा करते हैं

$$b_1 = a_1, b_2= b_1 \cdot a_2 = a_1 \cdot a _2, b _{d-1} = b _{d-2} \cdot a_{d-1} = a_1 a_2 \cdots a_{d-1}$$ और $$c_d = a_d, c_{d-1} = a_{d-1} c_d = a _{d-1} \cdot a_d, \ldots, c_2 = a _2 \cdot c_3 = a _2 a_3 \cdots a_d$$ यह लेता है $$ 2 (d-2)$$ गुणन. तो अगर $$ m_j$$ सभी के उत्पाद को दर्शाता है $$ a_i$$ के अलावा $$ a_j$$ हमारे पास है $$ m_1 = c_2, m_2 = b_1 \cdot c_3$$ और इसी तरह दूसरे की आवश्यकता होगी $$d-2$$ गुणन से कुल बनता है $$ 3 (d-2)$$

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

ऐसा लग सकता है कि GDL तभी सही है जब स्थानीय डोमेन को जंक्शन ट्री के रूप में व्यक्त किया जा सकता है। लेकिन ऐसे मामलों में भी जहां चक्र और कई पुनरावृत्तियां हैं, संदेश लगभग उद्देश्य फलन के बराबर होंगे। कम घनत्व समता-जांच कोड के लिए गैलेजर-टान्नर-वाइबर्ग एल्गोरिदम पर प्रयोग इस दावे का समर्थन करते थे।