public void aramaModu(Kedi kedicik) { Kedi[] adaylar = new Kedi[AHH]; for (int i = 0; i < adaylar.Length; i++) { //adaylar[i] = (Kedi) kedicik.Clone(); adaylar[i] = new Kedi(boyutSayisi, parametreAraliklari, goruntuIslemleri); adaylar[i].Konum[0] = kedicik.Konum[0]; adaylar[i].Konum[1] = kedicik.Konum[1]; adaylar[i].Konum[2] = kedicik.Konum[2]; adaylar[i].Uygunluk = kedicik.Uygunluk; } double[,] olasiKonumlar = new double[AHH, boyutSayisi]; Kedi enIyi = new Kedi(boyutSayisi, parametreAraliklari, goruntuIslemleri); //Kedi enIyi = (Kedi)kedicik.Clone(); enIyi.Konum[0] = adaylar[0].Konum[0]; enIyi.Konum[1] = adaylar[0].Konum[1]; enIyi.Konum[2] = adaylar[0].Konum[2]; enIyi.Uygunluk = adaylar[0].Uygunluk; // Olası konumları üret. for (int i = 0; i < AHH; i++) { for (int j = 0; j < boyutSayisi; j++) { olasiKonumlar[i, j] = rastgeleSayi(SBA[j, 0], SBA[j, 1]); //Olası konumları yeni üretilen kedilere ata. adaylar[i].Konum[j] += olasiKonumlar[i, j]; } adaylar[i].Konum = konumlariNormalizeEt(adaylar[i].Konum); adaylar[i].Uygunluk = goruntuIslemleri.ParametreleriDegerlendir(adaylar[i].Konum[0], adaylar[i].Konum[1], adaylar[i].Konum[2]); //secilmeIhtimaliHesapla(adaylar[i]); if (enIyi.Uygunluk < adaylar[i].Uygunluk) { enIyi.Konum = adaylar[i].getKonum(); enIyi.Uygunluk = adaylar[i].getUygunluk(); } } kedicik.Konum = enIyi.getKonum(); kedicik.Uygunluk = enIyi.getUygunluk(); }