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
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
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
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
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
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
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
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
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
.
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
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
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
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
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
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
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 SukaSymbian OS Windows Phone
Copyright © 2013 metode-algoritma.com Allright Reserved|about|sitemap|
4 Suka