गेट फैनआउट 1 के साथ एक


18

EDIT (22 अगस्त, 2011):

मैं प्रश्न को और सरल कर रहा हूं और प्रश्न पर एक इनाम डाल रहा हूं। शायद इस सरल प्रश्न का एक आसान जवाब होगा। मैं मूल प्रश्न के उन सभी हिस्सों को भी समाप्त करने जा रहा हूँ जो अब प्रासंगिक नहीं हैं। (मूल सवाल का आंशिक रूप से जवाब देने के लिए स्टैसीस जुकना और रयान ओ'डनेल को धन्यवाद!)


पृष्ठभूमि:

गहराई k और आकार S के साथ एक AC 0 सर्किट को देखते हुए , गहराई k और आकार साथ एक ही फ़ंक्शन की गणना करने वाला एक और AC 0 सर्किट मौजूद है, जैसे कि नए सर्किट में सभी गेटों के लिए fanout = 1 है। दूसरे शब्दों में, सर्किट एक पेड़ की तरह दिखता है (इनपुट्स को छोड़कर, चूंकि इनपुट एक से अधिक गेट के लिए प्रशंसक हो सकते हैं)। ऐसा करने का एक तरीका यह है कि सभी गेटों को डुप्लिकेट करके बनाया गया है, जब तक कि सभी गेटों में फैनआउट = 1 न हो।O(Sk)

लेकिन क्या यह एसी 0 सर्किट को एसी सर्किट से फैनआउट १ में बदलने का सबसे कारगर तरीका है ? मैं रयान ओ'डॉनेल के पाठ्यक्रम के व्याख्यान 14 में निम्नलिखित पढ़ता हूं :

मान लीजिए कि C आकार S का कोई भी गहराई-k सर्किट है जो Parity की गणना करता है। यह दिखाने के लिए एक अभ्यास है कि सी को एक समतल गहराई-के सर्किट में परिवर्तित किया जा सकता है, जहां स्तर वैकल्पिक और या द्वार हैं, इनपुट तार 2 एन लीटर हैं, और प्रत्येक गेट में फैन-आउट 1 है (यानी, यह एक पेड़ है ) - और आकार अधिकतम बढ़ जाता है ।(2kS)2O(S4)

फुटनोट: दरअसल, यह थोड़ा मुश्किल काम है। यदि आपको केवल प्राप्त करना आसान है , जो हमारे उद्देश्यों के लिए लगभग समान है यदि आप k को "स्थिर" मानते हैं।O(Sk)

क्या इसका मतलब यह है कि आकार एस के किसी भी गहराई k एसी 0 सर्किट को लेने का एक तरीका है और इसे फैनआउट 1, गहराई k और आकार साथ एक एसी 0 सर्किट में परिवर्तित करें ? यदि हां, तो यह कैसे किया जाता है और क्या यह सबसे प्रसिद्ध तरीका है? (2एस)2

मूल प्रश्न:

गहराई k और आकार S वाले AC 0 सर्किट को देखते हुए , गहराई k और गेट फैनट 1 के AC 0 सर्किट में इसे परिवर्तित करने के लिए सबसे अच्छी ज्ञात विधि (परिणामी सर्किट के सर्किट आकार को कम करने के संदर्भ में) क्या है? क्या इसके लिए कोई निम्न सीमा ज्ञात है?


नया, सरल प्रश्न:

यह प्रश्न मूल के एक विश्राम है जहां मैं जोर नहीं देता कि परिणामी सर्किट निरंतर गहराई हो। जैसा कि ऊपर बताया गया है, गहराई के साथ एसी 0 सर्किट को आकार में बदलने का एक तरीका है , आकार एस में सर्किट में ऐसा है कि नए सर्किट में सभी फाटकों के लिए = 1 प्रशंसक है। क्या एक बेहतर निर्माण है?हे(एस)

गहराई k और आकार S के साथ AC 0 सर्किट को देखते हुए , गेट फैनआउट 1 के साथ किसी भी गहराई के सर्किट में इसे परिवर्तित करने के लिए सबसे अच्छी ज्ञात विधि (परिणामी सर्किट के सर्किट आकार को कम करने के संदर्भ में) क्या है?


5
के लिए बाध्य ठीक है लेकिन अगर बाध्य ( 2 कश्मीर एस ) 2 के लिए पकड़ होगा मनमाना सर्किट (न केवल कंप्यूटिंग समानता समारोह उन), तो एक अनुकरण कर सकता है कि हर आकार के fanin -2 सर्किट एस एक fanin- द्वारा आकार ( एस 5 ) के 2 सूत्र : एस फैनिन -2 गेट्स अनबाउंड फैनिन के एक गेट को अनुकरण करने के लिए पर्याप्त हैं। तब सूत्र को ( लॉग एस ) की गहराई में से एक में बदला जा सकता हैO(Sk)(2kS)2SO(S5)SO(logS)(एक प्रसिद्ध परिणाम, गलत तरीके से स्पाइरा के लिए जिम्मेदार)। इस प्रकार, हमें लगता है कि सर्किट की गहराई सबसे अधिक । लेकिन यह सच होने के लिए बहुत अच्छा है: सर्किट-डेप्थ के लिए सबसे अच्छा ज्ञात ऊपरी हिस्सा केवल ( एस / लॉग एस ) हैO(logS)O(S/logS)
Stasys

2
Btw वास्तव में भी मनमाने सर्किट के लिए धारण करता है , लेकिन केवल तभी जब हम फैनिन -2 के गेट्स की अनुमति देते हैं (देखें, उदाहरण के लिए, Thg । Wegener की किताब में 4.1); फिर सर्किट अभी भी मध्यवर्ती परिणाम याद कर सकते हैं। फैनिन -1 के साथ स्थिति बहुत अलग है: यहां सर्किटों की कोई स्मृति नहीं है। लेकिन रॉबिन का सवाल बहुत दिलचस्प है। यह दिखाना और भी दिलचस्प होगा कि आकार S की गहराई -3 सर्किट को S 2 से छोटे आकार के गहराई -3 सूत्रों द्वारा सिम्युलेटेड किया जा सकता है । हे(एस)2)एसएस2
Stasys

4
मुझे विश्वास होगा कि स्टास ऊपर जो कुछ भी कहता है; मैं उन नोट्स (खेद) में बहुत सावधान नहीं हो रहा था। दूसरी ओर, मुझे याद है कि उन्हें लिखते समय तथ्य को सोर्स करने के बारे में काफी निराशा होती है - जिसका उल्लेख कई पत्रों में किया गया है, लेकिन लगभग कभी भी प्रशस्ति पत्र के साथ नहीं - कि मनमाने ढंग से सर्किट को स्तरित में परिवर्तित किया जा सकता है बिना आकार के "ज्यादा" उड़ाने के बिना। । मैं इस विषय पर सबसे अच्छा ज्ञात परिणाम के लिए एक सूचक देखना पसंद करूंगा। सी0
रयान ओ'डॉनेल 20

2
@ रयान ओडॉनेल: वास्तव में, कोई आसानी से ब्लो-अप ( के एस ) के साथ स्तरित सर्किट बना सकता है । हम यह हासिल करने के लिए सहानुभूति का उपयोग करते हैं कि प्रत्येक और गेट के पास इनपुट के रूप में केवल द्वार हैं, और इसके विपरीत; गहराई अपरिवर्तित बनी हुई है। फिर उनकी गहराई से फाटकों की व्यवस्था करें, और एक स्तरित सर्किट प्राप्त करने के लिए आवश्यक तुच्छ फैनिन -1 या और द्वार जोड़ें; गहराई समान रहती है और आकार केवल k के कारक से बढ़ता है। लेकिन मैं समझ गया कि रॉबिन चाहता है कि एक सर्किट को एक फार्मूला (एक पेड़ की तरह सर्किट में बदल दिया जाए , सिवाय इसके कि इनपुट शाब्दिकों के बड़े प्रशंसक हो सकते हैं)। हे(एस)
Stasys

2
@ रेयान ओडनेल: प्रतिक्रिया के लिए और अपने व्याख्यान नोट्स ऑनलाइन डालने के लिए धन्यवाद! विशेष रूप से, बूलियन कार्यों के विश्लेषण पर आपके व्याख्यान नोट्स सुपर सहायक रहे हैं।
रॉबिन कोठारी

जवाबों:


11

मैं अपनी पिछली टिप्पणियों को संक्षेप में बताने की कोशिश करूंगा।

आइए पहले हम इस तथ्य को अनदेखा करें कि आपके मूल सर्किट में (स्थिर) गहराई ; बस मान लें कि इसका आकार S है । आज्ञा देना एक छोटी संख्या है जैसे कि हर अनबाउंड फैनिन सर्किट साइज S को O ( S A ) के अनबाउंड फैनिन फॉर्मूला F में बदला जा सकता है । मेरा दावा है कि अब तक का सबसे अच्छा हम A = O ( S / log 2 S ) प्राप्त करना है । कहो, यह भी ज्ञात नहीं है कि क्या कोई (fanin-2) आकार का सर्किट S = O ( n ) हैkSASFO(SA)A=O(S/log2S)S=O(n) से छोटे आकार के सूत्र द्वारा सिम्युलेटेड किया जा सकता है ।exp(n/logn)

दावा दिखाने के लिए, हम सूत्र को बदलने एक fanin -2 सूत्र में एफ ' आकार के एम = हे ( एस 2 एक ) । यह सर्वविदित है कि गहराई डी हर सूत्र के एफ ' इसके आकार, वह यह है कि में लघुगणक बनाया जा सकता है डी = हे ( लॉग ऑन एम ) = हे ( एक लॉग ऑन एस ) । [यह पहली Khrapchenko 1968 तक दिखाया गया था, और फिर बड़े-ओ के तहत लगातार करने के लिए सुधार किया गया था डी 1.73 लॉग 2 एमFFM=O(S2A)DFD=O(logM)=O(AlogS)D1.73log2Mकई लेखकों द्वारा।] दूसरी ओर, फैनिन -2 सर्किट [पैटर्सन एंड वैलिएंट, टीसीएस 2 (3), 397-400] के लिए सबसे अच्छा ज्ञात परिणाम कहता है कि । इस प्रकार, एस / लॉग 2 एस की तुलना में ए के साथ एक सिमुलेशन होने से सर्किट के लिए सबसे अच्छा ज्ञात आकार-गहराई सिमुलेशन में सुधार होगा।Depth=O(Size/logSize)AS/log2S

यह, हालांकि, केवल एक "सावधानी का शब्द" है - यह आपके प्रश्न का उत्तर नहीं देता है क्योंकि आप मानते हैं कि आपके मूल सर्किट में निरंतर गहराई , जिसका अर्थ है कि इस मामले में हम सिर्फ A = k (या A = k - 1) ले सकते हैं अगर हमारे पास एक ही आउटपुट गेट है)। Paterson-Valiant सिमुलेशन की शक्ति यह है कि यह मनमाने ढंग से लागू होता है, यहां तक ​​कि बहुत असंतुलित सर्किट जिनकी गहराई लगभग पूरे आकार की है! लेकिन आपकी बाउंड-डेप्थ सेटिंग में, यहां तक ​​कि केस k = 3 भी स्पष्ट नहीं है: क्या S का प्रत्येक गहराई -3 सर्किट S 2 की तुलना में बहुत छोटे आकार के गहराई -3 फॉर्मूला में परिवर्तित हो सकता है?kA=kA=k1k=3SS2? मुझे लगता है कि उत्तर "नहीं" होना चाहिए (छात्रों के लिए एक दिलचस्प अभ्यास हो सकता है)। गहराई -3 फॉर्मूला सिर्फ CNF का एक बड़ा OR है। सवाल यह है कि OR के CNF को खोजा जाए जो कई खंडों को साझा करते हैं, लेकिन अन्यथा एक बड़ी गहराई -3 सूत्र को लागू करने के लिए "बहुत अलग" हैं।

समस्या यह है कि हम एक सूत्र (एक फैनआउट -1 सर्किट) प्राप्त करना चाहते हैं । जैसा कि ऊपर बताया गया है, के द्वार की इजाजत दी फैनआउट -2 बनाता है सरल अनुकरण: हूवर, Klawe और Pippenger [JACM 31 (1), 1980] शो आकार के किसी भी fanin -2 सर्किट कि और गहराई डी एक बराबर fanin -2 और फैनआउट है आकार 3 एस के 2 सर्किट - 2 एन और गहराई 2 डी । इस प्रकार, यदि फैन अनबाउंड है, तो परिणामस्वरूप सर्किट का आकार ( एस 2 ) और गहराई ( डी लॉग एस ) होगाSD3S2n2DO(S2)O(DlogS)

आपके प्रश्न से संबंधित किसी अन्य परिणाम का अभी तक कोई परिणाम नहीं है। Lozhkin (1981) साबित कर दिया कि एक बूलियन समारोह अगर द्वारा एक गणना की जा सकती एक सी 0 सूत्र गहराई का कश्मीर और आकार एस , तो एफ गहराई का fanin -2 सूत्र द्वारा गणना की जा सकती डी कश्मीर - 1 + लोग इन 2 एस (यह मेरी पुस्तक में प्रमेय 6.2 से इस प्रकार है)। ध्यान दें कि एक छोटी सी ऊपरी बाध्य केवल होगा डी कश्मीर लॉग ऑन एस (यदि हम गहराई का एक पेड़ से प्रत्येक एकल फाटक अनुकरण करेंगे लॉग एस )।fAC0 kSfDk1+log2SDklogSlogS

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