Kontes Pemrograman Ilmiah

15

Saya secara teratur bersaing dalam apa yang disebut "Kontes Pemrograman", di mana Anda memecahkan masalah algoritmik yang sulit dengan kode Anda sendiri dan keterampilan pemecahan masalah selama jangka waktu terbatas. Untuk contoh referensial seperti apa bentuknya, cari kompetisi seperti misalnya Google Code Jam, atau ACM-ICPC.

(Jika Anda tahu apa kontes pemrograman, Anda dapat melewati paragraf berikut)

Dalam kontes ini, Anda dapat bersaing baik secara individu atau dalam tim, di situs fisik atau online, dan tujuannya adalah untuk menyelesaikan sebanyak mungkin masalah sebelum kontes berakhir. Setiap masalah dikaitkan dengan kendala tertentu yang harus dipenuhi oleh solusi Anda, seperti waktu berjalan, memori yang digunakan, dll. Kesulitan masalah dapat berkisar dari "jelas bagaimana menyelesaikan" hingga "menuntut pengetahuan yang hebat atau kecerdikan berat untuk memecahkan". Tujuan utama tentu saja untuk bersenang-senang, tetapi keberhasilan dalam beberapa kasus dapat menyebabkan hadiah uang tunai, kehormatan, dan kemungkinan bahkan wawancara dengan perekrut perusahaan terkemuka seperti Google.

(Jika Anda melewatkan paragraf di atas, berhentilah melompat, karena ini pertanyaan saya)

Melalui kontes pemrograman saya telah mampu mengembangkan minat yang tulus untuk algoritmik, ilmu komputer secara umum, dan rasa makna keseluruhan ketika datang ke coding dan mengembangkan keterampilan pemecahan masalah saya. Saya ingin melakukannya dalam komputasi ilmiah juga.

Pertanyaan: Apakah ada kompetisi dalam nada yang sama dengan jenis algoritmik murni, tetapi dengan fokus pada analisis numerik, optimasi, dan sebagainya?

Saya mencoba Googling, tetapi pada awalnya tidak dapat menemukan ...

Tambahan: Saya mendapat saran untuk memeriksa Project Euler, tapi itu bukan yang saya cari. Yang saya inginkan adalah lebih banyak arena untuk berlatih jenis numerik yang lebih "kotor", seperti menjadi kreatif dengan skema solusi untuk PCE, menyelesaikan masalah optimasi numerik, dan lain-lain. Sebagai perbandingan, Kaggle adalah situs tempat Anda dapat mempraktikkan penambangan data, pembelajaran mesin, dll. Di berbagai kontes yang diadakan secara rutin. Saya menginginkan sesuatu seperti itu, tetapi untuk menerapkan dan menjadi kreatif dengan skema numerik dan sejenisnya.

Abu
sumber
1
Lihatlah Project Euler: https://projecteuler.net/ . Ini adalah masalah matematika yang memiliki komponen komputasi yang kuat.
GoHokies
@GoHokies Terima kasih atas sarannya, tapi saya telah menjadi anggota di sana selama tiga tahun hingga sekarang (lebih dari 100 masalah terpecahkan juga). Situs itu sedikit lebih "murni" / kombinatorial dalam matematika daripada yang saya inginkan. Apa yang saya cari lebih merupakan arena untuk mempraktikkan hal-hal yang lebih "kotor", seperti menyelesaikan pde secara numerik atau menerapkan metode / algoritme pengoptimalan. Anda tidak benar-benar melakukannya dalam kontes pemrograman, Anda juga tidak melakukannya di Project Euler atau situs serupa. Sebagai contoh, Kaggle adalah situs untuk kontes penambangan data, saya ingin sesuatu seperti itu untuk numerik konkret.
A.Sh

Jawaban:

12

Saya tidak tahu ada kontes saat ini, tetapi Anda pasti dapat melihat tantangan SIAM 100 digit. Ini adalah satu set 10 masalah yang mana kontes ini membutuhkan 10 digit yang benar per masalah. Semua masalah adalah tipe "jika Anda melakukannya secara membabi buta, Anda hanya akan mendapatkan beberapa digit" (kecuali jika Anda menggunakan aritmatika multi-presisi dengan dalam beberapa kasus dibutuhkan sejumlah besar digit). Lihat di sini untuk halaman Wikipedia hanya dengan tantangan dan 10 digit solusi

Buku " The SIAM 100-Digit Challenge " membahas sepuluh masalah dan memberikan pendekatan yang berbeda untuk mendapatkan 10 atau lebih digit yang benar. Saya sungguh-sungguh merekomendasikannya. Tetapi menyenangkan untuk mencoba terlebih dahulu tanpa mengintip dan kemudian membaca tentang semua algoritma numerik yang ada untuk memecahkan masalah tersebut.

GertVdE
sumber
Inilah jenis masalah yang saya cari, setidaknya. Saya akan melihat referensi di artikel Wiki juga.
A.Sh
Ya, itu adalah kumpulan masalah. Saya benar-benar menikmati memikirkan mereka ketika mereka keluar!
Wolfgang Bangerth
3

Salah satu alternatif akan menjadi kompetisi ilmu data coder atas. Itu tidak sesuai dengan deskripsi Anda, tetapi Anda dapat menemukan sangat sering kontes yang merupakan kombinasi dari algoritma - kombinatorial - kalkulus numerik - pembelajaran mesin. Saya akan mengawasi itu.

Tautan ke beranda untuk kompetisi ilmu data ada di sini .

Aurelian Tutuianu
sumber