public BakteriyelBesinArama(GoruntuIslemleri goruntuIsl)
        {
            goruntuIslemleri             = goruntuIsl;
            this.degerlendirmeFonksiyonu = this.UygunlukFonksiyonu;
            populasyonBuyuklugu          = 100;
            uremeOranı    = 0.4;
            boyutSayisi   = 3;
            adimBuyuklugu = 0.8;
            uremeSayisi   = Convert.ToInt32(Convert.ToDouble(populasyonBuyuklugu) * uremeOranı);

            yuzmeUzunlugu = 4;
            edIhtimali    = 0.10;
            dAttract      = 0.1;
            wAtrract      = 0.2;
            hRepel        = dAttract;
            wRepel        = 10.0;

            enIyiKonumlar = new double[boyutSayisi];
            populasyon    = new Hucre[populasyonBuyuklugu];

            rastgele  = new Random();
            yuvarAdım = new double[boyutSayisi];
            delta     = new double[boyutSayisi];
            //this.parametreAraliklari = parametreAra;
            this.parametreAraliklari = new double[3, 2] {
                { 0, 10 }, { -50, 50 }, { 0, 10 }
            };
        }
        public Hucre(int boyut_sayisi, double adım, double[,] parametreAraliklari, GoruntuIslemleri goruntuIslemleri)
        {
            r = new Random();

            this.konum = new double[boyut_sayisi];
            double aralik;
            double minimum;

            for (int i = 0; i < boyut_sayisi; i++)
            {
                aralik        = parametreAraliklari[i, 1] - parametreAraliklari[i, 0];
                minimum       = parametreAraliklari[i, 0];
                this.Konum[i] = r.NextDouble() * (aralik) + minimum;
            }
            this.cost            = goruntuIslemleri.ParametreleriDegerlendir(this.konum[0], this.konum[1], this.konum[2]);
            this.uygunluk        = 0;
            this.can             = 0;
            this.adım_buyukulugu = adım;
        }
Esempio n. 3
0
        public Kedi(int boyut_sayisi, double[,] parametreAraliklari, GoruntuIslemleri goruntuIslemleri)
        {
            this.boyut_sayisi        = boyut_sayisi;
            this.parametreAraliklari = parametreAraliklari;
            this.goruntuIslemleri    = goruntuIslemleri;
            r               = new Random();
            c1              = 0.01; // Arama modundaki hızın ivmesi.
            this.konum      = new double[boyut_sayisi];
            secilmeIhtimali = 0;
            hiz             = new double[boyut_sayisi];

            double aralik;
            double minimum;

            for (int i = 0; i < boyut_sayisi; i++)
            {
                aralik        = parametreAraliklari[i, 1] - parametreAraliklari[i, 0];
                minimum       = parametreAraliklari[i, 0];
                this.konum[i] = r.NextDouble() * (aralik) + minimum;
                this.hiz[i]   = 0;
            }
            this.uygunluk = goruntuIslemleri.ParametreleriDegerlendir(this.konum[0], this.konum[1], this.konum[2]);
        }
Esempio n. 4
0
        private bool KPD;        // Kendi Pozisyonunu Değerlendirme


        public KediSurusuOptimizasyonu(GoruntuIslemleri goruntuIsl)
        {
            r                   = new Random();
            aramaOranı          = 10;
            populasyonBuyuklugu = 100;
            boyutSayisi         = 3;
            enIyiKonumlar       = new double[boyutSayisi];


            AHH = 20;
            KPD = false;
            DBS = boyutSayisi;
            SBA = new double[3, 2] {
                { -5, 5 }, { -10, 10 }, { -5, 5 }
            };

            this.degerlendirmeFonksiyonu = this.UygunlukFonksiyonu;
            this.goruntuIslemleri        = goruntuIsl;
            //this.parametreAraliklari = parametreAra;
            this.parametreAraliklari = new double[3, 2] {
                { 0, 10 }, { -50, 50 }, { 0, 10 }
            };
        }