पढ़ने के लिए दो बार विपरीत CNF सूत्र की समता कंप्यूटिंग की जटिलता (


11

CNF सूत्र के विपरीत एक दो बार पढ़ने में, प्रत्येक चर दो बार दिखाई देता है, एक बार सकारात्मक और एक बार नकारात्मक।

मैं में दिलचस्पी रहा हूँ समस्या, रीड-दो बार विपरीत CNF सूत्र के संतोषजनक कार्य की संख्या की समता कंप्यूटिंग में होते हैं जो।⊕Rtw-Opp-CNF

मैं इस तरह की समस्या की जटिलता के बारे में कोई संदर्भ नहीं पा रहा था। निकटतम मैं ढूँढने में सक्षम था कि उनकी गिनती संस्करण है है # पी -Complete (अनुभाग 6.3 देखें इस पत्र )।#Rtw-Opp-CNF#P

आपकी सहायता के लिये पहले से ही धन्यवाद।


अपडेट 10 अप्रैल 2016

  • में इस पत्र , समस्या होना दिखाया गया है ⊕ पी हालांकि सूत्र से कमी द्वारा उत्पादित, -Complete 3 सैट CNF में नहीं है, और जैसे ही आप यह CNF में वापस बदलने की कोशिश आप एक मिल तीन बार पढ़ा सूत्र।⊕Rtw-Opp-SAT⊕P3SAT
  • एक लय संस्करण होना दिखाया गया है ⊕ पी में -Complete इस पत्र । इस तरह के पत्र में, ⊕ RTW-ऑप-CNF जल्दी से खंड 4 के अंत में उल्लेख किया गया है: बहादुर कहते हैं कि यह पतित है। यह मेरे लिए स्पष्ट नहीं है कि वास्तव में पतित होने का क्या मतलब है, और न ही कठोरता के संदर्भ में इसका क्या अर्थ है।⊕Rtw-Mon-CNF⊕P⊕Rtw-Opp-CNF

अपडेट १२ अप्रैल २०१६

यह भी जानना चाहते हैं कि क्या कभी किसी ने की जटिलता का अध्ययन किया है बहुत ही दिलचस्प होगा समस्या। CNF फॉर्मूले के विपरीत एक दो बार पढ़ने के बाद, इस तरह की समस्या को संतोषजनक सेटों की संख्या के बीच अंतर की गणना करने के लिए कहा जाता है, जिसमें विषम संख्या में वेरिएबल्स की संख्या सही होती है और संतोषजनक सेट की संख्या समरूप वेरिएबल की संख्या होती है। मुझे इसके बारे में कोई साहित्य नहीं मिला है।ΔRtw-Opp-CNF


अपडेट 29 मई 2016

के रूप में अपने टिप्पणी में एमिल जेराबेक से कहा, यह सच नहीं है बहादुर ने कहा कि है कि समस्या पतित है। वह केवल ने कहा कि इस तरह के समस्या का एक और अधिक सीमित संस्करण, ⊕ Pl-RTW-ऑप-3CNF , पतित है। इस बीच, मुझे नहीं पता है कि वास्तव में पतित का मतलब क्या है, लेकिन कम से कम अब यह स्पष्ट है कि यह अभिव्यंजक शक्ति की कमी का एक पर्याय है।⊕Rtw-Opp-CNF⊕Pl-Rtw-Opp-3CNF


⊕Rtw-Opp-CNF -Rtw-Mon-CNF जितना ही कठिन है। आप निषेध गैजेट का निर्माण कर सकते हैं: (i0 v x0 v X1) (X1 v x2) (i1 v x0 v2)। यदि i0 = i1, तो वजन = 0 (मोडुलो 2 में)। अन्यथा वजन = 1.

मुझे twRtw-Mon-CNF से twRtw-Opp-CNF में कमी नहीं मिल रही है, लेकिन मैंने forRtw-Opp-CNF को हल करने के लिए बहुपद एल्गोरिथ्म पाया। तो erRtw-Opp-CNF सरल है।

मुझे Valiant के पेपर में twRtw-Opp-CNF का उल्लेख नहीं मिला। उनका दावा है कि -Pl-Rtw-Opp-3CNF "पतित" है, लेकिन इसमें कई अतिरिक्त प्रतिबंध शामिल हैं।
— एमिल जेकबेक

@ EmilJe Emábek: आप निश्चित रूप से सही हैं। मुझे "पतित" के अर्थ की अपनी अज्ञानता से गुमराह किया गया था , और मैंने उसी तरह के तर्क को लागू किया जो सामान्य रूप से पूर्णता के परिणामों की उपस्थिति में लागू होता है: यदि किसी वर्ग के लिए एक निश्चित समस्या पूरी होती है, तो प्रतिबंधों को हटाने से स्पष्ट रूप से पूर्णता प्राप्त होती है। यहां तक ​​कि अगर मुझे अभी भी पता नहीं है कि "पतित" वास्तव में क्या मतलब है, तो यह मेरे लिए कम से कम अब स्पष्ट है कि इस तरह का शब्द किसी तरह कमजोरी का पर्याय है (अर्थात अभिव्यंजक शक्ति की कमी), इसलिए पूर्वोक्त तर्क लागू नहीं किया जा सकता है। मैंने अपने हिसाब से प्रश्न को ठीक किया है।
— जियोर्जियो कैमरानी

1
@ मैकीज: वाक़ई? आपका बहुपद एल्गोरिथ्म कैसे काम करता है?
— जियोर्जियो कैमरानी

जवाबों:


3

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

चलो एक विपरीत-पढ़ने के लिए-दो बार CNF सूत्र हो। व्यापकता के नुकसान के बिना, किसी भी खंड में परिवर्तनशील और नकारात्मक दोनों ही नहीं होते हैं।ϕ

ग्राफ पर विचार जिसका शिखर सेट के खंड है φ , और के लिए प्रत्येक चर एक्स , हम एक (अनिर्दिष्ट) धार युक्त दो खंड पर घटना है कि जोड़ने के एक्स । Φ में हमारी WLOG धारणा का कहना है कि इस ग्राफ में कोई आत्म-छोर नहीं है। इसके अलावा, चर को परिभाषित करते हुए प्रत्येक किनारे को लेबल करने के बारे में सोचें; इस तरह हम समानांतर किनारों के बीच अंतर कर सकते हैं।Gϕxxϕ

का ओरिएंटेशन एक निर्देशित ग्राफ है जिसके किनारों को G में प्रत्येक किनारे पर एक दिशा निर्दिष्ट करके बनाया जाता है । के उन्मुखीकरण कॉल जी स्वीकार्य अगर के हर शिखर जी आउटगोइंग बढ़त है। ऐसा नहीं है कि करने के लिए संतोषजनक कार्य देखना आसान है φ की स्वीकार्य झुकाव के साथ द्विभाजित पत्राचार में कर रहे हैं जी ।GGG GϕG

अब मेरा दावा है कि के स्वीकार्य अभिविन्यासों की संख्या सम है। तर्क "पेचीदगी से" है: मैं एक नक्शा निर्माण Φ निम्नलिखित गुणों के साथ:GΦ

  1. पूरी तरह से परिभाषित है (हर स्वीकार्य अभिविन्यास कहीं मैप किया गया है)Φ
  2. स्वीकार्य अभिविन्यास के लिए स्वीकार्य अभिविन्यास भेजता हैΦ
  3. एक पेचीदगी है ( Φ ∘ Φ पहचान है)ΦΦ∘Φ
  4. कोई निश्चित बिंदु नहीं हैΦ

एक बार इन स्थापित कर रहे हैं, हम देख सकते हैं कि की कक्षाओं सकते आकार 2 है और की स्वीकार्य झुकाव विभाजन जी । यह इस प्रकार है कि स्वीकार्य अभिविन्यासों की संख्या सम है।ΦG

→ को परिभाषित करने के लिए , → G एक स्वीकार्य अभिविन्यास है, और तोड़ने पर विचार करें → G यह दृढ़ता से जुड़ा हुआ घटक है। Φ तब भेजता है → जोर से जुड़े घटकों के भीतर सभी किनारों को उल्टा करके गठित अभिविन्यास के लिए जी । इसके बाद गुणों की सीधी जाँच की जाती है:ΦG→G→ΦG→

  1. प्रत्येक निर्देशित ग्राफ को मजबूती से जुड़े घटकों में विभाजित किया जा सकता है।
  2. में "दृढ़ता से जुड़े घटकों के डीएजी" पर विचार करें ; इसे भागफल ग्राफ कहते हैं। ध्यान दें कि Φ ( → जी ) , एक ही भागफल संरचना होगा के बाद से Φ SCCS के बीच किनारों को प्रभावित नहीं करता है, और प्रभावशाली तरीके से कनेक्ट रेखांकन प्रभावशाली तरीके से कनेक्ट रहते हैं जब उनके सभी किनारों पीछे। इसके अतिरिक्त, अगर एक SCC में एक से अधिक शीर्ष हैं, तो इसके सभी घटक लंबवत आवक हैं। यदि SCC में केवल एक शीर्ष है और भागफल में कोई स्रोत नहीं है, तो इसके सभी घटक लंबवत आवक हैं। तो Φ दिखाने के लिए ( → जी )G→Φ(G→)ΦΦ(G→)यह स्वीकार्य है, यह दिखाने के लिए पर्याप्त है कि SCCs जो कि भागफल में स्रोत हैं, कई कोने हैं। लेकिन यह इस तथ्य से अनुसरण करता है कि घटक के प्रत्येक शीर्ष में एक आवक बढ़त है, जो घटक में किसी अन्य शीर्ष से आना चाहिए क्योंकि में कोई स्व-छोर नहीं है और घटक भागफल में एक स्रोत है।G
  3. यह इस तथ्य से इस प्रकार है कि के भागफल संरचना के भागफल संरचना के साथ मेल खाता → जी ।Φ(G→)G→
  4. ग्राह्यता द्वारा, में एक चक्र है, और इसलिए इसके अंदर एक बढ़त के साथ कुछ SCC है।G→

अच्छा अवलोकन! इसे देखने का एक सरल तरीका (जैसा कि आप कहते हैं, "ग्राफ़-थ्योरैटिक शब्दावली को समाप्त करें") यह देखना है कि यदि कोई असाइनमेंट F को संतुष्ट करता है तो असाइनमेंट a '(x) = 1-a (x) एफ को भी संतुष्ट करता है। यह आसानी से एफ के चर की संख्या पर प्रेरण द्वारा दिखाया जा सकता है
— 9

मुझे नहीं लगता कि के रूप में दिया एक पेचीदगी है। उदाहरण के लिए, 4 किनारों वाले ग्राफ पर निर्देशित किनारों पर विचार करें 0 → 1 → 2 → 0 → 3 → 1 । यह एक स्वीकार्य अभिविन्यास है। मान लें कि इसका पहला चक्र 0 → 1 → 2 → 0 है ; फिर, इस चक्र को उलटने के बाद, एक नया चक्र अस्तित्व में आता है, अर्थात। 0 → 3 → 1 → 0 । यदि यह चक्र मूल एक से पहले आदेश दिया जाता है, तो हम मुसीबत में हैं। Φ0→1→2→0→3→10→1→2→00→3→1→0
— एमिल जेकाबेक

@ भेड़िया आपका अवलोकन गलत है। खंड के साथ CNF पर विचार करें , ¬ एक्स ∨ y ∨ ¬ जेड , और ¬ y ∨ जेड । यह असाइनमेंट ( 1 , 1 , 1 ) से संतुष्ट है , लेकिन ( 0 , 0 , 0 ) द्वारा नहीं । x¬x∨y∨¬z¬y∨z(1,1,1)(0,0,0)
— एमिल जेकाबेक

मुझे लगता है कि की निम्नलिखित परिभाषा काम कर सकती है। चलो एम होना कोने का सेट x संपत्ति के साथ है कि हर के लिए y से एक (निर्देशित) मार्ग से पहुंचा जा सकता एक्स , एक्स से एक रास्ता द्वारा पहुंचा जा सकता है y । (एक मॉडल तर्कशास्त्री के रूप में मैं इसे निर्देशित ग्राफ के सकर्मक प्रतिवर्तनात्मक बंद होने के अंतिम समूहों के संघ के रूप में वर्णित करूँगा, मुझे नहीं पता कि ग्राफ सिद्धांतकार इसे क्या कहेंगे।) फिर स्रोत के साथ सभी किनारों को उल्टा करें (इसलिए लक्ष्य भी)। में एम । ΦMxyxxyM
— एमिल जेकाबेक

@ ईमिल: आह हां, आप सही कह रहे हैं। यदि मैं आपके सुझाव को सही समझता हूं, तो आप कह रहे हैं कि ओरिएंटेशन को मजबूती से जुड़े घटकों में तोड़ें और किनारों को घटकों के भीतर उलट दें। मुझे लगता है कि यह काम करता है। मैं उसी हिसाब से अपना जवाब अपडेट करूंगा। बहुत बहुत धन्यवाद!!
— एंड्रयू मॉर्गन

0

मुझे यकीन नहीं है कि अगर मेरा विचार समझ में आता है, तो मैं जियोर्जियो के उदाहरण पर समझाऊंगा:

।(x1∨x2∨x3)∧(¬x1∨¬x3∨x4)∧(¬x4∨x5)∧(¬x2∨¬x5∨¬x6)

पहले मुझे इसे DNF फॉर्म में बदलने की आवश्यकता है:

।(x1∧x2∧x3)∨(¬x1∧¬x3∧x4)∨(¬x4∧x5)∨(¬x2∧¬x5∧¬x6)

इसका भी यही जवाब देना चाहिए। और कोई फर्क नहीं पड़ता अगर मैं इस के लिए समाधान modulo 2 की संख्या कैल्क करता हूं:

= 0(x1∧x2∧x3)∨(¬x1∧¬x3∧x4)∨(¬x4∧x5)∨(¬x2∧¬x5∧¬x6)

या इसके लिए:

= 1।(x1∧x2∧x3)∨(¬x1∧¬x3∧x4)∨(¬x4∧x5)∨(¬x2∧¬x5∧¬x6)

इसलिए मैं दूसरा चुन रहा हूं। मेरे पास प्रत्यारोपण हैं:

= ( एक्स 1 ∧ एक्स 2 ∧ एक्स 3 )i0(x1∧x2∧x3)

= ( ¬ एक्स 1 ∧ ¬ एक्स 3 ∧ x 4 )i1(¬x1∧¬x3∧x4)

= ( ¬ एक्स 4 ∧ x 5 )i2(¬x4∧x5)

= ( ¬ एक्स 2 ∧ ¬ एक्स 5 ∧ ¬ x 6 )i3(¬x2∧¬x5∧¬x6)

अब मैं समीकरणों की प्रणाली बना रहा हूं:

j0⊕j1=1

j0⊕j3=1

j0⊕j1=1

j2⊕j3=1

j3=1

इस प्रणाली का एक समाधान है। 1 मॉड 2 = 1, इसलिए उत्तर 1. 1. केवल एक बार होता है। यदि प्रत्येक चर दो बार होता है, तो उत्तर = 1 होना संभव है?x6


अगर मेरी सोच ठीक है, तो जवाब "नहीं" है। बेशक मैं मानता हूं कि चर एक बार सकारात्मक और एक बार नकारात्मकता में होता है।
— मैकीज

मैं के लिए समीकरण के बारे में भूल : जे 1 ⊕ जे 2 = 1. लेकिन परिणाम अगर एक ही। एक समाधान: j 3 = 1, j 2 = 0, j 1 = 1, j 0 = 0.x4j1⊕j2j3j2j1j0
— Maciej

-1

बड़ी देरी के लिए खेद है। अब तक शायद समस्या हल हो गई थी। यदि नहीं, तो मैं हल करने के लिए मेरी बहुपद एल्गोरिथ्म पेश करेंगे । पहले इस समीकरण के समाधानों की संख्या 2 की गणना करने का प्रयास करते हैं: f ( X ) to g ( X ) । जहाँ f और g तर्क कार्य हैं और X चर का एक सदिश है। आम हिस्सा है, च ( एक्स ) ∧ जी ( एक्स ) , दो बार (च (एक्स में एक बार) और जी में एक बार (एक्स)) होता है। इसलिए मोडुलो में 2 आम हिस्सा महत्वपूर्ण नहीं है। हम समाधानों की संख्या की गणना कर सकते हैं modulo 2 of f ( X )⊕Rtw-Opp-CNFf(X)⊕g(X)f(X)∧g(X)f(X)और समाधानों की संख्या modulo 2 of और फिर इस परिणाम modulo 2 का योग करें। अब मान लेते हैं कि फ़ंक्शन इस प्रकार प्रस्तुत किया गया है:g(X)

,i0⊕i1⊕i2⊕...⊕in−1

जहां एक implicant (;: उदाहरण के लिए मैं मतलब है और ऑपरेटर से जुड़े चर है एक्स 0 ∧ एक्स 1 ∧ ¬ एक्स 2 )।ijx0∧x1∧¬x2

इस फ़ंक्शन modulo 2 के समाधानों की संख्या की गणना करने के लिए हम बस प्रत्येक implicant modulo 2 के समाधानों की संख्या को कैल्क कर सकते हैं और सभी परिणाम modulo 2 को जोड़ सकते हैं। यदि हमारे पास चर X का वेक्टर है और implicant में इस वेक्टर से सभी चर नहीं हैं, तो हम जानते हैं इस इम्प्लीकेंट के लिए सोल्यूशंस मॉडुलो 2 की संख्या 0 है, क्योंकि सॉल्यूशंस हैं, जहां k लापता वेरिएबल्स की संख्या है। यदि प्रत्यारोपण में सभी चर हैं, तो समाधानों की संख्या 1 (k = 0) है। इसलिए I 0 ⊕ i 1 ⊕ i 2 calcul के समाधान modulo 2 की संख्या की गणना । । । ⊕ i n - 1 आसान है। अब विचार करते हैं:2ki0⊕i1⊕i2⊕...⊕in−1

।i0∨i1∨i2∨...∨in−1

हम जानते हैं कि । सामान्य तौर पर, AND ऑपरेशन को ऑपरेटर और ऑपरेटर द्वारा जुड़े हर उपसमुच्चय के XOR द्वारा प्रतिस्थापित किया जा सकता है। और यह महत्वपूर्ण कदम है: हम केवल उन सबसेट में रुचि रखते हैं जो:a∨b=a⊕b⊕(a∧b)

1) सभी चर हैं,

2) प्रत्येक चर एक बार होता है (यदि चर दो बार होता है, तो हमारे पास एक आवेग में सकारात्मक और नकारात्मक है, इसलिए यह 0 के रूप में देगा)।

चलो कहते हैं कि हम सकारात्मक है कि implicant में मैं 0 और नकारात्मक एक्स 0 implicant में मैं 1 । तब हम लिख सकते हैं और समीकरण:x0i0x0i1

।j0⊕j1=1

इस समीकरण में वैरिएबल और j 1 इम्प्लिकेंट्स i 0 और i 1 से मेल खाते हैं । मेरा मतलब है कि, उदाहरण के लिए, निहितार्थ I 0 सबसेट में होता है, तो j 0 = 1. अन्यथा j 0 = 0. यदि हम इसे सभी चर के लिए बनाते हैं, तो हम XOR समीकरणों के बारे में जानेंगे और हमें समाधानों की संख्या की गणना करनी होगी यह सेट। यह समस्या आसान है। सॉल्यूशंस की संख्या यदि हमेशा 2 एल , जब एल कुछ मान मिल जाए। बस इतना ही। मुझे पता है कि यह औपचारिक प्रमाण नहीं है, लेकिन मुझे उम्मीद है कि यह समझ में आएगा।j0j1i0i1i0j0j02l


हममम .... वहाँ किसी भी मामले जब है = 1? ⊕Rtw-Opp-CNF
— मैकीज

@AndrewMorgan लेकिन एक अद्वितीय खंड के साथ एक सूत्र जिसमें सभी चर बिल्कुल एक बार पढ़े जाने वाले दो बार सूत्र नहीं होंगे। प्रतिबंध वास्तव में दो बार है, अधिक से अधिक दो बार नहीं।
— जियोर्जियो कैमरानी

@AndrewMorgan निम्न सूत्र (जिसकी वजह से दो बार पढ़ा नहीं है संतोषजनक कार्य की एक विषम संख्या है प्रकट होता है केवल एक बार): ( एक्स 1 ∨ एक्स 2 ∨ एक्स 3 ) ∧ ( ¬ एक्स 1 ∨ ¬ एक्स 3 ∨ x 4 ) ∧ ( ¬ एक्स 4 ∨ एक्स 5 ) ∧ ( ¬ एक्स 2 ∨ ¬ एक्स 5 ∨ ¬ x 6 )x6(x1∨x2∨x3)∧(¬x1∨¬x3∨x4)∧(¬x4∨x5)∧(¬x2∨¬x5∨¬x6)। ऐसे सूत्र के सभी चर, को छोड़कर , दो बार विपरीत प्रतिबंधों को पढ़ने के लिए मानते हैं, और संतोषजनक असाइनमेंट की संख्या विषम है, सूत्र को प्रेरित करता है "बिल्कुल एक बार सभी चर युक्त एक अद्वितीय खंड नहीं है " । x6
— जियोर्जियो कैमरानी

@GiorgioCamerani मेरा मतलब था कि सभी चर वाले सभी खंडों के बीच, इनपुट सूत्र में मौजूद एक अद्वितीय खंड है। की तरह एक सूत्र में यानी , वहाँ सभी चर, एक बार पेश के साथ एक अद्वितीय खंड है में जबकि ( एक्स 1 ∨ एक्स 2 ) ∧ ( ¯ एक्स 1 ∨ ¯ एक्स 2 ) या ( एक्स 1 ) ∧ ((x1∨x2)∧(x1¯)∧(x2¯)(x1∨x2)∧(x1¯∨x2¯)वहाँ नहीं है। मुझे इनपुट में अन्य खंडों की उपस्थिति को बाहर करने का मतलब नहीं था। लेकिन किसी भी मामले में मुझे लगता है कि मैं मैकीज के जवाब को गलत समझ रहा था, इसलिए मैंने अपनी पिछली टिप्पणी को हटा दिया। (x1)∧(x1¯)∧(x2)∧(x2¯)
— एंड्रयू मॉर्गन

@AndrewMorgan ठीक है, अब मैं देख रहा हूं। हालाँकि इस बात पर विचार करें कि आपके द्वारा लिए गए मामलों के परिवार में भी, संतोषजनक कार्य की संख्या और भी बनी हुई है। मैकीज ने अपनी टिप्पणी में जो सवाल उठाया है, वह चुनौतीपूर्ण है।
— जियोर्जियो कैमरानी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.