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


15

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

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

यह देखते हुए कि ऐसी कोई बात है। यदि नहीं, तो एक गणितज्ञ को कंप्यूटर विज्ञान के बारे में बुनियादी जानकारी कहां होनी चाहिए (यानी वे एक या दो प्रोग्रामिंग भाषाओं की मूल बातें जानते हैं) यदि वे समझना चाहते हैं कि सैद्धांतिक कंप्यूटर विज्ञान क्या है? आप क्या सलाह देते हैं?

धन्यवाद!


1
बड़ा सवाल है। मैं वास्तव में नुकसान में हूं। सैद्धांतिक सीएस सिर्फ इतना व्यापक और विविध है, मुझे संदेह है कि किसी ने भी एक ही स्थान पर सभी का सर्वेक्षण करने का प्रयास किया है। दासगुप्ता, पापादिमित्रिउ और वज़िरानी द्वारा इंट्रो पुस्तकें हैं, जैसे कि सिपर्स की "गणना का सिद्धांत" या "एल्गोरिथम"। लेकिन वे स्नातक पूर्वापेक्षाओं की तरह हैं और वर्तमान टीसीएस "वास्तव में" के बारे में एक विचार नहीं देंगे ...
usul

6
सवाल बहुत व्यापक है। एक तो समान रूप से पूछ सकता है: "गणित के बारे में अधिक जानने के लिए कहां है?"। इसलिए टीसीएस के क्षेत्रों को देखना चाहिए जो गणित के करीब हैं, जैसे कि जटिलता सिद्धांत, क्रिप्टोग्राफी, सन्निकटन। कहते हैं, सर्किट जटिलता केवल एक्सट्रीमल कॉम्बिनेटरिक्स का एक हिस्सा है। Sipser की पुस्तक वास्तव में महान है: यह TCS पर एक गणितज्ञ का दृष्टिकोण है (इसका एक छोटा सा हिस्सा, कहने के लिए अनावश्यक नहीं); Sipser खुद वास्तव में एक गणितज्ञ है।
Stasys

2
: एवी विगडरसन की आगामी पाठ एक महान संसाधन है math.ias.edu/avi/book
एंड्रास सालेमन

जवाबों:


29

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

  • शुरुआत Sipser की पुस्तक से करें। यह आपको ऑटोमेटा, ट्यूरिंग मशीन, कम्प्यूटेबिलिटी, कोलमोगोरोव जटिलता, पी बनाम एनपी, और कुछ अन्य जटिलता वर्गों का अच्छा परिचय देगा। यह बहुत अच्छी तरह से लिखा गया है (मेरी राय में, यह सबसे अच्छी लिखित तकनीकी पुस्तकों में से एक है )

  • एल्गोरिदम के लिए, क्लेनबर्ग-टार्डोस के लिए मेरी थोड़ी सी प्राथमिकता है, लेकिन वहां कई अच्छी परिचयात्मक किताबें हैं। आपको विशेष रूप से कम्प्यूटेशनल ज्यामिति में रुचि हो सकती है, जिसमें महान पुस्तकों का अपना सेट है।

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

उसके बाद, मैं आपके गणितीय स्वाद के आधार पर, विशेष विषयों पर अधिक उन्नत पुस्तकों के माध्यम से ब्राउज़ करने का सुझाव दूंगा:

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

  • बूलियन फ़ंक्शन जटिलता पर जुकना की पुस्तक समान है, लेकिन विशेष रूप से बुलियन सर्किट जटिलता के लिए अधिक गहराई से (स्वाद में बहुत कम्बिनेटरियल)

  • ज्यामितीय जटिलता सिद्धांत। जियोमीटर के लिए यहां या लैंड्सबर्ग का परिचय देखें ।

  • बोडियन फंक्शंस के ओ'डॉनेल की पुस्तक विश्लेषण में अधिक फूरियर-विश्लेषणात्मक बेंट है।

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

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

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


2
: क्रिप्टोग्राफी के लिए एक अच्छा प्रारंभिक पुस्तक Katz-Lindell द्वारा मॉडर्न क्रिप्टोग्राफ़ी का परिचय है cs.umd.edu/~jkatz/imc.html - एक वैकल्पिक (पुराने) विकल्प Goldreich द्वारा क्रिप्टोग्राफी की नींव है: wisdom.weizmann.ac.il /~oded/foc-book.html
डैनियल

4

क्रिस्टोफर मूर और स्टीफन मर्टेंस द्वारा गणना की प्रकृति।


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