क्या अभिव्यक्ति तुल्यता के लिए एक कुशल एल्गोरिदम है?


14

उदा। ?xy+x+y=x+y(x+1)

भाव साधारण उच्च विद्यालय बीजगणित से हैं, लेकिन गणित के अलावा और गुणा तक ही सीमित (जैसे ), कोई प्रतिलोम, घटाव या विभाजन के साथ। पत्र चर हैं।2+2=4;2.3=6

यदि यह मदद करता है, तो हम अलावा अन्य सांख्यिक मूल्यों के साथ प्रतिनिधित्व करने योग्य किसी भी अभिव्यक्ति को मना कर सकते हैं ; न तो x 2 और न ही 3 x और न ही 4 :1x23x4

  • multilinear , कोई शक्तियों के अलावा अन्य : एक्स + एक्स y एक्स 1 + एक्स 1 y 1 ठीक है, लेकिन नहीं एक्स 2 + एक्स 3 y 4 , और कुछ भी नहीं राशि के लिए एक पूर्ण विस्तार में के रूप में है कि उस के रूप में प्रतिनिधित्व किया जा सकता है, के- उत्पादों नहीं जैसे एक्स ( एक्स + y ) एक्स 2 + y ; 1x+xyx1+x1y1x2+x3y4x(x+y)x2+y
  • सब एक है, कोई गुणांक के अलावा अन्य : एक्स + एक्स y 1. एक्स + 1 एक्स y ठीक है, लेकिन नहीं 2 एक्स + 3 एक्स वाई , और कुछ भी नहीं करने के लिए एक पूर्ण विस्तार में के रूप में है कि उस के रूप में प्रतिनिधित्व किया जा सकता है, -के-योग उत्पादों नहीं जैसे एक ( एक्स + y ) + एक्स ( एक + ) 2 एक एक्स + एक y + एक्स ; तथा 1x+xy1.x+1.xy2x+3xya(x+y)+x(a+b)2ax+ay+bx
  • कोई स्थिरांक के अलावा अन्य : फिर से, पूरी तरह से विस्तृत में-के-योग उत्पादों नहीं जैसे ( एक + 1 ) + ( + 1 ) एक + + 21(a+1)+(b+1)a+b+2

क्या यह निर्धारित करने के लिए एक कुशल एल्गोरिथ्म है कि क्या दो भाव समान हैं?Q.


वर्णन करने के लिए, यहाँ घातीय समय के साथ एक अक्षम जानवर-बल एल्गोरिथ्म है:

पूरी तरह से सम-उत्पादों के लिए दोनों अभिव्यक्तियों का विस्तार करें , जिन्हें आसानी से समतुल्यता के लिए जांचा जा सकता है (केवल ऑर्डर को अनदेखा करें, क्योंकि कम्यूट / एसोसिएट को फिर से व्यवस्थित किया जा सकता है)।

जैसे
एक ( एक्स + y ) + ( एक्स + y ) एक एक्स + एक y + एक्स + y(a+b)(x+y)ax+ay+bx+by
a(x+y)+b(x+y)ax+ay+bx+by


यह एक अच्छी तरह से ज्ञात समस्या है - यहां तक ​​कि हाई स्कूल के छात्रों को इसे हल करने के लिए मैनुअल तरीके सिखाए जाते हैं। यह स्वचालित प्रमेय प्रवाहों / चेकर्स द्वारा भी हल किया जाता है, लेकिन वे अधिक परिष्कृत पहलुओं पर ध्यान केंद्रित करते हैं।

यहाँ एक ऑनलाइन स्वचालित प्रमेय कहावत काम कर रही है: http://tryacl2.org/ , जो आवागमन / सहयोगी / वितरण आदि के अनुक्रम का पता लगाकर तुल्यता दिखाता है:

? --- 188 कदम xy+x+y=x+y(x+1)
(thm (= (+ (* x y) x y) (+ x (* y (+ x 1))) ))

? --- 325 कदमy+x(y+1)=x+y(x+1)
(thm (= (+ y (* x (+ y 1))) (+ x (* y (+ x 1))) ))

यह मेरा पहला सवाल है, इसलिए कृपया मुझे बताएं कि क्या मैंने गलत जगह, गलत टैग, वर्णन करने / पूछने के गलत तरीके आदि को चुना है! धन्यवाद!
NB: यह सवाल टिप्पणियों के जवाब में फिर से लिखा गया
है सभी उत्तरदाताओं के लिए धन्यवाद! मैंने बहुत कुछ सीखा है।


3
यहां सवाल कुछ स्पष्टीकरण की जरूरत है। आप किस क्षेत्र में काम कर रहे हैं? क्या आपके क्षेत्र के तत्व या चर में " " और " बी " जैसी वस्तुएं हैं ? क्या यह वास्तव में एक क्षेत्र है (यानी, जोड़ और गुणा में उलटा है)? ध्यान दें कि-के-योग उत्पादों मदद क्योंकि नहीं है ( एक 1 + 1 ) ( एक 2 + 2 ) ( एक एन + n ) exponetially कई पद हैं। ab(a1+b1)(a2+b2)(an+bn)
डेविड रिचरबी

4
यदि ऑब्जेक्ट चर हैं, और घटाव की अनुमति है, तो आप अनिवार्य रूप से बहुपद पहचान परीक्षण के बारे में पूछ रहे हैं, जिसमें श्वार्ट्ज-ज़िप्पल लेम्मा द्वारा यादृच्छिक यादृच्छिक बहुपद समय एल्गोरिथ्म है । iff f ( x ) - g ( x ) = 0 और मूल विचार यह है कि एक बहुपद जो पहचान शून्य नहीं है, उसकी कई जड़ें नहीं हैं, यदि आप यादृच्छिक पर जड़ों का अनुमान लगाना शुरू करते हैं। और बहुत सारी जड़ें ढूंढते हैं, इस बात की बहुत अधिक संभावना है कि आपकी बहुपत्नी पहचान शून्य थी। f(x)=g(x)f(x)g(x)=0
डेविड रिचेर्बी

2
मुझे आश्चर्य है कि किसी ने भी अभी तक इसका उल्लेख नहीं किया है, लेकिन "अगर यह एनपी में है तो मुझे एक बहुपद एल्गोरिथ्म खोजने के बारे में चिंता करने की आवश्यकता नहीं है" समझ में नहीं आता है। P की हर समस्या NP में भी है। आप शायद यह पूछना चाहते हैं कि क्या समस्या एनपी-पूर्ण (या -हार्ड) है।
टॉम वैन डेर ज़ंडेन

2
यदि आप मूल बातों के साथ संघर्ष करते हैं, तो हमारे संदर्भ प्रश्न आपके लिए मददगार हो सकते हैं।
राफेल

2
@hyperpallium यह पूछने से पहले कि क्या कोई भाषा (यानी एक निर्णय समस्या) एनपी में है, यह सबसे अच्छा है यदि आप समझ गए कि इसका क्या मतलब है। शायद रेफ़ेल से जुड़े संदर्भ प्रश्नों में मदद मिलेगी।
युवल फिल्मस

जवाबों:


9

आपकी समस्या बहुभिन्नरूपी बहुपद के शून्य परीक्षण को कम करती है, जिसके लिए कुशल यादृच्छिक एल्गोरिदम हैं।

आपके भाव सभी बहुभिन्नरूपी बहुपद हैं। स्पष्ट रूप से, आपकी अभिव्यक्तियाँ निम्नलिखित नियमों द्वारा निर्मित होती हैं: (ए) यदि एक चर है, तो x एक अभिव्यक्ति है; (b) यदि c एक स्थिर है, तो c एक अभिव्यक्ति है; (c) यदि e 1 , e 2 भाव हैं, तो e 1 + e 2 और e 1 e 2 भाव हैं। अगर यह वास्तव में आप का इरादा है, तो हर अभिव्यक्ति चर पर एक बहुभिन्नरूपी बहुपद है।xxcce1,e2e1+e2e1e2

अब, आप जानना चाहते हैं कि क्या दो भाव समतुल्य हैं। यह परीक्षण करने के लिए कि क्या दो बहुभिन्नरूपी बहुपद समतुल्य हैं: और p 2 ( x 1 , , x n ) दिए गए हैं , आप जानना चाहते हैं कि क्या ये दोनों बहुपद समतुल्य हैं। आप इसे घटाकर और यह जांच कर सकते हैं कि परिणाम समान रूप से शून्य है: परिभाषित करेंp1(x1,,xn)p2(x1,,xn)

q(x1,,xn)=p1(x1,,xn)p2(x1,,xn).

अब समतुल्य हैं यदि और केवल यदि q शून्य बहुपद है।p1,p2q

यह जांचना कि क्या बहुसांस्कृतिक बहुपद के लिए शून्य पहचान समस्या है। उसके लिए कुशल एल्गोरिदम हैं। उदाहरण के लिए, एक उदाहरण एल्गोरिथ्म का मूल्यांकन करना है क्ष ( एक्स 1 , ... , एक्स एन ) के कई यादृच्छिक मूल्यों पर एक्स 1 , ... , एक्स एन । यदि आपको x 1 , , x n का मान ऐसा लगता है कि q ( x 1 , , x n ) , तो आप जानते हैं कि qqq(x1,,xn)x1,,xnx1,,xnq(x1,,xn)qसमान रूप से शून्य नहीं है, अर्थात, समकक्ष नहीं हैं। यदि कई परीक्षणों के बाद वे सभी शून्य हैं, तो आप यह निष्कर्ष निकाल सकते हैं कि q पहचान शून्य है (यदि q पहचान शून्य नहीं है, तो संभावना है कि उन सभी परीक्षणों से शून्य का उत्पादन तेजी से कम हो सकता है)। आपके द्वारा किए जाने वाले पुनरावृत्तियों की संख्या q की डिग्री से संबंधित है ; विवरण के लिए बहुपद पहचान परीक्षण पर साहित्य देखें।p1,p2qqq

उदाहरण के लिए, https://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma और http://rjlipton.wordpress.com/2009/11/30/the-curious-history-of-the- देखें Schwartz-zippel-लेम्मा /

यदि आप एक परिमित क्षेत्र में काम कर रहे हैं तो ये एल्गोरिदम लागू होते हैं। आपने यह नहीं बताया कि आप किस क्षेत्र / रिंग में काम कर रहे हैं, और क्या आप इन अभिव्यक्तियों को औपचारिक अभिव्यक्तियों (जैसे, अमूर्त वस्तुओं के रूप में बहुपद) या से कार्य के रूप में मान रहे हैं । यदि आप एक परिमित क्षेत्र में काम कर रहे हैं, तो ऊपर दिए गए तरीके तुरंत लागू होते हैं।FnF

rrZ/rZr


1
दूसरी ओर, यह साबित करना कठिन होगा कि प्रत्येक पहचान-शून्य अभिव्यक्ति के लिए, इस बात का बहुत अधिक प्रमाण नहीं है कि अभिव्यक्ति समान रूप से शून्य है।

@ रिकीडेमर, महान बिंदु! अच्छा अवलोकन। मैंने इस प्रश्न की व्याख्या की कि इसे साबित करने के बजाय परीक्षण समानता के बारे में पूछ रहा हूं, लेकिन यह बहुत अच्छा अवलोकन है। (यदि आप व्यवहार में समानता के प्रमाण का प्रदर्शन करना चाहते हैं, तो मुझे संदेह है कि इस तरह के प्रमाण को प्रदर्शित करना संभव है, यदि आप "प्रमाण" की कुछ परिभाषा के लिए क्रिप्टोग्राफिक धारणाएं बनाने के लिए तैयार हैं - उदाहरण के लिए, एक योजना जो ध्वनि को प्राप्त करती है यादृच्छिक प्रामाणिक मॉडल)।
DW

1
धन्यवाद! मैं उन्हें बिना आवर्तक, विभाजन या घटाव (लेकिन इस प्रश्न के लिए हाई स्कूल बीजगणित का उपयोग करके, औपचारिक वस्तुओं के रूप में मान रहा हूं; पहले से ही हल होने की अधिक संभावना है)। क्या आपका मतलब है, बड़े यादृच्छिक primes चुनेंआर, और यह भावों को मान रहा है जैसे कि वे पूर्णांकों के अंतर्निहित सेट पर परिमित क्षेत्र थे [0 ..आर-1]? यह विकी लिंक कहता है कि इस शून्य-परीक्षण के लिए कोई ज्ञात उप-घातांक नियतात्मक एल्गोरिथम नहीं है। क्या आप जानते हैं कि यह मेरी समस्या पर लागू होता है?
हाइपरपैलियम

1
@hyperpallium, हाँ बिल्कुल यही मेरा मतलब है। हां, मेरा मानना ​​है कि यह आपकी समस्या पर भी लागू होता है। यही कारण है कि मैंने एक यादृच्छिक एल्गोरिदम का सुझाव दिया - कुशल यादृच्छिक एल्गोरिदम हैं, भले ही कोई भी प्रभावी नियतात्मक एल्गोरिदम न हों।
DW

जैसा कि ऊपर एक टिप्पणी में कहा गया है, ओपी एक परिमित क्षेत्र में काम नहीं कर रहा है, बल्कि एक कम्यूटेटिव सेमिनार कर रहा है। इसका मतलब यह है कि योजक व्युत्क्रम अस्तित्व की गारंटी नहीं है, इसलिए शून्य के साथ समानता की जांच करने के लिए अभिव्यक्तियों को "घटाना" एक वैध संचालन नहीं है।
एपर्टोर्टन

0

पर नजर रखने के लिए एक शक्ति , एक coefficent और एक स्थिरांक प्रश्न में कमी:

ये बहुपद पहचान परीक्षण की समस्या को एक उपसमुच्चय को परिभाषित करते हैं। स्पष्ट रूप से, उन्हें एक ऐसी तकनीक से हल किया जा सकता है जो सामान्य समस्या को हल करती है। सवाल यह है कि क्या वे एक उपसमुच्चय बनाते हैं जो अधिक आसानी से हल हो जाते हैं।

एक-गुणांक : इसके बिना समस्याओं में, शर्तों को जोड़ा जा सकता है, जिससे समस्या आसान हो जाएगी। के लिए द्विपद प्रमेय / पास्कल के त्रिकोण पर विचार करें(+)n। यह एक समय में एक कारक का विस्तार किया जा सकता है, जैसे अतिव्यापी आदेशों के साथ शर्तों का निर्माण(+)(+)=+++=+2+ कम शर्तें अगले कारक के साथ विस्तार करना आसान बनाती हैं: (+2+)(+)=+2+++2+=+3+3+और फिर से शब्दों को संयोजित किया जाता है, जिससे एक छोटी सरल समस्या हो जाती है। शर्तों का यह संयोजन गतिशील प्रोग्रामिंग का एक रूप है।

यही है, शब्दों के संयोजन की संभावना, एक गैर-गुणांक बनाने के लिए, समस्या को आसान नहीं कठिन बनाता है।

(हालांकि गैर-गुणांक को गुणा करने में गणना में अधिक काम होता है)

गैर-एक स्थिरांक शून्य तर्क के साथ स्थिरांक के रूप में स्थिरांक पर विचार करके उपरोक्त तर्क में शामिल हैं।

एक-शक्ति मुझे नहीं लगता कि इससे कोई फर्क पड़ता है। हालांकि गैर-एक घातांक एक से अधिक तरीकों से बनाया जा सकता है (जैसे4=22=13), और यह ओवरलैप और संयोजन को जन्म दे सकता है (जैसा कि ऊपर द्विपद शयनकक्ष / पास्कल के त्रिकोण में है), वास्तविक संयोजन केवल तभी संभव है जब गैर-एक गुणांक की अनुमति हो।

ऊपर एक औपचारिक या कठोर तर्क नहीं है। यह इस धारणा पर टिकी हुई है कि समस्या क्या है। लेकिन यह मुझे प्रतीत होता है कि शब्दों का संयोजन केवल एक आसान समस्या के लिए बनाता है - इसलिए इसे एक गुणांक बाधा से रोकना उपसमुच्चय को आसान नहीं बनाने वाला है।

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