Changes 30th August 93

 1/ "graphTypes" were ForeDG | BackDG | General changed to 
    SearchForward | SearchBackward. Intended to be more
    self-explanatory. SearchForward means the preferred search
    direction is forward and SearchBackward backward. With the
    present code the search methods always use the preferred direction.

 2/ Wau and Wad removed as abstraction types. NAB will now search
    just the base layer of an abstraction hierarchy and this can be
    used as basic breadth-first-search. If just the base graph is
    required see 6 of Changes 26th August 93.

 3/ "toolBox.sml" includes functions to get and change the new graphTypes
     plus other graph testing functions. If people have interesting test
     functions they might be included in this file for general usage.

 4/ "priority-queue2.sml" removed from directory was a minor variation 
     on "priority-queue.sml which makes no differnce with undirected 
     graphs. 

 5/ Bug fixed in 5 of Changes 26th August 93: was not returning the hub with
    other nodes in the star. This would produce peculiar abstractions so
    testing using the previous version needs repeating. 


Changes 26th August 93 

 1/ Alternating Opportunism has been extended to allow different
    ways of marking the nodes visited. The resultant file is
    bfs-all-visited.sml which marks all the nodes visted during search
    at any one level. At present the two options are AO, the original
    Alternating Opportunism plus AM which marks all the nodes the same.
    (Note: this second method does not produce particularly good results)

 2/ Path Opportunism and No Opportunism have been combined into a 
    single file called bfs-path.sml. The only difference being how
    they mark the nodes. These search methods now mark the path in 
    the more abstract graph and "look-up" information when searching the
    less abstract one.

 3/ No Opportunism has been renamed Path Marking and is designated by
    the option PM.

 4/ Path Opportunism's designation has changed from PO to PO int. The
    integer represents the "width" of the path to be marked, with a 
    width of 1 being the normal path. Widths greater than 1 mean that
    preceding nodes (successors or predecessors dependent on search
    direction), to those on the path, are marked with their distance 
    subtracted from the path node's position.

 5/ Star abstraction has been corrected, by changing from depth-first
    to breadth-first search, so that it forms classes of all nodes 
    within the diameter. The diameter is now defined as 1 meaning just
    the hub. 

 6/ Building the base graph has been seperated from building the rest
    of the abstraction hierarchy.  "mkSearchSpace" now takes only the 
    puzzle_parameter. The record returned includes a triple for "graph"
    which is the base graph, the lookup node function and now an 
    abstraction function. Applying the function with the appropriate
    abstraction parameter causes the graph (which is mutable) to
    become an abstraction hierachy. 
    