समस्याएँ जो व्यवहार में प्रति-सहज रूप से हल करने योग्य हैं?


21

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

¯ \ _ (ツ) _ / ¯

नहीं, मैं दिल से टूटा नहीं था, और न ही मुझे वास्तव में परवाह थी कि वह क्या सोचता है, यह इस सवाल का बिंदु नहीं है। हमारी बातचीत ने मुझे एक अलग सवाल के बारे में सोचा था,

मैं वास्तव में उन समस्याओं के बारे में कितना जानता हूं जो सैद्धांतिक रूप से अट्रैक्टिव (सुपरपोलोमेनियल टाइम जटिलता) हैं, लेकिन व्यावहारिक रूप से हल करने योग्य हैं (ह्यूरिस्टिक्स, सन्निकटन, एसएटी-सॉल्वर आदि के माध्यम से)।

मुझे एहसास हुआ, ज्यादा नहीं। मुझे पता है कि कुछ बहुत ही कुशल SAT-सॉल्वर्स हैं जो बड़े पैमाने पर उदाहरणों को कुशलतापूर्वक हल करते हैं, कि सिम्पलेक्स अभ्यास में बहुत अच्छा काम करता है, और शायद कुछ और समस्याएं या एल्गोरिदम। क्या आप मुझे अधिक संपूर्ण चित्र पेंट करने में मदद कर सकते हैं? इस श्रेणी में कौन सी प्रसिद्ध समस्याएं या समस्‍याएं हैं?

टीएल; डीआर: ऐसी कौन सी समस्याएं हैं जो व्यवहार में प्रति-सहज रूप से हल करने योग्य हैं? क्या अधिक पढ़ने के लिए (अद्यतन) संसाधन है? क्या हमारे पास उनके लिए चरित्र चित्रण है? और, आखिरकार, एक सामान्य चर्चा प्रश्न के रूप में, क्या हमें नहीं करना चाहिए?

EDIT # 1: इस तरह के चरित्र चित्रण के बारे में मेरे अंतिम चर्चा प्रश्न का उत्तर देने की कोशिश में , मुझे एल्गोरिदम के निर्बाध विश्लेषण के लिए पेश किया गया था , एक अवधारणा [1] में डैनियल स्पीलमैन और शांग-हुआ टेंग द्वारा पेश किया गया था , जो लगातार सबसे खराब स्थिति और मामले के बीच अंतर करता है। एल्गोरिदम का औसत-केस विश्लेषण। यह वास्तव में ऊपर वर्णित चरित्र चित्रण नहीं है, लेकिन यह उसी अवधारणा को पकड़ता है, और मुझे यह दिलचस्प लगा।

[१] स्पीलमैन, डैनियल ए और शांग-हुआ टेंग। "एल्गोरिदम का निर्बाध विश्लेषण: सिंपलेक्स एल्गोरिथ्म आमतौर पर बहुपद समय क्यों लेता है।" एसीएम (JACM) के जर्नल 51, नं। 3 (2004): 385-463।


6
यह बताकर कि सैट को कुशलता से हल किया जा सकता है या नहीं। आपका दोस्त इंटरनेट पर सुरक्षा पर भरोसा क्यों करता है? संभवतः व्यवहार में कोई कठिन समस्याएँ नहीं हैं? पॉली-टाइम / कुशल सॉल्वेबिलिटी का मुख्य लाभ में से एक है।
चंद्र चकुरी

6
ग्राफ समरूपता एक प्राकृतिक उम्मीदवार है।
डीडब्ल्यू

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

1
@KonstantinosKoiliaris मुझे लगता है कि बिंदु यह था कि क्रिप्टोग्राफ़िक प्रोटोकॉल की सभी प्रकार की सुरक्षा (आमतौर पर कुछ ज्यादा मजबूत) पर निर्भर करती है , और इस तरह के नियमित अभ्यास से समस्याओं का भरपूर उदाहरण मिलता है जो SAT-solvers ( या हम बहुत उम्मीद करते हैं (वैसे भी)। PNP
एमिल जेकाबेक मोनिका

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

जवाबों:


17
  • अत्यधिक संरचित SAT उदाहरण (लाखों चरों पर भी) को अक्सर अभ्यास में हल किया जा सकता है। हालांकि, कुछ सौ चरों के साथ संतोषजनक थ्रेशोल्ड के पास यादृच्छिक सैट उदाहरण अभी भी खुले हैं (मतलब, यहां तक ​​कि अभ्यास में, यदि आप ऐसी चीज उत्पन्न करते हैं, तो आप ब्रह्मांड के जीवनकाल में कभी नहीं जान सकते हैं कि आपने जो चीज उत्पन्न की है वह संतोषजनक है या नहीं वर्तमान सैट सॉल्वरों का उपयोग करते हुए)। आपको इस संबंधित प्रश्न और इसके उत्तर में रुचि हो सकती है।

  • क्लिअर खोजक भी चौंकाने वाले "व्यवहार में" अच्छे हैं

  • पूर्णांक प्रोग्रामिंग और मिश्रित पूर्णांक-रैखिक प्रोग्रामिंग (कुछ तर्कसंगत और कुछ पूर्णांक चर के साथ) पूरे संचालन अनुसंधान विभागों का ध्यान केंद्रित कर रहे हैं, और अक्सर (लेकिन हमेशा नहीं) व्यवहार में हल किया जा सकता है

  • जो मैं समझता हूं, कई समस्याएं जो सत्यापन में उत्पन्न होती हैं, उन्हें अक्सर अभ्यास में हल किया जा सकता है, लेकिन "व्यवहार में" आमतौर पर "उच्च संरचित उदाहरणों पर "। (इसके विपरीत, हम अभी भी नहीं जानते हैं कि गो के खेल के बहुत छोटे उदाहरणों के लिए कौन जीतता है, जो एक और समस्या है।)पी एस पी सी PSPACEPSPACE

  • कम्प्यूटेशनल बीजगणितीय ज्यामिति में कई समस्याओं को ग्रोबनर अड्डों का उपयोग करके छोटे उदाहरणों पर अभ्यास में हल किया जा सकता है, लेकिन ये बड़े उदाहरणों पर बुरी तरह से विफल होते हैं, या यहां तक ​​कि छोटे उदाहरणों में उच्च "जटिलता" होती है (जैसा कि Castelnuovo-Mumford नियमितता द्वारा मापा जाता है)। और ये समस्याएँ भी हैं -complete!EXPSPACE

  • जैसा कि पहले ही DW द्वारा टिप्पणियों में बताया गया है, ग्राफ आइसोमॉर्फिज्म बहुत अधिक व्यवहार में हल किया जा सकता है। आधुनिक जीआई सॉफ्टवेयर जैसे कि नूट, ब्लिस, सॉसी इत्यादि को स्टंप करना बहुत कठिन है।


धन्यवाद यहोशू, मैं आपको सबसे दिलचस्प / व्यापक समस्याओं के लिए सुझाव दे रहा हूं।
कोन्स्टेंटिनोस कोएग्निस

1
क्लीकर खोजक हमेशा व्यवहार में अच्छे नहीं होते हैं। यह वास्तव में ग्राफ पर निर्भर करता है। और आपका लिंक केवल यादृच्छिक रेखांकन के बारे में बात कर रहा है।
पीटर शोर

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

1
@ जोशुआग्रोचो: हां, मैं इस पर आपसे सहमत हूं। मैं सिर्फ सवाल के "काउंटर-सहज" भाग पर विस्तार करना चाहता था क्योंकि ओपी ने विशेष रूप से उल्लेख किया था कि सिम्पलेक्स व्यवहार में बहुत अच्छा प्रदर्शन करता है भले ही घातीय कम सीमा ज्ञात हो और हमारे यहां भी यही स्थिति है।
वॉटरकल्चर

1
मेरे पास केवल केलर के अनुमान के साथ अनुभव है , जहां ((बड़े पैमाने पर) ग्राफ़ ने कई क्लिक-फाइंडिंग एल्गोरिदम को स्टंप किया था।
पीटर शोर

14

Hindley-मिलनर प्रकार प्रणाली कार्यात्मक प्रोग्रामिंग भाषाओं (हास्केल, एसएमएल, OCaml) में प्रयोग किया जाता है। टाइप-इनफेरेंस एल्गोरिथ्म व्यवहार में लगभग रैखिक है और आश्चर्यजनक रूप से अच्छी तरह से काम करता है, लेकिन DEXPTIME- पूर्ण होने के लिए जाना जाता है!

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


FPL

6

अधिक उदाहरण, ज्यादातर प्रोग्रामिंग भाषाओं से:

  1. k-CFA (k- कंट्रोल फ्लो एनालिसिस) EXPTIME- कम्प्लीट (वैन हॉर्न एंड मैरसन 2008) है, लेकिन पूरे प्रोग्राम का अनुकूलन करने वाले कंपाइलर जैसे MLton इसे वैसे भी परफॉर्म करते हैं। संकलन का समय लंबा है, लेकिन शायद ही कभी विनाशकारी होता है।
  2. हल करना (गतिशील) ओवरलोडिंग आम तौर पर एनपी-पूर्ण (पल्सबर्ग 2012) है। लेकिन फिर वास्तविक दुनिया में यह शायद ही कभी एक समस्या है।
  3. k
  4. एसएमटी सॉल्यूशन आमतौर पर एनपी-पूर्ण होता है, लेकिन वाणिज्यिक एसएमटी सॉल्वर (जैसे जेड 3 और सीवीसी 4) आमतौर पर बहुत अच्छा प्रदर्शन करते हैं। मैं सीधे एसएमटी सॉल्वरों के साथ काम नहीं करता, लेकिन मैंने Z3 का अप्रत्यक्ष रूप से लिक्विड हास्केल और डैफनी से इस्तेमाल किया है, और चेकिंग टाइम ठीक लगता है।
  5. प्रेस्बर्गर अंकगणित के लिए निर्णय समस्या वास्तव में जटिल है (फिशर और राबिन 1974), लेकिन बिल पुघ का निर्णय एल्गोरिदम, ओमेगा परीक्षण (पुघ 1991), कम-क्रम बहुपद-काल के भीतर आम तौर पर चलता है।

Onn


संदर्भ:

[१] डेविड वान हॉर्न और हैरी जी। मैरसन। 2008. केपीएफए ​​तय करना EXPTIME के ​​लिए पूरा हुआ। में 13 वीं कार्यात्मक प्रोग्रामिंग पर एसीएम SIGPLAN अंतर्राष्ट्रीय सम्मेलन की कार्यवाही (ICFP '08)। एसीएम, न्यूयॉर्क, एनवाई, यूएसए, 275-282।

[२] http://web.cs.ucla.edu/~palsberg/paper/dedicated-to-kozen12.pdf

[३] एमजे फिशर और एमओ राबिन। 1974. PRESBURGER ARITHMETIC की सुपर-प्रायोगिक क्षमता। तकनीकी प्रतिवेदन। मैसाचुसेट्स इंस्टीट्यूट ऑफ टेक्नोलॉजी, कैम्ब्रिज, एमए, यूएसए।

[४] विलियम पुघ। 1991. ओमेगा परीक्षण: एक तेज और व्यावहारिक पूर्णांक प्रोग्रामिंग एल्गोरिथ्म निर्भरता विश्लेषण के लिए। में सुपरकंप्यूटिंग पर 1991 ACM / IEEE सम्मेलन की कार्यवाही (सुपरकंप्यूटिंग '91)। एसीएम, न्यूयॉर्क, एनवाई, यूएसए, 4-13।


1

ग्रैडिएंट डीसेंट मेथड्स का उपयोग करके न्यूरल नेटवर्क को प्रशिक्षित करना भी बुरी तरह से np-hard समस्या साबित होता है https://www.cs.utexas.edu/~klivans/crypto-hs.pdf लेकिन आम तौर पर व्यवहार में हल करने योग्य होते हैं।

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