A. Algoritma
Genetika (Genetic Algorithm, GA)
Algoritma Genetika pada dasarnya adalah
program komputer yang mensimulasikan proses evolusi. Dalam hal ini populasi
dari kromosom dihasilkan secara random dan memungkinkan untuk berkembang biak
sesuai dengan hukum-hukum evolusi dengan harapan akan menghasilkan individu
kromosom yang prima. Kromosom ini pada kenyataannya adalah kandidat
penyelesaian dari masalah, sehingga bila kromosom yang baik berkembang, solusi
yang baik terhadap masalah diharapkan akan dihasilkan.
Algoritma genetika sangat tepat
digunakan untuk penyelesaian masalah optimasi yang kompleks dan sukar
diselesaikan dengan menggunakan metode yang konvensional. Sebagaimana halnya
proses evolusi di alam, suatu algoritma genetika yang sederhana umumnya terdiri
dari tiga operator yaitu: operator reproduksi, operator
crossover (persilangan) dan operator mutasi.
B. Divide
and Conquer
paradigma untuk membagi suatu
permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil.
C. Dynamic
programming
paradigma pemrograman dinamik akan
sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang
optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih .
D. Metode
serakah
Sebuah algoritma serakah mirip
dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu
diketahui dalam setiap tahap;
dan menggunakan pilihan
"serakah" apa yang dilihat terbaik pada saat itu.
E. Algoritma
Greedy
ALgoritma greedy merupakan salah satu
dari sekian banyak algoritma yang sering di pakai dalam implementasi sebuah
system atau program yang menyangkut mengenai pencarian “optimasi”
Di dalam mencari sebuah solusi (optimasi) algoritma greedy hanya memakai 2 buah macam persoalan Optimasi,yaitu:
Di dalam mencari sebuah solusi (optimasi) algoritma greedy hanya memakai 2 buah macam persoalan Optimasi,yaitu:
1. Maksimasi (maxizimation)
2. Minimasi (minimization)
Sekarang kita lanjut ke contoh soal yang
aja ya..biar lebih enak membedakan antara soal mengenai optimasi/maksimasi
dengan minimum/minimasi.
F. Algoritma
Dijkstra
Algoritma Dijkstra, (dinamai menurut
penemunya, seorang ilmuwan komputer, Edsger Dijkstra), adalah sebuah algoritma
rakus (greedy algorithm) yang dipakai dalam memecahkan permasalahan
jarak terpendek (shortest path problem) untuk sebuah graf berarah (directed graph)
dengan bobot-bobot sisi (edge weights) yang bernilai tak-negatif.
Misalnya, bila vertices dari sebuah graf melambangkan kota-kota dan bobot sisi (edge
weights) melambangkan jarak antara kota-kota tersebut, maka algoritma
Dijkstra dapat digunakan untuk menemukan jarak terpendek antara dua kota.
Input algoritma ini adalah sebuah graf
berarah yang berbobot (weighted directed graph) G dan
sebuah sumber vertex s dalam G dan V adalah
himpunan semua vertices dalam graph G.
Setiap sisi dari graf ini adalah
pasangan vertices (u,v) yang melambangkan hubungan dari vertex u ke vertex v.
Himpunan semua tepi disebut E.
Bobot (weights) dari semua sisi
dihitung dengan fungsi
w: E → [0, ∞)
jadi w(u,v)
adalah jarak tak-negatif dari vertex u ke vertex v.
Ongkos (cost) dari sebuah sisi
dapat dianggap sebagai jarak antara duavertex, yaitu jumlah jarak semua
sisi dalam jalur tersebut. Untuk sepasang vertex s dan t dalam V,
algoritma ini menghitung jarak terpendek dari s ke t.
G. Algoritma
Kriptografi
Algoritma
kriptografi atau cipher , dan juga sering disebut dengan
istilahsandi adalah suatu fungsi matematis yang digunakan untuk melakukan
enkripsi dan dekripsi (Schneier, 1996). Ada dua macam algoritma kriptografi,
yaitu algoritma simetris (symmetric algorithms) dan algoritma
asimetris(asymmetric algorithms).
algoritma random sering dibutuhkan ketika
membuat AI untuk musuh, misalnya untuk memunculkan pasukan musuh secara random.
fungsi sederhana berikut ini digunakan untuk mencari nilai random dari bilangan
antara min – max.
var a = Math.floor(Math.random() * (max
– min + 1)) + min;
misalnya min = 1 dan max = 10, maka akan
menghasilkan nilai random pada var a pada kisaran 1-10.
Komentar
Posting Komentar