अपने सबूतों को कैसे शूट करें


59

आपके प्रमाणों की जाँच के लिए सामान्य दिशानिर्देश क्या हैं? मेरा मानना ​​है कि मेरे जैसे स्नातक छात्रों के लिए यह महत्वपूर्ण है। मुझे पहले से ही पता है कि हमें कुछ साबित करने के लिए क्या करने की ज़रूरत है, लेकिन आपको इसे भेजने से पहले हमेशा सब कुछ जांचना होगा। यहां तक ​​कि अपने स्वयं के सलाहकार के लिए भी।

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

  1. विवरण भरें। बहुत सी गलतियाँ हैं आप स्थानों पर लिख रहे हैं "यह स्पष्ट है कि ...", "सामान्यता की हानि के बिना ...", आदि।
  2. कुछ नंबरों को आजमाएं। चरम मामलों की कोशिश करें, जैसे "क्या होता है जब मैं या सेट करता हूं "।n = 1000n=1n=1000
  3. एक साफ सुथरी नोटबुक रखें। इस पर हर दिन लिखें, और अपने मोटे नोटों के साथ तुलना करें। मैं लेटेक्स में भी लिखने की कोशिश करता हूं, मुझे इस तरह से कई गलतियां मिली हैं।

आप अपने सबूतों की जाँच के लिए कौन सी सामान्य रणनीतियाँ लागू करते हैं?

इस प्रश्न का उद्देश्य इसे समुदाय-विकि बनाना है।


यदि प्रश्न व्यक्तिपरक दिखाई देता है, तो कृपया मुझे इसे सुधारने में मदद करें।
मार्कोस विलगरा

मैं इस समुदाय-विकी को कैसे बनाऊं?
मार्कोस विलगरा

1
अरे, अच्छा! मुझे इस सवाल के जवाब में वाकई दिलचस्पी है। इसके अलावा, मैं आपके # 3 की सराहना कर सकता हूं। (जब मैं इसके बारे में सोचता हूं, मेरे पास वास्तव में हर जगह बिखरे हुए कागज के ढेर हैं, जब मैं एक समस्या पर काम कर रहा हूं, जो तब बेतरतीब ढंग से स्थानांतरित हो जाता है। यक।) मैं इस बहुत ही मुद्दे से पहले एक गलती में चला गया हूं और समाप्त हो गया हूं। समय का एक अच्छा हिस्सा है।
डेनियल एपन

@ डैनियल: मुझे भी यही समस्या थी !! यही कारण है कि एक सबूत के साथ ग्रुप के बाद, मैं तुरंत लेटेक्स संस्करण लिखता हूं। यह जानकर अच्छा लगा कि मैं अकेला गन्दा आदमी नहीं हूँ जो हर जगह सबकुछ अपने पास रखता है :-)
मार्कोस विलगरा

1
आप इसे मध्यस्थ ध्यान के लिए ध्वजांकित करते हैं।
सुरेश वेंकट

जवाबों:


39

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

मैं प्रस्ताव करता हूं कि हमें "प्रूफ स्मेल" पर भी विचार करना चाहिए । यह आपको अपने प्रमाणों की जाँच के लिए एक एल्गोरिथ्म नहीं देगा बल्कि यह साक्ष्यों में संभावित समस्याओं को पहचानने के लिए एक भाषा और एक रूपक देता है। सबूत के कुछ उदाहरण महक:

  1. क्रिया विशेषण "स्पष्ट रूप से", "स्पष्ट रूप से", आदि।
  2. परिणाम के संदर्भ के बजाय पिछले परिणाम के प्रमाण का संदर्भ।
  3. कई तकनीकी प्राथमिकताओं के साथ एक परिणाम का फ़्लिप्टेंट उपयोग।

इसमें अधिक सूक्ष्म गंध भी हैं। उदाहरण के लिए, यदि कोई प्रमाण किसी अभिव्यक्ति का विस्तार करने के लिए द्विपद प्रमेय का उपयोग करता है और फिर बाद में बंद रूप में लौटने के लिए द्विपद प्रमेय का उपयोग करता है, तो हो सकता है कि बंद रूप पर प्रत्यक्ष हेरफेर हो जो समान परिणाम देता है।

मेरा सुझाव है कि इस तरह की बदबू की एक मानसिक (मानसिक या लिखित) सूची एकत्र करें और उन्हें अपने काम के माध्यम से पढ़ें। इस दृष्टिकोण का अच्छा दुष्प्रभाव यह है कि यह आपको एक बेहतर पाठक भी बना देगा।

नोट: इस उत्तर में मेरी आशा थी कि एम। अलागन के उत्तर में संदर्भित लैम्पपोर्ट हाउ टू राइट अ प्रूफ द्वारा प्रदत्त कठोर उत्तर को सहज ज्ञान दे।


4
मैं अपने छात्रों से हर समय यह कहता हूं, और उन्हें लगता है कि मैं पागल हूं। बेशक, मैं वास्तव में दावा करता हूं कि मैं एक बग को सूंघ सकता हूं, जो समस्या का हिस्सा हो सकता है;)
सुरेश वेंकट

7
@ सुरेश: यह छात्र सोचता है कि आप विभिन्न कारणों से पागल हैं। ;-)
जॉन म्यूलर

4
कोड गंध नोट पर, मैं हमेशा दूसरों के प्रमाणों की जांच करने की कोशिश करता हूं जिसमें असमानता श्रृंखलाएं शामिल हैं। अधिक कठिन व्युत्पन्नताओं के बीच अक्सर मूल त्रुटियों में रेंगने की आदत होती है।
जॉन म्यूलर

23

लेस्ली लैम्पपोर्ट ( एक प्रमाण कैसे लिखें ) द्वारा एक बहुत अच्छा पेपर है । यह वास्तव में इस तरह से विस्तृत साक्ष्य लिखने की शैली पर उनके द्वारा एक प्रस्ताव है:

(1) सीधे-सीधे तरीके से त्रुटियों का पता लगाने की अनुमति देता है

(२) यह स्पष्ट करता है कि किन भागों में किन मान्यताओं और प्रमेयों का उपयोग किया गया है, जिससे यह देखना बहुत आसान हो जाता है कि यदि आप (उदाहरण के लिए) कमजोर धारणाओं का उपयोग करना चाहते हैं तो क्या होता है।

एमओ पर इस तकनीक पर कुछ सामुदायिक अनुभव और प्रेरक टिप्पणी भी है जो सामान्य रूप से सकारात्मक अनुभव (और कुछ अन्य संसाधनों) को भी दिखाती है।

अपडेट: एक नया संस्करण है कि 21 वीं सदी का प्रमाण कैसे लिखा जाए


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

2
@ क्रिस्टोफर मोनसेंटो: पीएल का मतलब प्रोग्रामिंग लैंग्वेज है? अगर आप इस तरह के उदाहरण (एक ऐसा कागज) का उल्लेख कर सकते हैं तो मैं इसकी सराहना करूंगा :)
एम। अलागन

5
मुझे हमेशा यह महसूस होता था कि लैमपोर्ट जो सुझाव देता है वह पॉल लॉकहार्ट के "ए मैथेमेटिशियन्स लामेंट " ( maa.org/devlin/LockhartsLament.pdf ) के अनुकूल नहीं है
मार्कोस विलगरा


14

मुझे लगता है कि भौतिक विज्ञानी एक समसामयिक समस्या से कैसे निपटते हैं, यह बहुत पहले एक लोकप्रिय लेख को पढ़कर याद आता है। कौन जानता है कि इसका निम्न संस्करण कितना सटीक है; सुधारों का स्वागत है। लेकिन मुझे अंतर्निहित रणनीति काफी उल्लेखनीय लगी।

उन्होंने समझाया कि वे ब्लैक होल में कैसे विश्वास करते थे। ब्लैक होल शुरू में विशुद्ध रूप से गणितीय निर्माण थे, भौतिक विज्ञान में अन्य अजीब वस्तुओं जैसे वर्महोल। उनकी रणनीति हड़ताली थी: वे गणितीय रूप से परीक्षण की जाने वाली वस्तु पर अन्य वस्तुओं को फेंक देंगे। वर्महोल अपने परीक्षणों में विफल रहे क्योंकि उन्होंने पाया कि वर्महोल एक सामान्य भौतिक वस्तु की उपस्थिति में भी ढह जाएगा, शायद एक क्षुद्रग्रह। लेकिन ब्लैक होल इस परीक्षण को पास कर गए: ब्लैक होल उस पर फेंके गए क्षुद्रग्रह से बच जाएगा। इसलिए उन्होंने इस पर एक स्टार फेंकने की कोशिश की। एक ही परिणाम। अंत में, उन्होंने ब्लैक होल में एक और ब्लैक होल फेंका और यह बच गया। इसके परिणामस्वरूप, वे वास्तव में वास्तविक ब्रह्मांड में उनकी तलाश शुरू करने के लिए ब्लैक होल के अस्तित्व में पर्याप्त आत्मविश्वास बढ़ा।

तो ऊपर दी गई रणनीति की प्रासंगिकता और अनुप्रयोग आपके प्रमाण पर चीजों को फेंकना शुरू करना है। क्या यह पवित्रता की जाँच से बचता है ? यदि आप एक आवश्यक धारणा को हटाते हैं, तो क्या यह गिरना चाहिए? जब यह इसके दायरे से बाहर के मामलों पर लागू होता है, तो क्या यह गिर जाता है? क्या यह उचित सामान्यीकरण और विशेषज्ञता का सामना करता है? पोल्या की हाउ टू सॉल्व की सूची में एक नजर डालिए । इन प्रमाणों के साथ अपने प्रमाण को बदलने की कोशिश करें और देखें कि क्या यह खड़ा है और जैसा होना चाहिए, गिर गया।


आपका अधिकांश उत्तर यह सत्यापित करने के प्रमाणों की जाँच करने पर केंद्रित होता है कि वे उन स्थितियों में झूठे हो जाते हैं जहाँ उन्हें झूठे होना चाहिए। यह काम नहीं करता है क्योंकि यह जाँच नहीं करता है कि प्रमेय सही था, जहां यह सच होना चाहिए था! उदाहरण के लिए, मान लीजिए कि मैंने "साबित" कर दिया है कि प्रत्येक विषम संख्या तीन से विभाज्य है। मैं जांचता हूं कि अगर मेरा प्रमाण विफल हो जाता है, तो मैं संख्याओं तक भी बढ़ जाता हूं: ऐसा होता है, क्योंकि चार तीन से विभाज्य नहीं है। हुर्रे, मेरा प्रमाण सही होना चाहिए!
डेविड रिक्टरबी

12

मुझे लगता है कि सबसे सुरक्षित दृष्टिकोणों में से एक कई स्वतंत्र प्रमाणों के साथ आना है। तब आप आश्वस्त हो सकते हैं कि आपका मुख्य परिणाम सही है, भले ही आपको किसी प्रमाण के कुछ विवरणों में गलती हो।


9

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


5
मैं यह +10 देता अगर मैं कर सकता था - विशेष रूप से जटिलता सिद्धांत में, त्रुटिपूर्ण प्रूफ तकनीक अक्सर जैसे मजबूत बयानों को साबित करने के लिए दिखाई जा सकती है , और फिर यह अनुमान लगाना बहुत आसान है कि आपकी प्रूफ तकनीक गलत है। विशेष रूप से यदि आपकी प्रूफ तकनीक से संबंधित है! PNP
जोशुआ ग्रोको

6

मैं हमेशा COQ या ISABELLE जैसे प्रूफ-चेकर के साथ अपने प्रमाणों की पुनः जाँच करता हूँ । यदि आप इनमें से किसी भी प्रोग्रामिंग भाषा में अपना प्रमाण साबित कर सकते हैं, तो आप सुनिश्चित कर सकते हैं कि आपका प्रमाण सही है। एक लंबो-टर्म के रूप में सरल;)


मैंने कभी भी Coq का उपयोग नहीं किया है, लेकिन मुझे कोशिश करनी चाहिए। वास्तव में, मैं गणितज्ञों के साथ कुछ निचली सीमाओं को साबित करने की कोशिश कर रहा हूं, लेकिन मुझे सही तरीका नहीं मिला है। शायद मुझे कुछ विशेष पैकेज या कुछ और चाहिए।
मार्कोस विलगरा

1
हो सकता है कि यह एक लंबी बात हो, लेकिन यदि आप वास्तविक के साथ कुछ निचली सीमाओं को साबित करना चाहते हैं, तो आप इन पुस्तकालयों की जाँच कर सकते हैं: coqtail.sourceforge.net/?home/en
गोपी

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