विशेष रूप से, हम सर्किट (बाइनरी पेड़ों से अलग होने पर) पर कोई विशेष संरचना नहीं लगाते हैं , पंखे से बाहर निकलने की अनुमति नहीं देते हैं (ताकि प्रत्येक का उपयोग केवल एक बार किया जाए), और द्वार असममित हो सकते हैं। केवल दो-बिट फाटकों की अनुमति देकर, मैं NOT गेट को बाहर करता हूं (लेकिन जिसे कई गेटों के द्वारा सिम्युलेटेड किया जा सकता है जो एक दूसरे से संबंधित हैं जैसे कि AND / NAND ; और मैं उन गेटों को भी बाहर करता हूं जो बिना किसी इनपुट के आउटपुट स्थिरांक हैं है, तो सर्किट में फाटकों की संख्या वास्तव में हमेशा रहेंगे कि एक के लिए -बिट इनपुट। लिए संक्षिप्तता की खातिर, मैं करने के लिए संदर्भित करेंगे 2-वृक्ष-OPSAT नीचे बस के रूप में OPSATएक्स एन - 1 एनCxn−1n; हालांकि समस्या का विश्लेषण मनमाने ढंग से k -input गेट्स ( k-TREE-OPSAT ) की अनुमति देने या फैन-आउट (जिसे हम k-FANOUT-OPSAT कह सकते हैं ) की अनुमति देने वाले सर्किट के लिए और अधिक कठिन हो सकता है ।
के एक निश्चित विकल्प के लिए , उपयुक्त फाटकों के साथ एक उपयुक्त पेड़ चुनने की समस्या एक तार्किक विघटन के विपरीत नहीं है: तुल्यता जैसे कि
हम अधिक जटिल गेट सेट से संबंधित संग्रह के बीच में कटौती को सरल (और शक्तिशाली) गेट सेट से कर सकते हैं; एक गेट सेट से संबंधित अन्य गेट्स का अनुकरण करने में सक्षम होने की बात कर सकता है, बुद्धिमानी से कुछ तत्व को चुनकर, जिसका एक ही प्रभाव होता है (जब किसी विशेष इनपुट के साथ प्रस्तुत किया जाता है) गेट । विशेष रूप से, गेट्स के कुछ संयोजन (जैसे कि ) निरंतर कार्य करने वाले अनुकरण कर सकते हैंया ( एक्स , वाई )x∈{0,1}n जी जी ∉ जी { या , नन्द } 1
हम गेट सेटों पर विचार करते हुए आगे बढ़ते हैं, जिसमें विभिन्न प्रकार के गेट्स , बाद में विश्लेषण के बाद के मामलों से उन गेट्स को छोड़कर, यह दिखाने के लिए कि गेट्स-सेट किसी भी एक गेट को शामिल करते हैं, एक ट्रैक्टेबल समस्या की ओर जाता है। हम दो-बिट स्ट्रिंग्स की संख्या के क्रम में आगे बढ़ेंगे, जो प्रश्न गेट से शुरू होकर निरंतर गेट तक संतुष्ट हैं ।१ ०G10
किसी भी गेट सेट के लिए जिसमें निरंतर गेट , हम केवल उस गेट का उपयोग करके अकेले का निर्माण कर सकते हैं, जिस स्थिति में किसी भी स्वीकार करता है । जी ( एक्स , वाई ) = 1 सी सी एक्सGG(x,y)=1CCx
या नंद। किसी भी गेट सेट के लिए जिसमें : यदि अन्य सभी गेट्स को संतुष्ट करते हैं , तो कोई अन्य गेट चुनने का कोई लाभ नहीं है लेकिन सर्किट के निर्माण में । केवल गेट्स का एक सर्किट किसी भी स्ट्रिंग को को छोड़कर स्वीकार करता है । अन्यथा, वहाँ एक गेट मौजूद है, जैसे कि tautologous है। तो OPSAT के किसी भी उदाहरण के साथ आसान है; और इसी तरह की टिप्पणी लागू होती है ।या जी ∈ जी जी ( एक्स , वाई )GORG∈Gया सी या एक्स ∈ 0 * जी ∈ जी { जी , या } या ∈ जी नन्द ∈ जीG(x,y)⟹OR(x,y)ORCORx∈0∗G∈G{G,OR}OR∈GNAND∈G
इम्प्लांटेशन जैसा गेट। गेट , जो केवल शून्य का आउटपुट देता है यदि । निम्न के लिए, गेट लिए एक समान विश्लेषण लागू होगा ।
किसी भी स्ट्रिंग । यदि में समाप्त होता है , तो को फॉर्म के सबस्ट्रिंग में विघटित करें ; इस तरह के प्रत्येक , हम को दाईं ओर से बाईं ओर लागू करते हैं, जो प्रत्येक लिए आउटपुट देता है । (लंबाई 1 के विकल्प के लिए, हम तुच्छ सर्किट का उपयोग करते हैं, अर्थात उस इनपुट को अकेला छोड़ दें।) इसी तरह, यदि( एक्स , वाई ) = ( 1 , 0 ) जी जे = 0 * 1 जी डब्ल्यू जे 1 डब्ल्यू जे 0 एम 1 मीटर मीटर 1 * 0 0 * 1G(x,y)=¬x∨y(x,y)=(1,0)एक्स ∈ { 0 , 1 } एन एक्स 0 एक्स डब्ल्यू जे = 1 * 0 w j G 0 w j x 1 x wG′(x,y)=x∨¬y
x∈{0,1}nx0xwj=1∗0wjG0wjx में समाप्त होता है , को सबस्ट्रिंग में विघटित करता है , और प्रत्येक पर बाईं से दाईं ओर को लागू , जो प्रत्येक लिए आउटपुट का उत्पादन । इस प्रकार हम उन सर्किटों के निर्माण की समस्या को कम कर सकते हैं जो या संतुष्ट हैं , जहाँ की संख्या या । के लिए , हम या तो का उपयोग कर स्वीकार कर सकते हैं रिकर्सिवली लगाने से फाटक बाएं से दाएं। यह सिर्फ मामले को छोड़ देता है1xwj=0∗1Gwj1wj0m1mm1∗00∗1जी जी मीटर = 1 एक्स ∈ 1 * 0 एक्स = 1 * 0 जी 1 * 0 0 जी एच ∈ जी एच ( 1 , 0 ) = 1 { जी , एचm⩾2GGm=1 , जिसके लिए समस्याग्रस्त मामला इनपुट । के लिए , किसी भी केवल से मिलकर सर्किट फाटकों केवल प्रपत्र के छोटे तार निकलेगा , अंत में एकल बिट स्ट्रिंग उपज : इतना है कि का कोई सर्किट फाटकों से संतुष्ट किया जा सकता है यह इनपुट यदि वहाँ भी एक गेट जिसके लिए , तो tautologous है; या, यदि कोई गेट है जिसके लिए , तो हम फॉर्म स्ट्रिंग्स को कम कर सकते हैंx∈1∗0
x=1∗0G1∗00GH∈GH(1,0)=1एच ∈ जी एच ( 1 , 1 ) = 0 11 * 0 ( 1 * 0 ) * एच एक्स एक्स ∈ 1 * 0 जी{G,H}H∈GH(1,1)=011∗0फार्म के तार , को के पहले दो बिट्स पर लागू करके । अन्यथा, कोई भी सर्किट का निर्माण नहीं किया जा सकता है जो स्वीकार करता है ।
इस प्रकार, किसी भी गेट-सेट जिसमें निहितार्थ जैसा गेट है, OPSAT आसान है।(1∗0)∗Hxx∈1∗0
G
अनुमानों का निषेध। गेट्स और । हम , साथ विश्लेषण समान । अपने दम पर, किसी भी स्ट्रिंग को में लिए अंतिम बिट्स को एक बिट में , और फिर लागू कर ; और यह समान रूप से को लिए अंतिम बिट्स को एक बिट में घटाकर , और फिर सर्किट¬ π 2 ( एक्स , वाई ) = ¬¬π1(x,y)=¬x¬ π 1 ¬ π 2 ¬ π 1 0 ( 0 | 1 ) n - 1 एन ⩾ 2 n - 1 ¬ π 1 1 ( 0 | 1 ) n - 1 n | 3¬π2(x,y)=¬y¬π1¬π2¬π10(0|1)n−1n⩾2n−1¬π11(0|1)n−1n⩾3¬ π 1 ( ¬ π 1 ( एक्स 1 , x 2 ) , x 3 ) ¬ π 1 10 11n−2¬π1(¬π1(x1,x2),x3)। केवल ऐसे इनपुट जो सर्किट को स्वीकार नहीं कर सकते हैं वे या ; यह निर्धारित करते हुए कि क्या कोई पूरक गेट स्वीकार करता है ये तुच्छ है। इस प्रकार, OPSAT अनुमानों की उपेक्षा के लिए आसान है।¬π11011
स्थायित्व और सामर्थ्य । गेट । गेट सेट स्पष्ट रूप से केवल 1s की विषम संख्या के साथ स्ट्रिंग्स द्वारा ठीक से संतुष्ट किया जा सकता है ; हम किसी अन्य गेट को जोड़ने के लाभ पर विचार करते हैं।जी = { समता } एक्स ∈ { 0 , 1 } nPARITY(x,y)=(x∨¬y)∧(¬x∨y)G={PARITY}x∈{0,1}n
- कोई भी गेट-सेट जिसमें और या तो या
होते हैं, वे सर्किट का अनुकरण कर सकते हैं जिनमें
निश्चित इनपुट्स के लिए क्रमशः या गेट्स होते हैं, जो हैं OPSAT के आसान मामले ।और न ही ( एक्स , वाई ) = ¬ ( एक्स ∨ y ) या नन्दPARITYANDNOR(x,y)=¬(x∨y)ORNAND
- या तो या का उपयोग समता के दो-बिट सब्सट्रिंग पर या तो या को अनुकरण करने के लिए किया जा सकता है , ताकि हम इनके साथ गेट-सेट कम कर सकें पूर्ववर्ती मामले के लिए द्वार और ।π 2 ( एक्स , वाई ) = y और न ही समताπ1(x,y)=xπ2(x,y)=yANDNORPARITY
- समान = ¬ समताPARITY के साथ एक साथ है।EQUAL=¬PARITY
- अगर हम गेट के साथ को साथ पूरक करते हैं, तो हम को लागू करके को छोड़कर किसी भी सम-समता स्ट्रिंग को स्वीकार कर सकते हैं। एक के -substring और फिर एक को लागू करने के आराम करने के लिए सर्किट। इसी प्रकार, साथ में को किसी भी स्ट्रिंग को स्वीकार कर सकता है सिवाय इसके कि वे फॉर्म । पूरक दोनों के साथ और निर्माण सर्किट जो छोड़कर सभी आदानों स्वीकार करने के लिए हमें की अनुमति देते हैं औरजी 01 = ¬ एक्स ∧ y एक्स ∈ ( 11 ) * 0 * जी 01 01PARITYG01=¬x∧yx∈(11)∗0∗G0101समता समता जी 10 = एक्स ∧ ¬ y एक्स ∈ 0 * ( 11 ) * समता जी 01 जी 10 x ∈ 0 * x = 11xPARITYPARITYG10=x∧¬yx∈0∗(11)∗PARITYG01G10x∈0∗x=11 ।
- अंत में, हम पूरक अगर लगातार गेट के साथ , हम को छोड़ कर किसी भी इनपुट स्वीकार कर सकते हैं या एक लगाने से के लिए द्वार एक विकल्प या , विषम समता के मामले को कम करना। जेड ( एक्स , वाई ) = 0 एक्स ∈ ( 11 ) * एक्स ∈ 0 * जी 01 10PARITYZ(x,y)=0x∈(11)∗x∈0∗G0110
इस प्रकार, OPSAT किसी भी युक्त लिए आसान है । इसी तरह का विश्लेषण गेट के लिए गेट के लिए लागू होता है : क्योंकि , सर्किट के फाटकों अनिवार्य रूप से की संख्या की समता गिनती इनपुट में। फिर हम विश्लेषण कम कर सकते हैं की है कि का आदान प्रदान द्वारा और ।समता समानGPARITY
EQUALसमान ( एक्स , वाई ) = ¬ समता ( एक्स , वाई ) = ¬ समता ( ¬ एक्स , ¬ y ) समान 0 समान समता 0 1PARITYEQUAL(x,y)=¬PARITY(x,y)=¬PARITY(¬x,¬y)EQUAL0EQUALPARITY01
प्रोजेक्शन गेट्स। गेट्स और , अपने दम पर लिया, केवल सर्किट बना सकते हैं जो क्रमशः में शुरू या समाप्त होने वाले तारों को स्वीकार करते हैं। किसी अन्य गेट के साथ गेट को बढ़ाने के प्रभाव पर विचार करें (एक समान विश्लेषण लिए रखता है ):π 2 ( एक्स , वाई ) = y 1 π 1 π 2π1(x,y)=xπ2(x,y)=y1π1π2
- और दोनों को अनुमति देने से "चयन" सर्किट के निर्माण की अनुमति मिलती है, जो इनपुट से किसी भी एकल बिट को आउटपुट करता है; ये किसी भी को स्वीकार कर सकते हैं , और उन्हें किसी भी गेट साथ पूरक कर सकते हैं जिसके लिए किसी भी लिए एक संतुष्ट सर्किट बनाने की अनुमति देता है ।π 2 x ≠ 0 n G G ( 0 , 0 ) = 1 xπ1π2x≠0nGG(0,0)=1x
- यदि हम या साथ को पूरक करते हैं , तो हम निश्चित इनपुट के लिए या तो या एक निहितार्थ जैसे गेट का अनुकरण कर सकते हैं; इन दोनों मामलों के लिए OPSAT को हल किया जाता है।और न ही जी 01 = ¬ एक्स ∧ y याπ1NORG01=¬x∧yOR
- यदि हम को , , निरंतर गेट , या उनमें से किसी भी संयोजन के साथ पूरक करते हैं, तो हमें कोई अतिरिक्त स्वीकृति शक्ति नहीं मिलती है, ताकि हम अभी भी केवल शुरू होने वाले तार को स्वीकार कर सकते हैं ।और जी 10 = एक्स ∧ ¬ y जेड ( एक्स , वाई ) = 0 1π1ANDG10=x∧¬yZ(x,y)=01
इस प्रकार, किसी अन्य गेट के लिए हम जोड़ सकते हैं (या ) के साथ, हम एक tautologous सेट प्राप्त या तो, पर कोई अतिरिक्त स्वीकार करने की शक्ति सिर्फ प्राप्त (या ), या के पहले के एक आसान मामले को कम कर सकते हैं OPSAT । तब के किसी भी मामले OPSAT साथ या आसान है।π 2 π 1 π 2 π 1 ∈ जी π 2 ∈ जीπ1π2π1π2π1∈Gπ2∈G
डेल्टा-फंक्शन गेट्स। उन दो-बिट गेटों पर विचार करें जिनके लिए केवल एक इनपुट है जो उन्हें संतुष्ट करता है: , , , और । केवल केवल गेट्स के साथ बनाए गए सर्किट केवल स्ट्रिंग स्वीकार कर सकते हैं : उन्हें किसी भी अन्य डेल्टा-फ़ंक्शन गेट के साथ पूरक करके उन्हें या तो , , या का अनुकरण करने की अनुमति , जो मामलों को हल करते हैं; इसी तरह की टिप्पणी लागू होती है । साथ ही, गेट सेट इस्तेमाल किया जा सकता भी अनुकरण करने के लिएन ही जी 10 ( एक्स , वाई ) = एक्स ∧ ¬ y जी 01 ( एक्स , वाई ) = ¬ एक्स ∧ y और 1 * समान π 1 π 2 और न ही { जी 01 , जी 10 } समता जी 10 जी 01 जेड ( एक्स , y ) = 0 G 10 G 01ANDNORG10(x,y)=x∧¬yG01(x,y)=¬x∧yAND1∗EQUALπ1π2NOR{G01,G10}PARITYद्वार। हम इस प्रकार गेट या पर ध्यान केंद्रित कर सकते हैं , संभवतः गेट साथ पूरक । हम पर ध्यान केंद्रित करते हैं , के मामले के समान है। बने सर्किट को को स्वीकार करने के लिए बनाया जा सकता है , स्ट्रिंग को छोड़कर , अंतिम बिट्स में एक मनमाना सर्किट लगाकर और फिर सर्किट लागू करने के लिए । स्पष्ट रूप से, स्ट्रिंग को या द्वारा स्वीकार नहीं किया जा सकता है ; और हम किसी भी को शामिल करके दिखा सकते हैंG10G01Z(x,y)=0G10G01
1 ( 0 | 1 ) n - 1 11 एन - 2 जी 10 ( x 1 , G 10 ( x 2 , x)G101(0|1)n−111n−211 जी 10 जेड जी 10 1 जेड जी 10 x ∈ 1 ( 0 | 10 | 11 ) ( 0 | 1 ) *G10(x1,G10(x2,x3))11G10ZG10सर्किट जो एक स्ट्रिंग को स्वीकार करता है उसके पास बाईं ओर की शाखा में सभी गेट सभी सबसे अधिक इनपुट के लिए गेट्स के मध्यवर्ती परिणाम होने चाहिए । गेट्स को जोड़ने से कोई अतिरिक्त लाभ नहीं मिलता है । इसलिए, सर्किट केवल स्वीकार कर सकते हैं ।1ZG10x∈1(0|10|11)(0|1)∗
अंत में, केवल से बना सर्किट फाटकों कोई आदानों स्वीकार करते हैं।Z
प्रत्येक गेट आदानों की एक अच्छी तरह से परिभाषित और आम तौर पर काफी बड़ा वर्ग है जो यह स्वीकार करता है, समस्या महत्वहीन करने के लिए प्रवृत्त अतिरिक्त फाटकों के साथ को जन्म देता है के रूप में, हम पाते हैं कि 2-वृक्ष-OPSAT में है पी ।