दीजकस्ट्रा ने स्वयंसेवकों को क्या कार्य दिया, जिसका उल्लेख उनके पेपर "द विनम्र प्रोग्रामर" में किया गया था?


65

में डिज्कस्ट्रा के कागज "विनम्र प्रोग्रामर" , वह कहा गया है कि वह कुछ स्वयंसेवकों को हल करने के लिए एक समस्या दिया:

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

स्वयंसेवकों को दिक्क़त क्या थी? समाधान क्या थे?


3
मैं कुछ पुनरावर्ती पर शर्त लगा सकता हूँ। EWD654 "फिबोनाची के सम्मान में" एक अच्छा उम्मीदवार लगता है
gnat

यह प्रश्न तब तक ठीक हो सकता है जब तक कि लोग इसका अनुमान लगाने या अनुमान लगाने के अवसर के रूप में उपयोग नहीं करते हैं: यह पता लगाना मुश्किल हो सकता है, लेकिन इसका एक उत्तर है और ऐतिहासिक प्रश्न यहां विषय पर हैं।

9
वह उद्धरण EWD340 "वेरी विनम्र प्रोग्रामर" से आया है। मुझे इस बात का सटीक विवरण नहीं मिल पा रहा था कि प्रयोग क्या था, लेकिन यहाँ उनकी पूरी बात के प्रतिलेख की एक कड़ी है। cs.utexas.edu/~EWD/transcos/EWD03xx/EWD340.html
टायलर फेरारो

2
क्या कोई दीक्जस्त्र उद्धरण प्राप्त कर सकता है जो किसी भी चीज़ के बारे में प्रशंसात्मक हो? उनके बारे में मेरा पसंदीदा उद्धरण है "कंप्यूटर विज्ञान में अहंकार नैनो-डिजस्ट्रैस में मापा जाता है" - एलन के
जेम्स एंडरसन

युवा लोगों को सलाह देते समय हमें बहुत सावधान रहना चाहिए: कभी-कभी वे इसका पालन करते हैं! ... हेह :-) स्रोत: en.wikiquote.org/wiki/Edsger_W._Dijkstra
रॉबर्ट फ्रांसीसी

जवाबों:


11

"भोजन दार्शनिक समस्या" प्रस्तुत समस्या थी।

मूल रूप से 5 दार्शनिक हैं जिन्हें खाने की ज़रूरत है। (प्रत्येक दार्शनिक के सामने कभी न खत्म होने वाले भोजन की थाली की कल्पना करें), प्रत्येक प्लेट के बीच एक कांटा (5 प्लेट, 5 कांटे, 5 दार्शनिक) होता है।

एक दार्शनिक केवल तभी खा सकता है जब वह कांटे को दाईं ओर और कांटे को बाईं ओर पकड़े हुए हो। (केवल दो दार्शनिक किसी भी समय खा सकते हैं)।

एक कांटा किसी भी समय उपलब्ध हो सकता है और यदि यह आयोजित किया जा रहा है तो उसे नीचे रख दिया जा सकता है। प्रत्येक कांटा को अन्योन्याश्रित रूप से उठाया जाना चाहिए। (एक बार में एक)।

जबकि एक दार्शनिक भोजन नहीं कर रहा है, वे सोच रहे हैं (वैकल्पिक राज्यों की आवश्यकता है जो समस्या को ड्राइव करता है)।

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

समवर्ती प्रणालियों में इसकी जड़ें हैं और यह एक सामान्य विश्वविद्यालय का प्रश्न है, जो कंसेंटर पर चर्चा करते समय प्रस्तुत किया गया है।

मेरा मानना ​​है कि समस्या को हल करने के लिए 4 या 5 "आधिकारिक" एल्गोरिदम विकसित किए गए हैं, लेकिन "डाइनिंग दार्शनिक समस्या" के लिए Google पर त्वरित खोज आपको परिणामों की एक विविधता मिलेगी।

यदि आप पेपर के मूल संस्करण को पृष्ठ 866 पर पढ़ते हैं, तो यह बताता है: "IFIP कांग्रेस की कार्यवाही 1965, 213-217। समवर्ती प्रोग्रामिंग नियंत्रण में एक समस्या का समाधान।"

संगामिति और साझा संसाधनों में समस्या "भोजन दर्शन समस्या" है। :-)

उम्मीद है की वो मदद करदे।


6
चूंकि यह मुख्य रूप से एक ऐतिहासिक सवाल है, कोई स्रोत?
यानिस

1
वास्तव में नहीं, जो स्रोत आप प्रदान करते हैं, वे डाइनिंग दार्शनिकों की समस्या का संदर्भ नहीं देते हैं, जैसा कि स्वयंसेवकों को दिए गए एक दिक्जस्त्र ने दिया था। क्या मैं कुछ भूल रहा हूँ? जो मैं देख रहा हूं वह आपके "डाइनिंग दार्शनिकों की समस्या" का समर्थन करने के लिए विश्वसनीय स्रोत है , समस्या प्रस्तुत दावा थी, समस्या का विवरण ही नहीं (हालांकि आपके लिंक अत्यधिक जानकारीपूर्ण और दिलचस्प हैं)।
यनीस

@Robert लिंक के लिए धन्यवाद। :) (उन्हें हटा न दें, वे दूसरों के लिए उपयोगी हो सकते हैं) मैं आगे देख रहा हूं कि क्या यह वह समस्या थी जो उन्होंने दी थी।
user712092

4
@RobertFrench जिस चीज़ की हम तलाश कर रहे हैं, वह वह है जो दिक्क़त में विशिष्ट समस्या के बारे में बताती है, और सूत्रों ने कहा कि यह साबित होता है, न कि किसी भी समस्या से दिक्जस्त्र तैयार हुआ। बोली में ऐसा कुछ भी नहीं है जो यह भी सुझाव देता है कि यह उसकी अपनी समस्याओं में से एक था, यह वास्तव में कोई भी समस्या हो सकती है। बेशक दार्शनिक दार्शनिक मूल के हैं (कार होरे से कुछ मदद के साथ), कोई भी इस पर बहस कर रहा है, लेकिन इसका सवाल से कोई लेना-देना नहीं है
यनीस

4
यह सीधे तौर पर गलत है। "समवर्ती प्रोग्रामिंग नियंत्रण में एक समस्या का समाधान" डाइनिंग फिलोसोफर्स समस्या है, और इसे विनम्र प्रोग्रामर में संदर्भित किया गया है क्योंकि दिजक्स्ट्रा के पहले के प्रशस्ति पत्र में से एक काम करता है, लेकिन यह दावा करते हुए कि यह उद्धरण में भी समस्या अजेय है।
यनीस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.