protected override void Krok2(int V, bool normalizacja) { sigmaPrzyjmZgl sigmy = new sigmaPrzyjmZgl(aWiazka); for (int i = 0; i < aWiazka.m; i++) { DoRozklZalOdStanu(p[i], sigmy); } bool odNajmlodszej = true; if (odNajmlodszej) { P = new Rozklad(p[0]); for (int i = 1; i < aWiazka.m; i++) { rAsMax Qab = new rAsMax(P); Qab.Agreguj(p[i], sigmy); Qab.przemnoz(p[i].sumaAt); rAsMax Qba = new rAsMax(p[i]); Qba.Agreguj(P, sigmy); Qba.przemnoz(P.sumaAt); Qba.dodaj(Qab); P = new Rozklad(Qba); if (normalizacja) { P.normalizacja(); } } } else { P = new Rozklad(p[aWiazka.m - 1]); for (int i = aWiazka.m - 2; i >= 0; i--) { rAsMax Qab = new rAsMax(P); Qab.Agreguj(p[i], sigmy); Qab.przemnoz(p[i].sumaAt); rAsMax Qba = new rAsMax(p[i]); Qba.Agreguj(P, sigmy); Qba.przemnoz(P.sumaAt); Qba.dodaj(Qab); P = new Rozklad(Qba); if (normalizacja) { P.normalizacja(); } } } if (!normalizacja) { P.normalizacja(); } }
protected override void Krok2(int V, bool normalizacja) { sigmaPrzyjmZgl sigmy = new sigmaPrzyjmZgl(aWiazka); for (int i = 0; i < aWiazka.m; i++) { DoRozklZalOdStanu(p[i], sigmy); } P = new Rozklad(p[0]); for (int i = 1; i < aWiazka.m; i++) { rAsMax Qab = new rAsMax(P); Qab.AgregujR(p[i]); Qab.przemnoz(p[i].sumaAt); rAsMax Qba = new rAsMax(p[i]); Qba.AgregujR(P); Qba.przemnoz(P.sumaAt); Qba.dodaj(Qab); if (normalizacja) { Qba.normalizacja(); } P = new Rozklad(Qba); } if (!normalizacja) { P.normalizacja(); } }