Tractable Bayesian Network Structure Learning with Bounded Vertex Cover Number

Authors: Janne H. Korhonen, Pekka Parviainen

NeurIPS 2015 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental We implemented both the combinatorial algorithm of Section 3.1 and the ILP formulation of Section 4 to benchmark the practical performance of the algorithms and test how good approximations bounded vertex cover DAGs provide. The combinatorial algorithm was implemented in Matlab and is available online1. The ILPs were implemented using CPLEX Python API and solved using CPLEX 12. The implementation is available as a part of TWILP software2. We ran our experiments using a union of the data sets used by Berg et al. [2] and those provided at GOBNILP homepage3.
Researcher Affiliation Academia Janne H. Korhonen Helsinki Institute for Information Technology HIIT Department of Computer Science University of Helsinki janne.h.korhonen@helsinki.fi Pekka Parviainen Helsinki Institute for Information Technology HIIT Department of Computer Science Aalto University pekka.parviainen@aalto.fi
Pseudocode No The paper describes algorithmic steps in prose (e.g., 'Step 1. To find the optimal core B, we construct...'), and an integer linear programming (ILP) formulation, but it does not include formal pseudocode blocks or figures explicitly labeled 'Algorithm' or 'Pseudocode'.
Open Source Code Yes The combinatorial algorithm was implemented in Matlab and is available online1. 1http://research.cs.aalto.fi/pml/software/VCDP/ The ILPs were implemented using CPLEX Python API and solved using CPLEX 12. The implementation is available as a part of TWILP software2. 2http://bitbucket.org/twilp/twilp
Open Datasets Yes We ran our experiments using a union of the data sets used by Berg et al. [2] and those provided at GOBNILP homepage3. 3http://www.cs.york.ac.uk/aig/sw/gobnilp/ Figure 3: Results for selected data sets. We report the score for the optimal DAG without structure constraints, and for the optimal DAGs with bounded tree-width and bounded vertex cover when the bound k changes, as well as the running time required for finding the optimal DAG in each case. Examples: abalone (n = 9), flag (n = 29), carpo10000 (n = 60).
Dataset Splits No The paper mentions using specific datasets for experiments, but it does not provide details on how the data was split into training, validation, and test sets. It focuses on finding optimal DAGs for given datasets.
Hardware Specification No The experiments were performed using computing resources within the Aalto University School of Science Science-IT project. This statement is too general and does not provide specific hardware details like GPU/CPU models or memory.
Software Dependencies Yes The combinatorial algorithm was implemented in Matlab. The ILPs were implemented using CPLEX Python API and solved using CPLEX 12.
Experiment Setup Yes With reasonable vertex cover number bounds the polynomial-time algorithm scales only up to about 15 nodes; this is mainly due to the fact that, while the running time is polynomial in n, the degree of the polynomial depends on k and when k grows, the algorithm becomes quickly infeasible. For n = 15 and n = 16 with k = 5, the algorithm did not finish in 24 hours. In our tests, each algorithm was given 4 hours of CPU time.