I have a space of 128 states expressed with binary bitstrings. The transition probabilities among these states are known to me, as follows:
(('1111111', '1111111'), 0.255), (('0000000', '0000000'), 0.027), (('1111111', '1111101'), 0.016), (('1111111', '1111110'), 0.016), (('1111011', '1111111'), 0.014), ... (('0000000', '0111010'), 0.0), (('0111010', '1000101'), 0.0), (('1000101', '0000000'), 0.0)
The values at different bit positions can be interdependent, i.e., the value at position x of the bitstring expressing a state can influence the value at another position y in the bitstring for that state. However, I do not know how the values at different bit positions depend upon each other.
I want to take a sequence of states up to t steps as input, e.g.,
[0111111, 1111110, 1111110, 1111011, 1101110, 1111111, 1111101], and want to predict the state at (t+1)th step.
I have considered Viterbi algorithm on each bit position separately and Seq2Seq model on the integer values of the state bitstrings so far. However, I think they do not address the possibility of the different bit positions being inter-dependent and do not utilize the transition matrix that I have calculated.
The problem seems to be usual, but since being in social studies field I might not very familiar with any existing algorithm that addresses problems of this kind. Could you please suggest me a good algorithm or model to apply in the given scenario? Also if you could direct me to any available Python libraries that can help me use that would be highly appreciated.