· komentar ·oleh captain flyng dutchman

BAB 29: METODE MONTE CARLO & OPTIMASI

 

BAB 29: METODE MONTE CARLO & OPTIMASI

 

A.    Pengantar Metode Monte Carlo

1.     Definisi Metode Monte Carlo

a.     Metode Monte Carlo adalah teknik komputasi yang menggunakan bilangan acak untuk menyelesaikan masalah deterministik atau stokastik

b.     Dinamai berdasarkan kasino di Monte Carlo (prinsip probabilitas)

c.     Melakukan simulasi berulang kali dengan variasi parameter input

d.     Menganalisis distribusi output untuk memahami variabilitas sistem

e.     Aplikasi: analisis toleransi komponen, optimasi desain, estimasi risiko

2.     Mengapa Monte Carlo dalam Elektronika?

a.     Komponen elektronik memiliki toleransi (resistor 5%, kapasitor 10%, dll)

b.     Desain yang baik harus bekerja dalam rentang toleransi komponen

c.     Monte Carlo mensimulasikan ribuan variasi komponen

d.     Menentukan apakah desain robust (tahan terhadap variasi)

e.     Contoh: memastikan rangkaian bekerja dengan resistor 5% toleransi

3.     Langkah-Langkah Simulasi Monte Carlo

a.     Tentukan model rangkaian (fungsi transfer)

b.     Tentukan distribusi parameter input (normal, uniform, dll)

c.     Generate N sampel acak dari distribusi parameter

d.     Simulasikan rangkaian untuk setiap sampel

e.     Analisis distribusi output (mean, std dev, histogram)

4.     Keunggulan dan Kelemahan

a.     Keunggulan: sederhana, fleksibel, dapat menangani berbagai distribusi

b.     Keunggulan: memberikan informasi lengkap tentang variabilitas

c.     Kelemahan: membutuhkan banyak iterasi (ribuan) untuk akurasi

d.     Kelemahan: lambat jika simulasi rangkaian kompleks

e.     Solusi: variance reduction techniques (Latin Hypercube, Antithetic variates)

B.    Pembangkit Bilangan Acak

1.     Bilangan Acak Seragam (Uniform)

a.     Distribusi uniform: semua nilai dalam rentang [0,1] memiliki probabilitas yang sama

b.     Fungsi: numpy.random.rand() di Python, rand() di MATLAB

c.     Digunakan sebagai dasar untuk distribusi lain

d.     Penting: seed untuk reproduktifitas

e.     Contoh: resistor 5% → nilai antara 0.95R dan 1.05R

2.     Distribusi Normal (Gaussian)

a.     Distribusi normal: nilai terkonsentrasi di sekitar mean

b.     Fungsi: numpy.random.randn() di Python, randn() di MATLAB

c.     Parameter: mean (μ) dan standard deviation (σ)

d.     Digunakan untuk komponen dengan toleransi simetris

e.     Contoh: resistansi dengan mean 10kΩ, σ = 1%

3.     Distribusi Lainnya

a.     Log-normal — untuk komponen dengan distribusi asimetris

b.     Triangular — untuk estimasi dengan rentang minimum, maximum, dan most likely

c.     Uniform dengan batas — untuk toleransi komponen

d.     Distribusi diskrit — untuk komponen diskrit (nilai standar)

e.     Aplikasi: komponen yang tidak memiliki toleransi simetris

4.     Seed dan Reproduktifitas

a.     Seed adalah nilai awal untuk generator bilangan acak

b.     Seed yang sama → urutan bilangan acak yang sama

c.     Penting untuk reproduktifitas hasil

d.      Fungsi: numpy.random.seed(42) di Python, rng('default') di MATLAB

e.     Aplikasi: debugging, validasi, dokumentasi

C.    Simulasi Toleransi Komponen

1.     Model Toleransi Komponen

a.     Resistor: R = R_nom × (1 + δ_R), δ_R ~ Uniform(-tol, tol) atau Normal(0, σ)

b.     Kapasitor: C = C_nom × (1 + δ_C)

c.     Induktor: L = L_nom × (1 + δ_L)

d.     Transistor: β = β_nom × (1 + δ_β)

e.     Sumber tegangan: V = V_nom × (1 + δ_V)

2.     Contoh: Pembagi Tegangan

a.     Rangkaian: V_out = V_in × R₂/(R₁ + R₂)

b.     Parameter: V_in = 5V, R₁ = 10kΩ (±5%), R₂ = 10kΩ (±5%)

c.     Simulasi: generate R₁ dan R₂ dari distribusi

d.     Hitung V_out untuk setiap sampel

e.     5. Analisis distribusi V_out

3.     Contoh: Filter RC

a.     Rangkaian: Low-pass filter RC

b.     f_c = 1/(2πRC)

c.     Parameter: R = 1kΩ (±5%), C = 1µF (±10%)

d.     Simulasi: generate R dan C

e.     Analisis distribusi f_c

4.     Analisis Hasil

a.     Histogram output (distribusi V_out, f_c, dll)

b.     Mean dan standard deviation

c.     Confidence interval (95% atau 99%)

d.     Probabilitas failure (output di luar spesifikasi)

e.     Aplikasi: menentukan yield (persentase yang lolos spesifikasi)

D.    Algoritma Optimasi — Gradien Descent

1.     Konsep Optimasi

a.     Optimasi adalah proses menemukan nilai parameter yang meminimalkan atau memaksimalkan suatu fungsi objektif

b.     Fungsi objektif (loss function) mengukur seberapa "baik" suatu Solusi

c.     Optimasi digunakan dalam berbagai bidang: desain rangkaian, kontrol, AI

d.     Contoh: menemukan nilai resistor untuk gain yang diinginkan

e.     Aplikasi: tuning PID, desain filter, pelatihan neural network

2.     Loss Function (Fungsi Kerugian)

a.     Loss function mengukur error atau biaya dari suatu Solusi

b.     Mean Squared Error (MSE): J(θ) = (1/N) Σ (y_i - f(x_i, θ))²

c.     Cross-entropy: untuk klasifikasi

d.     Tujuan: meminimalkan loss function

e.     Contoh: MSE untuk curve fitting, cross-entropy untuk klasifikasi

3.     Gradien Descent

a.     Gradien descent adalah metode iteratif untuk menemukan minimum fungsi

b.     Prinsip: bergerak ke arah turunan negatif (arah penurunan tercepat)

c.     θ_new = θ_old - α × J(θ)

d.     α = learning rate (kecepatan belajar)

e.     Terus berulang hingga konvergensi

4.     Stochastic Gradient Descent (SGD)

a.     SGD menggunakan subset data (batch) untuk menghitung gradien

b.     Lebih cepat untuk data besar

c.     Memperkenalkan noise untuk menghindari local minima

d.     Batch size menentukan trade-off antara kecepatan dan akurasi

e.     Aplikasi: pelatihan neural network, deep learning

5.     Momentum dan Adaptive Learning Rate

a.     Momentum: menambahkan "kelembaman" untuk mempercepat konvergensi

b.     Adam: adaptive moment estimation (populer untuk deep learning)

c.     RMSProp: adaptive learning rate

d.     Learning rate scheduling: menurunkan learning rate seiring waktu

e.     Aplikasi: pelatihan neural network modern

E.    Algoritma Genetika (GA)

1.     Prinsip Algoritma Genetika

a.     Terinspirasi dari evolusi biologis (seleksi alam)

b.     Populasi solusi berevolusi melalui generasi

c.     Operasi: seleksi, crossover, mutase

d.     Cocok untuk ruang pencarian yang besar dan kompleks

e.     Aplikasi: optimasi desain filter, tuning PID, desain antena

2.     Komponen Algoritma Genetika

a.     Representasi kromosom — parameter desain yang dioptimasi

b.     Fitness function — mengukur kualitas Solusi

c.     Seleksi — memilih individu terbaik (roulette wheel, tournament)

d.     Crossover — menggabungkan dua induk menjadi anak

e.     Mutasi — mengubah gen secara acak (menjaga diversitas)

3.     Langkah-Langkah Algoritma Genetika

a.     Inisialisasi populasi secara acak

b.     Evaluasi fitness untuk setiap individu

c.     Seleksi individu terbaik

d.     Crossover untuk menghasilkan anak

e.     Mutasi pada anak

f.      Evaluasi fitness anak

g.     Ganti populasi dengan individu terbaik

h.     Ulangi hingga konvergensi

4.     Aplikasi dalam Elektronika

a.     Optimasi desain filter — mencari nilai L dan C yang optimal

b.     Tuning PID — menemukan Kp, Ki, Kd terbaik

c.     Desain antena — mencari dimensi optimal

d.     Optimasi rangkaian — menemukan komponen optimal untuk spesifikasi

e.     Contoh: desain antena patch untuk frekuensi tertentu

F.     Pengantar AI/ML di Elektronika

1.     AI/ML dalam Desain Elektronika

a.     Neural Network untuk prediksi karakteristik komponen

b.     Machine Learning untuk klasifikasi sinyal

c.     Optimasi berbasis AI untuk desain rangkaian

d.     Pengenalan pola untuk analisis sinyal (voice recognition, radar)

e.     Contoh: prediksi karakteristik transistor dari data pengukuran

2.     Neural Network untuk Prediksi

a.     Input: parameter desain (R, C, L, dll)

b.     Output: karakteristik rangkaian (gain, frekuensi, dll)

c.     Arsitektur: fully connected, CNN, RNN

d.     Data: hasil simulasi atau pengukuran

e.     Contoh: memprediksi respons filter dari nilai komponen

3.     Reinforcement Learning

a.     Agent belajar melalui trial and error

b.     Reward function mengukur kualitas aksi

c.     Aplikasi: kontrol adaptif, tuning otomatis

d.     Contoh: RL untuk tuning PID secara otomatis

e.     Membutuhkan simulasi atau lingkungan nyata

4.     Generative AI untuk Desain

a.     Generative AI (GAN, VAE) untuk menghasilkan desain baru

b.     Aplikasi: desain topologi rangkaian otomatis

c.     Aplikasi: desain layout PCB otomatis

d.     Masih dalam penelitian dan pengembangan

e.     Potensi besar untuk masa depan desain elektronika

G.    Implementasi Praktis

1.     Monte Carlo di Python

a.     import numpy as np; from numpy.random import normal, uniform

b.     N = 10000 # number of simulations

c.     R1 = uniform(0.95*10e3, 1.05*10e3, N)

d.     R2 = uniform(0.95*10e3, 1.05*10e3, N)

e.     Vout = 5 * R2/(R1 + R2)

f.      mean_Vout = np.mean(Vout); std_Vout = np.std(Vout)

g.     plt.hist(Vout, bins=50)

2.     Gradien Descent di Python

a.     import numpy as np

b.     def loss(theta, X, y): return np.mean((y - X@theta)**2)

c.     def gradient(theta, X, y): return -2*X.T@(y - X@theta)/len(y)

d.     for i in range(n_iterations): theta -= alpha * gradient(theta, X, y)

e.     Aplikasi: linear regression, logistic regression

3.     Algoritma Genetika di Python

a.     import numpy as np

b.     def fitness(x): return -loss(x) # minimize loss

c.     def crossover(p1, p2): return (p1 + p2)/2

d.     def mutate(x): return x + np.random.normal(0, 0.1, len(x))

e.     for generation in range(n_generations): # select, crossover, mutate

f.      Library: scipy.optimize.differential_evolution, geneticalgorithm

4.     Library AI/ML

a.     Python: scikit-learn (klasik), TensorFlow (deep learning), PyTorch (deep learning)

b.     MATLAB: Statistics and Machine Learning Toolbox, Deep Learning Toolbox

c.     Aplikasi: prediksi, klasifikasi, optimasi

d.     Contoh: menggunakan scikit-learn untuk prediksi karakteristik komponen

e.     Pelatihan neural network dengan TensorFlow untuk desain rangkaian

Komentar