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


10

मैं निम्नलिखित निर्णय समस्या की जटिलता को निर्धारित करने में रुचि रखता हूं: दो पूर्णांक और (प्रत्येक m बिट पर) के साथ, यह तय करें कि क्या गुणा का सबसे महत्वपूर्ण बिट 1 है (जहां परिणाम मुद्रित किया गया है) संभवतः अग्रणी 0 के साथ 2 मी बिट्स?एल 2 एल 1एल 2l1l2l1l2

समस्या पर कुछ पृष्ठभूमि: जाहिर है, यह समस्या द्विआधारी गुणा का एक विशेष मामला है जो पूछता है कि क्या गुणन का बिट है। 1. उनके कागज में, विभाजन और पुनरावृत्त गुणा के लिए एकसमान निरंतर-गहराई थ्रेशोल्ड सर्किट हैं। , हेस्से, अल्लेन्डर और बैरिंगटन यह साबित करते हैं कि पुनरावृत्त (और इस प्रकार बाइनरी) गुणन - वर्दी । इसके अलावा, यह अच्छी तरह से ज्ञात है कि द्विआधारी गुणा पहले से ही - वर्दीएल 1एल 2 डी एल जी टी मैं हूँ टी सी 0 डी एल जी टी मैं हूँ टी सी 0 डी एल जी टी मैं हूँ टी सी 0 डी एल जी टी मैं हूँ टी सी 0il1l2DLogTime TC0DLogTime TC0-मुश्किल। हालाँकि, मुझे इस कठोरता के परिणाम को साबित करने वाला कोई विशेष स्रोत नहीं मिल रहा था। सर्किट जटिलता में एक गैर-विशेषज्ञ के रूप में, मैं इस सामान्य कठोरता परिणाम के लिए एक सूचक की भी सराहना करूंगा। अंत में, यह मानते हुए कि बाइनरी गुणा - वर्दी -hard है, मेरे प्रश्न को इस प्रकार भी पढ़ा जा सकता है: क्या यह - वर्दी का - कठिन है अगर हम बाइनरी गुणा का केवल सबसे महत्वपूर्ण बिट तय करना चाहते हैं?DLogTime TC0DLogTime TC0

अद्यतन: Kaveh का उत्तर स्पष्ट करता है कि बाइनरी गुणा क्यों है -hard (COUNT से कमी)। द्विआधारी गुणा का सबसे महत्वपूर्ण बिट तय करने की सटीक जटिलता खुली रहती है (और इस प्रश्न के लिए इनाम है)।TC0


वर्णनात्मक जटिलता पुस्तक iirc में एक प्रमाण है। यकीन नहीं है कि आप सबसे महत्वपूर्ण बिट एक होने का क्या मतलब है, यह हमेशा परिभाषा से एक है।
केवह

यह आपके शिक्षक का मजाक है: बिट्स 0 या 1 हैं, और सबसे महत्वपूर्ण बिट उच्चतम स्थिति में गैर-0 बिट है। यह परिभाषा के अनुसार 1 के बराबर है (जब तक कि कारकों में से एक और एल 2 शून्य नहीं है)। l1l2
गोमो

@ केवह संदर्भ के लिए धन्यवाद: मैं इसे देखूंगा। सबसे महत्वपूर्ण बिट के बारे में भ्रम के लिए क्षमा करें। मैं स्पष्ट रूप से मान रहा हूं कि परिणाम 2m-1 बिट्स में प्रिंट किया गया है और यदि 0 के अग्रणी के साथ आवश्यक है।
हेहेये

@ केव: वर्णनात्मक जटिलता पुस्तक में, केवल ऊपरी सीमा का उल्लेख है। मुझे बाइनरी गुणा की कठोरता के बारे में कुछ भी नहीं मिला, हालांकि।
हेहेये

आप लिखते हैं: "इसके अलावा, यह अच्छी तरह से ज्ञात है कि द्विआधारी गुणा पहले से ही - वर्दी टी सी 0 -हार्ड है।" ऐसा क्यों लगता है? मुझे पता है कि द्विआधारी गुणा सी 0 में नहीं है , और यही सब मैं वर्तमान में परवाह करता हूं। DLogTime TC0AC0
थॉमस क्लिम्पेल

जवाबों:


6

गुणन के लिए पूरा हो गया है और यह एक अच्छी तरह से पता है कि परिणाम है। कमी काउंट (बाइनरी संख्या में 1 बिट्स की संख्या) से है। बाइनरी नंबरों की तुलना A C 0 में होती है इसलिए M a j o r i t y , C o u n t पर reducible होता हैTC0AC0MajorityCount

कम करने के लिए करने के लिए एम यू एल टी के रूप में इस प्रकार है: विचार करना इनपुट है एक 0 एक 1 ... एक एन । सम्मिलित कश्मीर के बीच 0s एक मैं और इसे कहते एक । इसे b के साथ गुणा करें जो एक अपवाद जैसा है कि इसमें एक i को 1 s के साथ बदल दिया जाता है। उठाओ k > 3 एन । के बीच खंड में नंबर एक जवाब है। कमी F O म हैCountMulta0a1ankaiabaaik>3nabएफहेऔर शो कि सीयूnटीएफहे(यूएलटी)


1
जवाब के लिए धन्यवाद! हां, यह पुष्टि करता है कि बाइनरी गुणन TC0 के लिए पूर्ण है। सबसे महत्वपूर्ण बिट के लिए, कुछ मुद्दे शेष हैं। गुणन का सबसे महत्वपूर्ण बिट (111 x 111) = 110001 1 है, और इसके लिए एक (100 x 100) = 010000 है, यह 0. नोट है कि दोनों मामलों में गुणकों के सबसे महत्वपूर्ण बिट समान हैं। इसलिए, मुझे नहीं लगता कि, सामान्य तौर पर, यह सबसे महत्वपूर्ण बिट्स को जोड़ने के लिए पर्याप्त है। क्या मैं कुछ भूल रहा हूँ?
हेहेये

1
तो और y = 2 n + 1 / 2 , तो MSB की एक्स 2 0 है, और की MSB y 2 , 1 है, हालांकि यहां तक कि एक्स और वाई में ही अलग हो सकता है एक, कम से कम महत्वपूर्ण, बिट। एक्स=2n+1/2y=2n+1/2एक्स2y2एक्सy
एमिल जेकाबेक

3
संपादन सही नहीं है। चूँकि हम m नंबर जोड़ रहे हैं, हो सकता है कि सिर्फ एक बिट ही कैरी न हो, लेकिन m लॉग करें। यह तय करना कि यह कितना प्रचारित करता है, फिर अधिक कठिन है।
एमिल जेकाबेक

1
वास्तव में, बाकी सभी चीजों की अवहेलना करना: किसी भी स्थिति से बाहर ले जाने की गणना करना (जैसे, कहीं बीच में) पहले से ही गणना के बराबर है, इसलिए टीसी ^ 0-पूर्ण।
एमिल जेकाबेक

1
@ हेहेये, मैंने जो सूत्र लिखा है वह एफओ है और इसलिए समान AC0 में है।
केवह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.