private void ObaviKrizanje(Kromosom dijete, Kromosom roditelj1, Kromosom roditelj2) { int duljinaVrijednosti = (int)Math.Ceiling(Math.Log(((double)(gornjaGranicaVrijednosti - donjaGranicaVrijednosti) * Math.Pow(10.0, brojZnamenkiPreciznostiRjesenja) + 1))); int[] binarniPrikazDjeteta = new int[duljinaVrijednosti * brojVrijednostiUKromosomu]; for (int i = 0; i < duljinaVrijednosti * brojVrijednostiUKromosomu; i++) { int v1 = roditelj1.binarniPrikaz[i]; int v2 = roditelj2.binarniPrikaz[i]; //binarniPrikazDjeteta[i] = v1 + v2 - v1 * v2; if (v1 == v2) { binarniPrikazDjeteta[i] = v1; } else { binarniPrikazDjeteta[i] = random.Next(0, 2); } } dijete.PostaviBinarniPrikazIOsvjezi(binarniPrikazDjeteta); }