Parameter tying in Hidden Markov Models is essentially mapping multiple logical parameters of an HMM to a few physical parameters, in order to decrease computation and enforce constraints.
So if the parameters (states, GMMs, mean vectors, covariance matrices, transition matrices, stream weight vectors, duration parameter vectors...) are fields of an object which represents an HMM, these are to be mapped to a few physical copies. For example, any two states in the HMM set can have the same output probability distribution.
I need to have a syntactical representations of HMMs and parameter tying between them, and parse them and construct the HMM objects from them.
What would be a nice, elegant way of tying these parameters using features of the C++ language (if possible)?
EDIT
Raw pointers are definitely not an option. I'm looking into C++ pointer types like shared_ptr
, but I'd like to avoid them too if possible. Also, it seems that C++ references may limit functionality.