[comp.lang.prolog] Manipulating cyclic graphs in prolog

mark@geier.philosophie.uni-stuttgart.de (Mark Johnson) (09/13/90)

Here's a question I'd like to throw out to the prolog
community.  The specific issue I'd like to raise is
that it is difficult to find an efficent term representation
of labelled cyclic graphs (for access and update).  Representing
the nodes of such a graph as a label and a list of edges, where an
edge is a pair consisting of a label and a node, results in
a ``cyclic structure'', with all the logical and implementational
problems discussed in this newsgroup a while ago.  And an
obvious solution: to store the nodes in an array, and change
the representation of an edge to be a pair consisting of
a label and an index into this array, suffers from the lack
of an efficient way of implementing for arrays.

So how can cyclic graphs be efficiently implemented in Prolog?

Suggestions welcome,

Mark Johnson.