The DCSH algorithm is based on multiple node ordering algorithms, working on graphs. This merge request adds graphs as a representation that can be used by data-based synthesis variable ordering algorithms.
For now, graphs are created from the existing hyper-edges:
- This ensures consistency between the representations.
- We could later opt for other ways to create the hyper-edges/graphs.
Also added some extra utility methods for use by variable ordering algorithms, to work with the various representations.
Addresses #196 (closed)