public void H(IState state) { List <List <byte> > stacks = PDBHeuristic.ToStacks(state.Arr); hArr[0] = pdbHeuristics[0].H(stacks); hArr[1] = pdbHeuristics[1].H(stacks); hArr[2] = pdbHeuristics[2].H(stacks); hArr[3] = pdbHeuristics[3].H(stacks); hArr[4] = pdbHeuristics[4].H(stacks); hArr[5] = pdbHeuristics[5].H(stacks); hArr[6] = pdbHeuristics[6].H(stacks); hArr[7] = pdbHeuristics[7].H(stacks); hArr[8] = pdbHeuristics[8].H(stacks); hArr[9] = pdbHeuristics[9].H(stacks); hArr[10] = pdbHeuristics[10].H(stacks); hArr[11] = pdbHeuristics[11].H(stacks); hArr[12] = hammingHeuristic.H(state); }
public MultHeuristic15() { string[] fileNames = { "1_2_3_4", "5_6_7_8", "9_10_11_12", "12_13_14_15", "3_4_5_6", "7_8_9_10", "11_12_13_14", "1_2_14_15", "2_3_4_5", "6_7_8_9", "10_11_12_13", "1_13_14_15" }; pdbHeuristics = new PDBHeuristic[fileNames.Length]; hammingHeuristic = new HammingHeuristic(); scale = new float[fileNames.Length + 1]; hArr = new int[fileNames.Length + 1]; for (int i = 0; i < pdbHeuristics.Length; i++) { pdbHeuristics[i] = new PDBHeuristic(fileNames[i], null); scale[i] = pdbHeuristics[i].Values.Max(); } scale[fileNames.Length] = Global.SIZE; }