Skip to content

byzakyz/storm-bn-spn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

storm-bn-spn

storm-bn-spn is a tool for analysis of (parametric) Sum Product Networks built on top of storm-bn and STORM. It exploits the probabilistic model checking techniques of STORM by transforming (parametric) SPNs into (parametric) Markov Chains, using the (p)SPN2(p)MC transformer. The (p)SPN2(p)MC transformer takes (parametric) Sum Product Networks in BIF format and translates them into the Jani specification.

Usage

Run the transformer

  1. Make the target
rm -rf build
mkdir build && cd build
cmake ..
make
  1. Run
build/bin/storm-bn-robin
  1. Type spn or bn depending on what you want to transform and enter
spn
  1. Type the name of the network example you want to transform and press enter.
random1_SPFlow

Note: Adjust the std::string folder in "/src/storm-bn-robin-cli/storm-bn-robin.cpp" to indicate the location of the examples.

Subdirectories Description

The tool builds upon "storm-bn/bn-mc-transformer" without creating additional subdirectories. It derives from the original classes to tailor the transformation to SPNs. Class files derived from the original classes are placed under the directory "/src/storm-bn-robin". New classes include:

  • storm-bn-robin/src/jani/JaniFileCreator_SPN.cpp
  • storm-bn-robin/src/parser/ProbabilityRow_SPN.cpp
  • storm-bn-robin/src/parser/ProbabilityTable_SPN.cpp
  • storm-bn-robin/src/parser/SPNetwork.cpp
  • storm-bn-robin/src/transformer/SPNTransformer.cpp

We modified the "/src/storm-bn-robin-cli/storm-bn-robin.cpp" file from storm-bn to allow users to utilize both the pSPN2pMC and existing pBN2pMC transformations.

Minor changes were made to existing storm-bn classes under "/src/storm-bn-robin" to enable the use of derived classes.

Benchmarks are located under "/src/storm-bn-robin/TopologicalOrderingsBeyza". They were created using the SPFlow library by learning SPNs from random data.

Dependencies

  • Storm: the backend probabilistic model checker.
  • storm-bn: used for its (parametric) BN to MC transformer, upon which our transformation is built.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published