Class AStar<T>
java.lang.Object
com.inductiveautomation.ignition.designer.blockandconnector.routing.AStar<T>
A* algorithm implementation using the method design pattern.
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionFind the shortest path to a goal starting fromstart
.protected Double
Total cost function to reach the nodeto
fromfrom
.protected abstract Double
Cost for the operation to go toto
fromfrom
.generateSuccessors
(T node) Generate the successors for a given node.getCost()
Get the cost to reach the last node in the path.int
Check how many times a node was expanded.protected abstract Double
Estimated cost to reach a goal node.protected abstract boolean
Check if the current node is a goal for the problem.
-
Constructor Details
-
AStar
public AStar()Default c'tor.
-
-
Method Details
-
isGoal
Check if the current node is a goal for the problem.- Parameters:
node
- The node to check.- Returns:
true
if it is a goal,false
otherwise.
-
g
Cost for the operation to go toto
fromfrom
.- Parameters:
from
- The node we are leaving.to
- The node we are reaching.- Returns:
- The cost of the operation.
-
h
Estimated cost to reach a goal node. An admissible heuristic never gives a cost bigger than the real one.from
.- Parameters:
from
- The node we are leaving.to
- The node we are reaching.- Returns:
- The estimated cost to reach an object.
-
generateSuccessors
Generate the successors for a given node.- Parameters:
node
- The node we want to expand.- Returns:
- A list of possible next steps.
-
getExpandedCounter
public int getExpandedCounter()Check how many times a node was expanded.- Returns:
- A counter of how many times a node was expanded.
-
f
Total cost function to reach the nodeto
fromfrom
.The total cost is defined as: f(x) = g(x) + h(x).
- Parameters:
from
- The node we are leaving.to
- The node we are reaching.- Returns:
- The total cost.
-
getCost
Get the cost to reach the last node in the path.- Returns:
- The cost for the found path.
-
compute
Find the shortest path to a goal starting fromstart
.- Parameters:
start
- The initial node.- Returns:
- A list of nodes from the initial point to a goal,
null
if a path doesn't exist.
-