संयोजक सामान्य रूप: Difference between revisions

From Vigyanwiki
No edit summary
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Short description|Standard form of Boolean function}}
{{Short description|Standard form of Boolean function}}
{{distinguish|चॉम्स्की सामान्य रूप}}
{{distinguish|चॉम्स्की सामान्य रूप}}
[[बूलियन तर्क]] में, एक सूत्र (गणितीय तर्क) '''संयोजक सामान्य रूप (सीएनएफ)''' या '''खंड सामान्य रूप''' में होता है यदि यह एक या अधिक [[खंड (तर्क)|खंडो(तर्क)]] का [[तार्किक संयोजन]] है, जहां एक खंड [[शाब्दिक (गणितीय तर्क)]] का विच्छेदन है; अन्यथा कहें तो, यह योगों या ORs के AND का उत्पाद है। एक [[विहित सामान्य रूप]] के रूप में, यह स्वचालित प्रमेय सिद्ध करने और [[सर्किट सिद्धांत]] में उपयोगी है।
[[बूलियन तर्क]] में, एक सूत्र (गणितीय तर्क) '''संयोजक सामान्य रूप (सीएनएफ)''' या '''खंड सामान्य रूप''' में होता है यदि यह एक या अधिक [[खंड (तर्क)|खंडो(तर्क)]] का [[तार्किक संयोजन]] है, जहां एक खंड [[शाब्दिक (गणितीय तर्क)]] का विच्छेदन है; अन्यथा कहें तो, यह योगों या ओआरएस के एंड का उत्पाद है। एक [[विहित सामान्य रूप]] के रूप में, यह स्वचालित प्रमेय सिद्ध करने और [[सर्किट सिद्धांत]] में उपयोगी है।


शाब्दिकों के सभी संयोजन और शाब्दिकों के सभी विच्छेदन सीएनएफ में हैं, क्योंकि उन्हें क्रमशः एक-शाब्दिक खंड के संयोजन और एक एकल खंड के संयोजन के रूप में देखा जा सकता है। जैसा कि [[विच्छेदात्मक सामान्य रूप]] (डीएनएफ) में होता है, सीएनएफ में एक सूत्र में शामिल होने वाले एकमात्र प्रस्तावक संयोजक तार्किक संयोजन, तार्किक वियोजन और [[तार्किक निषेध]] हैं। नॉट ऑपरेटर का उपयोग केवल शाब्दिक भाग के रूप में किया जा सकता है, जिसका अर्थ है कि यह केवल एक [[प्रस्तावात्मक चर]] या एक विधेय प्रतीक से पहले हो सकता है।
शाब्दिकों के सभी संयोजन और शाब्दिकों के सभी विच्छेदन सीएनएफ में हैं, क्योंकि उन्हें क्रमशः एक-शाब्दिक खंड के संयोजन और एक एकल खंड के संयोजन के रूप में देखा जा सकता है। जैसा कि [[विच्छेदात्मक सामान्य रूप]] (डीएनएफ) में होता है, सीएनएफ में एक सूत्र में सम्मलित होने वाले एकमात्र प्रस्तावक संयोजक तार्किक संयोजन, तार्किक वियोजन और [[तार्किक निषेध]] हैं। नॉट ऑपरेटर का उपयोग केवल शाब्दिक भाग के रूप में किया जा सकता है, जिसका अर्थ है कि यह केवल एक [[प्रस्तावात्मक चर]] या एक विधेय प्रतीक से पहले हो सकता है।


स्वचालित प्रमेय साबित करने में, धारणा "खंड सामान्य रूप" का उपयोग अक्सर एक संकीर्ण अर्थ में किया जाता है, जिसका अर्थ शाब्दिक सेट के सेट के रूप में सीएनएफ सूत्र का एक विशेष प्रतिनिधित्व होता है।
स्वचालित प्रमेय सिद्ध करने में, धारणा "खंड सामान्य रूप" का उपयोग अधिकांशतः एक संकीर्ण अर्थ में किया जाता है, जिसका अर्थ शाब्दिक समुच्चय के समुच्चय के रूप में सीएनएफ सूत्र का एक विशेष प्रतिनिधित्व होता है।
==उदाहरण और गैर-उदाहरण==
==उदाहरण और गैर-उदाहरण==
निम्नलिखित सभी सूत्र चर में हैं <math>A,B,C,D,E</math>, और <math>F</math> संयोजक सामान्य रूप में हैं:
निम्नलिखित सभी सूत्र चर में हैं <math>A,B,C,D,E</math>, और <math>F</math> संयोजक सामान्य रूप में हैं:
Line 13: Line 13:
* <math>(A \lor B)</math>
* <math>(A \lor B)</math>
* <math>(A)</math>
* <math>(A)</math>
स्पष्टता के लिए, विभक्ति खंड ऊपर कोष्ठक के अंदर लिखे गए हैं। कोष्ठक में रखे गए संयोजक खंडो के साथ विच्छेदात्मक सामान्य रूप में, अंतिम मामला वही है, लेकिन अंतिम से अगला है <math>(A) \lor (B)</math>. स्थिरांक सत्य और असत्य को खाली संयुक्ताक्षर और खाली विच्छेद से युक्त एक खंड द्वारा दर्शाया जाता है, लेकिन आम तौर पर स्पष्ट रूप से लिखा जाता है।<ref>Peter B. Andrews, ''An Introduction to Mathematical Logic and Type Theory'', 2013, {{isbn|9401599343}}, p. 48</ref>
स्पष्टता के लिए, विभक्ति खंड ऊपर कोष्ठक के अंदर लिखे गए हैं। कोष्ठक में रखे गए संयोजक खंडो के साथ विच्छेदात्मक सामान्य रूप में, अंतिम स्थिति वही है, लेकिन अंतिम से अगला है <math>(A) \lor (B)</math>. स्थिरांक सत्य और असत्य को खाली संयुक्ताक्षर और खाली विच्छेद से युक्त एक खंड द्वारा दर्शाया जाता है, लेकिन सामान्यतः स्पष्ट रूप से लिखा जाता है।<ref>Peter B. Andrews, ''An Introduction to Mathematical Logic and Type Theory'', 2013, {{isbn|9401599343}}, p. 48</ref>


निम्नलिखित सूत्र संयोजक सामान्य रूप में नहीं हैं:
निम्नलिखित सूत्र संयोजक सामान्य रूप में नहीं हैं:
* <math>\neg (B \lor C)</math>, क्योंकि OR एक NOT के भीतर निहित है
* <math>\neg (B \lor C)</math>, क्योंकि ओआर एक नॉट के भीतर निहित है
* <math>(A \land B) \lor C</math>
* <math>(A \land B) \lor C</math>
* <math>A \land (B \lor (D \land E))</math>, चूँकि AND एक OR के भीतर निहित है
* <math>A \land (B \lor (D \land E))</math>, चूँकि एंड एक ओआर के भीतर निहित है


प्रत्येक सूत्र को संयोजक सामान्य रूप में एक सूत्र के रूप में समान रूप से लिखा जा सकता है। सीएनएफ में तीन गैर-उदाहरण हैं:
प्रत्येक सूत्र को संयोजक सामान्य रूप में एक सूत्र के रूप में समान रूप से लिखा जा सकता है। सीएनएफ में तीन गैर-उदाहरण हैं:
Line 26: Line 26:
==सीएनएफ में रूपांतरण==
==सीएनएफ में रूपांतरण==


<ref name=":0" />प्रत्येक [[प्रस्तावात्मक सूत्र]] को सीएनएफ में मौजूद [[तार्किक तुल्यता]] सूत्र में परिवर्तित किया जा सकता है। यह परिवर्तन तार्किक तुल्यता के नियमों पर आधारित है: [[दोहरा निषेध उन्मूलन]], डी मॉर्गन के नियम और [[वितरणात्मक कानून|वितरणात्मक नियम]]।
<ref name=":0" />प्रत्येक [[प्रस्तावात्मक सूत्र]] को सीएनएफ में उपस्थित [[तार्किक तुल्यता]] सूत्र में परिवर्तित किया जा सकता है। यह परिवर्तन तार्किक तुल्यता के नियमों पर आधारित है: [[दोहरा निषेध उन्मूलन]], डी मॉर्गन के नियम और [[वितरणात्मक कानून|वितरणात्मक नियम]]।


चूंकि सभी प्रस्तावक सूत्रों को संयोजक सामान्य रूप में समकक्ष सूत्र में परिवर्तित किया जा सकता है, इसलिए प्रमाण अक्सर इस धारणा पर आधारित होते हैं कि सभी सूत्र सीएनएफ हैं। हालाँकि, कुछ मामलों में सीएनएफ में यह रूपांतरण सूत्र के तेजी से विस्फोट का कारण बन सकता है। उदाहरण के लिए, निम्नलिखित गैर-सीएनएफ सूत्र को सीएनएफ में अनुवाद करने से एक सूत्र तैयार होता है <math>2^n</math> खंड:
चूंकि सभी प्रस्तावक सूत्रों को संयोजक सामान्य रूप में समकक्ष सूत्र में परिवर्तित किया जा सकता है, इसलिए प्रमाण अधिकांशतः इस धारणा पर आधारित होते हैं कि सभी सूत्र सीएनएफ हैं। चूंकि, कुछ स्थितियों में सीएनएफ में यह रूपांतरण सूत्र के तेजी से विस्फोट का कारण बन सकता है। उदाहरण के लिए, निम्नलिखित गैर-सीएनएफ सूत्र को सीएनएफ में अनुवाद करने से एक सूत्र तैयार होता है <math>2^n</math> खंड:


:<math>(X_1 \wedge Y_1) \vee (X_2 \wedge Y_2) \vee \dots \vee (X_n \wedge Y_n).</math>
:<math>(X_1 \wedge Y_1) \vee (X_2 \wedge Y_2) \vee \dots \vee (X_n \wedge Y_n).</math>
विशेष रूप से, उत्पन्न सूत्र है:
विशेष रूप से, उत्पन्न सूत्र है:
:<math>(X_1 \vee X_2 \vee \cdots \vee X_n) \wedge (Y_1 \vee X_2 \vee \cdots \vee X_n) \wedge (X_1 \vee Y_2 \vee \cdots \vee X_n) \wedge (Y_1 \vee Y_2 \vee \cdots \vee X_n) \wedge \cdots \wedge (Y_1 \vee Y_2 \vee \cdots \vee Y_n).</math>
:<math>(X_1 \vee X_2 \vee \cdots \vee X_n) \wedge (Y_1 \vee X_2 \vee \cdots \vee X_n) \wedge (X_1 \vee Y_2 \vee \cdots \vee X_n) \wedge (Y_1 \vee Y_2 \vee \cdots \vee X_n) \wedge \cdots \wedge (Y_1 \vee Y_2 \vee \cdots \vee Y_n).</math>
इस सूत्र में शामिल है <math>2^n</math> खंड; प्रत्येक खंड में या तो शामिल है <math>X_i</math> या <math>Y_i</math> प्रत्येक के लिए <math>i</math>.
इस सूत्र में सम्मलित है <math>2^n</math> खंड; प्रत्येक खंड में या तो सम्मलित है <math>X_i</math> या <math>Y_i</math> प्रत्येक के लिए <math>i</math>.


सीएनएफ में ऐसे परिवर्तन मौजूद हैं जो तार्किक तुल्यता के बजाय [[बूलियन संतुष्टि समस्या]] को संरक्षित करके आकार में तेजी से वृद्धि से बचते हैं।<ref>Tseitin (1968)</ref><ref>Jackson and Sheridan (2004)</ref> ये परिवर्तन केवल सूत्र के आकार को रैखिक रूप से बढ़ाने की गारंटी देते हैं, लेकिन नए चर पेश करते हैं। उदाहरण के लिए, उपरोक्त सूत्र को वेरिएबल जोड़कर सीएनएफ में बदला जा सकता है <math>Z_1,\ldots,Z_n</math> इस प्रकार है:
सीएनएफ में ऐसे परिवर्तन उपस्थित हैं जो तार्किक तुल्यता के अतिरिक्त [[बूलियन संतुष्टि समस्या]] को संरक्षित करके आकार में तेजी से वृद्धि से बचते हैं।<ref>Tseitin (1968)</ref><ref>Jackson and Sheridan (2004)</ref> ये परिवर्तन केवल सूत्र के आकार को रैखिक रूप से बढ़ाने की गारंटी देते हैं, लेकिन नए चर प्रस्तुत करते हैं। उदाहरण के लिए, उपरोक्त सूत्र को चर जोड़कर सीएनएफ में बदला जा सकता है <math>Z_1,\ldots,Z_n</math> इस प्रकार है:


:<math>(Z_1 \vee \cdots \vee Z_n) \wedge
:<math>(Z_1 \vee \cdots \vee Z_n) \wedge
Line 41: Line 41:
\cdots \wedge  
\cdots \wedge  
(\neg Z_n \vee X_n) \wedge (\neg Z_n \vee Y_n). </math>
(\neg Z_n \vee X_n) \wedge (\neg Z_n \vee Y_n). </math>
एक [[व्याख्या (तर्क)]] इस सूत्र को तभी संतुष्ट करती है जब कम से कम एक नया चर सत्य हो। यदि यह वेरिएबल है <math>Z_i</math>, फिर दोनों <math>X_i</math> और <math>Y_i</math> भी सत्य हैं। इसका मतलब यह है कि प्रत्येक [[मॉडल सिद्धांत]] जो इस सूत्र को संतुष्ट करता है वह मूल सिद्धांत को भी संतुष्ट करता है। दूसरी ओर, मूल सूत्र के केवल कुछ मॉडल ही इसे संतुष्ट करते हैं: मूल सूत्र में <math>Z_i</math> का उल्लेख नहीं किया गया है, उनके मान इसकी संतुष्टि के लिए अप्रासंगिक हैं, जो कि अंतिम सूत्र में नहीं है। इसका मतलब यह है कि मूल सूत्र और अनुवाद का परिणाम समान (गणितीय तर्क) है लेकिन तार्किक समतुल्य नहीं है।
एक [[व्याख्या (तर्क)]] इस सूत्र को तभी संतुष्ट करती है जब कम से कम एक नया चर सत्य हो। यदि यह चर है <math>Z_i</math>, फिर दोनों <math>X_i</math> और <math>Y_i</math> भी सत्य हैं। इसका तात्पर्य यह है कि प्रत्येक [[मॉडल सिद्धांत]] जो इस सूत्र को संतुष्ट करता है वह मूल सिद्धांत को भी संतुष्ट करता है। दूसरी ओर, मूल सूत्र के केवल कुछ मॉडल ही इसे संतुष्ट करते हैं: मूल सूत्र में <math>Z_i</math> का उल्लेख नहीं किया गया है, उनके मान इसकी संतुष्टि के लिए अप्रासंगिक हैं, जो कि अंतिम सूत्र में नहीं है। इसका तात्पर्य यह है कि मूल सूत्र और अनुवाद का परिणाम समान (गणितीय तर्क) है लेकिन तार्किक समतुल्य नहीं है।


एक वैकल्पिक अनुवाद, [[त्सेइटिन परिवर्तन]] में खंड भी शामिल हैं <math>Z_i \vee \neg X_i \vee \neg Y_i</math>. इन खंडो से सूत्र का तात्पर्य है <math>Z_i \equiv X_i \wedge Y_i</math>; इस सूत्र को अक्सर "परिभाषित" माना जाता है <math>Z_i</math> के लिए एक नाम होना <math>X_i \wedge Y_i</math>.
एक वैकल्पिक अनुवाद, [[त्सेइटिन परिवर्तन]] में खंड भी सम्मलित हैं <math>Z_i \vee \neg X_i \vee \neg Y_i</math>. इन खंडो से सूत्र का तात्पर्य है <math>Z_i \equiv X_i \wedge Y_i</math>; इस सूत्र को अधिकांशतः "परिभाषित" माना जाता है <math>Z_i</math> के लिए एक नाम होना <math>X_i \wedge Y_i</math>.


==प्रथम-क्रम तर्क==
==प्रथम-क्रम तर्क==


प्रथम क्रम तर्क में, तार्किक सूत्र के उपवाक्य सामान्य रूप को प्राप्त करने के लिए संयोजक सामान्य रूप को आगे ले जाया जा सकता है, जिसका उपयोग प्रथम-क्रम समाधान करने के लिए किया जा सकता है। रिज़ॉल्यूशन-आधारित स्वचालित प्रमेय-सिद्ध करने में, एक सीएनएफ सूत्र
प्रथम क्रम तर्क में, तार्किक सूत्र के खंड सामान्य रूप को प्राप्त करने के लिए संयोजक सामान्य रूप को आगे ले जाया जा सकता है, जिसका उपयोग प्रथम-क्रम समाधान करने के लिए किया जा सकता है। रिज़ॉल्यूशन-आधारित स्वचालित प्रमेय-सिद्ध करने में, एक सीएनएफ सूत्र
  {|  
  {|  
|-
|-
Line 69: Line 69:
|| <math>)</math>
|| <math>)</math>
||
||
|| , साथ <math>l_{ij}</math> शाब्दिक, आमतौर पर सेट के एक सेट के रूप में दर्शाया जाता है
|| , साथ <math>l_{ij}</math> शाब्दिक, सामान्यतः समुच्चय के एक समुच्चय के रूप में दर्शाया जाता है
|-
|-
|| <math>\{</math>
|| <math>\{</math>
Line 92: Line 92:
|| .
|| .
|}
|}
उदाहरण के लिए नीचे देखें
==कम्प्यूटेशनल जटिलता==
==कम्प्यूटेशनल जटिलता==


[[कम्प्यूटेशनल जटिलता सिद्धांत]] में समस्याओं के एक महत्वपूर्ण सेट में संयोजक सामान्य रूप में व्यक्त बूलियन सूत्र के चर के लिए असाइनमेंट ढूंढना शामिल है, जैसे कि सूत्र सत्य है। K-SAT समस्या CNF में व्यक्त बूलियन सूत्र के लिए एक संतोषजनक असाइनमेंट खोजने की समस्या है जिसमें प्रत्येक वियोजन में अधिकतम k चर होते हैं। बूलियन संतुष्टि समस्या|3-SAT एनपी-पूर्ण है (k>2 के साथ किसी भी अन्य k-SAT समस्या की तरह) जबकि [[2-संतोषजनकता]]|2-SAT को बहुपद समय में समाधान के लिए जाना जाता है। एक परिणाम के रूप में,<ref>since one way to check a CNF for satisfiability is to convert it into a [[Disjunctive normal form|DNF]], the satisfiability of which can be checked in [[Time complexity#Linear time|linear time]]</ref> संतुष्टि को बनाए रखते हुए किसी सूत्र को डिसजंक्टिव सामान्य रूप में परिवर्तित करने का कार्य [[ एनपी कठिन ]] है; बूलियन बीजगणित#द्वैत सिद्धांत, सीएनएफ में परिवर्तित करना, संतुष्टि और वैधता को संरक्षित करना, एनपी-हार्ड भी है; इसलिए डीएनएफ या सीएनएफ में समतुल्य-संरक्षण रूपांतरण फिर से एनपी-हार्ड है।
[[कम्प्यूटेशनल जटिलता सिद्धांत]] में समस्याओं के एक महत्वपूर्ण समुच्चय में संयोजक सामान्य रूप में व्यक्त बूलियन सूत्र के चर के लिए असाइनमेंट ढूंढना सम्मलित है, जैसे कि सूत्र सत्य है। K-समुच्चय समस्या सीएनएफ में व्यक्त बूलियन सूत्र के लिए एक संतोषजनक असाइनमेंट जाँचने की समस्या है जिसमें प्रत्येक वियोजन में अधिकतम k चर होते हैं। 3-समुच्चय एनपी-पूर्ण है (k>2 के साथ किसी भी अन्य k-समुच्चय समस्या की तरह) जबकि [[2-संतोषजनकता]], 2-समुच्चय को बहुपद समय में समाधान के लिए जाना जाता है। परिणामस्वरूप,<ref>since one way to check a CNF for satisfiability is to convert it into a [[Disjunctive normal form|DNF]], the satisfiability of which can be checked in [[Time complexity#Linear time|linear time]]</ref> किसी सूत्र को डीएनएफ में परिवर्तित करने, संतुष्टि बनाए रखने का कार्य [[ एनपी कठिन |एनपी कठिन]] है; दोहरी रूप से, सीएनएफ में परिवर्तित करना, वैधता को संरक्षित करना भी एनपी-हार्ड है; इसलिए डीएनएफ या सीएनएफ में समतुल्य-संरक्षण रूपांतरण फिर से एनपी-हार्ड है।


इस मामले में विशिष्ट समस्याओं में 3CNF में सूत्र शामिल होते हैं: संयोजक सामान्य रूप जिसमें प्रति संयोजन तीन से अधिक चर नहीं होते हैं। व्यवहार में आने वाले ऐसे सूत्रों के उदाहरण बहुत बड़े हो सकते हैं, उदाहरण के लिए 100,000 चर और 1,000,000 संयोजन के साथ।
इस मामले में विशिष्ट समस्याओं में "3सीएनएफ" में सूत्र सम्मलित हैं: संयोजक सामान्य रूप जिसमें प्रति संयोजन तीन से अधिक चर न हों। व्यवहार में आने वाले ऐसे सूत्रों के उदाहरण बहुत बड़े हो सकते हैं, उदाहरण के लिए 100,000 चर और 1,000,000 संयोजन के साथ।


CNF में एक सूत्र को प्रत्येक संयोजन को k से अधिक चर के साथ प्रतिस्थापित करके kCNF (k≥3 के लिए) में एक समतुल्य सूत्र में परिवर्तित किया जा सकता है। <math>X_1 \vee \cdots \vee X_k \vee \cdots \vee X_n</math> दो संयोजकों द्वारा <math>X_1 \vee \cdots \vee X_{k-1} \vee Z</math> और <math>\neg Z \vee X_k \cdots \vee X_n</math> साथ {{mvar|Z}} एक नया चर, और जितनी बार आवश्यक हो दोहराना।
सीएनएफ में एक सूत्र को प्रत्येक संयोजन को k से अधिक चर के साथ प्रतिस्थापित करके "केसीएनएफ" (k≥3 के लिए) में एक समतुल्य सूत्र में परिवर्तित किया जा सकता है। <math>X_1 \vee \cdots \vee X_k \vee \cdots \vee X_n</math> दो संयोजकों द्वारा <math>X_1 \vee \cdots \vee X_{k-1} \vee Z</math> और <math>\neg Z \vee X_k \cdots \vee X_n</math> , {{mvar|Z}} के साथ एक नया चर, और जितनी बार आवश्यक हो दोहराना।


==[[प्रथम-क्रम तर्क]] से परिवर्तित करना==
==[[प्रथम-क्रम तर्क]] से परिवर्तित करना==


प्रथम-क्रम तर्क को CNF में बदलने के लिए:<ref name=":0">[https://web.archive.org/web/20170831090316/https://pdfs.semanticscholar.org/bef0/731f247a1d01c9e0ff52f2412007c143899d.pdf Artificial Intelligence: A modern Approach] {{Webarchive|url=https://web.archive.org/web/20170831090316/https://pdfs.semanticscholar.org/bef0/731f247a1d01c9e0ff52f2412007c143899d.pdf |date=2017-08-31 }} [1995...] Russell and Norvig</ref>
प्रथम-क्रम तर्क को सीएनएफ में परिवर्तित करने के लिए:<ref name=":0">[https://web.archive.org/web/20170831090316/https://pdfs.semanticscholar.org/bef0/731f247a1d01c9e0ff52f2412007c143899d.pdf Artificial Intelligence: A modern Approach] {{Webarchive|url=https://web.archive.org/web/20170831090316/https://pdfs.semanticscholar.org/bef0/731f247a1d01c9e0ff52f2412007c143899d.pdf |date=2017-08-31 }} [1995...] Russell and Norvig</ref>
#निषेध को सामान्य रूप में बदलें।
#निषेध को सामान्य रूप में परिवर्तित करें
## निहितार्थ और तुल्यताएँ हटाएँ: बार-बार बदलें <math>P \rightarrow Q</math> साथ <math>\lnot P \lor Q</math>; बदलना <math>P \leftrightarrow Q</math> साथ <math>(P \lor \lnot Q) \land (\lnot P \lor Q)</math>. अंततः, यह की सभी घटनाओं को समाप्त कर देगा <math>\rightarrow</math> और <math>\leftrightarrow</math>.
## निहितार्थ और तुल्यताएँ हटाएँ: बार-बार परिवर्तित करें <math>P \rightarrow Q</math> साथ <math>\lnot P \lor Q</math>; बदलना <math>P \leftrightarrow Q</math> साथ <math>(P \lor \lnot Q) \land (\lnot P \lor Q)</math>. अंततः, यह की सभी घटनाओं को समाप्त कर देगा <math>\rightarrow</math> और <math>\leftrightarrow</math>.
##डी मॉर्गन के नियम|डी मॉर्गन के नियम को बार-बार लागू करके नोट को अंदर की ओर ले जाएं। विशेष रूप से, प्रतिस्थापित करें <math>\lnot (P \lor Q)</math> साथ <math>(\lnot P) \land (\lnot Q)</math>; बदलना <math>\lnot (P \land Q)</math> साथ <math>(\lnot P) \lor (\lnot Q)</math>; और बदलें <math>\lnot\lnot P</math> साथ <math>P</math>; बदलना <math>\lnot (\forall x P(x))</math> साथ <math>\exists x \lnot P(x)</math>; <math>\lnot (\exists x P(x))</math> साथ <math>\forall x \lnot P(x)</math>. उसके बाद, ए <math>\lnot</math> विधेय चिह्न के ठीक पहले ही घटित हो सकता है।
##डी मॉर्गन के नियम को बार-बार क्रियान्वित करके नोट को अंदर की ओर ले जाएं। विशेष रूप से, प्रतिस्थापित करें <math>\lnot (P \lor Q)</math> साथ <math>(\lnot P) \land (\lnot Q)</math>; बदलना <math>\lnot (P \land Q)</math> साथ <math>(\lnot P) \lor (\lnot Q)</math>; और बदलें <math>\lnot\lnot P</math> साथ <math>P</math>; बदलना <math>\lnot (\forall x P(x))</math> साथ <math>\exists x \lnot P(x)</math>; <math>\lnot (\exists x P(x))</math> साथ <math>\forall x \lnot P(x)</math>. उसके पश्चात, ए <math>\lnot</math> विधेय चिह्न के ठीक पहले ही घटित हो सकता है।
#वेरिएबल का मानकीकरण करें
#चरों का मानकीकरण करें
## जैसे वाक्यों के लिए <math>(\forall x P(x)) \lor (\exists x Q(x))</math> जो एक ही वेरिएबल नाम का दो बार उपयोग करते हैं, उनमें से एक वेरिएबल का नाम बदल देते हैं। इससे बाद में क्वांटिफायर छोड़ते समय भ्रम की स्थिति से बचा जा सकता है। उदाहरण के लिए, <math>\forall x [\exists y \mathrm{Animal}(y) \land \lnot \mathrm{Loves}(x, y)] \lor [\exists y \mathrm{Loves}(y, x)]</math> का नाम बदल दिया गया है <math>\forall x [\exists y \mathrm{Animal}(y) \land \lnot \mathrm{Loves}(x, y)] \lor [\exists z \mathrm{Loves}(z,x)]</math>.
## जैसे वाक्यों के लिए <math>(\forall x P(x)) \lor (\exists x Q(x))</math> जो एक ही चर नाम का दो बार उपयोग करते हैं, उनमें से एक चर का नाम बदल देते हैं।इससे पश्चात में क्वांटिफायर छोड़ते समय भ्रम की स्थिति से बचा जा सकता है। उदाहरण के लिए, <math>\forall x [\exists y \mathrm{Animal}(y) \land \lnot \mathrm{Loves}(x, y)] \lor [\exists y \mathrm{Loves}(y, x)]</math> का नाम बदल दिया गया है <math>\forall x [\exists y \mathrm{Animal}(y) \land \lnot \mathrm{Loves}(x, y)] \lor [\exists z \mathrm{Loves}(z,x)]</math>.
#स्कोलेम सामान्य कथन है
#स्टेटमेन को स्कोलेम सामान्य रूप करें
##क्वांटिफायर को बाहर की ओर ले जाएं: बार-बार बदलें <math>P \land (\forall x Q(x))</math> साथ <math>\forall x (P \land Q(x))</math>; बदलना <math>P \lor (\forall x Q(x))</math> साथ <math>\forall x (P \lor Q(x))</math>; बदलना <math>P \land (\exists x Q(x))</math> साथ <math>\exists x (P \land Q(x))</math>; बदलना <math>P \lor (\exists x Q(x))</math> साथ <math>\exists x (P \lor Q(x))</math>. ये प्रतिस्थापन समतुल्यता को संरक्षित करते हैं, क्योंकि पिछले परिवर्तनीय मानकीकरण चरण ने यह सुनिश्चित किया था <math>x</math> में नहीं होता है <math>P</math>. इन प्रतिस्थापनों के बाद, एक क्वांटिफ़ायर केवल सूत्र के प्रारंभिक उपसर्ग में हो सकता है, लेकिन कभी भी a के अंदर नहीं <math>\lnot</math>, <math>\land</math>, या <math>\lor</math>.
##क्वांटिफायर को बाहर की ओर ले जाएं: बार-बार बदलें <math>P \land (\forall x Q(x))</math> साथ <math>\forall x (P \land Q(x))</math>; बदलना <math>P \lor (\forall x Q(x))</math> साथ <math>\forall x (P \lor Q(x))</math>; बदलना <math>P \land (\exists x Q(x))</math> साथ <math>\exists x (P \land Q(x))</math>; बदलना <math>P \lor (\exists x Q(x))</math> साथ <math>\exists x (P \lor Q(x))</math>. ये प्रतिस्थापन समतुल्यता को संरक्षित करते हैं, क्योंकि पिछले परिवर्तनीय मानकीकरण चरण ने यह सुनिश्चित किया था जहां <math>x</math> में नहीं होता है <math>P</math>. इन प्रतिस्थापनों के पश्चात, एक क्वांटिफ़ायर केवल सूत्र के प्रारंभिक उपसर्ग में हो सकता है, लेकिन कभी भी a के अंदर नहीं <math>\lnot</math>, <math>\land</math>, या <math>\lor</math>.
##बार-बार बदलना <math>\forall x_1 \ldots \forall x_n \; \exists y \; P(y)</math> साथ <math>\forall x_1 \ldots \forall x_n \; P(f(x_1,\ldots,x_n))</math>, कहाँ <math>f</math> एक नया है <math>n</math>-एरी फ़ंक्शन प्रतीक, एक तथाकथित स्कोलेम सामान्य रूप। यह एकमात्र कदम है जो समतुल्यता के बजाय केवल संतुष्टि को बरकरार रखता है। यह सभी अस्तित्व संबंधी परिमाणकों को समाप्त कर देता है।
##बार-बार बदलें <math>\forall x_1 \ldots \forall x_n \; \exists y \; P(y)</math> साथ <math>\forall x_1 \ldots \forall x_n \; P(f(x_1,\ldots,x_n))</math>, जहां <math>f</math> एक नया है <math>n</math>-एरी फलन प्रतीक, एक तथाकथित "स्कोलेम फलन"। यह एकमात्र कदम है जो समतुल्यता के अतिरिक्त केवल संतुष्टि को निरंतर रखता है। यह सभी अस्तित्व संबंधी परिमाणकों को समाप्त कर देता है।
#सभी सार्वभौमिक परिमाणकों को हटा दें।
#सभी सार्वभौमिक परिमाणकों को छोड़ें।
#ANDs के ऊपर ORs को अंदर वितरित करें: बार-बार बदलें <math>P \lor (Q \land R)</math> साथ <math>(P \lor Q) \land (P \lor R)</math>.
#ओआरएस को एंड के ऊपर अंदर की ओर वितरित करें: बार-बार बदलें <math>P \lor (Q \land R)</math> साथ <math>(P \lor Q) \land (P \lor R)</math>.


एक उदाहरण के रूप में, सूत्र कहता है कि जो कोई भी सभी जानवरों से प्यार करता है, उसे बदले में कोई और भी प्यार करता है, उसे सीएनएफ (और बाद में अंतिम पंक्ति में खंड (तर्क) रूप में) में परिवर्तित किया जाता है (प्रतिस्थापन नियम रिडेक्स को हाइलाइट करना) <math>{\color{red}{\text{red}}}</math>):
उदाहरण के तौर पर, सूत्र कहता है कि "जो कोई भी सभी जानवरों से प्यार करता है, वह बदले में किसी से प्यार करता है" को सीएनएफ में परिवर्तित किया जाता है (और पश्चात में अंतिम पंक्ति में खंड फॉर्म में) निम्नानुसार (प्रतिस्थापन नियम रिडेक्स को हाइलाइट करना) <math>{\color{red}{\text{red}}}</math>):


{|
{|
Line 627: Line 625:


|}
|}
अनौपचारिक रूप से, स्कोलेम फ़ंक्शन <math>g(x)</math> जिसके द्वारा उस व्यक्ति को उपज देने के रूप में सोचा जा सकता है <math>x</math> प्यार किया जाता है, जबकि <math>f(x)</math> पशु को (यदि कोई हो तो) वही प्राप्त होता है <math>x</math> प्यार नहीं करता. नीचे से तीसरी अंतिम पंक्ति इस प्रकार है<math>x</math> जानवर से प्यार नहीं करता <math>f(x)</math>, वरना <math>x</math> से प्यार किया जाता है <math>g(x)</math>.
अनौपचारिक रूप से, स्कोलेम फलन <math>g(x)</math> को उस व्यक्ति की उपज के रूप में सोचा जा सकता है जिसके द्वारा <math>x</math> को लव्ड किया जाता है, जबकि <math>f(x)</math> से एनिमल (यदि कोई हो) प्राप्त होता है <math>x</math> लव्ड नहीं करता. नीचे से तीसरी अंतिम पंक्ति इस प्रकार है " <math>x</math> को एनिमल से लव्ड नहीं है <math>f(x)</math>, या फिर <math>x</math> से लव्ड है <math>g(x)</math>.


ऊपर से दूसरी अंतिम पंक्ति, <math>(\mathrm{Animal}(f(x)) \lor \mathrm{Loves}(g(x), x)) \land (\lnot \mathrm{Loves}(x, f(x)) \lor \mathrm{Loves}(g(x), x))</math>, सीएनएफ है।
ऊपर से दूसरी अंतिम पंक्ति, <math>(\mathrm{Animal}(f(x)) \lor \mathrm{Loves}(g(x), x)) \land (\lnot \mathrm{Loves}(x, f(x)) \lor \mathrm{Loves}(g(x), x))</math>, सीएनएफ है।
Line 648: Line 646:
* {{springer|title=संयोजक सामान्य रूप|id=p/c025090}}
* {{springer|title=संयोजक सामान्य रूप|id=p/c025090}}
* [https://www.mathematik.uni-marburg.de/~thormae/lectures/ti1/code/normalform/index.html सत्य तालिका को सीएनएफ और डीएनएफ में परिवर्तित करने के लिए जावा टूल]
* [https://www.mathematik.uni-marburg.de/~thormae/lectures/ti1/code/normalform/index.html सत्य तालिका को सीएनएफ और डीएनएफ में परिवर्तित करने के लिए जावा टूल]
* [https://archive.today/20121208184549/http://www.izyt.com/BooleanLogic/applet.php जावा टूल के लिए सीएनएफ और डीएनएफ में बदलाव किया गया]  
* [https://archive.today/20121208184549/http://www.izyt.com/BooleanLogic/applet.php जावा टूल के लिए सीएनएफ और डीएनएफ में बदलाव किया गया]
[[Category: सामान्य रूप (तर्क)]]
 
 


[[Category: Machine Translated Page]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:CS1 errors]]
[[Category:Created On 27/06/2023]]
[[Category:Created On 27/06/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Pages that use a deprecated format of the math tags]]
[[Category:Pages with script errors]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Webarchive template wayback links]]
[[Category:सामान्य रूप (तर्क)]]

Latest revision as of 12:50, 29 July 2023

बूलियन तर्क में, एक सूत्र (गणितीय तर्क) संयोजक सामान्य रूप (सीएनएफ) या खंड सामान्य रूप में होता है यदि यह एक या अधिक खंडो(तर्क) का तार्किक संयोजन है, जहां एक खंड शाब्दिक (गणितीय तर्क) का विच्छेदन है; अन्यथा कहें तो, यह योगों या ओआरएस के एंड का उत्पाद है। एक विहित सामान्य रूप के रूप में, यह स्वचालित प्रमेय सिद्ध करने और सर्किट सिद्धांत में उपयोगी है।

शाब्दिकों के सभी संयोजन और शाब्दिकों के सभी विच्छेदन सीएनएफ में हैं, क्योंकि उन्हें क्रमशः एक-शाब्दिक खंड के संयोजन और एक एकल खंड के संयोजन के रूप में देखा जा सकता है। जैसा कि विच्छेदात्मक सामान्य रूप (डीएनएफ) में होता है, सीएनएफ में एक सूत्र में सम्मलित होने वाले एकमात्र प्रस्तावक संयोजक तार्किक संयोजन, तार्किक वियोजन और तार्किक निषेध हैं। नॉट ऑपरेटर का उपयोग केवल शाब्दिक भाग के रूप में किया जा सकता है, जिसका अर्थ है कि यह केवल एक प्रस्तावात्मक चर या एक विधेय प्रतीक से पहले हो सकता है।

स्वचालित प्रमेय सिद्ध करने में, धारणा "खंड सामान्य रूप" का उपयोग अधिकांशतः एक संकीर्ण अर्थ में किया जाता है, जिसका अर्थ शाब्दिक समुच्चय के समुच्चय के रूप में सीएनएफ सूत्र का एक विशेष प्रतिनिधित्व होता है।

उदाहरण और गैर-उदाहरण

निम्नलिखित सभी सूत्र चर में हैं , और संयोजक सामान्य रूप में हैं:

स्पष्टता के लिए, विभक्ति खंड ऊपर कोष्ठक के अंदर लिखे गए हैं। कोष्ठक में रखे गए संयोजक खंडो के साथ विच्छेदात्मक सामान्य रूप में, अंतिम स्थिति वही है, लेकिन अंतिम से अगला है . स्थिरांक सत्य और असत्य को खाली संयुक्ताक्षर और खाली विच्छेद से युक्त एक खंड द्वारा दर्शाया जाता है, लेकिन सामान्यतः स्पष्ट रूप से लिखा जाता है।[1]

निम्नलिखित सूत्र संयोजक सामान्य रूप में नहीं हैं:

  • , क्योंकि ओआर एक नॉट के भीतर निहित है
  • , चूँकि एंड एक ओआर के भीतर निहित है

प्रत्येक सूत्र को संयोजक सामान्य रूप में एक सूत्र के रूप में समान रूप से लिखा जा सकता है। सीएनएफ में तीन गैर-उदाहरण हैं:

सीएनएफ में रूपांतरण

[2]प्रत्येक प्रस्तावात्मक सूत्र को सीएनएफ में उपस्थित तार्किक तुल्यता सूत्र में परिवर्तित किया जा सकता है। यह परिवर्तन तार्किक तुल्यता के नियमों पर आधारित है: दोहरा निषेध उन्मूलन, डी मॉर्गन के नियम और वितरणात्मक नियम

चूंकि सभी प्रस्तावक सूत्रों को संयोजक सामान्य रूप में समकक्ष सूत्र में परिवर्तित किया जा सकता है, इसलिए प्रमाण अधिकांशतः इस धारणा पर आधारित होते हैं कि सभी सूत्र सीएनएफ हैं। चूंकि, कुछ स्थितियों में सीएनएफ में यह रूपांतरण सूत्र के तेजी से विस्फोट का कारण बन सकता है। उदाहरण के लिए, निम्नलिखित गैर-सीएनएफ सूत्र को सीएनएफ में अनुवाद करने से एक सूत्र तैयार होता है खंड:

विशेष रूप से, उत्पन्न सूत्र है:

इस सूत्र में सम्मलित है खंड; प्रत्येक खंड में या तो सम्मलित है या प्रत्येक के लिए .

सीएनएफ में ऐसे परिवर्तन उपस्थित हैं जो तार्किक तुल्यता के अतिरिक्त बूलियन संतुष्टि समस्या को संरक्षित करके आकार में तेजी से वृद्धि से बचते हैं।[3][4] ये परिवर्तन केवल सूत्र के आकार को रैखिक रूप से बढ़ाने की गारंटी देते हैं, लेकिन नए चर प्रस्तुत करते हैं। उदाहरण के लिए, उपरोक्त सूत्र को चर जोड़कर सीएनएफ में बदला जा सकता है इस प्रकार है:

एक व्याख्या (तर्क) इस सूत्र को तभी संतुष्ट करती है जब कम से कम एक नया चर सत्य हो। यदि यह चर है , फिर दोनों और भी सत्य हैं। इसका तात्पर्य यह है कि प्रत्येक मॉडल सिद्धांत जो इस सूत्र को संतुष्ट करता है वह मूल सिद्धांत को भी संतुष्ट करता है। दूसरी ओर, मूल सूत्र के केवल कुछ मॉडल ही इसे संतुष्ट करते हैं: मूल सूत्र में का उल्लेख नहीं किया गया है, उनके मान इसकी संतुष्टि के लिए अप्रासंगिक हैं, जो कि अंतिम सूत्र में नहीं है। इसका तात्पर्य यह है कि मूल सूत्र और अनुवाद का परिणाम समान (गणितीय तर्क) है लेकिन तार्किक समतुल्य नहीं है।

एक वैकल्पिक अनुवाद, त्सेइटिन परिवर्तन में खंड भी सम्मलित हैं . इन खंडो से सूत्र का तात्पर्य है ; इस सूत्र को अधिकांशतः "परिभाषित" माना जाता है के लिए एक नाम होना .

प्रथम-क्रम तर्क

प्रथम क्रम तर्क में, तार्किक सूत्र के खंड सामान्य रूप को प्राप्त करने के लिए संयोजक सामान्य रूप को आगे ले जाया जा सकता है, जिसका उपयोग प्रथम-क्रम समाधान करने के लिए किया जा सकता है। रिज़ॉल्यूशन-आधारित स्वचालित प्रमेय-सिद्ध करने में, एक सीएनएफ सूत्र

, साथ शाब्दिक, सामान्यतः समुच्चय के एक समुच्चय के रूप में दर्शाया जाता है
.

कम्प्यूटेशनल जटिलता

कम्प्यूटेशनल जटिलता सिद्धांत में समस्याओं के एक महत्वपूर्ण समुच्चय में संयोजक सामान्य रूप में व्यक्त बूलियन सूत्र के चर के लिए असाइनमेंट ढूंढना सम्मलित है, जैसे कि सूत्र सत्य है। K-समुच्चय समस्या सीएनएफ में व्यक्त बूलियन सूत्र के लिए एक संतोषजनक असाइनमेंट जाँचने की समस्या है जिसमें प्रत्येक वियोजन में अधिकतम k चर होते हैं। 3-समुच्चय एनपी-पूर्ण है (k>2 के साथ किसी भी अन्य k-समुच्चय समस्या की तरह) जबकि 2-संतोषजनकता, 2-समुच्चय को बहुपद समय में समाधान के लिए जाना जाता है। परिणामस्वरूप,[5] किसी सूत्र को डीएनएफ में परिवर्तित करने, संतुष्टि बनाए रखने का कार्य एनपी कठिन है; दोहरी रूप से, सीएनएफ में परिवर्तित करना, वैधता को संरक्षित करना भी एनपी-हार्ड है; इसलिए डीएनएफ या सीएनएफ में समतुल्य-संरक्षण रूपांतरण फिर से एनपी-हार्ड है।

इस मामले में विशिष्ट समस्याओं में "3सीएनएफ" में सूत्र सम्मलित हैं: संयोजक सामान्य रूप जिसमें प्रति संयोजन तीन से अधिक चर न हों। व्यवहार में आने वाले ऐसे सूत्रों के उदाहरण बहुत बड़े हो सकते हैं, उदाहरण के लिए 100,000 चर और 1,000,000 संयोजन के साथ।

सीएनएफ में एक सूत्र को प्रत्येक संयोजन को k से अधिक चर के साथ प्रतिस्थापित करके "केसीएनएफ" (k≥3 के लिए) में एक समतुल्य सूत्र में परिवर्तित किया जा सकता है। दो संयोजकों द्वारा और , Z के साथ एक नया चर, और जितनी बार आवश्यक हो दोहराना।

प्रथम-क्रम तर्क से परिवर्तित करना

प्रथम-क्रम तर्क को सीएनएफ में परिवर्तित करने के लिए:[2]

  1. निषेध को सामान्य रूप में परिवर्तित करें
    1. निहितार्थ और तुल्यताएँ हटाएँ: बार-बार परिवर्तित करें साथ ; बदलना साथ . अंततः, यह की सभी घटनाओं को समाप्त कर देगा और .
    2. डी मॉर्गन के नियम को बार-बार क्रियान्वित करके नोट को अंदर की ओर ले जाएं। विशेष रूप से, प्रतिस्थापित करें साथ ; बदलना साथ ; और बदलें साथ ; बदलना साथ ; साथ . उसके पश्चात, ए विधेय चिह्न के ठीक पहले ही घटित हो सकता है।
  2. चरों का मानकीकरण करें
    1. जैसे वाक्यों के लिए जो एक ही चर नाम का दो बार उपयोग करते हैं, उनमें से एक चर का नाम बदल देते हैं।इससे पश्चात में क्वांटिफायर छोड़ते समय भ्रम की स्थिति से बचा जा सकता है। उदाहरण के लिए, का नाम बदल दिया गया है .
  3. स्टेटमेन को स्कोलेम सामान्य रूप करें
    1. क्वांटिफायर को बाहर की ओर ले जाएं: बार-बार बदलें साथ ; बदलना साथ ; बदलना साथ ; बदलना साथ . ये प्रतिस्थापन समतुल्यता को संरक्षित करते हैं, क्योंकि पिछले परिवर्तनीय मानकीकरण चरण ने यह सुनिश्चित किया था जहां में नहीं होता है . इन प्रतिस्थापनों के पश्चात, एक क्वांटिफ़ायर केवल सूत्र के प्रारंभिक उपसर्ग में हो सकता है, लेकिन कभी भी a के अंदर नहीं , , या .
    2. बार-बार बदलें साथ , जहां एक नया है -एरी फलन प्रतीक, एक तथाकथित "स्कोलेम फलन"। यह एकमात्र कदम है जो समतुल्यता के अतिरिक्त केवल संतुष्टि को निरंतर रखता है। यह सभी अस्तित्व संबंधी परिमाणकों को समाप्त कर देता है।
  4. सभी सार्वभौमिक परिमाणकों को छोड़ें।
  5. ओआरएस को एंड के ऊपर अंदर की ओर वितरित करें: बार-बार बदलें साथ .

उदाहरण के तौर पर, सूत्र कहता है कि "जो कोई भी सभी जानवरों से प्यार करता है, वह बदले में किसी से प्यार करता है" को सीएनएफ में परिवर्तित किया जाता है (और पश्चात में अंतिम पंक्ति में खंड फॉर्म में) निम्नानुसार (प्रतिस्थापन नियम रिडेक्स को हाइलाइट करना) ):

by 1.1
by 1.1
by 1.2
by 1.2
by 1.2
by 2
by 3.1
by 3.1
by 3.2
by 4
by 5
(clause representation)

अनौपचारिक रूप से, स्कोलेम फलन को उस व्यक्ति की उपज के रूप में सोचा जा सकता है जिसके द्वारा को लव्ड किया जाता है, जबकि से एनिमल (यदि कोई हो) प्राप्त होता है लव्ड नहीं करता. नीचे से तीसरी अंतिम पंक्ति इस प्रकार है " को एनिमल से लव्ड नहीं है , या फिर से लव्ड है .

ऊपर से दूसरी अंतिम पंक्ति, , सीएनएफ है।

टिप्पणियाँ

  1. Peter B. Andrews, An Introduction to Mathematical Logic and Type Theory, 2013, ISBN 9401599343, p. 48
  2. 2.0 2.1 Artificial Intelligence: A modern Approach Archived 2017-08-31 at the Wayback Machine [1995...] Russell and Norvig
  3. Tseitin (1968)
  4. Jackson and Sheridan (2004)
  5. since one way to check a CNF for satisfiability is to convert it into a DNF, the satisfiability of which can be checked in linear time

यह भी देखें

संदर्भ

बाहरी संबंध