Skip to content

vglazer/ggen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ggen

exponential

Quickstart

  • brew install uv
  • brew install graphviz
  • brew install gnuplot
  • Clone the repo
  • cd into the top-level repo directory
  • make
  • Check out the Graphviz plots and Gnuplot histograms in the gallery subdirectory as well as the CSV files in the tests subdirectory

Background

  • ggen is part of a larger suite of programs for finding induced subgraphs with a prescribed edge count.
  • Among other things, ggen can generate three kinds of random graphs: "exponential" (Erdős–Rényi), "power" (scale-free) and "geometric" (in the plane, with no wrap-around).
  • It is intended to be used in conjunction with sub_search and is a bit awkward to call directly.
  • Moreover, the native graph representation format used by ggen and sub_search — effectively the adjacency lists corresponding to the upper-triangular portion of the adjacency matrix — is non-standard and does not lend itself to visualization or manipulation.
  • This standalone repo contains a copy of ggen.c as well as ggen.sh, a friendlier wrapper for a subset of ggen's functionality. Be sure to make ggen before running ggen.sh.
  • ggen.sh outputs graphs in the standard DOT format as well as optionally generating Graphviz plots and Gnuplot histograms. make create_gallery will create a bunch of these.
  • There are also some additional scripts for producing CSV files suitable for validation, visualization and further processing. make test to see them in action.

About

Generate and plot Erdős–Rényi, scale-free and geometric random graphs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published