Prolog - Grafer i Prolog

Oprettet 11. februar 2008
Rettet 11. februar 2008

Grafer

Datastrukturen graf kan anvendes til repræsentation af netværk. I en graf repræsenteres data i form af knudepunkter (nodes) og kanter (edges). En sådan datastruktur kan anvendes til løsning af mange forskellige opgaver.

Nedenstående figur viser en såkaldt retningsbestemt graf (directed graph, digraph).

Grafen kan i Prolog repræsenteres i en række facts:

node(a).
node(b).
node(c).
node(d).
node(e).
node(f).
node(g).
edge(a, b).
edge(a, f).
edge(b, c).
edge(c, d).
edge(c, e).
edge(e, d).
edge(f, c).
edge(f, e).
edge(f, g).
edge(g, c).

Når grafen er defineret, kan man udføre forskellige algoritmer på den. F.eks. en path(X, Y), som kan afgøre, om der er en vej fra X til Y.