
################################################################################
#########                A* GRAPH EXPLORER README FILE                 #########
################################################################################

This model was developed using tkeden version 1.70, revision 228.  
Although there should be no problem running the model on previous versions, no 
guarantee is given.


To run the model: 
	Execute run.e from tkeden

STEP button: 
	Performs an A* algorithm step.  After the first step, no further 
	changes should be made to H-Costs or G-Costs until the search has been   
	restarted.  This is to ensure correctness of the search.

RESTART button: 
	Restarts the search.  Keeps the current H-Cost and G-Cost values, 
	and preserves the start and goal node.

RESET GRAPH button: 
	Restarts the search and returns the H-Costs, G-Costs, start 
	and goal nodes to their default settings.

To select a node: 
	Click the node on the GUI

To select a path: 
	Click the path cost value on the GUI

To make a node the start node: 
	Select the node, then click "Make Start"

To make a node the goal node: 
	Select the node, then click "Make Goal"

To change the H-Cost of a node:
	Select the node, enter the desired value in the H-Cost text box, and 
	click "SET"

To change the G-Cost of a path:
	Select the path, 
enter the desired value in the G-Cost text box, and 
	click "SET"


NOTE: When changing the goal node, the Heuristic values (H-Costs) at each 
node should be modified accordingly.  It makes sense for the H-Cost of the 
goal node to be zero, and to have gradually increasing H-Costs as nodes get 
further away from the goal.  When employing the A* algorithm, any Heuristic 
function can be used, but a common function is the 'straight line distance' 
- H(SLD).
  

The default graph used can be found in the following book:
Artificial Intelligence A Modern Approach, Page 63.
On pages 95-101, the A* algorithm is explained, and the SLD values for each
node to node B (Bucharest in the book) are given.