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 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 void Wyswietl(Przestrzen przestrzen) { var dlugoscBokuWPikselach = przestrzen.DlugoscBoku * DlugoscBokuPola; using (Bitmap bitmapa = new Bitmap(dlugoscBokuWPikselach, dlugoscBokuWPikselach)) using (Graphics rysownik = Graphics.FromImage(bitmapa)) { rysownik.Clear(Color.White); for (int y = 0; y < przestrzen.DlugoscBoku; y++) { for (int x = 0; x < przestrzen.DlugoscBoku; x++) { if (przestrzen[y][x] is Mrowka mrowka) { int posX = x * DlugoscBokuPola; int posY = y * DlugoscBokuPola; rysownik.FillRectangle(OkreslKolor(mrowka), posX, posY, DlugoscBokuPola, DlugoscBokuPola); rysownik.DrawString(reprezentacjaPolaMrowki.Okresl(mrowka), CzcionkaTekstu, PedzelTekstu, posX, posY); } } } for (int y = 0; y < przestrzen.DlugoscBoku; y++) { rysownik.DrawLine(Pens.Black, new Point(0, y * DlugoscBokuPola), new Point(przestrzen.DlugoscBoku * DlugoscBokuPola, y * DlugoscBokuPola)); } for (int x = 0; x < przestrzen.DlugoscBoku; x++) { rysownik.DrawLine(Pens.Black, new Point(x * DlugoscBokuPola, 0), new Point(x * DlugoscBokuPola, przestrzen.DlugoscBoku * DlugoscBokuPola)); } rysownik.Flush(); bitmapa.Save(sciezkaDoZapisu); } }
public void Wyswietl(Przestrzen przestrzen) { Console.ResetColor(); Console.Write(" "); for (int i = 0; i < przestrzen.DlugoscBoku; i++) { Console.Write($"{i.ToString().PadLeft(5)}"); } Console.WriteLine(); for (int y = 0; y < przestrzen.DlugoscBoku; y++) { Console.Write($"{y.ToString().PadLeft(3)}"); for (int x = 0; x < przestrzen.DlugoscBoku; x++) { var zawartoscPola = przestrzen[y][x]; Console.Write($"|{reprezentacja.Okresl(zawartoscPola)}|"); } Console.WriteLine(); } Console.ResetColor(); }
public void Wyswietl(Przestrzen przestrzen) { // podstęp! }
public LosowyPrzemieszczacz(Przestrzen przestrzen, Sasiedztwo sasiedztwo, Random los) { this.przestrzen = przestrzen; this.sasiedztwo = sasiedztwo; this.los = los; }