public static ProbabilityMap operator +(ProbabilityMap map1, ProbabilityMap map2)
        {
            ProbabilityMap addedMap = new ProbabilityMap(map1.size, map1.shipLengths, map1.cellStateMap);

            for (int x = 0; x < map1.map.Length; x++) {
                for (int y = 0; y < map1.map[x].Length; y++) {
                    int val1 = map1.getValue(x, y) * map1.weighted;
                    int val2 = map2.getValue(x, y) * map2.weighted;
                    addedMap.setValue(x, y, (val1 + val2));
                }
            }
            return addedMap;
        }
        public static ProbabilityMap operator +(ProbabilityMap map1, ProbabilityMap map2)
        {
            ProbabilityMap addedMap = new ProbabilityMap(map1.size, map1.shipLengths, map1.cellStateMap);

            for (int x = 0; x < map1.map.Length; x++)
            {
                for (int y = 0; y < map1.map[x].Length; y++)
                {
                    int val1 = map1.getValue(x, y) * map1.weighted;
                    int val2 = map2.getValue(x, y) * map2.weighted;
                    addedMap.setValue(x, y, (val1 + val2));
                }
            }
            return(addedMap);
        }