Saat ini saya seorang mahasiswa sarjana, yang akan lulus tahun ini. Setelah lulus, saya sedang mempertimbangkan untuk bekerja menuju master / PhD TCS. Saya mulai bertanya-tanya bidang matematika apa yang dianggap membantu TCS, khususnya teori kompleksitas (klasik).
Bidang apa yang menurut Anda penting untuk seseorang yang ingin mempelajari teori kompleksitas? Apakah Anda tahu ada buku teks bagus yang membahas bidang-bidang ini dan jika ya, harap sertakan tingkat kesulitannya (pengantar, lulusan, dll.).
Jika Anda menganggap bidang yang tidak banyak digunakan dalam teori kompleksitas tetapi Anda menganggapnya penting untuk TCS, silakan juga merujuknya.
Jawaban:
Jika Anda melihat jawaban untuk pertanyaan TCS StackExchange ini , Anda akan melihat bahwa ada kemungkinan bahwa hampir semua bidang matematika dapat menjadi penting dalam teori kompleksitas. Jadi, jika Anda benar-benar tertarik pada beberapa bidang matematika yang tampaknya tidak berhubungan, lanjutkan saja dan pelajarilah. Jika pernah menjadi relevan dengan teori kompleksitas, Anda akan menjadi salah satu dari sedikit teori kompleksitas yang memahaminya.
sumber
Anda harus menambahkan buku Dexter Kozen pada teori perhitungan ke daftar Anda. Mencakup dasar-dasar teori kompleksitas dengan sangat efektif, dan format kuliah singkatnya bagus.
Dalam hal latar belakang matematika, selain apa yang disebutkan di atas:
Saya pikir Anda tidak perlu menjadi ahli dalam topik ini untuk memulai, tetapi jelas membantu memiliki tingkat kenyamanan tertentu.
sumber
Ini (setahu saya) satu-satunya buku yang diterbitkan yang membahas 'metode aljabar linier dalam kombinatorik' secara mendalam - alat yang bagus dan kuat untuk diketahui. Ada draft naskah Babai dan Frankl yang jauh lebih mendalam, tetapi itu tidak dipublikasikan atau online:
https://cs.uchicago.edu/page/linear-algebra-methods-combinatorics-applications-geometry-and-computer-science
sumber
Jawaban sebelumnya sudah mendaftar yang dasar: teori probabilitas, kombinatorik, aljabar linier, aljabar abstrak (bidang terbatas, teori grup, dll).
Saya akan menambahkan:
Analisis Fourier , lihat, misalnya, kursus Ryan O'Donnel: http://www.cs.cmu.edu/~odonnell/boolean-analysis/
Teori pengkodean , lihat kursus Madhu Sudan: http://people.csail.mit.edu/madhu/coding/course.html
Teori informasi , buku standarnya adalah Elements of Information Theory: http://www.amazon.com/Elements-Information-Theory-Tel Telecommunications-Processing/dp/ 0471241954
Ada juga teori representasi, jalan-jalan acak, dan banyak lagi yang mungkin saya lupakan ...
sumber
Terlepas dari hal-hal dasar, mungkin:
Saya suka Matematika Beton oleh Knuth. Ini memberikan gambaran umum / pengetahuan dasar dari banyak alat penting.
Jika Anda suka menghasilkan fungsi (lihat fungsi generasi oleh Wilf) sebagai alat, analisis kompleks juga berguna.
sumber
Sanjeev Arora memiliki dokumen yang bagus untuk kursus pascasarjana (untuk siswa tahun pertama) yang dia ajarkan disebut "theorist's toolkit," yang memiliki banyak bahan dasar yang harus diketahui oleh siswa teori. Banyak hal yang bisa Anda tunggu sampai lulus sekolah untuk belajar, tetapi ini akan memberi Anda gagasan yang baik tentang apa yang perlu Anda ketahui dan beberapa prasyarat.
sumber
Paradigma yang umum, walaupun tentu saja tidak universal, bagi banyak peneliti sukses di komunitas TCS adalah sebagai berikut: Mengetahui beberapa dasar di tingkat sarjana, seperti logika, aljabar linier, probabilitas, optimisasi, teori grafik, kombinatorik, aljabar abstrak dasar. Selain itu, jangan memaksakan diri Anda untuk mempelajari hal lain sampai Anda benar-benar berpikir Anda perlu memecahkan masalah yang telah Anda perjuangkan selama berbulan-bulan, atau jika Anda berpikir Anda akan benar-benar menikmati belajar sesuatu demi hal itu.
"Bagaimana saya tahu bahwa saya membutuhkannya jika saya belum pernah melihatnya sebelumnya?", Anda bertanya? Pertanyaan bagus. Kadang-kadang Anda beruntung dan merasakannya: "Anda tahu, sub-masalah yang saya coba atasi ini terdengar sangat mirip dengan transformasi Fourier yang tidak pernah diam Fred. Aku harus memeriksanya atau menjebak Fred di kamar dan minta dia lari cepat ke dasar-dasarnya. " Di lain waktu, Anda menjebak sekelompok orang yang lebih berpengetahuan daripada diri Anda sendiri di sebuah ruangan, mengatakan dengan memberikan ceramah seminar atau sesuatu, dan merengek tentang bagaimana Anda tidak bisa menyelesaikan masalah ini sampai Fred berdentang dengan "Hei, saya bertaruh Anda bahwa Anda dapat menyelesaikan ini dengan Analisis Fourier. Mari saya tunjukkan caranya. " Pada akhirnya, Anda mendapatkan kertas bersama dengan Fred, Anda belajar sesuatu yang baru, dan Anda dan Fred adalah teman terbaik sekarang dan pergi minum setiap Sabtu malam.
sumber
Saya pikir daftar bidang matematika yang tidak berguna akan jauh lebih pendek daripada daftar bidang yang! Saya tidak bisa memikirkan apa pun.
Pelajari matematika apa pun yang tampak menarik, dan / atau apa pun yang Anda butuhkan saat ini. Bahkan jika Anda tidak menggunakannya secara langsung, itu akan membantu Anda mempelajari hal-hal lain yang Anda lakukan.
sumber
Pengetahuan tentang logika matematika dasar, menurut saya, merupakan nilai tambah. Anda dapat melihat dua buku karya Cori dan Lascar.
Logika Matematika: Kursus dengan Latihan Bagian I
Logika Matematika: Kursus dengan Latihan Bagian II
sumber
Saya merekomendasikan untuk melihat buku-buku ini:
Juga, topik dalam konferensi MFCS (Yayasan Matematika Ilmu Komputer) dapat mengarahkan Anda ke latar belakang seperti apa yang mungkin Anda butuhkan. (Peringatan: konferensi mencakup topik yang sangat canggih. Anda tidak perlu menguasainya. Hanya mencoba untuk mendapatkan gambaran besarnya.)
sumber
Teori bilangan belum disebutkan, tetapi ini adalah alat yang sangat penting untuk banyak konstruksi teori kriptografi dan kompleksitas.
sumber
Teori representasi kelompok terbatas (juga bidang terbatas) dapat secara mengejutkan bermanfaat untuk berbagai tugas, termasuk:
algoritma penggandaan matriks ( Cohn - Kleinberg-Szegedy-Umans )
membangun kode yang dapat didekodekan secara lokal (lihat mis. makalah ini oleh Klim Efremenko)
aplikasi dalam komputasi kuantum (Masalah Subkelompok Tersembunyi untuk kelompok yang bukanabel, metode musuh multiplikasi)
sumber
Saya sarankan membaca buku Garey dan Johnson
Komputer dan Daya Tarik: Panduan untuk Teori Kelengkapan NP .
Ini dapat dibaca dengan latar belakang matematika yang sangat sedikit. Saya pikir buku ini menyenangkan untuk dibaca, dan saya akan merekomendasikannya sebagai buku pertama tentang Papadimitriou dan Arora / Barak. Setelah Anda membaca ini, Anda dapat membaca buku-buku lain dan mengidentifikasi berbagai bit matematika yang Anda butuhkan untuk memahami topik-topik lanjutan yang Anda minati.
sumber
Sekali waktu program tingkat sarjana CS464 (2002) di UWaterloo CS menggunakan Kompleksitas Komputasi Christos H. Papadimitriou , Addison-Wesley, 1994.
Latar belakang topik yang tercantum termasuk mesin Turing, ketidakpastian, kompleksitas waktu, dan NP-kelengkapan.
Untuk latar belakang, telusuri perpustakaan Anda di dekat QA267.G57 (Goddard's Memperkenalkan teori perhitungan , berdasarkan sekilas cepat membaca atau dua dan ketersediaannya bagi saya, tampaknya menutupi sisi CS latar belakang; Saya punya perasaan beberapa set dan grup teori dari sisi matematika murni juga akan berguna.)
sumber