Banyak program ilmu komputer membutuhkan dua atau tiga kelas kalkulus.
Saya bertanya-tanya, bagaimana dan kapan kalkulus digunakan dalam ilmu komputer? Isi CS dari gelar dalam ilmu komputer cenderung fokus pada algoritma, sistem operasi, struktur data, kecerdasan buatan, rekayasa perangkat lunak, dll. Apakah ada waktu ketika Kalkulus berguna dalam bidang ini atau bidang Ilmu Komputer lainnya?
education
mathematical-analysis
Pemenang
sumber
sumber
Jawaban:
Saya dapat memikirkan beberapa kursus yang akan membutuhkan Kalkulus, secara langsung . Saya telah menggunakan wajah berani untuk disiplin ilmu yang biasanya wajib untuk gelar Ilmu Komputer, dan huruf miring untuk yang biasanya opsional.
Mungkin ada yang lain - ini hanya di atas kepala saya.
Dan, di samping itu, seseorang mendapat manfaat secara tidak langsung dari kursus Kalkulus dengan mempelajari cara berpikir dan menjelaskan argumen dengan ketelitian teknis. Ini lebih berharga daripada yang biasanya dipikirkan siswa.
Akhirnya - Anda akan membutuhkan Kalkulus untuk berinteraksi dengan orang-orang dari Ilmu Pengetahuan dan Teknik Exact lainnya. Dan tidak jarang seorang Ilmuwan Komputer perlu tidak hanya berbicara tetapi juga bekerja sama dengan seorang Fisikawan atau Insinyur.
sumber
f(0) = 0
,f(1) = 1
,f'(0) = f'(1) = 0
, dan Anda dapat menambahkan kendala lain yang Anda peduli, misalnyaf'(0.5) = 1
. Beberapa saat yang lalu saya menggunakan ini untuk mendapatkan beberapa polinomial interpolasi yang berbeda untuk menghaluskan gambar.Ini agak tidak jelas, tetapi kalkulus muncul dalam tipe data aljabar. Untuk setiap tipe yang diberikan, tipe konteks satu lubangnya adalah turunan dari tipe itu. Lihat pembicaraan luar biasa ini untuk tinjauan umum tentang keseluruhan subjek. Ini adalah terminologi yang sangat teknis, jadi mari kita jelaskan.
Tipe Data aljabar
Anda mungkin pernah menemukan tupel yang disebut sebagai jenis produk (jika tidak, itu karena mereka adalah produk kartesian dari dua jenis). Kami akan menerima ini secara harfiah dan menggunakan notasi:
Jenis-jenis ini terlihat seperti ekspresi aljabar normal dan kita dapat, pada kenyataannya, memanipulasi mereka seperti itu (to the point).
Sebuah contoh
Dalam bahasa fungsional definisi umum dari daftar (diberikan dalam Haskell di sini) adalah ini:
Ini mengatakan bahwa daftar kosong atau tuple dari nilai dan daftar lain. Mengubah itu menjadi notasi aljabar, kita mendapatkan:
Definisi ini kemudian mengatakan bahwa daftar adalah salah satu unit, atau tupel dari satu item, atau tupel dari dua item, atau tiga dll, yang merupakan definisi dari daftar!
Konteks Satu Lubang
Sekarang ke konteks satu lubang: konteks satu lubang adalah apa yang Anda dapatkan ketika Anda 'mengambil nilai dari' jenis produk. Mari kita beri contoh:
Mengambil nilai dari tuple 3 memberikan tuple 2, tetapi ada tiga varian yang berbeda:
Untuk contoh terakhir kami, mari gunakan daftar:
Jika kami mengambil ekspresi asli kami untuk daftar:
Kami dapat mengatur ulang untuk mendapatkan:
(Di permukaan ini mungkin tampak seperti omong kosong, tetapi jika Anda mengambil seri taylor dari hasil ini, Anda mendapatkan definisi yang kami peroleh sebelumnya.)
Sekarang jika kita membedakan ini, kita mendapatkan hasil yang menarik:
Dengan demikian satu daftar telah menjadi sepasang daftar. Ini sebenarnya masuk akal: dua daftar yang dihasilkan sesuai dengan elemen di atas dan di bawah lubang di daftar asli!
sumber
Metode Numerik. Ada masalah kalkulus rumit yang unik untuk aplikasi spesifik, dan mereka membutuhkan solusi lebih cepat daripada yang bisa dipecahkan manusia tanpa program. Seseorang harus merancang algoritma yang akan menghitung solusinya. Bukankah itu satu-satunya hal yang memisahkan programmer dari ilmuwan?
sumber
Otomasi - Mirip dengan robotika, otomasi dapat memerlukan kuantifikasi banyak perilaku manusia.
Perhitungan - Mencari solusi untuk pembuktian sering membutuhkan kalkulus.
Visualisasi - Memanfaatkan algoritma canggih memerlukan kalkulus seperti cos, sine, pi, dan e. Terutama saat Anda menghitung vektor, bidang tabrakan, dan penyambungan.
Logistik dan Analisis Risiko - Menentukan apakah tugas itu mungkin, risiko yang terlibat, dan kemungkinan tingkat keberhasilan.
Keamanan - Sebagian besar keamanan dapat dilakukan tanpa kalkulus; Namun, banyak orang yang menginginkan penjelasan lebih suka dalam ekspresi matematika.
AI - Dasar-dasar AI dapat digunakan tanpa kalkulus; Namun, menghitung perilaku lanjut, mengeroyok kecerdasan / pikiran sarang, dan pengambilan keputusan berdasarkan nilai-nilai kompleks.
Perhitungan medis - Visualisasi sebagian besar data kesehatan memerlukan kalkulus seperti pembacaan EKG.
Sains & Teknik - Ketika bekerja dengan hampir semua disiplin ilmu lain membutuhkan kalkulus: Aerospace, Astrologi, Biologi, Kimia, atau Teknik.
Banyak orang dalam pemrograman dapat menjalani seluruh karir mereka tanpa menggunakan kalkulus; Namun, itu bisa terbukti sangat berharga jika Anda bersedia melakukan pekerjaan itu. Bagi saya itu paling efektif dalam otomasi, logistik, dan visualisasi. Dengan mengidentifikasi pola-pola tertentu, Anda bisa mengabaikan polanya, meniru polanya, atau mengembangkan metode yang unggul secara bersamaan.
sumber
Faktanya adalah sangat kecil kemungkinan Anda untuk menggunakan kalkulus. Namun, hampir setiap disiplin ilmiah lainnya TIDAK menggunakan kalkulus dan Anda sedang bekerja pada gelar sains. Ada harapan tertentu tentang apa arti gelar sains di universitas dan salah satunya adalah Anda tahu kalkulus. Bahkan jika Anda tidak akan pernah menggunakannya.
Tidak apa-apa jika Anda mengerjakan kalkulus dengan buruk, tetapi pastikan Anda melakukan beberapa usaha dalam matematika diskrit. Ada banyak masalah pemrograman dunia nyata di mana matematika diskrit ikut bermain dan ketidaktahuan prinsip-prinsipnya dapat mempermalukan Anda di depan coders lain.
sumber
Banyak orang sudah menyediakan aplikasi di CS. Tetapi kadang-kadang Anda akan menemukan Kalkulus saat yang tidak Anda duga:
Derivatif ekspresi reguler diperiksa ulang
Jika Anda tahu automata pdf ini mungkin layak dibaca.
sumber
Beberapa contoh yang lebih spesifik:
sumber
Untuk jawaban-jawaban luar biasa ini saya menambahkan poin ini: ketelitian dalam pengujian .
Dalam membuat test case untuk beberapa aplikasi, saya harus menggunakan kalkulus untuk memprediksi waktu berjalan yang diharapkan, ukuran memori, dan memilih parameter optimal ketika menyetel struktur data. Ini termasuk memahami kesalahan pembulatan yang diharapkan, dll.
Sementara statistik disebutkan dalam jawaban lain, saya ingin secara spesifik menyebutkan algoritma Monte-carlo , seperti algoritma optimasi dan beberapa algoritma streaming hemat yang didasarkan pada prinsip-prinsip matematika yang mencakup kalkulus.
Industri khusus tempat saya bekerja di mana kalkulus diperlukan meliputi:
Keuangan (membuat platform perdagangan)
Asuransi (integrasi numerik polis asuransi dalam skenario bagaimana-jika untuk menghitung kerugian polis yang diharapkan)
Logistik (mengoptimalkan konsolidasi rute transportasi)
Pemrosesan sinyal
sumber
Kalkulus - bagian integral - digunakan langsung di CS sebagai dasar untuk berpikir tentang penjumlahan. Jika Anda mengerjakan bagian mana saja dari bagian Matematika Beton Knuth tentang penjumlahan, Anda akan dengan cepat mengenali konvensi yang umum untuk kalkulus: memahami beberapa kasus terus menerus memberi Anda alat untuk mempertimbangkan diskrit.
Banyak penggunaan studi CS Anda melibatkan sistem pemrograman yang memantau perubahan, atau dalam beberapa kasus, upaya untuk memprediksi masa depan. Matematika di sekitar sistem itu berakar pada persamaan diferensial dan aljabar linier, dan persamaan diferensial adalah ... kalkulus. Ada guru seperti Gibert Strang yang mengadvokasi untuk bergerak lebih cepat ke bagian persamaan diferensial, tetapi masih merupakan subset kalkulus. Ketika perubahan tergantung pada perubahan dalam sistem apa pun, itu mulai menjadi tidak stabil (dan stabil) dengan cara-cara yang keduanya tidak intuitif dan sangat dipahami. Untuk memahami mengapa sistem linier Anda yang berperilaku baik dalam cara-cara nonlinier, Anda memerlukan alat kalkulus atau Anda harus menciptakannya kembali untuk ruang masalah Anda.
Dan akhirnya, CS sering membutuhkan membaca dan memahami karya orang lain, dan kalkulus adalah paparan pertama untuk banyak kosakata, konvensi, dan sejarah bersama.
sumber