Source code for core.decision_diagrams.DDCollection
from __future__ import annotations
from pathlib import Path
from typing import Set
from core.BooleanFunctionCollection import BooleanFunctionCollection
from core.decision_diagrams.DD import DD
[docs]
class DDCollection(BooleanFunctionCollection):
def __init__(self, dds: Set[DD] = None):
super().__init__(dds)
[docs]
def get_output_variables(self) -> Set[str]:
raise NotImplementedError()
[docs]
def get_auxiliary_variables(self) -> Set[str]:
raise NotImplementedError()
[docs]
@staticmethod
def read(file_path: Path) -> BooleanFunctionCollection:
raise NotImplementedError()
[docs]
def to_string(self) -> str:
content = ""
for dd in self.boolean_functions:
content += dd.to_string()
return content
[docs]
def add(self, dd: DD):
super().add(dd)
[docs]
def prune(self) -> DDCollection:
new_dd_collection = DDCollection()
for dd in self.boolean_functions:
new_dd = dd.prune()
new_dd_collection.add(new_dd)
return new_dd_collection