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:Maksimasi (maxizimation)
dan Minimasi (minimization).
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).
H. Algoritma random
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.
0 komentar:
Posting Komentar