सैद्धांतिक कंप्यूटर विज्ञान में अनुसंधान क्या शामिल है?


11

मैं यह समझने की कोशिश कर रहा हूं कि सैद्धांतिक कंप्यूटर विज्ञान अनुसंधान में क्या शामिल है। सैद्धांतिक कंप्यूटर वैज्ञानिक क्या करते हैं?

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


4
"आप अपना शोध समय कैसे बिताते हैं?" ... उन समस्याओं का सामना करना, जिन्हें मैं शायद कभी हल नहीं कर पाऊंगा :-)
Marzio De Biasi

7
यह पेंटिंग का वर्णन करने के समान है "पेंट्स को मिलाते हुए, एक कैनवास बढ़ते हुए, पेंटिंग, और अपने उपकरणों को साफ करते हुए"। दूसरे शब्दों में, यह वर्णन करता है कि यह देखने वाले किसी व्यक्ति को कैसा लग सकता है, लेकिन इसका क्षेत्र से कोई संबंध नहीं है :)
सुरेश वेंकट

1
अन्य गतिविधियाँ: खेल, लंबी पैदल यात्रा, सांस्कृतिक गतिविधियाँ, और आम तौर पर एक जीवन होने में। अन्य चीजें करने से आपकी सोच (और आपके स्वास्थ्य) में मदद मिलती है।
Babou

7
मुझे लगता है कि सवाल TCS अनुसंधान के दर्शन के बारे में नहीं है या जो आपको एक बेहतर शोधकर्ता बनाता है, लेकिन वास्तव में काम के घंटों के दौरान TCS शोधकर्ता किस तरह की ठोस गतिविधियाँ करता है। इसके अलावा जो पहले से ही प्रश्न में दिखाई देता है, मैं वार्ता तैयार करना, वार्ता देना, सम्मेलनों में भाग लेना, अपने स्वयं के कागजात का प्रचार करना, दूसरों के कागजात की समीक्षा करना शामिल करूंगा।
डैनियल मार्क्स

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

जवाबों:


12

विषयों के संबंध में

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

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

लेकिन मुझे संदेह है कि स्पष्ट सीमाएं हैं।

इसने कहा, सैद्धांतिक कंप्यूटर विज्ञान विविध डोमेन को कवर करता है, और मैं कुछ देने की कोशिश करूंगा, जबकि मुझे यकीन है कि मैं दूसरों को भूल गया हूं, और यह भी कि अन्य लोग इस संगठन से असहमत हो सकते हैं।

  • एक डोमेन कम्प्यूटेबिलिटी है , जो अध्ययन करता है कि क्या गणना की जा सकती है, और एक सार अर्थ में कैसे: बड़े पैमाने पर सुरेश वेंकट के जवाब में वर्णित है।

  • एक अन्य एल्गोरिदम है , जो विशिष्ट बाधाओं के साथ, विशिष्ट समस्याओं के उत्तर की गणना करने के लिए प्रभावी साधन ढूंढता है। कम्प्यूटेबिलिटी एल्गोरिदम के लिए एक सैद्धांतिक संदर्भ है।

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

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

विशिष्ट गतिविधियों के बारे में

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

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

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

तकनीकी परिणामों के सरल प्रमाण, या सिद्धांतों की सरल प्रस्तुतियों को खोजना, या अवधारणाओं का विलय करना महत्वपूर्ण है। यह परिणामों को सामान्य करता है, सीखने की चीजों की संख्या को कम करता है, आवश्यक विचारों पर जोर देता है और संभवतः नई समझ लाता है। चूँकि हमारा सीखने का समय सीमित है, प्रगति तभी संभव है जब हम ज्ञान प्राप्त करते हैं।

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

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

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

दुनिया सरल या स्पष्ट नहीं है। यही कारण है कि यह मज़ेदार हो सकता है, सभी प्रकार के कौशल के लिए कमरे के साथ। अपने स्वयं के ज्ञान पर सवाल उठाना, और दूसरों के सवालों का जवाब देना, जो भी हो।

दो बातें अक्सर भुला दी जाती हैं: विज्ञान की नैतिकता, और लोगों को इसकी व्याख्या करना। दोनों आवश्यक, और कठिन हैं।


सिद्धांत बनाम प्रयोग की रेफरी की तरह लेकिन वास्तव में TCS में सैद्धांतिक / प्रायोगिक कार्य के बीच काफी सख्त अलगाव प्रतीत होता है / कम से कम इस साइट पर पूर्व में जोर देना ....
vzn

8

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

  • हम क्या गणना कर सकते हैं?
  • हम इसकी गणना कैसे कर सकते हैं?
  • कितना तेज ?
  • क्या होता है जब हमारे पास गणना करने के लिए सीमित संसाधन होते हैं?
  • हम क्या गणना कर सकते हैं पर सीमाएं हैं?

इन सवालों से शुरू, अन्य विषयों की एक पूरी मेजबानी वसंत, अनुप्रयोगों के क्षेत्रों, गणित, कंप्यूटर विज्ञान के अन्य भागों, और इतने पर छू।


यह मुझे "थ्योरी ए" (कम्प्यूटेबिलिटी, जटिलता, एल्गोरिदम) में महत्वपूर्ण प्रश्न लगता है, न कि "थ्योरी बी" (लॉजिक्स, शब्दार्थ, प्रोग्रामिंग भाषा सिद्धांत)। ( शब्दावली पर cstheory.stackexchange.com/q/1521/989 देखें )।
Blaisorblade

4

यह मेरे साथ हुआ है कि प्रथमहैंड खाते मददगार हो सकते हैं, लेकिन वे सीएस में कुछ हद तक दुर्लभ प्रतीत होते हैं (जैसे कि गणित, जीवनी / संस्मरण-लेखन आदि के विपरीत)। यहाँ दो ऑनलाइन रेफरी हैं जो प्रश्न को संबोधित करते हैं और सहायक हो सकते हैं। वे पीएचडी छात्र जीवन और सीएस उन्मुख के उद्देश्य से हैं, लेकिन अधिकांश प्रोफेसर स्तर के अनुसंधान (शिक्षण के अलावा, लेकिन कई पीएचडी भी) को आगे बढ़ाएंगे। [और कुछ मायनों में प्रोफेसरों को लगातार / बार-बार कई "मिनी-" पीएचडी शोध (शोध पत्र) या कुछ मामलों में "सुपर-" पीएचडी थीसिस (किताबें) उनके करियर के ऊपर लिखी जाती हैं। विषय, कुछ जोड़ देगा यदि आप इंगित करते हैं कि वे आपके प्रश्न के लिए एक स्वीकार्य उत्तर होगा।

  • एमआईटी एआई लैब में अनुसंधान कैसे करें "वर्तमान, पूर्व और मानद एमआईटी एआई लैब छात्रों के एक पूरे समूह द्वारा" / डेविड चैपमैन, संपादक

    यह दस्तावेज़ संभवतः यह समझाता है कि शोध कैसे किया जाए। हम अनुसंधान (पढ़ने, लिखने, प्रोग्रामिंग) के लिए आवश्यक विशिष्ट कौशल को लेने और प्रक्रिया को समझने और उसका आनंद लेने के लिए उपयोगी हो सकते हैं (कार्यप्रणाली, विषय और सलाहकार चयन, और भावनात्मक कारक)।

  • एक सफल पीएचडी छात्र कैसे बनें (कंप्यूटर विज्ञान में) मार्क ड्रेजे (जॉन्स हॉपकिन्स यूनिवर्सिटी), हैना एम। व्लाच (मैसाचुसेट्स एमहर्स्ट विश्वविद्यालय)


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