public AktywatorUwzglPodobienstwo(Sasiedztwo sasiedztwo, IOdleglosc <Mrowka> odleglosci, int minSasiadow, double progNiepodobienstwa) { this.sasiedztwo = sasiedztwo; this.odleglosci = odleglosci; this.minSasiadow = minSasiadow; this.progNiepodobienstwa = progNiepodobienstwa; }
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 }); }
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 }); }
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); }
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; }
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; }
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; }
public OkreslaczKlas(Sasiedztwo sasiedztwo) { this.sasiedztwo = sasiedztwo; }
public LosowyPrzemieszczacz(Przestrzen przestrzen, Sasiedztwo sasiedztwo, Random los) { this.przestrzen = przestrzen; this.sasiedztwo = sasiedztwo; this.los = los; }
public MniejZmiennyOkreslaczKlas(Sasiedztwo sasiedztwo) { this.sasiedztwo = sasiedztwo; }