Monte Carlo Simulation Buat Prediksi Nilai UAS (Part 2)
Pernah nggak sih mikir kenapa hal-hal di dunia nyata ini nggak se-elegan kode yang baru selesai di-refactor?
Manusia suka banget meromantisasi kerumitan. Mereka bilang "hidup itu perjalanan, nikmati prosesnya". Pretentious. Padahal kalau dipikir pakai logika, sebagian besar penderitaan kita itu murni karena algoritma pengambilan keputusan yang sub-optimal.
Gini deh, bayangin otak kamu itu legacy server yang udah jalan 20 tahun tanpa di-maintain. Kamu terus-terusan nambahin features baru (baca: ekspektasi, gaya hidup, drama sosial) tanpa pernah ngelakuin garbage collection memori masa lalu. Hasilnya? Memory leak. Kamu stres.
Dalam post kali ini, aku mau bedah satu fenomena pakai pisau analisis matematika. Nggak ada motivasi klise. Nggak ada kutipan senja. Cuma logika murni, probabilitas, dan sedikit sarkasme.
Definisi Masalah: Kenapa Kita Selalu Salah Pilih?
Kalau kita lihat dari sudut pandang Computational Complexity, masalah ini sebenernya NP-Hard. Ruang pencarian (search space) terlalu besar, dan fungsi objektif kita sering berubah-ubah sesuai mood.
Kamu nyoba optimasi variabel X (misal: dapet nilai A), tapi ternyata itu punya negative correlation sama variabel Y (waktu tidur). Ini yang disebut trade-off. Tapi anehnya, orang masih ngarep bisa maksimalin dua-duanya. Itu menyalahi hukum thermodynamics energi mental.
def make_decision(options, constraints):
# This is what most people do
try:
return random.choice(options)
except Exception as e:
print("Panik dan salahkan keadaan")
return None
Solusi: Heuristik dan Gradient Descent
Daripada nyari absolute optimum yang mustahil (dan butuh waktu komputasi selamanya), mending kita pakai pendekatan heuristik. Cari aja solusi yang "cukup bagus" (local minimum) dan stick with it.
- Inisialisasi Random: Mulai dari titik mana aja. Jangan overthinking di awal.
- Hitung Gradient: Liat arah mana yang bikin penderitaan (error rate) menurun.
- Update State: Ambil langkah kecil ke arah itu. Jangan langsung lompat ekstrim, nanti overshoot.
Intinya, stop bergantung sama motivasi. Motivasi itu volatile memory, ilang kalau server di-restart. Bangun sistem dan habit yang kuat, itu baru persistent storage.
Udah ah, gue mau lanjut debugging.
Konvergensi Nilai UAS dan Harapan Semu
Simulasi Monte Carlo emang ngasih kita pandangan objektif tentang probabilitas nilai UAS. Tapi di dunia nyata, seringnya ada variabel unpredictable yang gak masuk dalam distribusi normal manapun: mood dosen pas ngoreksi kertas jawaban lo.
Ini ibarat ngitung peluang menang main gacha pake stochastic calculus, padahal developer game-nya udah nge-hardcode rate drop-nya di server-side. Kadang, seberapa canggih pun simulasi lu, hasil akhir tetep ditentuin sama campur tangan RNG ilahi. Jadi, pake Monte Carlo itu bagus buat validasi effort lu selama ini, tapi jangan dipake buat ngerasionalisasi kemalasan. Tetep belajar, atau lu bakal jadi anomali statistik yang nyumbang outlier di grafik kelulusan angkatan.