पूर्णांक गुणन और द्विआधारी निर्णय आरेख का सबसे महत्वपूर्ण बिट


15

चलो और के साथ दो द्विआधारी संख्या बिट और द्विआधारी संख्या (लंबाई ) के उत्पाद के और । हम प्रोडक्ट के सबसे siginifcant बिट की गणना करना चाहते हैं ।एक्सynz=x⋅y 2nxyz2n−1z=z2n−1…z0

इस निर्णय की जटिलता का विश्लेषण करने के लिए बाइनरी निर्णय आरेखों के मॉडल में (विशेष रूप से पढ़ने के बाद एक बार शाखाओं में लिए) मैं केस लिए कुछ समान भाव देखने की कोशिश करता हूँ । पहली स्पष्ट बात (यहां और बाइनरी संख्याओं के संगत पूर्णांक हैं)। मैं एक अंतर्ज्ञान प्राप्त करना चाहता हूं कि क्या होता है अगर मैं कुछ इनपुट बिट्स को स्थिर रखता हूं। जैसे अगर मैं और से 0 तक सबसे महत्वपूर्ण इनपुट बिट सेट करता हूं तो मुझे लगातार 0 फ़ंक्शन मिलते हैं। लेकिन कम महत्व वाले बिट्स परिणाम पर ऐसा प्रभाव नहीं डालते हैं।z2n−1=1z2n−1=1⇔एक्स⋅y≥22n-1एक्सyएक्सy

क्या मामला लिए कोई अन्य समतुल्य भाव हैं जो यह देखने में अधिक मदद करते हैं कि क्या होता है अगर मैं कुछ इनपुट बिट्स को ठीक करूं? क्या दो द्विआधारी संख्याओं के उत्पाद की गणना करने के लिए कोई परिष्कृत तरीके हैं जो मदद कर सकते हैं? या आप इस समस्या के लिए कुछ अन्य दृष्टिकोण है?z2n-1=1


मुझे अस्पष्ट के बजाय पिछले पैराग्राफ में तीन प्रश्न मिलते हैं। कृपया अधिक ठोस प्रश्न बनाने पर विचार करें।
— स्लिमटन

प्रश्न जानबूझकर अस्पष्ट हैं। शायद किसी के पास इस समस्या के लिए एक नया दृष्टिकोण या नए विचार हैं।
— मार्क बरी

क्या आप समस्या के लिए बीडीडी की चौड़ाई की तलाश कर रहे हैं?
— सिल्वेन पीरोननेट

मुझे बीडीडी साइज़ पर कम बाउंड में दिलचस्पी है।
— मार्क बरी

1
आप एक बहुपद कम बाध्य मतलब है? गुणन L में है, इसलिए इसमें समान बहुपद-आकार का BDD (यहां तक ​​कि चौड़ाई 5 है, क्योंकि यह वर्दी ) में है। एनसी1
— एमिल जेकाबेक

जवाबों:


5

एक दिलचस्प स्रोत डे नूथ है: द कंप्यूटर ऑफ़ आर्ट प्रोग्रामिंग, वॉल्यूम 4, फ़ासिकल 1, बिटवाइज़ ट्रिक्स और तकनीक; द्विआधारी निर्णय आरेख , एडिसन-वेस्ले, पियर्सन शिक्षा 2009

पृष्ठ 96 पर, z = x ,y के सभी बिट्स के लिए एक BDD है, जहां x और y में 3 बिट्स हैं। यह दिखाता है, कि 3 बिट्स के मामले में, सबसे महत्वपूर्ण बिट का प्रतिनिधित्व करने वाले BDD में 7 गैर-टर्मिनल नोड्स हैं। छवि को देखें, मैंने आपके सूचक x = (x2, X1, x0) और y = (y2, y1, y0) का उपयोग करके इसे फिर से तैयार किया है।

नुथ की पुस्तक में पृष्ठ 140 पर, BDD के बारे में एक सवाल है (सं। 183) जिसमें बीडीडी के बारे में बताया गया है कि यह कई बिट्स के साथ दो संख्याओं के गुणन के लिए सबसे महत्वपूर्ण बिट है (इसे "अग्रणी बिट फ़ंक्शन को सीमित करना" कहा जाता है) - यह आपके समान है के लिए मज़ाक कर रहे हैं! पृष्ठ 223 पर उत्तर परिणामी BDD का पहला स्तर देता है और सभी स्तरों पर नोड्स की संख्या पर चर्चा करता है, लेकिन दुर्भाग्यपूर्ण यह है कि इस तरह के BDD के निर्माण के लिए एल्गोरिथ्म नहीं देता है।

दो 3-बिट संख्याओं के गुणन के लिए सबसे महत्वपूर्ण बिट

अंजीर। 1: (x2, X1, x0) के गुणन के लिए सबसे महत्वपूर्ण बिट * (y2, y1, y0) है


1
इस संदर्भ के लिए धन्यवाद। मुझे नहीं पता था कि द्विआधारी निर्णय आरेख इस "प्रोग्रामिंग विश्वकोश" का हिस्सा हैं।
— मार्क ब्यूरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.