सैद्धांतिक कंप्यूटर विज्ञान / अनुसंधान पर क्यों जाएं?


36

मैं वर्तमान में विश्वविद्यालय [कंप्यूटर विज्ञान] पर शुरू कर रहा हूं और वहां हमारे पास शोध शुरू करने के लिए बहुत सारे अवसर हैं। इस वेबसाइट को खोजने से पहले, मेरा इस तरह से जाने का कोई इरादा नहीं था [मैं एआई के साथ काम करना चाहता था, शायद खेल देव।], लेकिन अब मुझे एक विकल्प बनाने के लिए [या मुझे आवश्यकता हो सकती है]।

क्या आप मुझे इस "दुनिया" में शामिल होने के लिए मना सकते हैं? मैं किस "सेगमेंट" का अनुसरण कर सकता हूं? क्या कंप्यूटर वैज्ञानिक या शोधकर्ता किस तरह के विषयों पर काम करता है, इसके बारे में कुछ भी नहीं है?


18
हम सम्मानित हैं कि साइट ने आपको पहले से ही सिद्धांत के बारे में सोचने के लिए प्रेरित किया है! और आप सही जगह पर आए हैं, अगर आप जानना चाहते हैं कि एक सैद्धांतिक कंप्यूटर वैज्ञानिक क्या काम करता है ... तो बस पढ़ते रहिए और आपको पता चल जाएगा!
रयान विलियम्स

6
यह सामुदायिक विकि होना चाहिए।
डेव क्लार्क

बस आज ही ज्वाइन किया और उसी से सवाल किया ... मैंने इलेक्ट्रॉनिक्स इंजीनियरिंग में अपनी इंजीनियरिंग की, लेकिन कॉलेज में सीएस की तरफ झुकाव होने लगा ... कभी थ्योरी से औपचारिक परिचय नहीं हुआ, लेकिन अब मुझे खुशी है कि मुझे यह साइट मिल गई ... और @ Júlio सूजा ने यह सवाल पूछने के लिए धन्यवाद दिया। मैं आज से इस पर नज़र रखने जा रहा हूँ :)
एलन ट्यूरिंग

@supercooldave ने इसे कम्युनिटी विकी में बदल दिया।
जुलियो सीपी

उपसंहार: जूलियो सी एक सॉफ्टवेयर डेवलपर बन गया।
अधिवास

जवाबों:


32

मैं अपने कारणों को TCS स्नातक कार्यक्रमों के लिए आने वाले स्नातक के रूप में इस आगामी विंटर में लागू कर सकता हूं (इसलिए बहुत कम समय बचा है!)।

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

19

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

प्रश्न है:

पॉल एर्दोस ने "बुक" के बारे में बात की जहां भगवान प्रत्येक गणितीय प्रमेय का सबसे सुरुचिपूर्ण प्रमाण रखता है। इसने एक पुस्तक को प्रेरित किया (जो मुझे विश्वास है कि अब इसके 4 वें संस्करण में है): पुस्तक से प्रमाण।

यदि भगवान के पास एल्गोरिदम के लिए एक समान पुस्तक थी, तो क्या आपको लगता है कि एल्गोरिदम (उम्मीदवार) एक उम्मीदवार होंगे?

वर्तमान में इस सवाल के 64 उत्तर हैं, छोटी समस्याओं, बड़ी समस्याओं, पहेलियों और गहन गणित के लिए एल्गोरिदम को कवर करना। मेरा दृढ़ता से मानना ​​है कि यदि आप सभी इस सूची से गुजरते हैं और किसी भी एल्गोरिदम के बारे में अधिक पढ़ते हैं जो आपकी आंख को पकड़ता है, तो आप बहुत कुछ सीखेंगे कि सैद्धांतिक कंप्यूटर वैज्ञानिक क्या करते हैं, और हम ऐसा क्यों करते हैं।

सौभाग्य !


16

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

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

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

यह पता लगाने का एक अच्छा तरीका है कि आप क्या करना चाहते हैं, कई अलग-अलग क्षेत्रों में कक्षाएं लेना है, और शायद आपके ग्रीष्मकाल में उद्योग और अनुसंधान दोनों का प्रयास करें। अपनी पढ़ाई के अंत तक, आपको संभवतः एक अच्छा विचार होगा कि आप क्या करना चाहते हैं।


मुझे गणित बहुत पसंद है, लेकिन मुझे प्रोग्रामिंग बहुत पसंद है। शायद मैं एक ही समय में दोनों "पक्षों" के साथ काम करने का कोई तरीका ढूंढ सकता था, जैसे मशीन सीखना [जो एआई क्षेत्र में है, ठीक है?]। अगले वर्ष, मैं अपने विश्वविद्यालय पर कुछ कक्षाएं लागू करूंगा जैसे कि AI और एल्गोरिथम विश्लेषण जो मेरी मदद कर सकते हैं।
जूलियो सीपी

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

11

प्रोग्रामिंग भाषा सिद्धांत युवा और बूढ़े के लिए मजेदार है। यह तर्क को वास्तविक दुनिया में लागू कर रहा है। आओ परेड में शामिल हों !!

अधिक गंभीरता से, मेरे लिए, प्रोग्रामिंग भाषा सिद्धांत निम्नलिखित कारणों से दिलचस्प है:

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

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

  • मज़ा: आप एक ही समय में प्रोग्रामिंग और सिद्धांत कर सकते हैं, खासकर यदि आप कॉक जैसे प्रूफ सहायक का उपयोग करके अपने सिद्धांतों को औपचारिक रूप दे रहे हैं और सत्यापित कर रहे हैं।

  • और बहुत सारे।


11

मुख्य कारणों में से एक है कि मैं गणना के सिद्धांत को (सैद्धांतिक कंप्यूटर विज्ञान की "मेरी" शाखा) आकर्षक और अध्ययन के लायक क्यों निम्नलिखित है: यह हमें कुछ गहरे (और कभी-कभी गूढ़) दार्शनिक सवालों की जांच करने का एक तरीका प्रदान करता है।

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

अब जब हमारे पास गणनाओं का वर्णन करने वाली गणितीय वस्तुओं का एक वर्ग है, तो हम वास्तव में उनके बारे में प्रमेय साबित कर सकते हैं, इस प्रकार यह समझने की कोशिश कर सकते हैं कि क्या गणना की जा सकती है, और यह कैसे गणना की जा सकती है; यह तुरंत पता चला कि पूरी तरह से वैध कार्यों के बहुत सारे की गणना नहीं की जा सकती है, और उन्हें एक डिग्री के हिसाब से वर्गीकृत किया जा सकता है (कुछ कार्य केवल दूसरों की तुलना में "अधिक असुविधाजनक" हैं)।

कुछ अन्य लोग, पहले लोग जो आम तौर पर ज्यूरिस हार्टमैनिस और रिचर्ड ई। स्टर्न्स के साथ पहचाने जाते थे, ने गणितीय रूप से यह वर्णन करने की कोशिश की कि किसी फ़ंक्शन (सम्मान, समस्या) के लिए कठिन या आसान गणना (सम्मान, हल करने के लिए) का क्या मतलब है । कई जटिलता उपाय हैं जिनके अनुसार समस्याओं की कठोरता का वर्णन किया जा सकता है; सबसे आम एक है कि हमें उन्हें हल करने के लिए कितना समय चाहिए। एलन कोबम और जैक एडमंड्स "कुशल संगणना" की एक उचित धारणा की पहचान करने में काफी सफल रहे।

कम्प्यूटेशनल जटिलता ढांचे के भीतर, हम अब कुछ परिणाम साबित कर सकते हैं जो संगणना की हमारी सहज धारणा के अनुरूप हैं। मेरा पसंदीदा उदाहरण समय पदानुक्रम प्रमेय है: यदि हमें गणना करने के लिए अधिक समय दिया जाता है, तो हम कठिन समस्याओं को हल कर सकते हैं।

जटिलता सिद्धांत, पी बनाम एनपी की केंद्रीय खुली समस्या, एक और दार्शनिक रूप से महत्वपूर्ण प्रश्न का एक औपचारिककरण है: क्या वास्तव में किसी समस्या को हल करने की तुलना में यह जांचना कठिन है कि क्या इसका कथित समाधान वास्तव में सही है? मेरा मानना ​​है कि यह सवाल पूछने और जवाब देने के लायक है, स्वतंत्र रूप से इसके व्यावहारिक महत्व के।


+1: पसंद किया गया :) ps: किसी ने स्कॉट के ब्लॉग पर समान राय व्यक्त की
केव

6

कंप्यूटर विज्ञान एआई या किसी अन्य क्षेत्र की तुलना में गणितीय रूप से बेहतर नहीं है, इसलिए हम आपको "समझा" नहीं सकते हैं । इसलिए, हम इसके प्रभुत्व का प्रमाण नहीं दे सकते हैं! IMO, यह किसी भी चीज़ की तुलना में अधिक स्वाद का मामला है।


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

@ जुएलियो सूजा: शीर्षक में, यह "सैद्धांतिक" होना चाहिए न कि "सिद्धांतवादी"।
एमएस डौस्ती

मुझे नहीं पता कि क्या यह बेहतर है, लेकिन मैं जानना चाहता हूं कि आपने इस क्षेत्र को क्यों चुना, जैसा कि सादिक ने कहा।
जुलियो सीपी

6

उस प्रश्न का उत्तर निश्चित रूप से देना कठिन है, लेकिन यहां कुछ बातों का ध्यान रखना चाहिए।

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

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

जबकि TCS शोध में सक्रिय रूप से भाग लेना एक ऐसा प्रश्न है जिसका उत्तर केवल आप ही दे सकते हैं, एक अच्छा प्रारंभिक बिंदु (IMO) उन समस्याओं को देखने के साथ शुरू करना है जिन्हें आप देखने में रुचि रखते हैं, और वहां से जाते हैं। आपके पास उस प्रश्न का उत्तर देने के लिए पर्याप्त जानकारी भी नहीं हो सकती है, इसलिए आगे बढ़ने का एक बेहतर तरीका सिर्फ यह देखना हो सकता है कि आपकी रुचियां आपको कहां ले जाती हैं।


जवाब के लिए धन्यवाद। मैं पूरी तरह से आपके POV से सहमत हूं, बस कुछ करने पर काम करें, बिना यह जाने कि यह क्यों काम करता है, यह कैसे काम करता है और अगर मैं इसे बेहतर बना सकता हूं तो ऐसा कुछ नहीं है जो मुझे चाहिए। मुझे लगता है कि मैं अपनी योजनाओं को एआई [या कुछ और के साथ रखने की कोशिश कर सकता हूं, जो "व्यावहारिक शोध" की तरह है], लेकिन मैं टीसीएस पर अन्य विषयों के बारे में जानने की कोशिश करता रहूंगा।
जूलियो सीपी

6

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

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