Beispiel #1
0
 public AktywatorUwzglPodobienstwo(Sasiedztwo sasiedztwo, IOdleglosc <Mrowka> odleglosci, int minSasiadow, double progNiepodobienstwa)
 {
     this.sasiedztwo          = sasiedztwo;
     this.odleglosci          = odleglosci;
     this.minSasiadow         = minSasiadow;
     this.progNiepodobienstwa = progNiepodobienstwa;
 }
Beispiel #2
0
        private static KonfiguracjaGrupowania Konfiguracja_SA4CPrim_2007(Random maszynaLosujaca, int liczIteracji, int zasiegWzroku,
                                                                         IEnumerable <Mrowka> mrowki, IOdleglosc <Mrowka> miaraOdleglosci)
        {
            var bazowePrawdopAktywacji = 0.1;

            var przestrzen         = Przestrzen.StworzPrzestrzenDla(mrowki.Count());
            var sasiedztwo         = new Sasiedztwo(przestrzen, zasiegWzroku, zasiegWzroku);
            var czas               = new Czas(liczIteracji);
            var srednieDopasowania = new SrednieDopasowaniaMrowek();
            var presja             = new StalaPresja(2);
            var srednieOdleglosci  = new SrednieOdleglosciDlaAgentow(mrowki, miaraOdleglosci);

            return(new KonfiguracjaGrupowania()
            {
                MaszynaLosujaca = maszynaLosujaca,
                SrednieDopasowania = srednieDopasowania,
                Aktywator = new Aktywator(maszynaLosujaca, bazowePrawdopAktywacji, presja),
                LiczbaIteracji = liczIteracji,
                Przestrzen = przestrzen,
                Sasiedztwo = sasiedztwo,
                SrednieOdleglosci = srednieOdleglosci,
                Oceniacz = new Oceniacz(miaraOdleglosci, srednieOdleglosci, sasiedztwo),
                Czas = czas
            });
        }
Beispiel #3
0
        private static KonfiguracjaGrupowania Konfiguracja_A4C_2007(Random maszynaLosujaca, int liczIteracji, int zasiegWzroku,
                                                                    IEnumerable <Mrowka> mrowki, IOdleglosc <Mrowka> miaraOdleglosci)
        {
            var deltaT  = 50;
            var kAlfa   = 0.5;
            var kLambda = 1.0;
            var bazowePrawdopAktywacji = 0.1;

            var przestrzen         = Przestrzen.StworzPrzestrzenDla(mrowki.Count());
            var sasiedztwo         = new Sasiedztwo(przestrzen, zasiegWzroku, zasiegWzroku);
            var czas               = new Czas(liczIteracji);
            var srednieDopasowania = new SrednieDopasowaniaMrowek();
            var presja             = new PresjaZaleznaOdCzasu(czas, srednieDopasowania, kLambda);
            var srednieOdleglosci  = new SrednieOdleglosciOdCzasu(czas, srednieDopasowania, new KonfiguracjaSredniejOdlOdCzasu()
            {
                IleJednostekCzasuSpogladacWstecz           = deltaT,
                SposobOkreslaniaWartosciPrzedUaktywnieniem = new NajsredniejszaOdleglosc(mrowki, miaraOdleglosci),
                StopienWplywuRoznicySrednichNaWynikWDanejJednostceCzasu = kAlfa
            });

            return(new KonfiguracjaGrupowania()
            {
                MaszynaLosujaca = maszynaLosujaca,
                SrednieDopasowania = srednieDopasowania,
                Aktywator = new Aktywator(maszynaLosujaca, bazowePrawdopAktywacji, presja),
                LiczbaIteracji = liczIteracji,
                Przestrzen = przestrzen,
                Sasiedztwo = sasiedztwo,
                SrednieOdleglosci = srednieOdleglosci,
                Oceniacz = new Oceniacz(miaraOdleglosci, srednieOdleglosci, sasiedztwo),
                Czas = czas
            });
        }
Beispiel #4
0
        private static void KlasyfikujPoFakcie(Przestrzen przestrzen, IEnumerable <Mrowka> mrowki, int sX, int sY)
        {
            Sasiedztwo               sasiedztwo      = new Sasiedztwo(przestrzen, sX, sY);
            OkreslaczKlas            okreslacz       = new OkreslaczKlas(sasiedztwo);
            Dictionary <Mrowka, int> noweKlasyMrowek = new Dictionary <Mrowka, int>();

            for (int i = 0; i < 100; i++)
            {
                for (int x = 0; x < przestrzen.DlugoscBoku; x++)
                {
                    for (int y = 0; y < przestrzen.DlugoscBoku; y++)
                    {
                        var mrowka = przestrzen[y][x];
                        if (mrowka is Mrowka m)
                        {
                            var nowaKlasa = okreslacz.OkreslKlase(mrowka, (x, y));
                            noweKlasyMrowek[mrowka] = nowaKlasa;
                        }
                    }
                }

                foreach (var mrowkaIKlasa in noweKlasyMrowek)
                {
                    var mrowka = mrowkaIKlasa.Key;
                    var klasa  = mrowkaIKlasa.Value;
                    mrowka.Klasa = klasa;
                }
            }

            //MyCSetophylax.PrzestrzenZyciowa.Wyswietlanie.ReprezentacjaKlasaMrowki a = new MyCSetophylax.PrzestrzenZyciowa.Wyswietlanie.ReprezentacjaKlasaMrowki();
            //MyCSetophylax.PrzestrzenZyciowa.Wyswietlanie.WyswietlaczPrzestrzeni b = new MyCSetophylax.PrzestrzenZyciowa.Wyswietlanie.WyswietlaczPrzestrzeni(a);
            //b.Wyswietl(przestrzen);
        }
Beispiel #5
0
 public GlobalnyPodobienstwowyOkreslaczKlas(IOdleglosc <Mrowka> odleglosc, Sasiedztwo sasiedztwo, Czas czas, bool minProgGlobalny = false)
 {
     this.odleglosc    = odleglosc;
     this.sasiedztwo   = sasiedztwo;
     this.czas         = czas;
     popIteracja       = 0;
     mrowkiKlasAktIter = new Dictionary <int, List <Mrowka> >();
     MinProgGlobalny   = minProgGlobalny;
 }
Beispiel #6
0
 public ZachlannyPrzemieszczacz(double szansaNaZachlannosc, IPrzemieszczacz alternatywnyPrzemieszczacz, IOceniacz oceniacz,
                                Przestrzen przestrzen, Sasiedztwo sasiedztwo, Random los)
 {
     this.szansaNaZachlannosc        = szansaNaZachlannosc;
     this.alternatywnyPrzemieszczacz = alternatywnyPrzemieszczacz;
     this.oceniacz   = oceniacz;
     this.przestrzen = przestrzen;
     this.sasiedztwo = sasiedztwo;
     this.los        = los;
 }
Beispiel #7
0
 public AltOceniacz(IOdleglosc <Mrowka> slownikOdleglosci, ISrednieOdleglosci srednieOdleglosci, Sasiedztwo sasiedztwo)
 {
     sloOdleglosci          = slownikOdleglosci;
     this.srednieOdleglosci = srednieOdleglosci;
     this.sasiedztwo        = sasiedztwo;
 }
 public PodobienstwowyOkreslaczKlas(IOdleglosc <Mrowka> odleglosciPomiedzyMrowkami, Sasiedztwo sasiedztwo)
 {
     odleglosci      = odleglosciPomiedzyMrowkami;
     this.sasiedztwo = sasiedztwo;
 }
Beispiel #9
0
 public OkreslaczKlas(Sasiedztwo sasiedztwo)
 {
     this.sasiedztwo = sasiedztwo;
 }
 public LosowyPrzemieszczacz(Przestrzen przestrzen, Sasiedztwo sasiedztwo, Random los)
 {
     this.przestrzen = przestrzen;
     this.sasiedztwo = sasiedztwo;
     this.los        = los;
 }
Beispiel #11
0
 public MniejZmiennyOkreslaczKlas(Sasiedztwo sasiedztwo)
 {
     this.sasiedztwo = sasiedztwo;
 }