Saat ini saya mulai di universitas [ilmu komputer] dan di sana kami memiliki banyak peluang untuk memulai dengan meneliti. Sebelum menemukan situs web ini, saya tidak punya niat untuk pergi dengan cara ini [Saya ingin bekerja dengan AI, mungkin game dev.], Tetapi sekarang saya dapat [atau saya perlu] untuk membuat pilihan.
Bisakah Anda meyakinkan saya untuk bergabung di "dunia" ini? "Segmen" apa yang bisa saya ikuti? Adakah sesuatu tentang topik apa yang digunakan oleh ilmuwan atau peneliti komputer?
soft-question
career
JulioC
sumber
sumber
Jawaban:
Saya dapat mengaitkan alasan saya sebagai sarjana yang mendaftar ke program pascasarjana TCS Musim Dingin yang akan datang ini (begitu sedikit waktu tersisa!).
sumber
Memang apakah Anda memutuskan untuk melakukan penelitian dalam ilmu komputer teoritis adalah masalah pilihan. Tetapi bahkan meneliti pertanyaan-pertanyaan di situs ini (seperti yang mungkin telah Anda lakukan) mudah-mudahan memberi Anda rasa luasnya, ruang lingkup keindahan lapangan. Saya bahkan tidak tahu harus mulai dari mana dengan mengarahkan Anda ke sumber yang bisa Anda baca untuk menghargai jenis pekerjaan yang dilakukan para ahli teori, tetapi ada satu pertanyaan di situs ini yang menurut saya mungkin menarik bagi Anda.
Pertanyaannya adalah:
Saat ini ada 64 jawaban untuk pertanyaan ini, yang mencakup algoritma untuk masalah kecil, masalah besar, teka-teki, dan matematika yang mendalam. Saya sangat percaya bahwa jika semua yang Anda lakukan adalah membaca daftar ini dan membaca lebih lanjut tentang salah satu algoritma yang menarik perhatian Anda, Anda akan belajar banyak tentang apa yang dilakukan para ilmuwan komputer teoretis, dan mengapa kami melakukannya.
Semoga berhasil !
sumber
Alasan banyak dari kita pergi ke penelitian adalah karena kita menemukan mendorong batas-batas apa yang dikenal baik secara intelektual menyenangkan dan menyenangkan. Melakukan penelitian juga memberi kita kebebasan yang hampir tak tertandingi untuk mengerjakan masalah yang kita anggap bermakna dan menarik, dan itu membuat kita terus-menerus tertantang (yang kita nikmati).
TCS (berlawanan dengan bidang lain) adalah studi matematika ilmu komputer. Anda dapat bekerja pada aspek teori dari berbagai bidang mulai dari sistem terdistribusi hingga pembelajaran mesin. Pilihan di antara TCS dan bidang lainnya dalam ilmu komputer tergantung pada di mana selera dan kemampuan Anda berada. Jika minat dan kemampuan alami Anda lebih terletak pada pemrograman atau desain sistem daripada dalam analisis matematis, maka mungkin Anda tidak boleh masuk ke TCS. Di sisi lain, jika keterampilan dan minat Anda lebih terletak pada aspek matematika, maka Anda harus mempertimbangkan TCS.
Juga, Anda tidak selalu harus memilih satu area daripada yang lain. Banyak orang mengerjakan masalah baik dari sisi teoretis maupun praktis. Ini umum, misalnya, dalam pembelajaran mesin, di mana kami pertama kali merancang dan menganalisis algoritma (sering teori) dan kemudian mengujinya di dunia nyata (desain eksperimental, aplikasi, dll.).
Cara yang baik untuk mengetahui apa yang ingin Anda lakukan adalah mengambil kelas di berbagai bidang, dan mungkin mencoba industri dan penelitian di musim panas Anda. Pada akhir studi Anda, Anda mungkin akan memiliki ide bagus tentang apa yang ingin Anda lakukan.
sumber
Memprogram teori bahasa itu menyenangkan bagi tua dan muda. Ini menerapkan logika ke dunia nyata. Bergabunglah dengan parade !!
Lebih serius, bagi saya, teori bahasa pemrograman menarik karena alasan berikut:
dampak yang dirasakan pada dunia nyata: sistem tipe yang luas bekerja di Haskell dan bahasa fungsional lainnya, yang berasal dari ide yang murni logis (Sistem F), secara signifikan memengaruhi perkembangan bahasa seperti Jawa (generiknya yang mengerikan, penutupnya) dan Scala (modern) hari di mana-teori-bertemu bermain praktek).
Keindahan: banyak alat yang digunakan dalam teori bahasa pemrograman didasarkan pada logika. Sebagian besar berasal dari korespondensi Curry-Howard, yang menunjukkan hubungan dekat antara aturan bukti logis dan aturan mengetik untuk bahasa pemrograman, dan antara cut-eliminasi dalam logika dan evaluasi dalam bahasa pemrograman. Dua contoh indah baru-baru ini dari aplikasi logika dalam penelitian bahasa pemrograman adalah pekerjaan yang luas pada logika pemisahan dalam verifikasi dan penerapan ide-ide bukti yang berfokus pada pemahaman konsep bahasa pemrograman seperti urutan evaluasi dan pencocokan pola .
kesenangan: Anda dapat melakukan pemrograman dan teori pada saat yang sama, terutama jika Anda memformalkan dan memverifikasi teori Anda menggunakan asisten bukti seperti Coq.
dan masih banyak lagi.
sumber
Salah satu alasan utama mengapa saya menemukan teori komputasi (cabang "saya" tentang ilmu komputer teoretis) yang menarik dan layak dipelajari adalah yang berikut: teori ini memberi kita cara untuk menyelidiki beberapa pertanyaan filosofis yang mendalam (dan kadang membingungkan).
Salah satu pendiri teori komputasi, Alan Turing, mencoba menjabarkan makna "menghitung fungsi" bagi manusia yang dilengkapi selembar kertas, dengan memberikan deskripsi matematis tentang proses tersebut. Saya bukan satu-satunya yang berpikir dia sangat sukses, dan mesin Turing terbukti menjadi model yang akurat dari banyak proses komputasi lainnya.
Sekarang setelah kita memiliki kelas objek matematika yang menggambarkan perhitungan, kita dapat benar-benar membuktikan teorema tentangnya, dengan demikian berusaha mengungkap apa yang dapat dihitung, dan bagaimana hal itu dapat dihitung; segera terbukti bahwa banyak fungsi yang benar-benar sah tidak dapat dihitung sama sekali, dan bahwa mereka dapat diklasifikasikan berdasarkan tingkat ketidakterkomputasi (beberapa fungsi hanya "lebih tidak dapat dihitung" daripada yang lain).
Beberapa orang lain, yang pertama biasanya diidentifikasi dengan Juris Hartmanis dan Richard E. Stearns, mencoba menggambarkan secara matematis apa artinya suatu fungsi (resp., Masalah) menjadi sulit atau mudah untuk dihitung (resp., Untuk dipecahkan). Ada beberapa langkah kompleksitas yang menurutnya kekerasan dapat digambarkan; yang paling umum adalah berapa banyak waktu yang kita butuhkan untuk menyelesaikannya. Alan Cobham dan Jack Edmonds cukup berhasil mengidentifikasi gagasan yang masuk akal tentang "komputasi efisien".
Dalam kerangka kompleksitas komputasi, kami sekarang dapat membuktikan beberapa hasil yang konsisten dengan gagasan intuitif kami tentang komputasi. Contoh favorit saya adalah teorema hierarki waktu: jika kita diberi lebih banyak waktu untuk menghitung, kita dapat memecahkan masalah yang lebih sulit.
Masalah utama yang terbuka dari teori kompleksitas, P vs NP , hanyalah formalisasi dari pertanyaan filosofis penting lainnya: apakah benar-benar lebih sulit untuk menyelesaikan masalah daripada memeriksa apakah solusi yang diduga memang benar? Saya percaya pertanyaan ini layak diajukan, dan dijawab, terlepas dari signifikansi praktisnya.
sumber
Kami tidak dapat "meyakinkan" Anda, karena ilmu komputer tidak secara matematis lebih baik daripada AI atau bidang lainnya. Jadi, kita tidak bisa melakukan bukti dominasinya! IMO, Ini lebih merupakan masalah selera daripada hal lainnya.
sumber
Sulit untuk menjawab pertanyaan itu dengan pasti, tetapi ada beberapa hal yang perlu diingat di sini.
Jika Anda berkarier sebagai ilmuwan komputer, pekerjaan Anda mungkin tidak hanya melibatkan pemrosesan dan penataan data dengan cara yang membuatnya berguna dan efisien untuk digunakan, tetapi juga memikirkan bagaimana dan mengapa apa yang Anda lakukan bekerja, juga di batas mana yang beroperasi (jika bukan karena alasan lain selain memahaminya cukup untuk mengimplementasikannya). Ini khususnya kasus untuk AI / NLP / IR, yang SANGAT intensif penelitian, bahkan jika Anda tidak di akademia. Bahkan, masuk ke AI cukup banyak jaminan bahwa Anda akan menangani banyak masalah "teoretis", dan pada kenyataannya mungkin sulit untuk menemukan pekerjaan tanpa latar belakang itu. Jadi itu mungkin salah satu alasan kuat Anda akan mempertimbangkannya.
Tidak hanya itu, tetapi mungkin akan sangat sulit untuk menghabiskan sebagian besar hidup Anda di bidang CS mana pun, di mana Anda harus mempertahankan kontak intim dengan proses yang begitu halus dan berubah-ubah (dan belum lagi sulit), sementara secara bersamaan tidak mempertahankan menarik apa pun di bahkan dasar-dasar mengapa semuanya bekerja. Dengan kata lain, saya kira Anda bisa merekatkan perpustakaan selama sisa hidup Anda, tetapi jika itu tidak terdengar seperti hal Anda, Anda harus memiliki setidaknya seorang kenalan yang lewat dengan dasar-dasar masalah yang Anda hadapi.
Sementara berpartisipasi aktif dalam penelitian TCS adalah pertanyaan yang mungkin hanya Anda yang bisa menjawab, titik awal yang baik (IMO) adalah memulai dengan pandangan tentang masalah yang Anda tertarik untuk melihat, dan pergi dari sana. Anda bahkan mungkin tidak memiliki informasi yang cukup untuk menjawab pertanyaan itu, jadi cara yang lebih baik untuk melanjutkan mungkin hanya dengan melihat ke mana minat Anda membawa Anda.
sumber
Yang paling menggelitik saya adalah kemampuan untuk menerapkan teori ilmu komputer ke disiplin ilmu lain, terutama biologi dan biologi sel. Jika gagasan ini juga menggelitik Anda, saya sarankan Anda melihat yang berikut ini: esai oleh Jeannette Wing tentang pentingnya Berpikir Komputasi ; dan laporan NSF tentang penerapan Lensa Algoritma untuk disiplin ilmu lain.
sumber