Did you know ... Search Documentation:
Packs (add-ons) for SWI-Prolog

Package "graphpl"

Title:Graph data structure utilities
Rating:Not rated. Create the first rating!
Latest version:0.1.1
SHA1 sum:90e6dbfae1242bb3f9a6f3d968a789c3f6de5b18
Author:Damiano Azzolini <damiano.azzolini@student.unife.it>
Home page:https://github.com/damianoazzolini/graphpl
Download URL:https://github.com/damianoazzolini/graphpl/releases/*.zip

Reviews

No reviews. Create the first review!.

Details by download location

VersionSHA1#DownloadsURL
0.188d49a7976b643fd2636756174847e2706705a2d1https://github.com/damianoazzolini/graphpl/archive/V0.1.zip
0.1.115d9eb6cde7560175d0816157c2c525de99d6abb1https://github.com/damianoazzolini/graphpl.git
90e6dbfae1242bb3f9a6f3d968a789c3f6de5b181https://github.com/damianoazzolini/graphpl/archive/V0.1.1.zip

graphpl

Package for SWI prolog to manage graphs.

Basic info

A graph, in this package is represented in this way: graph(ListOfVertices,ListOfEdges) where ListOfVertices is a list of integer and ListOfEdges is a list of predicates edge/2 or edge/3 where edge/2 is used to for unweighted graphs (edge(NodeA,NodeB)) and edge/3 is used for wheighted graphs (edge(NodeA,NodeB,Cost)).

Predicates Available

  • make_undirected_unweighted_graph/2
  • make_undirected_weighted_graph/2
  • make_unweighted_graph/2
  • make_weighted_graph/2
  • find_path_unweighted/4
  • find_path_weighted/5
  • make_kn/2
  • make_kn_weighted/4
  • make_kn_from_vertices/2
  • cycle_unweighted/3
  • cycle_weighted/4
  • is_connected/1
  • node_degree/3
  • node_degree_list/2
  • empty_unweighted_graph/3
  • empty_weighted_graph/3
  • is_graph_node/2
  • is_isolated_node/2
  • is_graph_edge/2
  • get_adjacent_nodes/3
  • graph_reverse_edges/2
  • spanning_tree/2
  • mst_prim/3

Example

:- use_module(library(graph)).

test(G):-
          make_kn(4,G).

?- test(T).
T = graph([1, 2, 3, 4], [edge(1, 2), edge(1, 3), edge(1, 4), edge(2, 3), edge(2, 4), edge(3, 4)]).

Contribution

Feel free to open an issue if you found some problems or pull request if you want to contribute. Feel free also to suggest predicates that could be good to have.

Contents of pack "graphpl"

Pack contains 5 files holding a total of 14.9K bytes.