Skip to content

Releases: FraunhoferIKS/parcs

v1.0.0

06 Sep 14:18
Compare
Choose a tag to compare

V-1.0.0 changelog

V1.0.0 introduces a new structure in PARCS, where declaration and randomization of the DAGs can be done easier and more effectively.

New Structure

  • Description objects: pyparcs.Description class handles the functionalities about declaring and randomization of DAGs. Parameter and connection randomization functions are now methods of Description. The pyparcs.RandomDescription presents the graph randomization.
  • Guideline objects: pyparcs.Guideline and pyparcs.GuidelineIterator handle the functionalities about providing randomization guidelines.
  • Graph objects: pyparcs.Graph object now receives description objects as input (instead of node/edge). It throws an error if the description is still partially specified.

Improvements

  • Reading outline information: the Description.outline attribute can be called at any time (before or after randomization) to return the updated outline information.
  • Randomization tags: by assigning tags to outline lines, we can mark the nodes and edges for selective randomization. This way, a partially-specified outline can be randomized using more than one guideline.
  • Randomizing coefficients: randomizing single coefficients (e.g. mu_=2X-?Y) is now possible.
  • infer edges: trivial edges can be inferred, based on the name of the parent nodes which appear in child node lines.
  • faster sampling: sampling procedures is in the order of x100 faster after code optimization.

Documentation

API and diagrams are added to the documentation, for better understanding of the PARCS mechanics.

PARCS v0.2.0

12 Jul 20:20
Compare
Choose a tag to compare

Features

  • Temporal Causal DAGs: Defined by their unique description file (via pyparcs.graph_builder.temporal_parsers)
  • Visualization: Via the Graphviz library, the Graph.visualize() method returns a static visualization.

Improvements

  • Custom path for determinist nodes: The custom Python file for determinist nodes doesn't need to be in the same folder as the main script
  • description dictionaries: We can pass the descriptions as dictionaries rather than yml files
  • No unnecessary burn-out: Graphs without correction elements won't run a burn-out phase
  • Informative error message in description: wrong parameterizing of the distributions now throws an informative error message

Bug fixes

  • Invalid parents for .do() Now choosing the descendant nodes of a node for functional intervention throws an informative error

PARCS 0.1.3

24 Feb 18:00
Compare
Choose a tag to compare

We are happy to release PARCS version 0.1.3. Here is a short changelog:

  • in term parser for node names that are identical up to a character, e.g.: Z_1, Z_11 (pyparcs.graph_builder.parsers.term_parser)
  • in deterministic nodes; graph object was raising fatal errors in the way it read det nodes (pyparcs.cdag.graph_objects.Graph)
  • in assertion of the uniform distribution to check for "no correction" (pyparcs.cdag.output_distributions.UniformDistribution)

Please refer to the package docs for further information

PARCS 0.1.1

23 Feb 12:55
61d6208
Compare
Choose a tag to compare

We are happy to release the first version of PARCS. This version is meant to initiate the archival repository for the package.

Please refer to the package docs for further information