• Tidak ada hasil yang ditemukan

Algoritma Lebah (ABC) Bee Colony Java _ Contoh Program

N/A
N/A
Protected

Academic year: 2021

Membagikan "Algoritma Lebah (ABC) Bee Colony Java _ Contoh Program"

Copied!
17
0
0

Teks penuh

(1)

Contoh Program Source Code /

Algoritma Lebah (ABC)

Bee Colony Java

Algoritma Lebah (ABC) Bee Colony Java

Algoritma Koloni Lebah ( ABC )

Dalam ilmu komputer dan riset operasi, algoritma  koloni lebah (ABC) adalah sebuah algoritma optimasi berdasarkan pada perilaku cerdas segerombolan lebah madu dalam mencari makan , Algoritma Koloni lebah ini diusulkan oleh Karaboga pada tahun 2005. Arti cial Bee Colony termasuk jenis metaheuristik.

Dalam model Algoritma Lebah (ABC) Bee Colony Java, koloni terdiri dari tiga kelompok lebah: lebah bekerja , penonton dan pengintai (scout) . Hal ini diasumsikan bahwa hanya ada satu lebah yang bekerja buatan untuk setiap sumber makanan. Dengan kata lain, jumlah lebah yang bekerja di koloni adalah sama dengan jumlah sumber makanan di sekitar sarang. Lebah dipekerjakan pergi ke sumber makanan mereka dan kembali ke sarang dan menari di daerah ini. Lebah bekerja yang sumber makanan telah ditinggalkan menjadi pengintai dan mulai mencari untuk menemukan sumber makanan baru. Penonton menyaksikan tarian lebah yang bekerja dan memilih sumber makanan tergantung pada tarian. Langkah-langkah utama dari algoritma yang diberikan di bawah:

CARI TUTORIAL + SOURCE CODE

Penelusuran Khusus

GIVE YOUR SUPPORT Suka 6,1 rb orang menyukai ini. Jadilah yang

pertama di antara teman-teman Anda.

ARTIKEL TERKAIT

. Sumber makanan awal diproduksi untuk semua lebah dipekerjakan

ULANGI

Setiap lebah bekerja pergi ke sumber makanan dalam memori dan menentukan sumber tetangga, kemudian mengevaluasi jumlah nektar dan tarian di dalam sarang

Deteksi Wajah Viola Jones Java Algoritma Lebah (ABC) Bee Colony Java

Particle Swarm Optimization (PSO) Java

Algoritma Fire y FA Java C++ VB Metode Monte Carlo Matlab Java C++

Independent Component Analysis (ICA)

Algoritma CART (Classi cation And Regression Trees)

K-Nearest Neighbors (KNN) Java C++

Algoritma Pagerank Java C++ Python

Support Vector Machine (SVM) Java

4 Suka

(2)

Dalam Algoritma Koloni Lebah ABC, algoritma berbasis populasi , posisi sumber makanan merupakan solusi yang mungkin untuk masalah optimasi dan jumlah nektar dari sumber makanan sesuai dengan kualitas ( tness ) dari solusi terkait. Jumlah lebah dipekerjakan sama dengan jumlah solusi dalam populasi . Pada langkah pertama, populasi awal secara acak ( posisi sumber makanan ) yang dihasilkan. Setelah inisialisasi, penduduk dikenakan untuk mengulang siklus dari proses pencarian dari bekerja, penonton, dan lebah pengintai, masing-masing. Lebah bekerja menghasilkan modi kasi pada posisi sumber dalam ingatannya dan menemukan posisi sumber makanan baru.  Asalkan jumlah nektar yang baru adalah lebih tinggi dari sumber sebelumnya, lebah menghafal posisi sumber baru dan melupakan yang lama. Jika tidak dia terus posisi satu dalam ingatannya. Setelah semua lebah bekerja menyelesaikan proses pencarian, mereka berbagi informasi posisi sumber dengan penonton di tarian daerah. Setiap penonton mengevaluasi informasi nektar yang diambil dari semua lebah bekerja dan kemudian memilih sumber makanan tergantung pada jumlah nektar dari sumber. Seperti dalam kasus lebah bekerja, dia menghasilkan modi kasi pada posisi sumber dalam memori dan memeriksa jumlah nektar nya. Menyediakan bahwa nektar adalah lebih tinggi dari yang sebelumnya, lebah menghafal posisi baru dan melupakan yang lama. Sumber ditinggalkan ditentukan dan sumber-sumber baru yang diproduksi secara acak untuk diganti dengan yang ditinggalkan oleh

arti cial lebah pengintai.

Lebah pekerja akan mencari makanan di sekitar sumber makanan dalam memori mereka; Sementara mereka berbagi informasi dari sumber makanan ini untuk lebah penonton . Lebah penonton cenderung memilih sumber makanan yang baik dari yang ditemukan oleh lebah pekerja. Sumber makanan yang memiliki kualitas yang lebih tinggi ( kebugaran ) akan memiliki kesempatan besar untuk dipilih oleh lebah penonton dari yang berkualitas rendah. Lebah pengintai dijabarkan dari lebah yang bekerja beberapa, yang meninggalkan sumber makanan mereka dan mencari yang baru.

LIST TUTORIAL Setiap penonton menyaksikan tarian lebah yang

bekerja dan memilih salah satu dari sumber mereka tergantung pada tarian, dan kemudian pergi ke sumber itu. Setelah memilih tetangga sekitar itu, dia mengevaluasi jumlah nektar nya.

Sumber makanan ditinggalkan bertekad dan diganti dengan sumber makanan baru yang ditemukan oleh pengintai.

Sumber makanan terbaik yang ditemukan sejauh terdaftar.

SAMPAI (persyaratan dipenuhi)

ACO Adaboost

Adaptive Resonance Theory Advanced Encryption Standard AES

Agglomerative Clustering AHP

Analytical Hierarchy Process ANFIS

ANN Annealing

Ant Colony Optimization Aplikasi n-Tier

Apriori

ARIMA (Box-Jenkins) Aritmetika Modulo ART

Arti cial Bee Colony (ABC) Arti cial Neural Network B-Tree

Backpropagation

Bacterial foraging optimization algorithm (BFOA)

Bayesian Network Bi-Polar Slope One Biometrik

Bit-Plane Complexity HOME  JASA PROGRAMMER  HARGA  ORDER  ABOUT

4 Suka

(3)

Dalam Algoritma Koloni Lebah ABC, semester pertama segerombolan terdiri dari lebah yang bekerja, dan babak kedua merupakan lebah penonton.

Jumlah lebah dipekerjakan atau lebah penonton adalah sama dengan jumlah solusi dalam swarm . ABC menghasilkan populasi awal secara acak dari solusi SN (sumber makanan), di mana menunjukkan ukuran kawanan.

 mewakili   solusi dalam swarm, Dimana   adalah ukuran dimensi. Setiap lebah bekerja    menghasilkan solusi calon baru  di lingkungan posisinya hadir sebagai persamaan di bawah:

Algoritma Lebah (ABC) Bee Colony Java

Dimana   adalah solusi kandidat yang dipilih secara acak ( ),    adalah

indeks dimensi acak dipilih dari himpunan  ,  dan    adalah

nomor acak dalam  . Setelah solusi calon baru   dihasilkan, pilihan serakah digunakan. Jika nilai tness dari   adalah lebih baik dari induknya 

 , kemudian memperbarui    dengan   ; dinyatakan tetap 

 berubah. Setelah semua lebah bekerja menyelesaikan proses pencarian; mereka berbagi informasi dari sumber makanan mereka dengan lebah penonton melalui tarian mengibas. Lebah penonton mengevaluasi informasi nektar yang diambil dari semua lebah bekerja dan memilih sumber makanan dengan probabilitas yang terkait dengan jumlah nektar nya. Temukan probabilistik ini benar-benar mekanisme seleksi roda roulette yang digambarkan sebagai persamaan di bawah:

Algoritma Lebah (ABC) Bee Colony Java 

Dimana   adalah nilai tness dari   solusi dalam swarm. Seperti yang terlihat, semakin baik solusi saya, semakin tinggi probabilitas   makanan yang dipilih. Jika posisi tidak dapat ditingkatkan selama beberapa standar (disebut limit) siklus, maka sumber makanan ditinggalkan. Asumsikan bahwa sumber ditinggalkan adalah  , dan kemudian lebah pengintai

menemukan sumber makanan baru yang akan diganti dengan   sebagai persamaan di bawah:

Algoritma Lebah (ABC) Bee Colony Java

Dimana   adalah nomor acak dalam   didasarkan pada distribusi normal dan  , lebih rendah dan batas atas dari saya 

dimensi, masing-masing. Blind signature Blow sh BPCS Breadth-First Search ( BFS ) Brute Force Buble Sort Burrows Wheeler Transformation BWT C-Means C4.5 Caesar

CART (Classi cation And Regression Trees) Case Based Reasoning CBR

Certainty Factor (CF) Cipher

Cipher Block Chaining (CBC) CISM Clonal Selection CLONALG Clustering COBIT Conjugate Gradient CRC

Cyclic Redundancy Code Data Encryption Standard ( DES ) Data Mining

DCPChiper Delta Rule Deteksi Mata Deteksi Wajah

Digital Signal Processing (DSP) Digital Signature

Dijkstra

Discrete Cosine Transform (DCT) HOME JASA PROGRAMMER HARGA ORDER ABOUT  TUTORIAL 4 Suka       

(4)

Dalam decade terakhir kecerdasan swarm sudah menjadi minat penelitian oleh banyak ilmuan dari bermacam bidang. Bonabeau mende nisikan kecerdasan swarm sbg upaya untuk merancang algoritma / perangkat pemecahan masalah terdistribusi yg terinspirasi oleh perilaku kolektif dari koloni serangga social & kumpulan hewan lain. tapi, istilah swarm dipakai secra umum untuk mengacu pada kumpulan terbatas dari setiap interaksi agenDalam decade terakhir kecerdasan swarm telah menjadi minat penelitian oleh banyak ilmuan dari berbagai bidang. Bonabeau telah mende nisikan kecerdasan swarm sebagai upaya untuk merancang algoritma / perangkat pemecahan masalah terdistribusi yg terinspirasi oleh perilaku kolektif dari koloni serangga social & kumpulan hewan lain. Namun, istilah swarm digunakan secra umum untuk mengacu pada kumpulan terbatas dari setiap interaksi agen / individu. Salah satu contoh dari swarm adl kawanan lebah yg mengerubungi sarang mereka.

Untuk saat ini, telah dikembangkan suatu metode berdasarkankecerdasan buatan yaitu ABC (Arti cial Bee Colony) & beberapa aplikasi yg

menggunakan metode ini. Haiyan Quan & Xinling Shi mendiskusikan berbagai macam permasalahan ABC. Perbaikan dlm ABC disarankan dng menganalisis beberapa fungsi oleh haiyan Quan & Xinling Shi. Sebuah paper dari Li-Pei, Wong Malcolm Yoke Hean Low & Chin Soon Chong melakukan penelitian terhadap suatu kegiatan menggunakan pendekatan Algoritma Koloni Lebah ABC dng menyelesaikan suatu permasalahan perjalanan seorang sales berdasarkan pada analisis algoritma Bee Colony. Pengembangan suatu desain lter IIR (In nite Input Respon) oleh Nurhan Karaboga, dng algoritma Bee Colony menjadi dasar pada pengembangan performansi dari lter IIR agar lebih optimal.

ABC merupakan kecerdasan buatan yg menirukan koloni lebah dlm mencari sumber nektahr (sari bunga). Kemampuan koloni lebah dlm menentukan sumber makanan terbagi menjadi tiga kelompok yaitu lebah pekerja, lebah penjelajah & lebah pengintai. lebah-lebah ini melakukan suatu fungsi untuk menentukan letak & besar suatu sumber nectar kemudian mengingat & membandingkan dng sumber lain. Pada akhir fungsi dipilih suatu lokasi dng sumber nectar yg paling optimal.individu. Salah satu contoh dari swarm adl kawanan lebah yg mengerubungi sarang mereka.

Untuk saat ini, sudah dikembangkan suatu metode

berdasarkankecerdasan buatan yaitu ABC (Arti cial Bee Colony) & beberapa aplikasi yg menggunakan metode ini. Haiyan Quan & Xinling Shi mendiskusikan bermacam macam permasalahan ABC. Perbaikan dlm ABC disarankan dng menganalisis beberapa fungsi oleh haiyan Quan & Xinling Shi. Sebuah paper dari Li-Pei, Wong Malcolm Yoke Hean Low & Chin Soon Chong melakukan penelitian terhadap suatu kegiatan menggunakan pendekatan Algoritma Koloni Lebah ABC dng menyelesaikan suatu permasalahan perjalanan seorang sales berdasarkan pada analisis algoritma Bee Colony. Pengembangan suatu desain lter IIR (In nite Input Respon) oleh Nurhan Karaboga, dng algoritma Bee Colony menjadi dasar pada pengembangan performansi dari lter IIR agar lebih optimal. Algoritma Koloni Lebah ABC merupakan kecerdasan buatan yg menirukan koloni lebah dlm mencari sumber nektahr (sari bunga). Kemampuan koloni lebah dlm menentukan sumber makanan terbagi menjadi tiga

Discrete Wavelet Transform Djikstra

DTW

Dynamic Source Routing ECDSA

Eigenface Elgamal

Elliptic Curve Cryptography (ECC)

Enkripsi Dekripsi

Enterprise Resource Planning ERP Euclid Expectation Maximization Extendible Hashing Face Detection Face Extractor Face Recognition Facebook

Fast Data Encipherment ( FEAL ) FCFS

FCM Filterbank Fire y FA

First Come First Server Fisherface Floyd Warshall Forecasting Forward Chaining FP-Growth Fuzzy Fuzzy ART Fuzzy C-Means Gauss-Jordan Gaussian Generate & Test

4 Suka

(5)

kelompok yaitu lebah pekerja, lebah penjelajah & lebah pengintai. lebah-lebah ini melakukan suatu fungsi untuk menentukan letak & besar suatu sumber nectar kemudian mengingat & membandingkan dng sumber lain. Pada akhir fungsi dipilih suatu lokasi dng sumber nectar yg paling optimal.

CONTOH PROGRAM

Berikut ini adalah contoh program implementasi Algoritma Koloni Lebah / Arti cial Bee Colony (ABC) dengan menggunakan bahasa pemrogrman Java.

Source Code Java

1. import java.util.ArrayList;

2. import java.util.Random;

3. import java.util.Collections;

4.

5. public class ArtificialBeeColony {

6.

7. /* parameter ABC */

8.

9. public int MAX_LENGTH; /* Jumlah parameter dari masalah yang akan dioptimalkan */

10. public int NP; /* Jumlah ukuran total lebah / koloni. penonton + dipekerjakan */

11. public int FOOD_NUMBER; /* Jumlah sumber makanan sama dengan setengah dari ukuran koloni */

12. public int LIMIT; /* Sumber makanan yang tidak dapat ditingkatkan melalui "batas" percobaan */

13. public int MAX_EPOCH; /* Jumlah siklus untuk mencari makan {kriteria berhenti} */

14. public int MIN_SHUFFLE;

15. public int MAX_SHUFFLE;

16.

17. public Random rand;

18. public ArrayList<Honey> foodSources;

19. public ArrayList<Honey> solutions;

20. public Honey gBest;

21. public int epoch;

22.

23. /* Instantiates algoritma Koloni lebah Buatan Bersama DENGAN parameter. */

24. public ArtificialBeeColony(int n) {

25. MAX_LENGTH = n;

26. NP = 40; // Ukuran pop 20 sampai 40 atau bahkan 100

27. FOOD_NUMBER = NP/2; 28. LIMIT = 50; Genetika Graph Coloring greedy Green Computing Guaranteed Scheduling (GS) Haar Cascade Classi er Hash

Hash Satu Arah

Hidden Markov Model (HMM) Histogram Equalization Hopcroft Tarjan Planarity Hopcroft–Karp

Hop eld Hu man Hybrid

ID3 (Iterative Dichotomiser 3) Identity Based Encryption image processing Implementasi Independent Component Analysis (ICA) Iris Recognition IS Strategic Planning Jaringan Syaraf Tiruan (JST) Josephus Problem JST K-means K-Nearest Neighbors (KNN) KASUMI knowledge management Kohonen kriptogra Kruskal

Latent Semantic Indexing Least Signi cant Bit (LSB) Linear Programming

4 Suka

(6)

29. MAX_EPOCH = 1000; 30. MIN_SHUFFLE = 8; 31. MAX_SHUFFLE = 20; 32. gBest = null; 33. epoch = 0; 34. } 35.

36. /* Mulai algoritma optimasi segerombolan partikel pemecahan untuk n ratu. */

37. public boolean algorithm() {

38. foodSources = new ArrayList<Honey>();

39. solutions = new ArrayList<Honey>();

40. rand = new Random();

41. boolean done = false;

42. epoch = 0; 43. 44. initialize(); 45. memorizeBestFoodSource(); 46. 47. while(!done) { 48. if(epoch < MAX_EPOCH) { 49. if(gBest.getConflicts() == 0) { 50. done = true; 51. } 52. sendEmployedBees(); 53. getFitness(); 54. calculateProbabilities(); 55. sendOnlookerBees(); 56. memorizeBestFoodSource(); 57. sendScoutBees(); 58. 59. epoch++;

60. // di sini hanya untuk menunjukkan status runtime.

61. System.out.println("Epoch: " + epoch);

62. } else { 63. done = true; 64. } 65. 66. } 67. 68. if(epoch == MAX_EPOCH) {

69. System.out.println("Tidak ada solusi ditemukan"); 70. done = false; 71. } Linked List Logika Fuzzy LOKI LOOK

Low Bit Coding LSB LSI Mac Maksimum Likelihood Mamdani MANET MDF Mel-frequency Cepstrum Coe cients (MFCC) Metode Fisherface Metode Gra k metode LSB Metode Mamdani Metode Secant MFCC Minimax

Minimum Spanning Tree mobile

Mobile Ad hoc Network Modi ed Direction Feature Monte Carlo

MTVRP Naive Bayes

Naive Bayes Classi er negascout

Neural Network Newton Raphson One Way Hash Online Learning Open Shortest Path First Open System Interconnection

4 Suka

(7)

72.

73. System.out.println("Selesai.");

74. System.out.println("Komplet " + epoch + " epochs.");

75.

76. for(Honey h: foodSources) {

77. if(h.getConflicts() == 0) {

78. System.out.println("SOLUTION");

79. solutions.add(h);

80. printSolution(h);

81.

System.out.println("conflicts:"+h.getConflicts());

82. } 83. } 84. 85. return done; 86. } 87.

88. /* Mengirimkan lebah pekerja untuk mengoptimalkan solusi */

89. public void sendEmployedBees() {

90. int neighborBeeIndex = 0;

91. Honey currentBee = null;

92. Honey neighborBee = null;

93.

94. for(int i = 0; i < FOOD_NUMBER; i++) {

95. // Sebuah solusi yang dipilih secara acak digunakan

96. // dalam memproduksi solusi mutan dari solusi i

97. // neighbor = getRandomNumber (0, Food_Number-1);

98. neighborBeeIndex =

getExclusiveRandomNumber(FOOD_NUMBER-1, i);

99. currentBee = foodSources.get(i);

100. neighborBee = foodSources.get(neighborBeeIndex);

101. sendToWork(currentBee, neighborBee);

102. }

103. }

104.

105. /* Mengirim lebah penonton untuk mengoptimalkan solusi.

106. * Lebah penonton bekerja pada solusi terbaik dari lebah yang digunakan.

107. * solusi terbaik memiliki probabilitas tinggi pilihan. */

108. public void sendOnlookerBees() {

109. int i = 0;

110. int t = 0;

111. int neighborBeeIndex = 0;

112. Honey currentBee = null;

Optimasi OS X OSI OSPF Otsu Pagerank Parity Coding

Particle Swarm Optimization (PSO)

Pattern Recognition PCA

Pemrograman Linear Pencarian Akar

Pencarian Jalur Terpendek Pencarian Linear

Pencocokan Sidik Jari Pengenalan Iris Mata Pengenalan Objeck Pengenalan Pola Pengenalan Suara Pengenalan Ucapan Pengenalan Wajah Pengolahan Citra Pengolahan Citra Digital Pengukuran Garis-Garis Telapak Tangan Penjadwalan Penjadwalan CPU Peramalan Perataan Histogram Perceptron Persamaan Linier Pewarnaan Graf

Pewarnaan Simpul Graph Pohon Hu man

Prim

Principal Component Analisys 4 Suka

(8)

113. Honey neighborBee = null;

114.

115. while(t < FOOD_NUMBER) {

116. currentBee = foodSources.get(i);

117. if(rand.nextDouble() < currentBee.getSelectionProbability()) { 118. t++; 119. neighborBeeIndex = getExclusiveRandomNumber(FOOD_NUMBER-1, i); 120. neighborBee =

foodSources.get(neighborBeeIndex);

121. sendToWork(currentBee, neighborBee);

122. } 123. i++; 124. if(i == FOOD_NUMBER) { 125. i = 0; 126. } 127. } 128. } 129.

130. /* Optimalisasi bagian dari algoritma. meningkatkan lebah saat ini

131. * dengan memilih tetangga lebah acak. perubahan adalah nomor

132. * secara acak kali untuk mencoba dan meningkatkan solusi saat. */

133. public void sendToWork(Honey currentBee, Honey

neighborBee) { 134. int newValue = 0; 135. int tempValue = 0; 136. int tempIndex = 0; 137. int prevConflicts = 0; 138. int currConflicts = 0; 139. int parameterToChange = 0; 140.

141. // dapatkan jumlah konflik

142. prevConflicts = currentBee.getConflicts();

143.

144. // Parameter yang akan diubah ditentukan secara acak

145. parameterToChange = getRandomNumber(0, MAX_LENGTH-1);

146. 147. /* v_{ij}=x_{ij}+\phi_{ij}*(x_{kj}-x_{ij}) 148. * solution[param2change]=Foods[i][param2change]+ (Foods[i] 149. * [param2change]-Foods[neighbour][param2change])*(r-0.5)*2; 150. */

151. tempValue = currentBee.getNectar(parameterToChange);

Quantum Random Waypoint RC4

RC6

real time tracking Recognition

Recurrent Neural Network Recursive Best First Search (RBFS)

Recursive Large First Recursive Largest First Region of Interest (ROI) Rijndael

Risk Management RLF

RMSE RNN

Root Mean square Error RSA

RWP SAFER Secant

Secret Sharing Scheme Secure And Fast Encryption Routine (SAFER)

Self Organizing Map (SOM) Semut

SHA (Secure Hash Algorithm) SHA-256

Sidik Jari

Simulated Annealing SISP

Sistem Biometrika Sistem Veri kasi Biometrik Slope One

Slope One predictors

4 Suka

(9)

152. newValue = (int)(tempValue+(tempValue

-neighborBee.getNectar(parameterToChange))* (rand.nextDouble()-0.5)*2);

153.

154. // perangkap nilai dalam batas terikat dan batas bawah atas 155. if(newValue < 0) { 156. newValue = 0; 157. } 158. if(newValue > MAX_LENGTH-1) { 159. newValue = MAX_LENGTH-1; 160. } 161.

162. // mendapatkan indeks dari nilai baru

163. tempIndex = currentBee.getIndex(newValue);

164.

165. // swap

166. currentBee.setNectar(parameterToChange, newValue);

167. currentBee.setNectar(tempIndex, tempValue);

168. currentBee.computeConflicts();

169. currConflicts = currentBee.getConflicts();

170.

171. // proses seleksi greedy

172. if(prevConflicts < currConflicts) {

// tidak ada perbaikan

173. currentBee.setNectar(parameterToChange,

tempValue);

174. currentBee.setNectar(tempIndex, newValue);

175. currentBee.computeConflicts();

176. currentBee.setTrials(currentBee.getTrials() + 1);

177. } else { // ada perbaikan 178. currentBee.setTrials(0); 179. } 180. 181. } 182.

183. /* Menemukan sumber makanan yang telah ditinggalkan / mencapai batas.

184. * Lebah pengintai akan menghasilkan solusi benar-benar acak

185. * dari yang sudah ada dan juga akan mengatur ulang uji coba kembali ke nol.

186. */

187. public void sendScoutBees() {

188. Honey currentBee = null;

189. int shuffles = 0; 190. sorting Source Code Spanning Tree Speech Speech Recognition Steganogra Steganography Stream Cipher

Support Vector Machine (SVM) Tabu Search

Tanda Tangan Digital Technopreneurship Teorema Bayes Thresholding

Transformasi Burrows Wheeler Transformasi Fourier

Transformasi Wavelet Diskrit Transformasi Wavelet Kontinu Traveling Salesman Problem Travelling Salesman (TSP) Travelling Salesman problem TSP

Tsukamoto Two sh Vernam Cipher

Video Encryption Algorithm (VEA) Video Watermarking Vigenere Cipher Viola Jones Voice Recognition Watermarking WDM Web Service Weighted Slope One Welch dan Powell

4 Suka

(10)

.

191. for(int i =0; i < FOOD_NUMBER; i++) {

192. currentBee = foodSources.get(i);

193. if(currentBee.getTrials() >= LIMIT) {

194. shuffles = getRandomNumber(MIN_SHUFFLE,

MAX_SHUFFLE);

195. for(int j = 0; j < shuffles; j++) {

196. randomlyArrange(i); 197. } 198. currentBee.computeConflicts(); 199. currentBee.setTrials(0); 200. 201. } 202. } 203. } 204.

205. /* Menetapkan kebugaran setiap solusi berdasarkan konflik

206. */

207. public void getFitness() {

208. // kesalahan terendah = 100%, kesalahan tertinggi = 0%

209. Honey thisFood = null;

210. double bestScore = 0.0;

211. double worstScore = 0.0;

212.

213. // Nilai terburuk akan menjadi satu dengan energi tertinggi, terbaik akan terendah.

214. worstScore =

Collections.max(foodSources).getConflicts();

215.

216. // Mengkonversi ke persentase.

217. bestScore = worstScore

-Collections.min(foodSources).getConflicts();

218.

219. for(int i = 0; i < FOOD_NUMBER; i++) {

220. thisFood = foodSources.get(i);

221. thisFood.setFitness((worstScore

-thisFood.getConflicts()) * 100.0 / bestScore);

222. }

223. }

224.

225. /* Menetapkan probabilitas pemilihan masing-masing solusi.

226. * semakin tinggi kebugaran semakin besar probabilitas

227. */

228. public void calculateProbabilities() {

229. Honey thisFood = null;

230. double maxfit = foodSources.get(0).getFitness();

Welsh Powell WMS

4 Suka

(11)

231.

232. for(int i = 1; i < FOOD_NUMBER; i++) {

233. thisFood = foodSources.get(i);

234. if(thisFood.getFitness() > maxfit) {

235. maxfit = thisFood.getFitness();

236. }

237. }

238.

239. for(int j = 0; j < FOOD_NUMBER; j++) {

240. thisFood = foodSources.get(j);

241. thisFood.setSelectionProbability((0.9* (thisFood.getFitness()/maxfit))+0.1);

242. }

243. }

244.

245. /* Menginisialisasi semua penempatan solusi 'ratu dalam posisi acak.

246. */

247. public void initialize() {

248. int newFoodIndex = 0;

249. int shuffles = 0;

250.

251. for(int i = 0; i < FOOD_NUMBER; i++) {

252. Honey newHoney = new Honey(MAX_LENGTH);

253.

254. foodSources.add(newHoney);

255. newFoodIndex = foodSources.indexOf(newHoney);

256.

257. shuffles = getRandomNumber(MIN_SHUFFLE,

MAX_SHUFFLE);

258.

259. for(int j = 0; j < shuffles; j++) {

260. randomlyArrange(newFoodIndex);

261. }

262.

263. foodSources.get(newFoodIndex).computeConflicts();

264. } // i

265. }

266.

267. /* Mendapat nomor acak di kisaran parameter

268. */

269. public int getRandomNumber(int low, int high) {

270. return (int)Math.round((high - low) *

rand.nextDouble() + low);

271. }

272.

273. /* Mendapat nomor acak dengan pengecualian parameter

4 Suka

(12)

274. */

275. public int getExclusiveRandomNumber(int high, int except) {

276. boolean done = false;

277. int getRand = 0;

278.

279. while(!done) {

280. getRand = rand.nextInt(high);

281. if(getRand != except){ 282. done = true; 283. } 284. } 285. 286. return getRand; 287. } 288.

289. /* Perubahan posisi dari ratu di sebuah partikel dengan menukar posisi yang dipilih secara acak

290. */

291. public void randomlyArrange(int index) {

292. int positionA = getRandomNumber(0, MAX_LENGTH - 1);

293. int positionB = getExclusiveRandomNumber(MAX_LENGTH

-1, positionA);

294. Honey thisHoney = foodSources.get(index);

295. int temp = thisHoney.getNectar(positionA);

296. thisHoney.setNectar(positionA,

thisHoney.getNectar(positionB));

297. thisHoney.setNectar(positionB, temp);

298. }

299.

300. /* Menghafal solusi terbaik

301. */

302. public void memorizeBestFoodSource() {

303. gBest = Collections.min(foodSources);

304. }

305.

306. /* Mencetak papan nxn dengan ratu

307. */

308. public void printSolution(Honey solution) {

309. String board[][] = new String[MAX_LENGTH] [MAX_LENGTH];

310.

311. // Bersihkan papan.

312. for(int x = 0; x < MAX_LENGTH; x++) {

313. for(int y = 0; y < MAX_LENGTH; y++) {

314. board[x][y] = "";

315. }

4 Suka

(13)

316. }

317.

318. for(int x = 0; x < MAX_LENGTH; x++) {

319. board[x][solution.getNectar(x)] = "Q";

320. }

321.

322. // tampilkan papan.

323. System.out.println("Board:");

324. for(int y = 0; y < MAX_LENGTH; y++) {

325. for(int x = 0; x < MAX_LENGTH; x++) {

326. if(board[x][y] == "Q") {

327. System.out.print("Q ");

328. } else {

329. System.out.print(". ");

330. }

331. }

332. System.out.print("\n");

333. }

334. }

335.

336. /*Dapatkan solusi

337. */

338. public ArrayList<Honey> getSolutions() {

339. return solutions;

340. }

341.

342. /* dapatkan nilai epoch

343. */

344. public int getEpoch() {

345. return epoch;

346. }

347.

348. /* set epoch maksimum

349. */

350. public void setMaxEpoch(int newMaxEpoch) {

351. this.MAX_EPOCH = newMaxEpoch;

352. }

353.

354. /* dapatkan besar populasi

355. */

356. public int getPopSize() {

357. return foodSources.size();

358. }

359.

360. /* mendapat ukuran awal

361. */

4 Suka

(14)

362. public int getStartSize() {

363. return NP;

364. }

365.

366. /* dapatkan jumlah makanan

367. */

368. public double getFoodNum() {

369. return FOOD_NUMBER;

370. }

371.

372. /* mendapat batas untuk uji coba untuk semua sumber makanan

373. */

374. public int getLimit() {

375. return LIMIT;

376. }

377.

378. /* menetapkan batas untuk uji coba untuk semua sumber makanan

379. */

380. public void setLimit(int newLimit) {

381. this.LIMIT = newLimit;

382. }

383.

384. /* mendapatkan epoch maksimum

385. */

386. public int getMaxEpoch() {

387. return MAX_EPOCH;

388. }

389.

390. /* dapatkan min shuffle

391. */

392. public int getShuffleMin() {

393. return MIN_SHUFFLE;

394. }

395.

396. /* dapatkan max shuffle

397. */

398. public int getShuffleMax() {

399. return MAX_SHUFFLE; 400. } 401. } 402. 4 Suka

(15)

POSTING LEBIH BARU POSTING LAMA

Konsultasi Gratis

Jika ada yang ingin di tanyakan, Kamu bisa melakukan konsultasi gratis kepada team metode-algoritma.com melalui form di bawah. Mohon isi email dengan benar, karena hasil konsultasi akan di kirimkan ke email kamu.

Name: *

E-Mail: *

Subject: *

Message: *

I'm not a robot

reCAPTCHA

Privacy - Terms

Send message! All fields marked with * are required.

Metode Algoritma

Email: metodealgoritma@yahoo.co.id Indonesia

Mampang Raya XII No. 30 A Jakarta, Indonesia

sms :(+62) 85625 49338 Singapore

238B Thomson Road #17-00 Tower B Novena Square Singapore

sms :(+65) 6415 3540

4 Suka

(16)

Company

Tentang Kami Fakta serta Figur Mengapa memilih kami Model Pengerjaan Aplikasi Model Konsultasi

Prosedur serta Proses kerjasama Pertanyaan serta Jawaban Persetujuan

Testimonials Contact Sitemap Blog

Tutorial + Source Code

Service

Jasa murah programmer : pembuatan program untuk umum dan mahasiswa ( Tesis, Skripsi, Tugas Akhir )

JAKARTA BANDUNG SURABAYA YOGYAKARTA MALANG PALEMBANG SEMARANG MEDAN BOGOR BALI DENPASAR LAMPUNG SOLO SURABAYA BANDUNG

Portfolio

Implementasi Algoritma Steganogra Kriptogra Watermaking Keamanan Data Pengenalan Objek Wajah Suara Wavelet Quantization

Implentasi Model Forecasting Implementasi Data Minging Kecerdasan Buatan (AI) Decision Support Systems Sistem Ahli (ES)

Implementasi Shortest Path Mikrotik serta Robotika Networking Keamanan Jaringan Histogram Pemetaan

Mobile Expert System Dan lainnya

Technology

C# .Net PHP AS3 Java Delphi Matlab Objective C Visual Basic iOS Android Blackberry 4 Suka

(17)

Symbian OS Windows Phone

Copyright © 2013 metode-algoritma.com Allright Reserved|about|sitemap|

4 Suka

Referensi

Dokumen terkait

Gecikmeli ve Mühürlemeli Zamanlayıcı, Kurma(S) girişinin yükselen kenarı ile zaman geriye doğru akar ve öngörülen TV değeri dolduğunda Q çıkışı 1 olur.. Kurma

Gambaran alam bumi pada perwujudan padmasana ditandai dengan adanya tingkatan perut dan permukaan bumi yang disimbolisasikan sebagai ornamen bedawang nala dan elemen gunung

Galur Bogor menghasilkan jumlah polong per tanaman, bobot basah dan bobot kering polong serta bobot kering 100 biji secara nyata lebih tinggi dibandingkan galur Gresik.. Biji

– Nilai parameter tersebut diperkirakan (di- Nilai parameter tersebut diperkirakan (di -estimasi estimasi- - kan) berdasarkan nilai yang diperoleh dari.. kan) berdasarkan nilai

Pemanfaatan terbesar danau, sungai, lautan dan air tanah adalah untuk irigasi pertanian.Daerah aliran sungai merupakan lahan yang berfotensi menjadi sumber air .Daerah

Dari kegiatan yang telah dilaksanakan baik observasi yang kemudian di triangulasikan pada tahap wawancara selanjutnya dapat ditarik kesimpulan bahwa penerapan nilai karakter

Persepektif ekonomi Islam mengenai praktik penggilingan padi yang dilakukan masyarakat desa lampuyang kecamatan teluk sampit praktik pengilingan padi yang dilakukan

Pada bab ini akan dijelaskan mengenai hasil dan pembahasan dari sistem yang telah dibangun, yaitu sistem informasi geografis pemetaan faktor- faktor yag mempengaruhi Angka