Overview
A benchmarking framework for the extendability of (causal) graphs. The benchmarking framework contains efficient algorithms for extending (causal) graphs and more than 1000 exemplary input graph instances.
More precisely, algorithms solving the following two problems are provided:
- Given any partially directed graph $G$, compute a consistent DAG extension for $G$ if $G$ admits such an extension, otherwise return a negative answer (Extension Problem).
- Given any partially directed graph $G$, compute the set of all consistent DAG extensions for $G$ (Enumeration Problem).
We denote that the number of vertices in the input graph as $|V|$ and the number of edges in the input graph as $|E|$. The maximum degree in the input graph is denoted as $\Delta$.
Please note that this framework is part of a master's thesis and thus is not professionally maintained.
Features
- Fast algorithms for the extension problem and for the enumeration problem.
- Automatically run benchmarks and create time measurements in
.csv
format. - Full Docker support. Julia does not even have to be installed on your system.
- Automatically build and deploy via TravisCI.
Documentation Outline
Index
PdagExtendability.DirectedGraph
PdagExtendability.DtGraph
PdagExtendability.Graph
PdagExtendability.HybridGraph
PdagExtendability.algo2label
PdagExtendability.altpdag2dag_hs
PdagExtendability.amo
PdagExtendability.barbellgraph
PdagExtendability.bintreegraph
PdagExtendability.buckets
PdagExtendability.centipedegraph
PdagExtendability.cliquegraph
PdagExtendability.completegraph
PdagExtendability.countvstructs
PdagExtendability.cyclegraph
PdagExtendability.deg_struct_hs
PdagExtendability.deg_struct_lg
PdagExtendability.degeneracy_ordering_hs
PdagExtendability.degeneracy_ordering_lg
PdagExtendability.degree_hs
PdagExtendability.dfs!
PdagExtendability.dict_to_csv
PdagExtendability.dir2dag
PdagExtendability.directedge!
PdagExtendability.doublestargraph
PdagExtendability.dtgraph2digraph
PdagExtendability.enumerate_v1
PdagExtendability.enumerate_v2
PdagExtendability.erdos_renyi_pdag
PdagExtendability.extbarbellgraph
PdagExtendability.extendgraph_hs
PdagExtendability.extendgraph_lg
PdagExtendability.extensions_rec!
PdagExtendability.extsmeek_rec!
PdagExtendability.fastpdag2dag_hs
PdagExtendability.fastpdag2dag_lg
PdagExtendability.friendshipgraph
PdagExtendability.get_times_dict
PdagExtendability.graph2digraph
PdagExtendability.graph2pdag
PdagExtendability.graph2str
PdagExtendability.hascycledfs!
PdagExtendability.hasdircycle
PdagExtendability.init_auxvectors_lg!
PdagExtendability.init_hs
PdagExtendability.init_lg
PdagExtendability.insert_arc_hs!
PdagExtendability.insert_arc_hs!
PdagExtendability.insert_arc_lg!
PdagExtendability.insert_edge_hs!
PdagExtendability.insert_edge_hs!
PdagExtendability.insert_edge_lg!
PdagExtendability.is_adjacent_hs
PdagExtendability.is_adjacent_lg
PdagExtendability.is_consistent_extension
PdagExtendability.is_directed_lg
PdagExtendability.is_ps_hs
PdagExtendability.is_ps_lg
PdagExtendability.is_sink_debug_hs
PdagExtendability.is_sink_hs
PdagExtendability.is_undirected_lg
PdagExtendability.isadjacent_hs
PdagExtendability.isamo
PdagExtendability.iscyclic!
PdagExtendability.isdag
PdagExtendability.ismpdag
PdagExtendability.ispeo
PdagExtendability.list_ps_hs
PdagExtendability.list_ps_lg
PdagExtendability.list_sinks_hs
PdagExtendability.mcs
PdagExtendability.mpdag2dag
PdagExtendability.nanosec2millisec
PdagExtendability.optimizedsetup_hs
PdagExtendability.optimizedsetup_lg
PdagExtendability.pathgraph
PdagExtendability.pdag2dag_debug_hs
PdagExtendability.pdag2dag_debug_lg
PdagExtendability.pdag2dag_hs
PdagExtendability.pdag2dag_lg
PdagExtendability.pdag2mpdag
PdagExtendability.pdag2mpdag2dag
PdagExtendability.plotsvg
PdagExtendability.pop_min_deg_vertex_hs!
PdagExtendability.pop_min_deg_vertex_lg!
PdagExtendability.pop_ps_hs!
PdagExtendability.pop_ps_lg!
PdagExtendability.print_dict
PdagExtendability.print_graph_hs
PdagExtendability.print_graph_hs
PdagExtendability.print_graph_lg
PdagExtendability.random_dag
PdagExtendability.random_dag_v2
PdagExtendability.random_pdag
PdagExtendability.random_pdag
PdagExtendability.readinputgraph
PdagExtendability.remove_arc_hs!
PdagExtendability.remove_arc_hs!
PdagExtendability.remove_arc_lg!
PdagExtendability.remove_edge_hs!
PdagExtendability.remove_edge_lg!
PdagExtendability.remove_vertex_hs!
PdagExtendability.save2file
PdagExtendability.setup_hs
PdagExtendability.sink_debug_hs
PdagExtendability.sink_debug_lg
PdagExtendability.sink_hs
PdagExtendability.sink_lg
PdagExtendability.skeleton
PdagExtendability.standardsetup_hs
PdagExtendability.standardsetup_lg
PdagExtendability.stargraph
PdagExtendability.subgraph
PdagExtendability.undir2dag
PdagExtendability.update_alphabeta_hs!
PdagExtendability.update_alphabeta_lg!
PdagExtendability.update_deg_hs!
PdagExtendability.update_deg_lg!
PdagExtendability.vstructures