Source code for expertsystem.amplitude.abstract_generator

"""Abstract interfaces for amplitude model generation."""

from abc import ABC, abstractmethod

from expertsystem.topology import StateTransitionGraph


[docs]class AbstractAmplitudeNameGenerator(ABC): """Abstract interface for a parameter name generator."""
[docs] @abstractmethod def generate_unique_amplitude_name(self, graph, node_id): pass
[docs] @abstractmethod def generate_amplitude_coefficient_infos(self, graph): pass
@abstractmethod def _generate_amplitude_coefficient_name( self, graph: StateTransitionGraph, node_id: int ) -> str: pass
[docs]class AbstractAmplitudeGenerator(ABC): """Abstract interface for an amplitude model generator."""
[docs] @abstractmethod def generate(self, graphs): pass
[docs] @abstractmethod def write_to_file(self, filename): pass