1 package cz.cuni.amis.utils.floydwarshall; 2 3 import java.util.Collection; 4 import java.util.List; 5 6 /** 7 * This class represents the search space for Floyd-Warshall algorithm. 8 * <ol> 9 * <li>we need to know which nodes are part of the map</li> 10 * <li>we need to know the travel cost between two nodes (edge cost)</li> 11 * </ol> 12 */ 13 @Deprecated 14 public interface FWMap<NODE> { 15 16 /** 17 * This must return the list of ALL NODES that are present in your map (== environment). 18 * These nodes are going to be then used for FW. 19 * <p><p> 20 * IT IS FORBIDDEN TO SHUFFLE NODES IN THIS LIST ... IT MUST ALWAYS RETURN THE VERY SAME LIST (or at least 21 * list that is having every node in the place it was before). 22 */ 23 public List<NODE> getNodes(); 24 25 /** 26 * General cost of having this node at your path. This allows you to say how every node appeals to the agent, 27 * it may specify "this is a cool node, try to get it on your path" (negative cost) or "this is neutral node" 28 * (zero cost) or "this is a bad node to have on your path" (positive cost). 29 * 30 * @param node 31 * @return 32 */ 33 public int getNodeCost(NODE node); 34 35 /** 36 * Should return the distance from nodeFrom to nodeTo. 37 * You can be sure that nodeTo is among the neighbours of nodeFrom. 38 * 39 * @param nodeFrom 40 * @param nodeTo 41 * @return cost of an edge 42 */ 43 public int getEdgeCost(NODE nodeFrom, NODE nodeTo); 44 45 46 }