Anonymous
Скрытая марковская модель в hmmlearn не сходится
Сообщение
Anonymous » 25 июл 2024, 23:46
Я использую библиотеку hmmlearn, чтобы подогнать скрытую марковскую модель (HMM) к созданному мной набору данных, но столкнулся с проблемой, из-за которой модель не сходится. Ниже мой код:
Код: Выделить всё
a = np.array([
[0.7, 0.2, 0.1],
[0.3, 0.5, 0.2],
[0.3, 0.3, 0.4]
])
b = np.array(
[[0.6, 0.2, 0.1, 0.1],
[0.2, 0.4, 0.2, 0.2],
[0.1, 0.1, 0.6, 0.2]]
)
pi = np.array([0.3, 0.4, 0.3])
model = MarkovModel(transition_probabilities=a, emission_probabilities=b, initial_state_distribution=pi)
observations = np.array([model.generate_observation_sequence(sequence_length=10) for _ in range(1_000)])
- мой класс (
https://github.com/SuperrMurlocc/hmm.git ), но все, что он делает, это генерирует набор последовательностей наблюдений, вот пример (не совсем 1000 последовательностей из-за ограничения количества символов в stackoverflow) :
Код: Выделить всё
[[2, 0, 1, 0, 0, 3, 0, 0, 2, 0],
[0, 1, 2, 3, 3, 2, 0, 1, 1, 2],
[0, 1, 0, 0, 3, 2, 1, 0, 0, 0],
[2, 2, 3, 1, 2, 1, 1, 0, 3, 3],
[0, 1, 0, 0, 0, 2, 3, 0, 0, 1],
[3, 1, 2, 2, 1, 2, 0, 0, 3, 1],
[0, 0, 2, 1, 0, 3, 0, 2, 0, 1],
[1, 0, 0, 0, 3, 1, 1, 1, 0, 0],
[2, 0, 2, 1, 2, 1, 0, 1, 1, 1],
[0, 1, 0, 0, 3, 2, 2, 0, 3, 3],
[0, 0, 2, 2, 0, 1, 1, 0, 3, 1],
[0, 0, 3, 2, 0, 2, 0, 1, 0, 0],
[0, 0, 0, 1, 2, 1, 1, 3, 0, 0],
[3, 1, 0, 1, 2, 0, 2, 1, 2, 1],
[3, 0, 3, 0, 0, 0, 0, 1, 1, 0],
[2, 2, 3, 2, 2, 1, 2, 1, 1, 1],
[1, 3, 1, 0, 0, 1, 1, 0, 1, 2],
[1, 3, 1, 3, 0, 0, 1, 1, 2, 2],
[2, 3, 0, 3, 2, 1, 2, 2, 2, 2],
[2, 0, 1, 1, 0, 0, 0, 0, 3, 1],
[2, 0, 0, 0, 0, 0, 3, 2, 2, 3],
[2, 3, 1, 1, 2, 3, 0, 0, 0, 2],
[3, 1, 0, 2, 0, 2, 1, 1, 1, 0],
[1, 0, 1, 1, 1, 1, 0, 0, 0, 1],
[2, 2, 2, 0, 0, 0, 0, 1, 2, 0],
[2, 2, 3, 1, 0, 0, 2, 0, 1, 1],
[3, 0, 3, 1, 1, 3, 1, 0, 1, 0],
[2, 0, 2, 3, 0, 0, 0, 2, 0, 3],
[0, 0, 0, 1, 2, 1, 1, 0, 0, 3],
[3, 1, 2, 0, 0, 0, 0, 0, 1, 1],
[0, 1, 0, 0, 3, 0, 0, 0, 1, 1],
[2, 2, 2, 0, 0, 0, 0, 0, 1, 2],
[2, 3, 3, 0, 0, 0, 3, 0, 0, 2],
[3, 2, 2, 1, 0, 0, 1, 0, 0, 0],
[0, 0, 2, 2, 2, 1, 2, 0, 3, 1],
[2, 2, 0, 3, 1, 0, 0, 1, 0, 1],
[0, 0, 0, 1, 0, 0, 0, 1, 0, 0],
[2, 2, 2, 2, 3, 0, 1, 0, 1, 2],
[3, 0, 0, 2, 3, 3, 1, 3, 1, 2],
[0, 1, 0, 2, 0, 1, 0, 0, 1, 0],
[3, 2, 2, 1, 0, 3, 1, 2, 3, 1],
[0, 0, 2, 0, 0, 0, 1, 1, 1, 1],
[0, 2, 0, 3, 3, 1, 2, 1, 1, 0],
[0, 1, 1, 0, 0, 0, 3, 1, 1, 2],
[3, 3, 2, 3, 3, 2, 0, 3, 1, 2],
[0, 0, 2, 0, 2, 0, 3, 0, 2, 0],
[0, 0, 1, 1, 1, 3, 1, 3, 0, 3],
[1, 2, 1, 0, 0, 0, 2, 1, 0, 2],
[0, 0, 0, 0, 0, 2, 1, 1, 1, 3],
[1, 0, 2, 0, 3, 1, 0, 2, 0, 2],
[0, 2, 0, 0, 1, 1, 0, 0, 0, 1],
[1, 2, 1, 0, 1, 0, 0, 3, 2, 0],
[0, 2, 2, 1, 0, 3, 1, 0, 1, 0],
[0, 2, 1, 0, 2, 2, 1, 3, 1, 0],
[1, 3, 0, 2, 1, 2, 1, 0, 3, 3],
[2, 0, 0, 2, 0, 3, 0, 0, 3, 1],
[1, 2, 1, 2, 2, 1, 0, 0, 1, 0],
[0, 0, 0, 1, 0, 0, 0, 3, 2, 3],
[3, 1, 3, 0, 0, 0, 2, 1, 2, 1],
[1, 2, 1, 0, 3, 0, 2, 3, 2, 0],
[0, 0, 2, 2, 1, 2, 1, 1, 2, 2],
[3, 2, 1, 3, 1, 0, 0, 1, 2, 3],
[3, 0, 3, 1, 3, 0, 2, 1, 2, 1],
[0, 3, 2, 0, 0, 2, 0, 3, 0, 1],
[1, 0, 2, 3, 3, 2, 1, 1, 1, 1],
[2, 3, 1, 3, 0, 1, 0, 0, 0, 0],
[2, 0, 0, 1, 3, 0, 0, 2, 0, 2],
[3, 2, 2, 0, 2, 1, 0, 0, 2, 3],
[3, 0, 0, 1, 1, 0, 1, 3, 2, 0],
[0, 0, 0, 2, 2, 1, 0, 0, 0, 1],
[1, 2, 0, 3, 0, 0, 0, 2, 2, 2],
[1, 2, 1, 2, 2, 2, 2, 0, 3, 1],
[1, 1, 1, 1, 0, 2, 1, 2, 0, 0],
[1, 2, 1, 0, 0, 3, 1, 1, 0, 3],
[2, 0, 1, 1, 1, 1, 2, 0, 0, 0],
[1, 2, 2, 3, 1, 0, 3, 1, 0, 2],
[0, 2, 3, 1, 0, 0, 0, 1, 0, 0],
[2, 0, 1, 0, 1, 0, 2, 1, 2, 2],
[3, 2, 2, 1, 0, 2, 0, 0, 0, 3],
[1, 0, 2, 0, 2, 0, 0, 0, 0, 1],
[2, 2, 1, 2, 1, 0, 0, 1, 1, 0],
[3, 0, 2, 3, 2, 0, 0, 1, 0, 3],
[3, 1, 0, 1, 2, 1, 2, 3, 3, 0],
[3, 3, 2, 3, 1, 1, 1, 3, 1, 2],
[1, 1, 0, 1, 3, 1, 0, 1, 2, 1],
[0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
[2, 3, 2, 0, 3, 1, 2, 2, 1, 3],
[2, 3, 2, 2, 2, 3, 0, 2, 0, 3],
[0, 1, 2, 3, 1, 0, 3, 1, 1, 1],
[1, 0, 1, 0, 0, 0, 3, 0, 1, 3],
[3, 0, 3, 1, 1, 1, 0, 0, 0, 1],
[3, 2, 1, 3, 0, 3, 3, 0, 0, 0],
[0, 1, 2, 0, 0, 1, 2, 1, 0, 0],
[0, 2, 0, 0, 3, 2, 0, 1, 1, 0],
[1, 0, 2, 0, 1, 1, 1, 1, 2, 0],
[3, 0, 0, 2, 1, 0, 2, 0, 0, 1],
[2, 1, 0, 0, 0, 1, 3, 1, 0, 1],
[1, 2, 1, 2, 0, 2, 2, 0, 0, 0],
[0, 0, 0, 2, 2, 0, 0, 0, 2, 1],
[1, 0, 3, 0, 1, 1, 2, 0, 1, 1],
[0, 0, 2, 1, 0, 1, 1, 0, 1, 3],
[0, 0, 0, 0, 0, 0, 1, 2, 2, 3],
[2, 0, 2, 0, 0, 0, 0, 1, 0, 3],
[0, 0, 0, 0, 0, 3, 2, 1, 2, 0],
[0, 2, 1, 1, 0, 2, 0, 0, 0, 0],
[2, 2, 0, 0, 2, 3, 0, 0, 2, 2],
[0, 1, 2, 0, 2, 0, 0, 1, 2, 2],
[1, 1, 0, 2, 2, 2, 0, 0, 2, 3],
[1, 1, 1, 1, 0, 2, 0, 2, 0, 1],
[3, 2, 3, 2, 2, 1, 3, 0, 0, 3],
[1, 2, 2, 0, 0, 0, 0, 0, 2, 3],
[0, 1, 1, 1, 3, 1, 2, 1, 0, 3],
[1, 1, 2, 0, 2, 0, 0, 1, 1, 0],
[0, 1, 1, 0, 1, 2, 0, 1, 3, 1],
[3, 1, 0, 1, 1, 2, 0, 2, 1, 1],
[0, 2, 1, 0, 0, 0, 0, 1, 0, 0],
[3, 3, 1, 1, 2, 2, 0, 1, 3, 0],
[0, 1, 3, 3, 2, 1, 1, 0, 2, 1],
[2, 3, 0, 2, 3, 2, 0, 1, 0, 0],
[1, 2, 0, 0, 0, 2, 0, 0, 1, 3],
[2, 2, 0, 0, 2, 3, 1, 1, 2, 0],
[0, 2, 3, 3, 1, 3, 1, 1, 0, 1],
[3, 3, 2, 0, 0, 2, 3, 2, 0, 2],
[3, 2, 3, 3, 3, 0, 0, 0, 1, 0],
[2, 2, 3, 0, 1, 3, 0, 3, 1, 1],
[3, 1, 1, 2, 1, 2, 0, 3, 3, 3],
[2, 1, 0, 1, 1, 1, 3, 1, 0, 0],
[1, 0, 3, 3, 0, 2, 0, 1, 1, 2],
[3, 3, 3, 0, 0, 2, 1, 0, 1, 2],
[0, 0, 2, 2, 3, 3, 2, 0, 2, 2],
[1, 0, 1, 0, 2, 1, 0, 0, 0, 0],
[1, 0, 1, 3, 0, 1, 2, 0, 0, 3],
[2, 0, 0, 2, 0, 2, 0, 1, 1, 0],
[2, 1, 2, 2, 3, 3, 2, 2, 2, 0],
[2, 0, 1, 0, 0, 2, 0, 1, 3, 3],
[2, 1, 2, 0, 0, 1, 3, 2, 0, 2],
[0, 1, 0, 0, 0, 0, 3, 3, 3, 1],
[2, 1, 1, 2, 1, 1, 2, 2, 1, 2],
[2, 2, 2, 2, 2, 2, 2, 1, 3, 3],
[3, 0, 0, 0, 2, 2, 0, 3, 1, 1],
[1, 0, 2, 1, 3, 1, 1, 0, 0, 3],
[1, 0, 1, 1, 1, 2, 3, 3, 0, 1],
[1, 2, 1, 0, 0, 2, 3, 0, 1, 2],
[3, 1, 2, 3, 0, 3, 1, 0, 0, 2],
[2, 2, 2, 1, 3, 3, 0, 3, 2, 3],
[0, 3, 3, 0, 0, 0, 2, 1, 2, 0],
[1, 0, 0, 2, 2, 2, 1, 2, 2, 0],
[3, 0, 3, 0, 1, 1, 0, 0, 1, 1],
[2, 1, 0, 2, 1, 2, 2, 2, 3, 0],
[2, 1, 2, 1, 2, 3, 3, 1, 2, 0],
[0, 1, 3, 0, 1, 0, 3, 0, 2, 3],
[1, 1, 0, 0, 0, 0, 0, 0, 0, 1],
[1, 1, 0, 2, 0, 2, 1, 0, 1, 0],
[0, 1, 0, 0, 2, 3, 0, 2, 0, 2],
[3, 0, 1, 3, 2, 3, 3, 0, 0, 3],
[2, 3, 0, 1, 0, 3, 2, 2, 2, 3],
[2, 2, 1, 2, 3, 0, 0, 0, 0, 0],
[0, 3, 0, 2, 0, 0, 0, 2, 2, 2],
[1, 3, 1, 3, 2, 3, 3, 0, 2, 0],
[3, 2, 0, 0, 0, 2, 1, 1, 0, 3],
[3, 1, 0, 0, 0, 0, 0, 1, 0, 3],
[3, 0, 0, 0, 0, 1, 1, 0, 2, 3],
[2, 0, 2, 0, 3, 1, 3, 0, 3, 1],
[1, 2, 3, 0, 0, 0, 1, 2, 2, 2],
[2, 3, 2, 0, 3, 3, 2, 3, 2, 2],
[2, 3, 0, 1, 0, 1, 0, 0, 3, 0],
[1, 2, 3, 2, 1, 2, 0, 1, 0, 1],
[2, 1, 2, 1, 2, 0, 1, 3, 3, 0],
[0, 1, 0, 0, 2, 0, 1, 2, 3, 1],
[2, 1, 2, 1, 0, 0, 2, 3, 0, 0],
[0, 2, 2, 1, 1, 1, 2, 0, 1, 0],
[2, 2, 0, 1, 0, 3, 2, 2, 1, 0],
[1, 0, 2, 2, 1, 3, 0, 1, 0, 0],
[2, 0, 2, 1, 0, 2, 0, 0, 0, 0],
[0, 1, 0, 2, 3, 2, 3, 2, 2, 0],
[1, 2, 0, 1, 3, 2, 2, 3, 3, 2],
[0, 0, 1, 0, 0, 0, 0, 0, 2, 3],
[0, 2, 2, 2, 2, 0, 0, 2, 1, 1],
[0, 1, 3, 1, 1, 3, 0, 1, 0, 3],
[0, 0, 0, 2, 2, 2, 1, 0, 0, 0],
[1, 0, 2, 3, 1, 3, 1, 1, 0, 1],
[0, 0, 1, 0, 0, 0, 1, 1, 1, 0],
[3, 2, 1, 3, 0, 3, 1, 0, 0, 3],
[2, 1, 2, 0, 0, 0, 0, 0, 0, 1],
[1, 1, 1, 3, 3, 2, 0, 1, 0, 3],
[1, 1, 1, 3, 0, 2, 1, 0, 0, 3],
[2, 0, 0, 3, 1, 0, 0, 0, 1, 0],
[3, 2, 1, 1, 1, 0, 3, 0, 0, 0],
[2, 2, 3, 0, 0, 2, 1, 0, 1, 0],
[2, 0, 0, 2, 3, 3, 2, 1, 2, 1],
[0, 1, 0, 0, 1, 3, 0, 0, 1, 3],
[2, 3, 1, 2, 0, 3, 3, 3, 2, 1],
[1, 2, 2, 0, 0, 0, 2, 1, 0, 3],
[1, 2, 0, 0, 0, 3, 0, 0, 2, 1],
[0, 1, 0, 3, 3, 0, 3, 0, 2, 3],
[2, 3, 1, 2, 1, 1, 1, 3, 1, 1],
[3, 3, 1, 1, 0, 1, 2, 1, 1, 1],
[1, 0, 1, 0, 1, 2, 0, 0, 0, 3],
[1, 1, 1, 1, 1, 1, 0, 0, 1, 0],
[1, 3, 0, 0, 1, 2, 1, 3, 0, 3],
[1, 2, 3, 2, 1, 0, 2, 0, 1, 3],
[0, 1, 1, 0, 0, 0, 0, 1, 3, 1],
[0, 0, 2, 1, 3, 2, 2, 1, 2, 1],
[0, 1, 0, 2, 1, 0, 0, 3, 0, 0],
[0, 2, 0, 1, 0, 0, 1, 2, 1, 1],
[3, 3, 2, 1, 1, 2, 1, 0, 2, 0],
[0, 0, 1, 0, 2, 0, 0, 2, 0, 1],
[1, 0, 2, 3, 0, 1, 3, 1, 1, 1],
[1, 1, 1, 0, 1, 0, 3, 1, 1, 1],
[3, 1, 2, 2, 0, 0, 1, 0, 0, 2],
[1, 0, 1, 0, 0, 3, 0, 0, 1, 3],
[2, 2, 2, 0, 1, 2, 2, 3, 0, 0],
[0, 2, 0, 1, 0, 1, 2, 0, 0, 2],
[3, 0, 2, 1, 2, 2, 2, 0, 3, 1],
[0, 3, 0, 3, 2, 3, 3, 0, 3, 3],
[1, 0, 0, 2, 0, 3, 1, 2, 3, 0],
[3, 2, 2, 1, 2, 1, 0, 0, 2, 2],
[1, 0, 2, 2, 2, 1, 2, 3, 1, 1],
[0, 1, 1, 2, 0, 1, 1, 0, 2, 3],
[0, 0, 0, 0, 1, 0, 0, 1, 2, 0],
[0, 2, 0, 0, 0, 0, 1, 2, 0, 3],
[0, 2, 3, 0, 1, 0, 3, 2, 0, 2],
[0, 1, 0, 2, 0, 0, 2, 0, 1, 3],
[0, 1, 1, 0, 2, 3, 0, 3, 1, 1],
[2, 2, 3, 0, 2, 3, 1, 0, 3, 2],
[0, 0, 0, 0, 2, 1, 3, 0, 0, 1],
[2, 0, 1, 2, 0, 3, 3, 1, 0, 2],
[1, 0, 3, 2, 1, 1, 2, 0, 3, 0],
[0, 0, 2, 3, 1, 0, 2, 1, 1, 2],
[1, 2, 0, 0, 3, 0, 3, 0, 3, 3],
[2, 3, 2, 3, 1, 2, 3, 0, 1, 2],
[3, 1, 0, 0, 0, 0, 1, 1, 2, 1],
[2, 3, 2, 1, 1, 3, 1, 1, 0, 1],
[3, 2, 2, 0, 1, 1, 0, 0, 0, 0],
[0, 3, 0, 3, 0, 1, 2, 2, 0, 0],
[0, 2, 3, 0, 3, 1, 3, 0, 1, 1],
[3, 2, 1, 1, 1, 0, 1, 1, 1, 3],
[2, 1, 1, 0, 1, 0, 0, 0, 2, 1],
[2, 2, 1, 1, 1, 2, 0, 0, 2, 0],
[1, 1, 0, 0, 2, 0, 0, 0, 0, 2],
[3, 0, 1, 0, 0, 2, 0, 0, 0, 0],
[1, 3, 2, 0, 2, 3, 1, 1, 0, 1],
[3, 0, 0, 0, 0, 2, 1, 1, 1, 3],
[1, 0, 2, 0, 2, 3, 2, 0, 3, 2],
[2, 2, 2, 1, 2, 3, 0, 2, 0, 1],
[3, 1, 3, 2, 2, 2, 3, 3, 1, 1],
[2, 1, 3, 2, 3, 2, 0, 1, 3, 2],
[2, 2, 1, 1, 1, 0, 1, 2, 1, 1],
[1, 2, 0, 0, 0, 2, 1, 2, 0, 0],
[0, 0, 3, 2, 2, 2, 2, 1, 1, 0],
[3, 2, 3, 0, 3, 0, 2, 0, 0, 1],
[3, 1, 2, 1, 0, 1, 1, 3, 2, 3],
[2, 0, 2, 0, 1, 3, 0, 1, 3, 0],
[2, 3, 2, 0, 0, 2, 2, 2, 3, 1],
[3, 3, 1, 0, 1, 3, 3, 0, 2, 2],
[1, 3, 0, 2, 2, 2, 2, 3, 0, 2],
[0, 0, 1, 1, 0, 1, 2, 0, 1, 1],
[3, 0, 2, 2, 3, 1, 1, 2, 0, 0],
[2, 1, 0, 2, 3, 0, 0, 3, 2, 0],
[0, 3, 3, 1, 0, 2, 3, 1, 1, 2],
[1, 2, 3, 2, 3, 3, 0, 0, 3, 1],
[0, 0, 0, 1, 0, 0, 3, 1, 0, 1],
[1, 1, 3, 2, 3, 0, 1, 0, 0, 2],
[3, 3, 2, 0, 1, 1, 2, 1, 0, 2],
[1, 1, 1, 2, 3, 1, 2, 0, 1, 2],
[2, 2, 0, 2, 0, 1, 1, 0, 0, 1],
[2, 0, 1, 1, 2, 1, 1, 0, 1, 1],
[0, 1, 3, 0, 1, 0, 0, 3, 3, 0],
[1, 0, 1, 2, 3, 2, 2, 0, 2, 0],
[2, 1, 0, 1, 1, 2, 1, 1, 0, 2],
[2, 0, 0, 0, 0, 3, 1, 2, 2, 0],
[2, 1, 0, 0, 2, 1, 2, 1, 3, 1],
[1, 3, 0, 0, 0, 1, 1, 2, 0, 2],
[1, 0, 1, 1, 3, 2, 1, 1, 3, 0],
[2, 1, 0, 2, 1, 2, 1, 2, 0, 0],
[0, 3, 2, 2, 0, 1, 1, 0, 0, 2],
[0, 1, 2, 1, 2, 2, 0, 3, 2, 1],
[0, 0, 2, 0, 2, 1, 0, 3, 0, 2],
[2, 2, 0, 3, 3, 3, 3, 2, 0, 3],
[0, 3, 2, 2, 2, 2, 3, 2, 0, 0],
[0, 0, 3, 1, 3, 0, 0, 0, 0, 0],
[0, 1, 0, 2, 3, 1, 2, 3, 0, 0],
[0, 0, 0, 1, 0, 1, 0, 0, 2, 1],
[3, 2, 2, 0, 1, 0, 1, 3, 2, 2],
[0, 0, 1, 0, 1, 0, 2, 2, 1, 0],
[3, 1, 2, 2, 0, 1, 0, 3, 2, 0],
[0, 3, 1, 3, 2, 2, 0, 1, 2, 0],
[2, 1, 3, 3, 0, 2, 3, 0, 0, 1],
[2, 2, 2, 2, 1, 0, 0, 0, 0, 2],
[1, 2, 0, 2, 3, 2, 3, 2, 2, 1],
[2, 1, 2, 0, 0, 0, 0, 1, 0, 1],
[1, 2, 0, 0, 2, 3, 0, 0, 0, 0],
[2, 0, 0, 3, 3, 0, 1, 0, 2, 2],
[3, 3, 1, 0, 0, 2, 2, 2, 2, 2],
[1, 2, 1, 1, 3, 0, 3, 0, 1, 2],
[2, 2, 2, 3, 0, 0, 0, 1, 0, 1],
[0, 1, 2, 2, 3, 0, 0, 1, 1, 2],
[0, 0, 3, 0, 2, 0, 0, 1, 0, 0],
[3, 0, 3, 0, 0, 0, 0, 1, 1, 2],
[0, 1, 0, 1, 0, 1, 0, 0, 1, 2],
[1, 3, 1, 3, 3, 1, 3, 0, 0, 2],
[3, 2, 0, 0, 0, 0, 1, 0, 0, 0],
[0, 2, 3, 2, 2, 3, 1, 1, 3, 3],
[1, 3, 0, 2, 0, 1, 1, 1, 1, 0],
[0, 2, 2, 2, 2, 1, 3, 2, 2, 2],
[2, 3, 1, 0, 1, 1, 1, 1, 1, 0],
[2, 3, 2, 0, 0, 3, 3, 1, 3, 1],
[0, 0, 2, 1, 2, 0, 1, 1, 3, 3],
[2, 2, 0, 0, 3, 0, 0, 1, 0, 3],
[2, 2, 1, 2, 0, 3, 1, 0, 3, 2],
[3, 2, 0, 0, 1, 0, 1, 2, 2, 2],
[0, 2, 0, 1, 0, 1, 3, 2, 1, 2],
[0, 0, 2, 1, 1, 0, 3, 1, 0, 0],
[2, 2, 0, 0, 0, 1, 1, 1, 0, 2],
[1, 2, 3, 3, 1, 2, 0, 0, 1, 1],
[1, 1, 3, 3, 0, 3, 1, 3, 3, 0],
[3, 2, 0, 1, 3, 2, 0, 2, 1, 2],
[2, 2, 1, 1, 0, 0, 0, 0, 0, 3],
[0, 0, 3, 2, 1, 3, 2, 3, 2, 1],
[3, 2, 0, 0, 3, 1, 0, 1, 0, 0],
[2, 0, 0, 0, 0, 0, 0, 0, 1, 3],
[3, 2, 1, 0, 1, 3, 0, 0, 1, 0],
[1, 1, 2, 0, 0, 0, 0, 1, 0, 2],
[1, 0, 1, 0, 0, 0, 3, 3, 1, 1],
[0, 2, 1, 1, 0, 0, 0, 2, 1, 3],
[2, 0, 1, 1, 0, 0, 1, 3, 2, 2],
[3, 3, 3, 2, 2, 3, 0, 3, 0, 2],
[0, 1, 0, 3, 2, 2, 1, 1, 0, 2],
[2, 0, 3, 1, 1, 3, 0, 3, 1, 1],
[3, 0, 0, 2, 3, 3, 2, 2, 2, 0],
[0, 2, 1, 3, 0, 2, 1, 3, 2, 1],
[2, 0, 1, 1, 3, 2, 3, 0, 0, 3],
[0, 1, 3, 1, 0, 0, 3, 0, 0, 1],
[2, 2, 0, 0, 1, 1, 0, 0, 3, 0],
[0, 1, 1, 2, 2, 2, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 3, 0, 0, 3, 1],
[0, 0, 0, 0, 0, 3, 1, 0, 1, 2],
[3, 1, 3, 0, 0, 2, 2, 0, 0, 2],
[0, 2, 1, 1, 0, 0, 0, 1, 0, 0],
[3, 3, 3, 3, 2, 3, 1, 1, 0, 2],
[0, 2, 2, 3, 1, 1, 1, 0, 0, 0],
[0, 0, 3, 0, 0, 1, 2, 1, 1, 0],
[3, 2, 0, 2, 2, 2, 2, 0, 0, 0],
[0, 0, 0, 1, 3, 3, 2, 2, 0, 2],
[2, 3, 3, 1, 0, 0, 3, 0, 0, 0],
[0, 1, 0, 0, 3, 3, 1, 2, 0, 1],
[2, 1, 2, 3, 0, 3, 3, 2, 1, 1],
[0, 0, 3, 1, 1, 1, 1, 2, 1, 0],
[2, 2, 0, 0, 0, 1, 0, 1, 3, 2],
[0, 1, 3, 2, 1, 3, 3, 0, 0, 0],
[2, 0, 3, 2, 3, 0, 2, 2, 0, 2],
[3, 3, 0, 0, 2, 1, 0, 0, 2, 2],
[1, 3, 1, 2, 2, 2, 1, 2, 1, 1],
[1, 0, 3, 0, 2, 1, 3, 0, 3, 3],
[2, 2, 2, 1, 2, 2, 0, 0, 0, 0],
[2, 0, 1, 3, 0, 0, 0, 3, 1, 2],
[0, 0, 1, 1, 0, 0, 0, 2, 0, 1],
[2, 0, 0, 0, 1, 0, 0, 1, 1, 1],
[3, 2, 0, 3, 3, 1, 0, 3, 1, 3],
[0, 0, 2, 2, 2, 0, 1, 0, 2, 1],
[2, 0, 2, 0, 3, 0, 0, 0, 1, 0],
[1, 0, 0, 2, 1, 2, 3, 1, 1, 1],
[3, 0, 0, 2, 3, 1, 2, 2, 3, 1],
[2, 3, 3, 3, 0, 3, 1, 2, 3, 1],
[1, 1, 3, 1, 1, 0, 0, 2, 1, 0],
[0, 1, 1, 0, 1, 0, 3, 2, 1, 0],
[3, 3, 0, 3, 0, 0, 1, 0, 0, 1],
[0, 2, 1, 2, 2, 2, 2, 0, 1, 2],
[0, 0, 3, 0, 0, 0, 0, 3, 2, 0],
[2, 0, 2, 0, 1, 2, 1, 2, 0, 0],
[2, 3, 1, 0, 3, 1, 1, 0, 0, 0],
[1, 2, 3, 1, 2, 1, 1, 2, 3, 0],
[3, 0, 2, 0, 0, 2, 0, 1, 0, 0],
[2, 0, 1, 0, 2, 1, 1, 3, 1, 0],
[3, 2, 0, 2, 3, 2, 0, 0, 0, 2],
[3, 2, 1, 2, 0, 0, 3, 0, 2, 0],
[2, 1, 2, 3, 1, 0, 1, 0, 1, 3],
[0, 2, 2, 2, 2, 1, 1, 1, 3, 2],
[2, 3, 1, 3, 0, 0, 0, 0, 2, 0],
[2, 1, 2, 2, 1, 0, 0, 0, 0, 3],
[1, 0, 1, 0, 1, 1, 2, 1, 0, 0],
[3, 1, 2, 2, 2, 0, 1, 0, 3, 0],
[0, 0, 1, 1, 0, 2, 0, 0, 2, 3],
[3, 1, 2, 1, 0, 0, 1, 1, 1, 1],
[1, 3, 0, 1, 0, 0, 2, 0, 3, 0],
[3, 0, 2, 2, 2, 3, 2, 3, 2, 0],
[1, 1, 0, 1, 2, 0, 1, 2, 1, 2],
[2, 3, 1, 0, 1, 3, 3, 1, 2, 0],
[2, 0, 1, 1, 1, 2, 3, 3, 3, 1],
[2, 1, 0, 2, 2, 1, 3, 3, 0, 0],
[3, 0, 0, 0, 0, 1, 2, 0, 0, 1],
[1, 0, 1, 2, 3, 0, 1, 3, 1, 0],
[0, 0, 1, 1, 1, 0, 0, 0, 1, 3],
[2, 3, 1, 3, 3, 1, 0, 1, 3, 3],
[0, 0, 0, 0, 2, 2, 3, 2, 2, 1],
[0, 1, 0, 1, 0, 0, 3, 0, 0, 1],
[2, 2, 1, 2, 3, 1, 3, 3, 2, 0],
[0, 3, 2, 0, 1, 0, 0, 2, 0, 1],
[1, 2, 3, 1, 0, 1, 1, 0, 2, 1],
[2, 2, 2, 0, 0, 0, 1, 0, 1, 2],
[0, 0, 0, 0, 1, 0, 0, 1, 2, 3],
[2, 0, 1, 2, 1, 3, 0, 2, 2, 2],
[2, 0, 1, 1, 2, 2, 3, 1, 1, 2],
[1, 0, 0, 2, 0, 2, 0, 3, 1, 0],
[1, 0, 0, 3, 1, 0, 2, 1, 0, 1],
[1, 0, 0, 1, 1, 0, 3, 0, 0, 1],
[3, 1, 1, 0, 2, 0, 0, 0, 1, 2],
[1, 2, 2, 3, 0, 2, 2, 2, 1, 0],
[0, 3, 0, 2, 1, 0, 3, 1, 0, 0],
[1, 3, 0, 1, 3, 1, 0, 0, 1, 0],
[1, 2, 0, 3, 2, 3, 1, 0, 0, 0],
[0, 1, 0, 0, 0, 2, 2, 0, 0, 2],
[0, 1, 3, 2, 2, 0, 1, 3, 1, 2],
[2, 2, 2, 1, 3, 1, 0, 2, 0, 0],
[0, 2, 0, 2, 0, 2, 2, 1, 0, 3],
[3, 0, 1, 1, 2, 0, 0, 3, 3, 1],
[0, 1, 1, 1, 0, 0, 0, 2, 3, 2],
[0, 2, 3, 1, 0, 2, 2, 3, 1, 0],
[2, 0, 3, 0, 1, 1, 1, 3, 0, 1],
[0, 0, 2, 0, 0, 0, 2, 2, 1, 2],
[1, 1, 3, 2, 1, 0, 3, 2, 3, 1],
[0, 2, 0, 0, 0, 0, 3, 2, 0, 3],
[2, 0, 1, 3, 0, 0, 2, 0, 0, 3],
[2, 0, 3, 2, 0, 0, 0, 0, 0, 1],
[1, 2, 1, 0, 2, 3, 2, 2, 3, 1],
[3, 0, 1, 3, 2, 0, 2, 0, 1, 1],
[2, 0, 0, 3, 1, 2, 1, 1, 3, 1],
[3, 0, 0, 0, 0, 1, 1, 3, 2, 2],
[1, 0, 1, 1, 0, 2, 0, 3, 1, 3],
[2, 1, 2, 2, 1, 1, 0, 0, 0, 0],
[2, 2, 3, 0, 3, 0, 1, 1, 1, 0],
[2, 3, 0, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 3, 0, 3, 1],
[0, 3, 2, 0, 2, 3, 2, 3, 0, 0],
[2, 2, 2, 2, 2, 1, 2, 0, 0, 0],
[0, 2, 0, 2, 2, 3, 3, 2, 2, 0],
[1, 0, 1, 0, 0, 0, 3, 2, 1, 1],
[1, 0, 1, 0, 0, 0, 2, 1, 3, 3],
[2, 0, 0, 0, 0, 0, 0, 0, 3, 0],
[1, 1, 0, 1, 1, 2, 0, 0, 2, 3],
[2, 2, 2, 2, 0, 2, 3, 0, 0, 2],
[3, 0, 0, 3, 3, 3, 1, 1, 1, 2],
[3, 1, 0, 0, 2, 0, 2, 1, 2, 0],
[0, 0, 3, 0, 1, 0, 0, 1, 2, 0],
[0, 0, 1, 3, 1, 2, 1, 3, 0, 0],
[0, 0, 1, 1, 0, 1, 0, 0, 0, 0],
[3, 0, 0, 2, 0, 2, 1, 0, 2, 0],
[3, 3, 1, 0, 0, 0, 0, 0, 3, 2],
[0, 0, 2, 1, 3, 3, 3, 1, 0, 0],
[3, 0, 0, 0, 0, 0, 0, 1, 0, 0],
[3, 1, 1, 3, 3, 2, 1, 0, 3, 2],
[0, 0, 0, 0, 3, 1, 2, 2, 3, 0],
[2, 0, 1, 3, 0, 0, 1, 0, 1, 0],
[0, 2, 0, 0, 0, 0, 0, 0, 3, 0],
[3, 3, 0, 1, 1, 3, 2, 0, 0, 1],
[1, 3, 1, 1, 3, 2, 2, 1, 2, 2],
[0, 1, 3, 2, 0, 1, 3, 1, 2, 1],
[0, 0, 2, 0, 3, 0, 2, 2, 1, 0],
[2, 3, 3, 0, 2, 1, 0, 2, 1, 0],
[0, 0, 2, 1, 1, 1, 0, 0, 1, 2],
[0, 0, 0, 2, 0, 3, 0, 0, 1, 2],
[1, 0, 3, 3, 1, 0, 1, 3, 1, 2],
[1, 0, 3, 3, 1, 3, 0, 3, 2, 2],
[3, 0, 2, 1, 0, 2, 1, 2, 2, 0],
[0, 2, 3, 0, 0, 3, 0, 3, 0, 0],
[2, 2, 2, 1, 2, 0, 0, 1, 1, 1],
[2, 2, 3, 3, 0, 1, 1, 1, 2, 2],
[2, 1, 2, 3, 1, 3, 2, 2, 0, 0],
[1, 0, 0, 2, 2, 0, 2, 1, 0, 0],
[0, 0, 3, 3, 2, 0, 1, 0, 0, 2],
[0, 0, 0, 0, 3, 1, 3, 0, 2, 0],
[0, 3, 2, 2, 0, 1, 1, 1, 3, 2],
[1, 2, 0, 3, 2, 1, 3, 2, 0, 0],
[0, 2, 2, 2, 2, 0, 0, 1, 0, 0],
[2, 2, 0, 1, 2, 0, 0, 0, 0, 1],
[2, 0, 1, 3, 2, 2, 0, 0, 0, 3],
[1, 2, 1, 2, 2, 0, 1, 1, 0, 0],
[2, 0, 2, 3, 3, 1, 3, 1, 0, 1],
[2, 2, 0, 0, 0, 3, 0, 1, 2, 3],
[1, 2, 0, 3, 0, 1, 2, 0, 2, 1],
[0, 1, 0, 2, 0, 1, 2, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 2, 1, 2, 0],
[0, 1, 2, 3, 2, 1, 1, 0, 0, 2],
[0, 1, 2, 2, 1, 2, 0, 0, 0, 0],
[1, 2, 0, 1, 0, 1, 1, 1, 0, 2],
[2, 0, 0, 1, 0, 3, 0, 0, 1, 1],
[0, 1, 2, 0, 3, 1, 2, 1, 0, 0],
[1, 3, 3, 0, 1, 2, 2, 3, 2, 0],
[2, 2, 0, 0, 2, 1, 0, 0, 0, 1],
[1, 0, 1, 2, 0, 2, 0, 2, 0, 1],
[2, 0, 0, 1, 2, 2, 1, 3, 1, 0],
[1, 1, 2, 0, 0, 0, 0, 1, 0, 2],
[3, 0, 0, 3, 0, 1, 1, 0, 1, 2],
[3, 3, 0, 1, 3, 0, 1, 1, 1, 0],
[3, 0, 0, 1, 0, 0, 2, 1, 1, 0],
[1, 3, 0, 0, 0, 0, 1, 2, 2, 3],
[1, 3, 1, 1, 3, 0, 0, 1, 0, 3],
[2, 2, 2, 0, 1, 1, 0, 3, 3, 0],
[3, 0, 2, 2, 3, 3, 2, 0, 0, 1],
[3, 1, 0, 0, 3, 0, 0, 2, 2, 2],
[1, 0, 2, 1, 1, 2, 0, 0, 2, 0],
[0, 3, 1, 0, 3, 1, 2, 3, 0, 2],
[2, 1, 0, 2, 2, 1, 0, 1, 0, 0],
[0, 2, 0, 2, 1, 0, 0, 1, 2, 0],
[1, 2, 1, 1, 2, 2, 1, 3, 1, 0],
[0, 0, 0, 1, 0, 2, 0, 2, 0, 1],
[2, 1, 2, 2, 3, 2, 1, 1, 2, 0],
[2, 1, 2, 1, 0, 0, 3, 0, 2, 1],
[0, 3, 3, 3, 2, 2, 3, 1, 1, 0],
[0, 3, 3, 0, 1, 2, 3, 1, 0, 1],
[3, 0, 1, 1, 0, 0, 0, 3, 0, 1],
[2, 1, 2, 3, 3, 1, 2, 1, 1, 0],
[0, 0, 3, 2, 1, 0, 2, 1, 2, 2],
[2, 0, 1, 1, 0, 0, 2, 0, 0, 1],
[0, 3, 2, 2, 0, 0, 1, 2, 1, 0],
[3, 3, 0, 1, 1, 2, 0, 2, 0, 3],
[0, 0, 3, 1, 1, 2, 0, 0, 1, 0],
[0, 0, 2, 2, 1, 0, 2, 1, 3, 1],
[0, 1, 1, 0, 0, 3, 1, 2, 1, 0],
[1, 0, 2, 1, 2, 0, 0, 2, 2, 2],
[2, 3, 3, 2, 3, 2, 1, 1, 2, 0],
[0, 0, 2, 1, 2, 0, 3, 2, 1, 1],
[0, 0, 3, 1, 0, 0, 0, 0, 1, 0],
[3, 0, 3, 2, 2, 1, 2, 2, 3, 3],
[2, 2, 2, 0, 1, 0, 2, 0, 3, 1],
[0, 0, 0, 3, 0, 3, 1, 0, 0, 1],
[0, 3, 2, 2, 3, 0, 0, 0, 1, 1],
[2, 1, 3, 1, 1, 0, 0, 3, 3, 0],
[2, 0, 2, 1, 2, 2, 2, 1, 3, 2],
[2, 2, 2, 1, 1, 1, 0, 3, 3, 0],
[1, 2, 1, 3, 1, 1, 3, 0, 1, 3],
[2, 0, 1, 0, 0, 0, 3, 1, 0, 0],
[2, 3, 0, 0, 0, 0, 2, 0, 1, 3],
[1, 2, 1, 1, 3, 1, 0, 2, 0, 2],
[0, 2, 2, 2, 1, 2, 0, 2, 1, 0],
[1, 1, 0, 0, 0, 0, 3, 0, 3, 2],
[0, 1, 2, 1, 0, 2, 1, 1, 0, 0],
[0, 1, 3, 0, 3, 2, 0, 0, 1, 3],
[2, 0, 1, 0, 0, 3, 2, 2, 1, 3],
[0, 0, 3, 1, 0, 0, 1, 2, 0, 1],
[0, 2, 1, 2, 3, 3, 0, 0, 0, 0],
[0, 3, 2, 0, 3, 2, 3, 1, 0, 2],
[2, 1, 0, 2, 0, 2, 2, 3, 1, 0],
[2, 3, 2, 0, 2, 2, 3, 1, 2, 2],
[1, 0, 0, 0, 0, 0, 1, 0, 2, 1],
[3, 1, 0, 0, 0, 0, 2, 0, 0, 2],
[2, 3, 0, 3, 3, 3, 0, 2, 0, 0],
[1, 2, 1, 1, 0, 1, 0, 2, 3, 1],
[3, 3, 0, 0, 3, 0, 2, 3, 0, 3],
[2, 0, 2, 2, 2, 3, 0, 2, 0, 0],
[0, 1, 2, 1, 1, 2, 1, 0, 2, 0],
[2, 0, 3, 2, 1, 1, 1, 2, 2, 2],
[0, 1, 0, 3, 0, 1, 2, 0, 2, 2],
[0, 0, 1, 2, 0, 3, 2, 0, 3, 2],
[2, 2, 0, 2, 0, 0, 0, 2, 2, 3],
[0, 0, 2, 2, 3, 2, 2, 0, 2, 0],
[2, 0, 1, 2, 1, 0, 1, 1, 2, 0],
[3, 2, 2, 1, 0, 1, 0, 2, 1, 2],
[2, 1, 1, 3, 3, 1, 1, 0, 0, 3],
[3, 1, 1, 0, 2, 0, 3, 1, 1, 2],
[0, 0, 1, 1, 0, 0, 0, 0, 2, 2],
[0, 2, 2, 3, 3, 2, 2, 2, 3, 1],
[2, 3, 1, 2, 0, 0, 2, 1, 2, 2],
[3, 2, 3, 1, 2, 1, 1, 1, 1, 0],
[2, 3, 3, 0, 1, 0, 1, 3, 1, 0],
[1, 3, 3, 1, 1, 0, 0, 1, 2, 0],
[0, 0, 2, 0, 1, 0, 3, 2, 1, 2],
[0, 1, 0, 2, 2, 0, 2, 1, 2, 2],
[2, 0, 0, 0, 0, 0, 0, 1, 0, 0],
[2, 2, 1, 3, 2, 1, 2, 1, 3, 0],
[1, 3, 2, 1, 0, 3, 2, 2, 1, 0],
[0, 0, 2, 1, 1, 0, 2, 1, 3, 1],
[2, 2, 2, 1, 1, 2, 1, 1, 0, 1],
[0, 0, 1, 1, 2, 1, 1, 2, 3, 1],
[3, 2, 1, 2, 1, 3, 0, 3, 2, 0],
[0, 1, 0, 2, 3, 2, 1, 1, 3, 0],
[2, 1, 2, 1, 2, 2, 0, 0, 1, 0],
[2, 0, 0, 1, 2, 3, 1, 2, 2, 3],
[3, 0, 2, 1, 1, 1, 2, 0, 0, 1],
[1, 1, 1, 0, 0, 1, 0, 2, 1, 1],
[2, 1, 2, 2, 2, 1, 1, 1, 2, 0],
[0, 1, 1, 0, 3, 2, 0, 0, 0, 1],
[2, 2, 2, 3, 1, 2, 2, 2, 0, 0],
[1, 0, 3, 3, 0, 0, 0, 1, 1, 1],
[3, 0, 0, 0, 0, 0, 2, 0, 1, 2],
[0, 2, 2, 1, 2, 3, 2, 1, 1, 0],
[0, 3, 2, 1, 0, 2, 0, 2, 3, 1],
[2, 2, 2, 0, 2, 0, 0, 0, 1, 0],
[1, 1, 0, 1, 2, 0, 0, 1, 1, 3],
[1, 1, 0, 3, 1, 2, 0, 0, 0, 0],
[3, 1, 3, 1, 1, 2, 2, 0, 1, 0],
[2, 1, 0, 1, 0, 3, 1, 2, 1, 0],
[1, 0, 2, 0, 3, 3, 2, 2, 1, 0],
[2, 3, 3, 0, 2, 2, 1, 2, 1, 0],
[1, 1, 1, 0, 0, 2, 0, 0, 2, 0],
[2, 1, 2, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 1, 0, 3, 2, 2, 2, 3, 0],
[0, 1, 0, 0, 2, 1, 3, 0, 2, 2],
[1, 0, 1, 0, 3, 2, 3, 3, 0, 0],
[2, 0, 2, 0, 0, 0, 1, 2, 1, 0],
[0, 3, 0, 3, 1, 0, 0, 1, 0, 0],
[0, 0, 3, 0, 1, 2, 2, 1, 0, 0],
[2, 0, 0, 0, 1, 0, 2, 1, 1, 0],
[2, 1, 0, 1, 0, 1, 2, 1, 0, 2],
[3, 2, 2, 0, 0, 0, 1, 2, 2, 2],
[1, 0, 1, 0, 0, 0, 1, 2, 1, 0],
[2, 1, 1, 3, 2, 1, 1, 0, 2, 1],
[2, 1, 0, 0, 0, 0, 0, 0, 0, 2],
[0, 3, 0, 1, 1, 3, 2, 0, 1, 0],
[0, 2, 3, 0, 0, 0, 2, 2, 0, 1],
[0, 1, 3, 0, 1, 2, 0, 0, 0, 1],
[3, 3, 1, 1, 2, 2, 2, 0, 0, 1],
[1, 1, 0, 2, 1, 1, 0, 2, 1, 0],
[3, 0, 1, 1, 2, 0, 0, 0, 0, 0],
[0, 0, 1, 3, 0, 3, 3, 2, 0, 1],
[1, 0, 1, 0, 0, 1, 3, 2, 1, 1],
[3, 1, 0, 3, 3, 0, 0, 0, 1, 1],
[1, 2, 0, 0, 3, 2, 3, 1, 1, 3],
[2, 1, 1, 1, 1, 1, 0, 0, 0, 0],
[1, 3, 3, 0, 2, 3, 3, 0, 0, 3],
[1, 3, 2, 2, 1, 0, 1, 1, 0, 2],
[0, 3, 0, 3, 1, 3, 3, 3, 1, 2],
[0, 0, 3, 2, 3, 0, 1, 0, 0, 0],
[1, 2, 1, 0, 3, 2, 3, 3, 0, 2],
[1, 0, 2, 1, 1, 0, 1, 0, 0, 3],
[3, 3, 0, 3, 1, 1, 1, 1, 3, 1],
[0, 3, 0, 2, 0, 1, 0, 0, 2, 2],
[2, 0, 1, 0, 3, 0, 0, 0, 0, 1],
[1, 0, 2, 0, 2, 0, 0, 3, 2, 0],
[2, 2, 3, 0, 2, 0, 2, 2, 3, 2],
[0, 2, 0, 0, 3, 0, 0, 0, 0, 3],
[0, 1, 1, 0, 3, 1, 3, 0, 1, 0],
[1, 0, 0, 3, 3, 1, 0, 2, 3, 1],
[3, 1, 2, 3, 0, 2, 0, 2, 2, 0],
[1, 1, 1, 1, 3, 0, 3, 2, 0, 2],
[3, 3, 3, 0, 0, 0, 1, 0, 0, 0],
[2, 0, 0, 0, 2, 0, 2, 2, 0, 3],
[0, 3, 3, 2, 1, 0, 2, 1, 1, 2],
[2, 2, 1, 1, 1, 0, 0, 3, 1, 3],
[3, 0, 3, 3, 2, 2, 2, 2, 3, 0],
[1, 2, 2, 2, 3, 3, 2, 1, 1, 0],
[0, 3, 1, 3, 0, 0, 0, 2, 1, 0],
[3, 2, 2, 2, 1, 1, 2, 0, 2, 0],
[0, 3, 3, 1, 0, 1, 1, 0, 1, 3],
[2, 0, 3, 1, 1, 1, 1, 2, 1, 2],
[2, 2, 2, 0, 1, 0, 0, 0, 0, 1],
[0, 1, 1, 0, 2, 2, 2, 0, 2, 1],
[1, 3, 1, 0, 3, 0, 3, 1, 0, 1],
[1, 0, 1, 0, 0, 2, 1, 1, 2, 0],
[2, 3, 0, 1, 2, 2, 1, 1, 0, 3],
[2, 2, 1, 1, 1, 0, 3, 0, 2, 1],
[0, 0, 0, 2, 0, 3, 2, 1, 2, 2],
[1, 0, 2, 0, 0, 0, 2, 1, 1, 1],
[2, 2, 1, 1, 0, 0, 1, 2, 1, 0],
[3, 1, 2, 1, 2, 3, 1, 0, 0, 0],
[2, 0, 1, 2, 0, 0, 0, 1, 1, 2],
[2, 3, 1, 1, 1, 1, 1, 2, 1, 1],
[2, 2, 1, 0, 0, 0, 0, 0, 2, 0],
[0, 3, 0, 3, 0, 1, 0, 1, 3, 0],
[1, 2, 0, 2, 3, 1, 1, 0, 0, 0],
[1, 2, 2, 2, 1, 3, 0, 1, 2, 2],
[1, 2, 2, 0, 1, 1, 0, 3, 2, 1],
[1, 1, 2, 1, 0, 1, 1, 3, 1, 0],
[1, 0, 0, 3, 0, 0, 0, 3, 2, 3],
[2, 2, 0, 1, 2, 0, 0, 0, 0, 1],
[2, 2, 1, 1, 0, 0, 0, 0, 0, 1],
[2, 3, 2, 3, 0, 0, 0, 3, 0, 1],
[1, 0, 0, 3, 2, 0, 2, 0, 0, 3],
[0, 3, 0, 0, 0, 2, 0, 0, 1, 3],
[0, 3, 2, 3, 2, 0, 0, 1, 0, 1],
[1, 0, 1, 2, 1, 3, 0, 0, 0, 2],
[3, 1, 3, 2, 0, 0, 2, 1, 3, 2],
[2, 2, 0, 2, 1, 1, 2, 2, 2, 0],
[0, 3, 3, 1, 0, 0, 3, 1, 1, 2],
[0, 3, 0, 2, 1, 1, 0, 1, 2, 0],
[0, 2, 1, 3, 0, 0, 2, 0, 2, 3],
[0, 0, 0, 0, 3, 1, 2, 1, 1, 2],
[1, 2, 0, 2, 1, 0, 0, 0, 0, 2],
[1, 1, 0, 1, 0, 0, 2, 2, 0, 2],
[1, 2, 1, 3, 1, 1, 0, 3, 0, 0],
[3, 3, 3, 3, 2, 0, 3, 3, 3, 2],
[2, 1, 2, 0, 1, 2, 2, 0, 0, 2],
[0, 2, 0, 0, 2, 0, 1, 0, 0, 1],
[3, 2, 3, 1, 0, 0, 0, 0, 0, 0],
[3, 1, 1, 1, 1, 2, 1, 2, 2, 1],
[0, 1, 2, 3, 1, 1, 3, 0, 0, 3],
[1, 0, 0, 0, 1, 0, 3, 1, 0, 1],
[3, 2, 0, 3, 0, 0, 2, 0, 1, 2],
[0, 0, 0, 0, 0, 2, 0, 0, 2, 1],
[1, 0, 3, 0, 2, 1, 1, 1, 0, 1],
[2, 3, 2, 0, 2, 2, 0, 0, 3, 1],
[0, 2, 2, 3, 0, 3, 0, 0, 3, 0],
[2, 3, 2, 1, 2, 0, 1, 3, 2, 2],
[1, 1, 0, 3, 2, 0, 2, 2, 0, 1],
[0, 3, 2, 0, 0, 0, 1, 1, 0, 1],
[1, 0, 2, 2, 0, 2, 3, 1, 1, 3],
[1, 2, 2, 1, 1, 0, 2, 2, 1, 0],
[0, 0, 1, 0, 0, 0, 1, 3, 3, 2],
[3, 0, 0, 0, 3, 0, 0, 0, 0, 1],
[0, 3, 1, 0, 2, 0, 0, 2, 2, 0],
[1, 0, 3, 3, 1, 3, 0, 2, 2, 2],
[3, 1, 0, 1, 3, 3, 0, 2, 0, 1],
[1, 3, 3, 0, 2, 3, 3, 3, 0, 1],
[1, 0, 0, 0, 0, 0, 1, 0, 3, 0],
[3, 1, 1, 1, 0, 0, 0, 0, 0, 0],
[1, 3, 2, 2, 2, 2, 1, 1, 2, 2],
[2, 3, 3, 2, 2, 2, 2, 2, 2, 1],
[2, 0, 1, 0, 2, 0, 3, 2, 1, 0],
[0, 0, 2, 1, 2, 1, 0, 1, 0, 3],
[2, 0, 1, 0, 0, 0, 0, 3, 2, 0],
[1, 1, 0, 1, 2, 1, 3, 3, 0, 3],
[0, 3, 1, 3, 0, 0, 3, 3, 1, 0],
[0, 1, 0, 2, 2, 0, 3, 0, 0, 0],
[2, 1, 1, 1, 1, 0, 0, 2, 0, 3],
[2, 3, 1, 1, 2, 0, 2, 1, 1, 0],
[3, 0, 2, 3, 2, 2, 2, 2, 2, 2],
[2, 0, 0, 3, 0, 1, 0, 2, 1, 0],
[2, 3, 0, 0, 0, 2, 0, 1, 0, 2],
[3, 1, 3, 3, 3, 1, 2, 1, 0, 0],
[2, 2, 0, 1, 2, 0, 0, 3, 3, 2],
[1, 1, 2, 1, 2, 2, 1, 2, 0, 0],
[0, 3, 3, 1, 1, 2, 0, 3, 0, 2],
[3, 2, 2, 3, 3, 1, 0, 0, 3, 2],
[0, 1, 0, 0, 2, 1, 1, 0, 2, 0],
[2, 1, 0, 2, 2, 2, 2, 1, 2, 1],
[0, 0, 0, 3, 3, 3, 0, 1, 0, 2],
[2, 0, 0, 0, 1, 1, 1, 0, 0, 1],
[2, 3, 1, 1, 3, 0, 0, 2, 0, 0],
[1, 0, 0, 2, 0, 3, 0, 0, 0, 1],
[0, 2, 3, 3, 1, 0, 0, 0, 1, 0],
[0, 1, 2, 3, 2, 3, 0, 0, 3, 0],
[1, 3, 3, 3, 0, 1, 3, 0, 2, 3],
[1, 0, 0, 0, 0, 0, 0, 2, 0, 0],
[0, 3, 1, 0, 2, 3, 1, 1, 2, 2],
[2, 1, 3, 0, 1, 3, 0, 0, 1, 3],
[1, 0, 1, 2, 1, 2, 2, 1, 1, 0],
[1, 3, 3, 3, 0, 3, 1, 1, 1, 0],
[0, 0, 0, 0, 3, 1, 0, 0, 2, 0],
[3, 0, 2, 2, 0, 1, 0, 0, 0, 1],
[0, 0, 0, 2, 0, 0, 0, 0, 2, 3],
[1, 2, 1, 2, 0, 1, 3, 2, 0, 1],
[2, 1, 1, 2, 3, 2, 3, 1, 2, 3],
[2, 2, 1, 2, 0, 0, 0, 3, 2, 1],
[1, 0, 1, 1, 2, 0, 0, 1, 2, 0],
[1, 0, 0, 1, 0, 2, 2, 0, 1, 2],
[1, 0, 1, 1, 1, 0, 1, 3, 2, 0],
[2, 2, 1, 2, 2, 0, 0, 2, 1, 0],
[2, 2, 1, 0, 1, 1, 1, 0, 2, 0],
[0, 1, 2, 0, 0, 0, 0, 2, 2, 3],
[0, 2, 2, 0, 0, 0, 1, 0, 1, 2],
[1, 0, 2, 1, 0, 0, 2, 0, 0, 0],
[0, 0, 0, 3, 0, 0, 0, 3, 3, 0],
[0, 0, 1, 1, 0, 0, 2, 2, 3, 0],
[0, 3, 0, 3, 0, 0, 2, 0, 2, 2],
[0, 0, 2, 1, 0, 1, 0, 2, 2, 0],
[2, 2, 2, 0, 0, 0, 0, 0, 1, 0],
[3, 0, 0, 0, 3, 3, 0, 0, 0, 1],
[3, 0, 3, 3, 0, 0, 0, 2, 3, 1],
[0, 0, 1, 1, 2, 0, 1, 1, 1, 1],
[2, 0, 2, 3, 2, 1, 1, 2, 3, 0],
[0, 0, 1, 1, 0, 2, 2, 1, 3, 1],
[1, 2, 3, 3, 0, 1, 2, 3, 2, 2],
[1, 1, 3, 1, 0, 0, 0, 0, 0, 2],
[2, 0, 1, 2, 2, 1, 0, 0, 2, 0],
[1, 0, 0, 0, 0, 2, 2, 0, 3, 0],
[1, 0, 1, 0, 0, 0, 0, 0, 0, 0],
[2, 2, 2, 0, 1, 2, 2, 3, 2, 2],
[1, 0, 2, 2, 3, 1, 0, 3, 2, 0],
[0, 0, 3, 1, 3, 0, 0, 0, 3, 0],
[2, 0, 0, 3, 1, 0, 3, 2, 2, 0],
[1, 2, 0, 0, 1, 0, 0, 2, 2, 3],
[1, 2, 2, 2, 0, 1, 1, 2, 3, 1],
[0, 2, 3, 0, 1, 0, 0, 0, 2, 1],
[1, 0, 1, 3, 2, 0, 0, 0, 0, 1],
[0, 0, 0, 2, 1, 0, 0, 3, 2, 1],
[0, 0, 3, 2, 1, 3, 0, 1, 0, 2],
[1, 1, 1, 0, 1, 0, 0, 1, 0, 0],
[2, 3, 0, 2, 1, 0, 1, 0, 0, 1],
[3, 3, 2, 2, 2, 0, 0, 3, 1, 2],
и остальной код, поэтому пытаемся переделать:
Код: Выделить всё
concatenated = np.concatenate(observations.reshape(10, 1_000))
remodel = hmm.CategoricalHMM(n_components=3, n_iter=100, verbose=True)
remodel.fit(concatenated.reshape(-1, 1), lengths=[10 for _ in range(1_000)])
Что бы я ни пытался, я получаю дерьмовые remodel.emissionprob_ и remodel.transmat_, очень близкие к
Код: Выделить всё
[[.33 .33. 33],
[.33 .33. 33],
[.33 .33. 33]]
Также очень часто появляется следующее предупреждение:
Я уже пробовал:
[*]генерировать последовательности с помощью CategoricalHMM;
[*]инициализация transmat_,missionprob_ и start_prob вручную путем добавления параметра init_params;
[*]изменение формы набора последовательности наблюдений (1000x10, 10x1000, 1x10000 и т. д.);
[*]с использованием MultinomialHMM и remodel.fit(observations).
Подробнее здесь:
https://stackoverflow.com/questions/787 ... converging
1721940384
Anonymous
Я использую библиотеку hmmlearn, чтобы подогнать скрытую марковскую модель (HMM) к созданному мной набору данных, но столкнулся с проблемой, из-за которой модель не сходится. Ниже мой код: [code]a = np.array([ [0.7, 0.2, 0.1], [0.3, 0.5, 0.2], [0.3, 0.3, 0.4] ]) b = np.array( [[0.6, 0.2, 0.1, 0.1], [0.2, 0.4, 0.2, 0.2], [0.1, 0.1, 0.6, 0.2]] ) pi = np.array([0.3, 0.4, 0.3]) model = MarkovModel(transition_probabilities=a, emission_probabilities=b, initial_state_distribution=pi) observations = np.array([model.generate_observation_sequence(sequence_length=10) for _ in range(1_000)]) [/code] [code]MarkovModel[/code] - мой класс (https://github.com/SuperrMurlocc/hmm.git), но все, что он делает, это генерирует набор последовательностей наблюдений, вот пример (не совсем 1000 последовательностей из-за ограничения количества символов в stackoverflow) : [code][[2, 0, 1, 0, 0, 3, 0, 0, 2, 0], [0, 1, 2, 3, 3, 2, 0, 1, 1, 2], [0, 1, 0, 0, 3, 2, 1, 0, 0, 0], [2, 2, 3, 1, 2, 1, 1, 0, 3, 3], [0, 1, 0, 0, 0, 2, 3, 0, 0, 1], [3, 1, 2, 2, 1, 2, 0, 0, 3, 1], [0, 0, 2, 1, 0, 3, 0, 2, 0, 1], [1, 0, 0, 0, 3, 1, 1, 1, 0, 0], [2, 0, 2, 1, 2, 1, 0, 1, 1, 1], [0, 1, 0, 0, 3, 2, 2, 0, 3, 3], [0, 0, 2, 2, 0, 1, 1, 0, 3, 1], [0, 0, 3, 2, 0, 2, 0, 1, 0, 0], [0, 0, 0, 1, 2, 1, 1, 3, 0, 0], [3, 1, 0, 1, 2, 0, 2, 1, 2, 1], [3, 0, 3, 0, 0, 0, 0, 1, 1, 0], [2, 2, 3, 2, 2, 1, 2, 1, 1, 1], [1, 3, 1, 0, 0, 1, 1, 0, 1, 2], [1, 3, 1, 3, 0, 0, 1, 1, 2, 2], [2, 3, 0, 3, 2, 1, 2, 2, 2, 2], [2, 0, 1, 1, 0, 0, 0, 0, 3, 1], [2, 0, 0, 0, 0, 0, 3, 2, 2, 3], [2, 3, 1, 1, 2, 3, 0, 0, 0, 2], [3, 1, 0, 2, 0, 2, 1, 1, 1, 0], [1, 0, 1, 1, 1, 1, 0, 0, 0, 1], [2, 2, 2, 0, 0, 0, 0, 1, 2, 0], [2, 2, 3, 1, 0, 0, 2, 0, 1, 1], [3, 0, 3, 1, 1, 3, 1, 0, 1, 0], [2, 0, 2, 3, 0, 0, 0, 2, 0, 3], [0, 0, 0, 1, 2, 1, 1, 0, 0, 3], [3, 1, 2, 0, 0, 0, 0, 0, 1, 1], [0, 1, 0, 0, 3, 0, 0, 0, 1, 1], [2, 2, 2, 0, 0, 0, 0, 0, 1, 2], [2, 3, 3, 0, 0, 0, 3, 0, 0, 2], [3, 2, 2, 1, 0, 0, 1, 0, 0, 0], [0, 0, 2, 2, 2, 1, 2, 0, 3, 1], [2, 2, 0, 3, 1, 0, 0, 1, 0, 1], [0, 0, 0, 1, 0, 0, 0, 1, 0, 0], [2, 2, 2, 2, 3, 0, 1, 0, 1, 2], [3, 0, 0, 2, 3, 3, 1, 3, 1, 2], [0, 1, 0, 2, 0, 1, 0, 0, 1, 0], [3, 2, 2, 1, 0, 3, 1, 2, 3, 1], [0, 0, 2, 0, 0, 0, 1, 1, 1, 1], [0, 2, 0, 3, 3, 1, 2, 1, 1, 0], [0, 1, 1, 0, 0, 0, 3, 1, 1, 2], [3, 3, 2, 3, 3, 2, 0, 3, 1, 2], [0, 0, 2, 0, 2, 0, 3, 0, 2, 0], [0, 0, 1, 1, 1, 3, 1, 3, 0, 3], [1, 2, 1, 0, 0, 0, 2, 1, 0, 2], [0, 0, 0, 0, 0, 2, 1, 1, 1, 3], [1, 0, 2, 0, 3, 1, 0, 2, 0, 2], [0, 2, 0, 0, 1, 1, 0, 0, 0, 1], [1, 2, 1, 0, 1, 0, 0, 3, 2, 0], [0, 2, 2, 1, 0, 3, 1, 0, 1, 0], [0, 2, 1, 0, 2, 2, 1, 3, 1, 0], [1, 3, 0, 2, 1, 2, 1, 0, 3, 3], [2, 0, 0, 2, 0, 3, 0, 0, 3, 1], [1, 2, 1, 2, 2, 1, 0, 0, 1, 0], [0, 0, 0, 1, 0, 0, 0, 3, 2, 3], [3, 1, 3, 0, 0, 0, 2, 1, 2, 1], [1, 2, 1, 0, 3, 0, 2, 3, 2, 0], [0, 0, 2, 2, 1, 2, 1, 1, 2, 2], [3, 2, 1, 3, 1, 0, 0, 1, 2, 3], [3, 0, 3, 1, 3, 0, 2, 1, 2, 1], [0, 3, 2, 0, 0, 2, 0, 3, 0, 1], [1, 0, 2, 3, 3, 2, 1, 1, 1, 1], [2, 3, 1, 3, 0, 1, 0, 0, 0, 0], [2, 0, 0, 1, 3, 0, 0, 2, 0, 2], [3, 2, 2, 0, 2, 1, 0, 0, 2, 3], [3, 0, 0, 1, 1, 0, 1, 3, 2, 0], [0, 0, 0, 2, 2, 1, 0, 0, 0, 1], [1, 2, 0, 3, 0, 0, 0, 2, 2, 2], [1, 2, 1, 2, 2, 2, 2, 0, 3, 1], [1, 1, 1, 1, 0, 2, 1, 2, 0, 0], [1, 2, 1, 0, 0, 3, 1, 1, 0, 3], [2, 0, 1, 1, 1, 1, 2, 0, 0, 0], [1, 2, 2, 3, 1, 0, 3, 1, 0, 2], [0, 2, 3, 1, 0, 0, 0, 1, 0, 0], [2, 0, 1, 0, 1, 0, 2, 1, 2, 2], [3, 2, 2, 1, 0, 2, 0, 0, 0, 3], [1, 0, 2, 0, 2, 0, 0, 0, 0, 1], [2, 2, 1, 2, 1, 0, 0, 1, 1, 0], [3, 0, 2, 3, 2, 0, 0, 1, 0, 3], [3, 1, 0, 1, 2, 1, 2, 3, 3, 0], [3, 3, 2, 3, 1, 1, 1, 3, 1, 2], [1, 1, 0, 1, 3, 1, 0, 1, 2, 1], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [2, 3, 2, 0, 3, 1, 2, 2, 1, 3], [2, 3, 2, 2, 2, 3, 0, 2, 0, 3], [0, 1, 2, 3, 1, 0, 3, 1, 1, 1], [1, 0, 1, 0, 0, 0, 3, 0, 1, 3], [3, 0, 3, 1, 1, 1, 0, 0, 0, 1], [3, 2, 1, 3, 0, 3, 3, 0, 0, 0], [0, 1, 2, 0, 0, 1, 2, 1, 0, 0], [0, 2, 0, 0, 3, 2, 0, 1, 1, 0], [1, 0, 2, 0, 1, 1, 1, 1, 2, 0], [3, 0, 0, 2, 1, 0, 2, 0, 0, 1], [2, 1, 0, 0, 0, 1, 3, 1, 0, 1], [1, 2, 1, 2, 0, 2, 2, 0, 0, 0], [0, 0, 0, 2, 2, 0, 0, 0, 2, 1], [1, 0, 3, 0, 1, 1, 2, 0, 1, 1], [0, 0, 2, 1, 0, 1, 1, 0, 1, 3], [0, 0, 0, 0, 0, 0, 1, 2, 2, 3], [2, 0, 2, 0, 0, 0, 0, 1, 0, 3], [0, 0, 0, 0, 0, 3, 2, 1, 2, 0], [0, 2, 1, 1, 0, 2, 0, 0, 0, 0], [2, 2, 0, 0, 2, 3, 0, 0, 2, 2], [0, 1, 2, 0, 2, 0, 0, 1, 2, 2], [1, 1, 0, 2, 2, 2, 0, 0, 2, 3], [1, 1, 1, 1, 0, 2, 0, 2, 0, 1], [3, 2, 3, 2, 2, 1, 3, 0, 0, 3], [1, 2, 2, 0, 0, 0, 0, 0, 2, 3], [0, 1, 1, 1, 3, 1, 2, 1, 0, 3], [1, 1, 2, 0, 2, 0, 0, 1, 1, 0], [0, 1, 1, 0, 1, 2, 0, 1, 3, 1], [3, 1, 0, 1, 1, 2, 0, 2, 1, 1], [0, 2, 1, 0, 0, 0, 0, 1, 0, 0], [3, 3, 1, 1, 2, 2, 0, 1, 3, 0], [0, 1, 3, 3, 2, 1, 1, 0, 2, 1], [2, 3, 0, 2, 3, 2, 0, 1, 0, 0], [1, 2, 0, 0, 0, 2, 0, 0, 1, 3], [2, 2, 0, 0, 2, 3, 1, 1, 2, 0], [0, 2, 3, 3, 1, 3, 1, 1, 0, 1], [3, 3, 2, 0, 0, 2, 3, 2, 0, 2], [3, 2, 3, 3, 3, 0, 0, 0, 1, 0], [2, 2, 3, 0, 1, 3, 0, 3, 1, 1], [3, 1, 1, 2, 1, 2, 0, 3, 3, 3], [2, 1, 0, 1, 1, 1, 3, 1, 0, 0], [1, 0, 3, 3, 0, 2, 0, 1, 1, 2], [3, 3, 3, 0, 0, 2, 1, 0, 1, 2], [0, 0, 2, 2, 3, 3, 2, 0, 2, 2], [1, 0, 1, 0, 2, 1, 0, 0, 0, 0], [1, 0, 1, 3, 0, 1, 2, 0, 0, 3], [2, 0, 0, 2, 0, 2, 0, 1, 1, 0], [2, 1, 2, 2, 3, 3, 2, 2, 2, 0], [2, 0, 1, 0, 0, 2, 0, 1, 3, 3], [2, 1, 2, 0, 0, 1, 3, 2, 0, 2], [0, 1, 0, 0, 0, 0, 3, 3, 3, 1], [2, 1, 1, 2, 1, 1, 2, 2, 1, 2], [2, 2, 2, 2, 2, 2, 2, 1, 3, 3], [3, 0, 0, 0, 2, 2, 0, 3, 1, 1], [1, 0, 2, 1, 3, 1, 1, 0, 0, 3], [1, 0, 1, 1, 1, 2, 3, 3, 0, 1], [1, 2, 1, 0, 0, 2, 3, 0, 1, 2], [3, 1, 2, 3, 0, 3, 1, 0, 0, 2], [2, 2, 2, 1, 3, 3, 0, 3, 2, 3], [0, 3, 3, 0, 0, 0, 2, 1, 2, 0], [1, 0, 0, 2, 2, 2, 1, 2, 2, 0], [3, 0, 3, 0, 1, 1, 0, 0, 1, 1], [2, 1, 0, 2, 1, 2, 2, 2, 3, 0], [2, 1, 2, 1, 2, 3, 3, 1, 2, 0], [0, 1, 3, 0, 1, 0, 3, 0, 2, 3], [1, 1, 0, 0, 0, 0, 0, 0, 0, 1], [1, 1, 0, 2, 0, 2, 1, 0, 1, 0], [0, 1, 0, 0, 2, 3, 0, 2, 0, 2], [3, 0, 1, 3, 2, 3, 3, 0, 0, 3], [2, 3, 0, 1, 0, 3, 2, 2, 2, 3], [2, 2, 1, 2, 3, 0, 0, 0, 0, 0], [0, 3, 0, 2, 0, 0, 0, 2, 2, 2], [1, 3, 1, 3, 2, 3, 3, 0, 2, 0], [3, 2, 0, 0, 0, 2, 1, 1, 0, 3], [3, 1, 0, 0, 0, 0, 0, 1, 0, 3], [3, 0, 0, 0, 0, 1, 1, 0, 2, 3], [2, 0, 2, 0, 3, 1, 3, 0, 3, 1], [1, 2, 3, 0, 0, 0, 1, 2, 2, 2], [2, 3, 2, 0, 3, 3, 2, 3, 2, 2], [2, 3, 0, 1, 0, 1, 0, 0, 3, 0], [1, 2, 3, 2, 1, 2, 0, 1, 0, 1], [2, 1, 2, 1, 2, 0, 1, 3, 3, 0], [0, 1, 0, 0, 2, 0, 1, 2, 3, 1], [2, 1, 2, 1, 0, 0, 2, 3, 0, 0], [0, 2, 2, 1, 1, 1, 2, 0, 1, 0], [2, 2, 0, 1, 0, 3, 2, 2, 1, 0], [1, 0, 2, 2, 1, 3, 0, 1, 0, 0], [2, 0, 2, 1, 0, 2, 0, 0, 0, 0], [0, 1, 0, 2, 3, 2, 3, 2, 2, 0], [1, 2, 0, 1, 3, 2, 2, 3, 3, 2], [0, 0, 1, 0, 0, 0, 0, 0, 2, 3], [0, 2, 2, 2, 2, 0, 0, 2, 1, 1], [0, 1, 3, 1, 1, 3, 0, 1, 0, 3], [0, 0, 0, 2, 2, 2, 1, 0, 0, 0], [1, 0, 2, 3, 1, 3, 1, 1, 0, 1], [0, 0, 1, 0, 0, 0, 1, 1, 1, 0], [3, 2, 1, 3, 0, 3, 1, 0, 0, 3], [2, 1, 2, 0, 0, 0, 0, 0, 0, 1], [1, 1, 1, 3, 3, 2, 0, 1, 0, 3], [1, 1, 1, 3, 0, 2, 1, 0, 0, 3], [2, 0, 0, 3, 1, 0, 0, 0, 1, 0], [3, 2, 1, 1, 1, 0, 3, 0, 0, 0], [2, 2, 3, 0, 0, 2, 1, 0, 1, 0], [2, 0, 0, 2, 3, 3, 2, 1, 2, 1], [0, 1, 0, 0, 1, 3, 0, 0, 1, 3], [2, 3, 1, 2, 0, 3, 3, 3, 2, 1], [1, 2, 2, 0, 0, 0, 2, 1, 0, 3], [1, 2, 0, 0, 0, 3, 0, 0, 2, 1], [0, 1, 0, 3, 3, 0, 3, 0, 2, 3], [2, 3, 1, 2, 1, 1, 1, 3, 1, 1], [3, 3, 1, 1, 0, 1, 2, 1, 1, 1], [1, 0, 1, 0, 1, 2, 0, 0, 0, 3], [1, 1, 1, 1, 1, 1, 0, 0, 1, 0], [1, 3, 0, 0, 1, 2, 1, 3, 0, 3], [1, 2, 3, 2, 1, 0, 2, 0, 1, 3], [0, 1, 1, 0, 0, 0, 0, 1, 3, 1], [0, 0, 2, 1, 3, 2, 2, 1, 2, 1], [0, 1, 0, 2, 1, 0, 0, 3, 0, 0], [0, 2, 0, 1, 0, 0, 1, 2, 1, 1], [3, 3, 2, 1, 1, 2, 1, 0, 2, 0], [0, 0, 1, 0, 2, 0, 0, 2, 0, 1], [1, 0, 2, 3, 0, 1, 3, 1, 1, 1], [1, 1, 1, 0, 1, 0, 3, 1, 1, 1], [3, 1, 2, 2, 0, 0, 1, 0, 0, 2], [1, 0, 1, 0, 0, 3, 0, 0, 1, 3], [2, 2, 2, 0, 1, 2, 2, 3, 0, 0], [0, 2, 0, 1, 0, 1, 2, 0, 0, 2], [3, 0, 2, 1, 2, 2, 2, 0, 3, 1], [0, 3, 0, 3, 2, 3, 3, 0, 3, 3], [1, 0, 0, 2, 0, 3, 1, 2, 3, 0], [3, 2, 2, 1, 2, 1, 0, 0, 2, 2], [1, 0, 2, 2, 2, 1, 2, 3, 1, 1], [0, 1, 1, 2, 0, 1, 1, 0, 2, 3], [0, 0, 0, 0, 1, 0, 0, 1, 2, 0], [0, 2, 0, 0, 0, 0, 1, 2, 0, 3], [0, 2, 3, 0, 1, 0, 3, 2, 0, 2], [0, 1, 0, 2, 0, 0, 2, 0, 1, 3], [0, 1, 1, 0, 2, 3, 0, 3, 1, 1], [2, 2, 3, 0, 2, 3, 1, 0, 3, 2], [0, 0, 0, 0, 2, 1, 3, 0, 0, 1], [2, 0, 1, 2, 0, 3, 3, 1, 0, 2], [1, 0, 3, 2, 1, 1, 2, 0, 3, 0], [0, 0, 2, 3, 1, 0, 2, 1, 1, 2], [1, 2, 0, 0, 3, 0, 3, 0, 3, 3], [2, 3, 2, 3, 1, 2, 3, 0, 1, 2], [3, 1, 0, 0, 0, 0, 1, 1, 2, 1], [2, 3, 2, 1, 1, 3, 1, 1, 0, 1], [3, 2, 2, 0, 1, 1, 0, 0, 0, 0], [0, 3, 0, 3, 0, 1, 2, 2, 0, 0], [0, 2, 3, 0, 3, 1, 3, 0, 1, 1], [3, 2, 1, 1, 1, 0, 1, 1, 1, 3], [2, 1, 1, 0, 1, 0, 0, 0, 2, 1], [2, 2, 1, 1, 1, 2, 0, 0, 2, 0], [1, 1, 0, 0, 2, 0, 0, 0, 0, 2], [3, 0, 1, 0, 0, 2, 0, 0, 0, 0], [1, 3, 2, 0, 2, 3, 1, 1, 0, 1], [3, 0, 0, 0, 0, 2, 1, 1, 1, 3], [1, 0, 2, 0, 2, 3, 2, 0, 3, 2], [2, 2, 2, 1, 2, 3, 0, 2, 0, 1], [3, 1, 3, 2, 2, 2, 3, 3, 1, 1], [2, 1, 3, 2, 3, 2, 0, 1, 3, 2], [2, 2, 1, 1, 1, 0, 1, 2, 1, 1], [1, 2, 0, 0, 0, 2, 1, 2, 0, 0], [0, 0, 3, 2, 2, 2, 2, 1, 1, 0], [3, 2, 3, 0, 3, 0, 2, 0, 0, 1], [3, 1, 2, 1, 0, 1, 1, 3, 2, 3], [2, 0, 2, 0, 1, 3, 0, 1, 3, 0], [2, 3, 2, 0, 0, 2, 2, 2, 3, 1], [3, 3, 1, 0, 1, 3, 3, 0, 2, 2], [1, 3, 0, 2, 2, 2, 2, 3, 0, 2], [0, 0, 1, 1, 0, 1, 2, 0, 1, 1], [3, 0, 2, 2, 3, 1, 1, 2, 0, 0], [2, 1, 0, 2, 3, 0, 0, 3, 2, 0], [0, 3, 3, 1, 0, 2, 3, 1, 1, 2], [1, 2, 3, 2, 3, 3, 0, 0, 3, 1], [0, 0, 0, 1, 0, 0, 3, 1, 0, 1], [1, 1, 3, 2, 3, 0, 1, 0, 0, 2], [3, 3, 2, 0, 1, 1, 2, 1, 0, 2], [1, 1, 1, 2, 3, 1, 2, 0, 1, 2], [2, 2, 0, 2, 0, 1, 1, 0, 0, 1], [2, 0, 1, 1, 2, 1, 1, 0, 1, 1], [0, 1, 3, 0, 1, 0, 0, 3, 3, 0], [1, 0, 1, 2, 3, 2, 2, 0, 2, 0], [2, 1, 0, 1, 1, 2, 1, 1, 0, 2], [2, 0, 0, 0, 0, 3, 1, 2, 2, 0], [2, 1, 0, 0, 2, 1, 2, 1, 3, 1], [1, 3, 0, 0, 0, 1, 1, 2, 0, 2], [1, 0, 1, 1, 3, 2, 1, 1, 3, 0], [2, 1, 0, 2, 1, 2, 1, 2, 0, 0], [0, 3, 2, 2, 0, 1, 1, 0, 0, 2], [0, 1, 2, 1, 2, 2, 0, 3, 2, 1], [0, 0, 2, 0, 2, 1, 0, 3, 0, 2], [2, 2, 0, 3, 3, 3, 3, 2, 0, 3], [0, 3, 2, 2, 2, 2, 3, 2, 0, 0], [0, 0, 3, 1, 3, 0, 0, 0, 0, 0], [0, 1, 0, 2, 3, 1, 2, 3, 0, 0], [0, 0, 0, 1, 0, 1, 0, 0, 2, 1], [3, 2, 2, 0, 1, 0, 1, 3, 2, 2], [0, 0, 1, 0, 1, 0, 2, 2, 1, 0], [3, 1, 2, 2, 0, 1, 0, 3, 2, 0], [0, 3, 1, 3, 2, 2, 0, 1, 2, 0], [2, 1, 3, 3, 0, 2, 3, 0, 0, 1], [2, 2, 2, 2, 1, 0, 0, 0, 0, 2], [1, 2, 0, 2, 3, 2, 3, 2, 2, 1], [2, 1, 2, 0, 0, 0, 0, 1, 0, 1], [1, 2, 0, 0, 2, 3, 0, 0, 0, 0], [2, 0, 0, 3, 3, 0, 1, 0, 2, 2], [3, 3, 1, 0, 0, 2, 2, 2, 2, 2], [1, 2, 1, 1, 3, 0, 3, 0, 1, 2], [2, 2, 2, 3, 0, 0, 0, 1, 0, 1], [0, 1, 2, 2, 3, 0, 0, 1, 1, 2], [0, 0, 3, 0, 2, 0, 0, 1, 0, 0], [3, 0, 3, 0, 0, 0, 0, 1, 1, 2], [0, 1, 0, 1, 0, 1, 0, 0, 1, 2], [1, 3, 1, 3, 3, 1, 3, 0, 0, 2], [3, 2, 0, 0, 0, 0, 1, 0, 0, 0], [0, 2, 3, 2, 2, 3, 1, 1, 3, 3], [1, 3, 0, 2, 0, 1, 1, 1, 1, 0], [0, 2, 2, 2, 2, 1, 3, 2, 2, 2], [2, 3, 1, 0, 1, 1, 1, 1, 1, 0], [2, 3, 2, 0, 0, 3, 3, 1, 3, 1], [0, 0, 2, 1, 2, 0, 1, 1, 3, 3], [2, 2, 0, 0, 3, 0, 0, 1, 0, 3], [2, 2, 1, 2, 0, 3, 1, 0, 3, 2], [3, 2, 0, 0, 1, 0, 1, 2, 2, 2], [0, 2, 0, 1, 0, 1, 3, 2, 1, 2], [0, 0, 2, 1, 1, 0, 3, 1, 0, 0], [2, 2, 0, 0, 0, 1, 1, 1, 0, 2], [1, 2, 3, 3, 1, 2, 0, 0, 1, 1], [1, 1, 3, 3, 0, 3, 1, 3, 3, 0], [3, 2, 0, 1, 3, 2, 0, 2, 1, 2], [2, 2, 1, 1, 0, 0, 0, 0, 0, 3], [0, 0, 3, 2, 1, 3, 2, 3, 2, 1], [3, 2, 0, 0, 3, 1, 0, 1, 0, 0], [2, 0, 0, 0, 0, 0, 0, 0, 1, 3], [3, 2, 1, 0, 1, 3, 0, 0, 1, 0], [1, 1, 2, 0, 0, 0, 0, 1, 0, 2], [1, 0, 1, 0, 0, 0, 3, 3, 1, 1], [0, 2, 1, 1, 0, 0, 0, 2, 1, 3], [2, 0, 1, 1, 0, 0, 1, 3, 2, 2], [3, 3, 3, 2, 2, 3, 0, 3, 0, 2], [0, 1, 0, 3, 2, 2, 1, 1, 0, 2], [2, 0, 3, 1, 1, 3, 0, 3, 1, 1], [3, 0, 0, 2, 3, 3, 2, 2, 2, 0], [0, 2, 1, 3, 0, 2, 1, 3, 2, 1], [2, 0, 1, 1, 3, 2, 3, 0, 0, 3], [0, 1, 3, 1, 0, 0, 3, 0, 0, 1], [2, 2, 0, 0, 1, 1, 0, 0, 3, 0], [0, 1, 1, 2, 2, 2, 0, 0, 0, 1], [0, 0, 0, 0, 0, 3, 0, 0, 3, 1], [0, 0, 0, 0, 0, 3, 1, 0, 1, 2], [3, 1, 3, 0, 0, 2, 2, 0, 0, 2], [0, 2, 1, 1, 0, 0, 0, 1, 0, 0], [3, 3, 3, 3, 2, 3, 1, 1, 0, 2], [0, 2, 2, 3, 1, 1, 1, 0, 0, 0], [0, 0, 3, 0, 0, 1, 2, 1, 1, 0], [3, 2, 0, 2, 2, 2, 2, 0, 0, 0], [0, 0, 0, 1, 3, 3, 2, 2, 0, 2], [2, 3, 3, 1, 0, 0, 3, 0, 0, 0], [0, 1, 0, 0, 3, 3, 1, 2, 0, 1], [2, 1, 2, 3, 0, 3, 3, 2, 1, 1], [0, 0, 3, 1, 1, 1, 1, 2, 1, 0], [2, 2, 0, 0, 0, 1, 0, 1, 3, 2], [0, 1, 3, 2, 1, 3, 3, 0, 0, 0], [2, 0, 3, 2, 3, 0, 2, 2, 0, 2], [3, 3, 0, 0, 2, 1, 0, 0, 2, 2], [1, 3, 1, 2, 2, 2, 1, 2, 1, 1], [1, 0, 3, 0, 2, 1, 3, 0, 3, 3], [2, 2, 2, 1, 2, 2, 0, 0, 0, 0], [2, 0, 1, 3, 0, 0, 0, 3, 1, 2], [0, 0, 1, 1, 0, 0, 0, 2, 0, 1], [2, 0, 0, 0, 1, 0, 0, 1, 1, 1], [3, 2, 0, 3, 3, 1, 0, 3, 1, 3], [0, 0, 2, 2, 2, 0, 1, 0, 2, 1], [2, 0, 2, 0, 3, 0, 0, 0, 1, 0], [1, 0, 0, 2, 1, 2, 3, 1, 1, 1], [3, 0, 0, 2, 3, 1, 2, 2, 3, 1], [2, 3, 3, 3, 0, 3, 1, 2, 3, 1], [1, 1, 3, 1, 1, 0, 0, 2, 1, 0], [0, 1, 1, 0, 1, 0, 3, 2, 1, 0], [3, 3, 0, 3, 0, 0, 1, 0, 0, 1], [0, 2, 1, 2, 2, 2, 2, 0, 1, 2], [0, 0, 3, 0, 0, 0, 0, 3, 2, 0], [2, 0, 2, 0, 1, 2, 1, 2, 0, 0], [2, 3, 1, 0, 3, 1, 1, 0, 0, 0], [1, 2, 3, 1, 2, 1, 1, 2, 3, 0], [3, 0, 2, 0, 0, 2, 0, 1, 0, 0], [2, 0, 1, 0, 2, 1, 1, 3, 1, 0], [3, 2, 0, 2, 3, 2, 0, 0, 0, 2], [3, 2, 1, 2, 0, 0, 3, 0, 2, 0], [2, 1, 2, 3, 1, 0, 1, 0, 1, 3], [0, 2, 2, 2, 2, 1, 1, 1, 3, 2], [2, 3, 1, 3, 0, 0, 0, 0, 2, 0], [2, 1, 2, 2, 1, 0, 0, 0, 0, 3], [1, 0, 1, 0, 1, 1, 2, 1, 0, 0], [3, 1, 2, 2, 2, 0, 1, 0, 3, 0], [0, 0, 1, 1, 0, 2, 0, 0, 2, 3], [3, 1, 2, 1, 0, 0, 1, 1, 1, 1], [1, 3, 0, 1, 0, 0, 2, 0, 3, 0], [3, 0, 2, 2, 2, 3, 2, 3, 2, 0], [1, 1, 0, 1, 2, 0, 1, 2, 1, 2], [2, 3, 1, 0, 1, 3, 3, 1, 2, 0], [2, 0, 1, 1, 1, 2, 3, 3, 3, 1], [2, 1, 0, 2, 2, 1, 3, 3, 0, 0], [3, 0, 0, 0, 0, 1, 2, 0, 0, 1], [1, 0, 1, 2, 3, 0, 1, 3, 1, 0], [0, 0, 1, 1, 1, 0, 0, 0, 1, 3], [2, 3, 1, 3, 3, 1, 0, 1, 3, 3], [0, 0, 0, 0, 2, 2, 3, 2, 2, 1], [0, 1, 0, 1, 0, 0, 3, 0, 0, 1], [2, 2, 1, 2, 3, 1, 3, 3, 2, 0], [0, 3, 2, 0, 1, 0, 0, 2, 0, 1], [1, 2, 3, 1, 0, 1, 1, 0, 2, 1], [2, 2, 2, 0, 0, 0, 1, 0, 1, 2], [0, 0, 0, 0, 1, 0, 0, 1, 2, 3], [2, 0, 1, 2, 1, 3, 0, 2, 2, 2], [2, 0, 1, 1, 2, 2, 3, 1, 1, 2], [1, 0, 0, 2, 0, 2, 0, 3, 1, 0], [1, 0, 0, 3, 1, 0, 2, 1, 0, 1], [1, 0, 0, 1, 1, 0, 3, 0, 0, 1], [3, 1, 1, 0, 2, 0, 0, 0, 1, 2], [1, 2, 2, 3, 0, 2, 2, 2, 1, 0], [0, 3, 0, 2, 1, 0, 3, 1, 0, 0], [1, 3, 0, 1, 3, 1, 0, 0, 1, 0], [1, 2, 0, 3, 2, 3, 1, 0, 0, 0], [0, 1, 0, 0, 0, 2, 2, 0, 0, 2], [0, 1, 3, 2, 2, 0, 1, 3, 1, 2], [2, 2, 2, 1, 3, 1, 0, 2, 0, 0], [0, 2, 0, 2, 0, 2, 2, 1, 0, 3], [3, 0, 1, 1, 2, 0, 0, 3, 3, 1], [0, 1, 1, 1, 0, 0, 0, 2, 3, 2], [0, 2, 3, 1, 0, 2, 2, 3, 1, 0], [2, 0, 3, 0, 1, 1, 1, 3, 0, 1], [0, 0, 2, 0, 0, 0, 2, 2, 1, 2], [1, 1, 3, 2, 1, 0, 3, 2, 3, 1], [0, 2, 0, 0, 0, 0, 3, 2, 0, 3], [2, 0, 1, 3, 0, 0, 2, 0, 0, 3], [2, 0, 3, 2, 0, 0, 0, 0, 0, 1], [1, 2, 1, 0, 2, 3, 2, 2, 3, 1], [3, 0, 1, 3, 2, 0, 2, 0, 1, 1], [2, 0, 0, 3, 1, 2, 1, 1, 3, 1], [3, 0, 0, 0, 0, 1, 1, 3, 2, 2], [1, 0, 1, 1, 0, 2, 0, 3, 1, 3], [2, 1, 2, 2, 1, 1, 0, 0, 0, 0], [2, 2, 3, 0, 3, 0, 1, 1, 1, 0], [2, 3, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 3, 0, 3, 1], [0, 3, 2, 0, 2, 3, 2, 3, 0, 0], [2, 2, 2, 2, 2, 1, 2, 0, 0, 0], [0, 2, 0, 2, 2, 3, 3, 2, 2, 0], [1, 0, 1, 0, 0, 0, 3, 2, 1, 1], [1, 0, 1, 0, 0, 0, 2, 1, 3, 3], [2, 0, 0, 0, 0, 0, 0, 0, 3, 0], [1, 1, 0, 1, 1, 2, 0, 0, 2, 3], [2, 2, 2, 2, 0, 2, 3, 0, 0, 2], [3, 0, 0, 3, 3, 3, 1, 1, 1, 2], [3, 1, 0, 0, 2, 0, 2, 1, 2, 0], [0, 0, 3, 0, 1, 0, 0, 1, 2, 0], [0, 0, 1, 3, 1, 2, 1, 3, 0, 0], [0, 0, 1, 1, 0, 1, 0, 0, 0, 0], [3, 0, 0, 2, 0, 2, 1, 0, 2, 0], [3, 3, 1, 0, 0, 0, 0, 0, 3, 2], [0, 0, 2, 1, 3, 3, 3, 1, 0, 0], [3, 0, 0, 0, 0, 0, 0, 1, 0, 0], [3, 1, 1, 3, 3, 2, 1, 0, 3, 2], [0, 0, 0, 0, 3, 1, 2, 2, 3, 0], [2, 0, 1, 3, 0, 0, 1, 0, 1, 0], [0, 2, 0, 0, 0, 0, 0, 0, 3, 0], [3, 3, 0, 1, 1, 3, 2, 0, 0, 1], [1, 3, 1, 1, 3, 2, 2, 1, 2, 2], [0, 1, 3, 2, 0, 1, 3, 1, 2, 1], [0, 0, 2, 0, 3, 0, 2, 2, 1, 0], [2, 3, 3, 0, 2, 1, 0, 2, 1, 0], [0, 0, 2, 1, 1, 1, 0, 0, 1, 2], [0, 0, 0, 2, 0, 3, 0, 0, 1, 2], [1, 0, 3, 3, 1, 0, 1, 3, 1, 2], [1, 0, 3, 3, 1, 3, 0, 3, 2, 2], [3, 0, 2, 1, 0, 2, 1, 2, 2, 0], [0, 2, 3, 0, 0, 3, 0, 3, 0, 0], [2, 2, 2, 1, 2, 0, 0, 1, 1, 1], [2, 2, 3, 3, 0, 1, 1, 1, 2, 2], [2, 1, 2, 3, 1, 3, 2, 2, 0, 0], [1, 0, 0, 2, 2, 0, 2, 1, 0, 0], [0, 0, 3, 3, 2, 0, 1, 0, 0, 2], [0, 0, 0, 0, 3, 1, 3, 0, 2, 0], [0, 3, 2, 2, 0, 1, 1, 1, 3, 2], [1, 2, 0, 3, 2, 1, 3, 2, 0, 0], [0, 2, 2, 2, 2, 0, 0, 1, 0, 0], [2, 2, 0, 1, 2, 0, 0, 0, 0, 1], [2, 0, 1, 3, 2, 2, 0, 0, 0, 3], [1, 2, 1, 2, 2, 0, 1, 1, 0, 0], [2, 0, 2, 3, 3, 1, 3, 1, 0, 1], [2, 2, 0, 0, 0, 3, 0, 1, 2, 3], [1, 2, 0, 3, 0, 1, 2, 0, 2, 1], [0, 1, 0, 2, 0, 1, 2, 0, 0, 0], [0, 0, 1, 0, 0, 0, 2, 1, 2, 0], [0, 1, 2, 3, 2, 1, 1, 0, 0, 2], [0, 1, 2, 2, 1, 2, 0, 0, 0, 0], [1, 2, 0, 1, 0, 1, 1, 1, 0, 2], [2, 0, 0, 1, 0, 3, 0, 0, 1, 1], [0, 1, 2, 0, 3, 1, 2, 1, 0, 0], [1, 3, 3, 0, 1, 2, 2, 3, 2, 0], [2, 2, 0, 0, 2, 1, 0, 0, 0, 1], [1, 0, 1, 2, 0, 2, 0, 2, 0, 1], [2, 0, 0, 1, 2, 2, 1, 3, 1, 0], [1, 1, 2, 0, 0, 0, 0, 1, 0, 2], [3, 0, 0, 3, 0, 1, 1, 0, 1, 2], [3, 3, 0, 1, 3, 0, 1, 1, 1, 0], [3, 0, 0, 1, 0, 0, 2, 1, 1, 0], [1, 3, 0, 0, 0, 0, 1, 2, 2, 3], [1, 3, 1, 1, 3, 0, 0, 1, 0, 3], [2, 2, 2, 0, 1, 1, 0, 3, 3, 0], [3, 0, 2, 2, 3, 3, 2, 0, 0, 1], [3, 1, 0, 0, 3, 0, 0, 2, 2, 2], [1, 0, 2, 1, 1, 2, 0, 0, 2, 0], [0, 3, 1, 0, 3, 1, 2, 3, 0, 2], [2, 1, 0, 2, 2, 1, 0, 1, 0, 0], [0, 2, 0, 2, 1, 0, 0, 1, 2, 0], [1, 2, 1, 1, 2, 2, 1, 3, 1, 0], [0, 0, 0, 1, 0, 2, 0, 2, 0, 1], [2, 1, 2, 2, 3, 2, 1, 1, 2, 0], [2, 1, 2, 1, 0, 0, 3, 0, 2, 1], [0, 3, 3, 3, 2, 2, 3, 1, 1, 0], [0, 3, 3, 0, 1, 2, 3, 1, 0, 1], [3, 0, 1, 1, 0, 0, 0, 3, 0, 1], [2, 1, 2, 3, 3, 1, 2, 1, 1, 0], [0, 0, 3, 2, 1, 0, 2, 1, 2, 2], [2, 0, 1, 1, 0, 0, 2, 0, 0, 1], [0, 3, 2, 2, 0, 0, 1, 2, 1, 0], [3, 3, 0, 1, 1, 2, 0, 2, 0, 3], [0, 0, 3, 1, 1, 2, 0, 0, 1, 0], [0, 0, 2, 2, 1, 0, 2, 1, 3, 1], [0, 1, 1, 0, 0, 3, 1, 2, 1, 0], [1, 0, 2, 1, 2, 0, 0, 2, 2, 2], [2, 3, 3, 2, 3, 2, 1, 1, 2, 0], [0, 0, 2, 1, 2, 0, 3, 2, 1, 1], [0, 0, 3, 1, 0, 0, 0, 0, 1, 0], [3, 0, 3, 2, 2, 1, 2, 2, 3, 3], [2, 2, 2, 0, 1, 0, 2, 0, 3, 1], [0, 0, 0, 3, 0, 3, 1, 0, 0, 1], [0, 3, 2, 2, 3, 0, 0, 0, 1, 1], [2, 1, 3, 1, 1, 0, 0, 3, 3, 0], [2, 0, 2, 1, 2, 2, 2, 1, 3, 2], [2, 2, 2, 1, 1, 1, 0, 3, 3, 0], [1, 2, 1, 3, 1, 1, 3, 0, 1, 3], [2, 0, 1, 0, 0, 0, 3, 1, 0, 0], [2, 3, 0, 0, 0, 0, 2, 0, 1, 3], [1, 2, 1, 1, 3, 1, 0, 2, 0, 2], [0, 2, 2, 2, 1, 2, 0, 2, 1, 0], [1, 1, 0, 0, 0, 0, 3, 0, 3, 2], [0, 1, 2, 1, 0, 2, 1, 1, 0, 0], [0, 1, 3, 0, 3, 2, 0, 0, 1, 3], [2, 0, 1, 0, 0, 3, 2, 2, 1, 3], [0, 0, 3, 1, 0, 0, 1, 2, 0, 1], [0, 2, 1, 2, 3, 3, 0, 0, 0, 0], [0, 3, 2, 0, 3, 2, 3, 1, 0, 2], [2, 1, 0, 2, 0, 2, 2, 3, 1, 0], [2, 3, 2, 0, 2, 2, 3, 1, 2, 2], [1, 0, 0, 0, 0, 0, 1, 0, 2, 1], [3, 1, 0, 0, 0, 0, 2, 0, 0, 2], [2, 3, 0, 3, 3, 3, 0, 2, 0, 0], [1, 2, 1, 1, 0, 1, 0, 2, 3, 1], [3, 3, 0, 0, 3, 0, 2, 3, 0, 3], [2, 0, 2, 2, 2, 3, 0, 2, 0, 0], [0, 1, 2, 1, 1, 2, 1, 0, 2, 0], [2, 0, 3, 2, 1, 1, 1, 2, 2, 2], [0, 1, 0, 3, 0, 1, 2, 0, 2, 2], [0, 0, 1, 2, 0, 3, 2, 0, 3, 2], [2, 2, 0, 2, 0, 0, 0, 2, 2, 3], [0, 0, 2, 2, 3, 2, 2, 0, 2, 0], [2, 0, 1, 2, 1, 0, 1, 1, 2, 0], [3, 2, 2, 1, 0, 1, 0, 2, 1, 2], [2, 1, 1, 3, 3, 1, 1, 0, 0, 3], [3, 1, 1, 0, 2, 0, 3, 1, 1, 2], [0, 0, 1, 1, 0, 0, 0, 0, 2, 2], [0, 2, 2, 3, 3, 2, 2, 2, 3, 1], [2, 3, 1, 2, 0, 0, 2, 1, 2, 2], [3, 2, 3, 1, 2, 1, 1, 1, 1, 0], [2, 3, 3, 0, 1, 0, 1, 3, 1, 0], [1, 3, 3, 1, 1, 0, 0, 1, 2, 0], [0, 0, 2, 0, 1, 0, 3, 2, 1, 2], [0, 1, 0, 2, 2, 0, 2, 1, 2, 2], [2, 0, 0, 0, 0, 0, 0, 1, 0, 0], [2, 2, 1, 3, 2, 1, 2, 1, 3, 0], [1, 3, 2, 1, 0, 3, 2, 2, 1, 0], [0, 0, 2, 1, 1, 0, 2, 1, 3, 1], [2, 2, 2, 1, 1, 2, 1, 1, 0, 1], [0, 0, 1, 1, 2, 1, 1, 2, 3, 1], [3, 2, 1, 2, 1, 3, 0, 3, 2, 0], [0, 1, 0, 2, 3, 2, 1, 1, 3, 0], [2, 1, 2, 1, 2, 2, 0, 0, 1, 0], [2, 0, 0, 1, 2, 3, 1, 2, 2, 3], [3, 0, 2, 1, 1, 1, 2, 0, 0, 1], [1, 1, 1, 0, 0, 1, 0, 2, 1, 1], [2, 1, 2, 2, 2, 1, 1, 1, 2, 0], [0, 1, 1, 0, 3, 2, 0, 0, 0, 1], [2, 2, 2, 3, 1, 2, 2, 2, 0, 0], [1, 0, 3, 3, 0, 0, 0, 1, 1, 1], [3, 0, 0, 0, 0, 0, 2, 0, 1, 2], [0, 2, 2, 1, 2, 3, 2, 1, 1, 0], [0, 3, 2, 1, 0, 2, 0, 2, 3, 1], [2, 2, 2, 0, 2, 0, 0, 0, 1, 0], [1, 1, 0, 1, 2, 0, 0, 1, 1, 3], [1, 1, 0, 3, 1, 2, 0, 0, 0, 0], [3, 1, 3, 1, 1, 2, 2, 0, 1, 0], [2, 1, 0, 1, 0, 3, 1, 2, 1, 0], [1, 0, 2, 0, 3, 3, 2, 2, 1, 0], [2, 3, 3, 0, 2, 2, 1, 2, 1, 0], [1, 1, 1, 0, 0, 2, 0, 0, 2, 0], [2, 1, 2, 0, 0, 0, 0, 0, 0, 1], [1, 0, 1, 0, 3, 2, 2, 2, 3, 0], [0, 1, 0, 0, 2, 1, 3, 0, 2, 2], [1, 0, 1, 0, 3, 2, 3, 3, 0, 0], [2, 0, 2, 0, 0, 0, 1, 2, 1, 0], [0, 3, 0, 3, 1, 0, 0, 1, 0, 0], [0, 0, 3, 0, 1, 2, 2, 1, 0, 0], [2, 0, 0, 0, 1, 0, 2, 1, 1, 0], [2, 1, 0, 1, 0, 1, 2, 1, 0, 2], [3, 2, 2, 0, 0, 0, 1, 2, 2, 2], [1, 0, 1, 0, 0, 0, 1, 2, 1, 0], [2, 1, 1, 3, 2, 1, 1, 0, 2, 1], [2, 1, 0, 0, 0, 0, 0, 0, 0, 2], [0, 3, 0, 1, 1, 3, 2, 0, 1, 0], [0, 2, 3, 0, 0, 0, 2, 2, 0, 1], [0, 1, 3, 0, 1, 2, 0, 0, 0, 1], [3, 3, 1, 1, 2, 2, 2, 0, 0, 1], [1, 1, 0, 2, 1, 1, 0, 2, 1, 0], [3, 0, 1, 1, 2, 0, 0, 0, 0, 0], [0, 0, 1, 3, 0, 3, 3, 2, 0, 1], [1, 0, 1, 0, 0, 1, 3, 2, 1, 1], [3, 1, 0, 3, 3, 0, 0, 0, 1, 1], [1, 2, 0, 0, 3, 2, 3, 1, 1, 3], [2, 1, 1, 1, 1, 1, 0, 0, 0, 0], [1, 3, 3, 0, 2, 3, 3, 0, 0, 3], [1, 3, 2, 2, 1, 0, 1, 1, 0, 2], [0, 3, 0, 3, 1, 3, 3, 3, 1, 2], [0, 0, 3, 2, 3, 0, 1, 0, 0, 0], [1, 2, 1, 0, 3, 2, 3, 3, 0, 2], [1, 0, 2, 1, 1, 0, 1, 0, 0, 3], [3, 3, 0, 3, 1, 1, 1, 1, 3, 1], [0, 3, 0, 2, 0, 1, 0, 0, 2, 2], [2, 0, 1, 0, 3, 0, 0, 0, 0, 1], [1, 0, 2, 0, 2, 0, 0, 3, 2, 0], [2, 2, 3, 0, 2, 0, 2, 2, 3, 2], [0, 2, 0, 0, 3, 0, 0, 0, 0, 3], [0, 1, 1, 0, 3, 1, 3, 0, 1, 0], [1, 0, 0, 3, 3, 1, 0, 2, 3, 1], [3, 1, 2, 3, 0, 2, 0, 2, 2, 0], [1, 1, 1, 1, 3, 0, 3, 2, 0, 2], [3, 3, 3, 0, 0, 0, 1, 0, 0, 0], [2, 0, 0, 0, 2, 0, 2, 2, 0, 3], [0, 3, 3, 2, 1, 0, 2, 1, 1, 2], [2, 2, 1, 1, 1, 0, 0, 3, 1, 3], [3, 0, 3, 3, 2, 2, 2, 2, 3, 0], [1, 2, 2, 2, 3, 3, 2, 1, 1, 0], [0, 3, 1, 3, 0, 0, 0, 2, 1, 0], [3, 2, 2, 2, 1, 1, 2, 0, 2, 0], [0, 3, 3, 1, 0, 1, 1, 0, 1, 3], [2, 0, 3, 1, 1, 1, 1, 2, 1, 2], [2, 2, 2, 0, 1, 0, 0, 0, 0, 1], [0, 1, 1, 0, 2, 2, 2, 0, 2, 1], [1, 3, 1, 0, 3, 0, 3, 1, 0, 1], [1, 0, 1, 0, 0, 2, 1, 1, 2, 0], [2, 3, 0, 1, 2, 2, 1, 1, 0, 3], [2, 2, 1, 1, 1, 0, 3, 0, 2, 1], [0, 0, 0, 2, 0, 3, 2, 1, 2, 2], [1, 0, 2, 0, 0, 0, 2, 1, 1, 1], [2, 2, 1, 1, 0, 0, 1, 2, 1, 0], [3, 1, 2, 1, 2, 3, 1, 0, 0, 0], [2, 0, 1, 2, 0, 0, 0, 1, 1, 2], [2, 3, 1, 1, 1, 1, 1, 2, 1, 1], [2, 2, 1, 0, 0, 0, 0, 0, 2, 0], [0, 3, 0, 3, 0, 1, 0, 1, 3, 0], [1, 2, 0, 2, 3, 1, 1, 0, 0, 0], [1, 2, 2, 2, 1, 3, 0, 1, 2, 2], [1, 2, 2, 0, 1, 1, 0, 3, 2, 1], [1, 1, 2, 1, 0, 1, 1, 3, 1, 0], [1, 0, 0, 3, 0, 0, 0, 3, 2, 3], [2, 2, 0, 1, 2, 0, 0, 0, 0, 1], [2, 2, 1, 1, 0, 0, 0, 0, 0, 1], [2, 3, 2, 3, 0, 0, 0, 3, 0, 1], [1, 0, 0, 3, 2, 0, 2, 0, 0, 3], [0, 3, 0, 0, 0, 2, 0, 0, 1, 3], [0, 3, 2, 3, 2, 0, 0, 1, 0, 1], [1, 0, 1, 2, 1, 3, 0, 0, 0, 2], [3, 1, 3, 2, 0, 0, 2, 1, 3, 2], [2, 2, 0, 2, 1, 1, 2, 2, 2, 0], [0, 3, 3, 1, 0, 0, 3, 1, 1, 2], [0, 3, 0, 2, 1, 1, 0, 1, 2, 0], [0, 2, 1, 3, 0, 0, 2, 0, 2, 3], [0, 0, 0, 0, 3, 1, 2, 1, 1, 2], [1, 2, 0, 2, 1, 0, 0, 0, 0, 2], [1, 1, 0, 1, 0, 0, 2, 2, 0, 2], [1, 2, 1, 3, 1, 1, 0, 3, 0, 0], [3, 3, 3, 3, 2, 0, 3, 3, 3, 2], [2, 1, 2, 0, 1, 2, 2, 0, 0, 2], [0, 2, 0, 0, 2, 0, 1, 0, 0, 1], [3, 2, 3, 1, 0, 0, 0, 0, 0, 0], [3, 1, 1, 1, 1, 2, 1, 2, 2, 1], [0, 1, 2, 3, 1, 1, 3, 0, 0, 3], [1, 0, 0, 0, 1, 0, 3, 1, 0, 1], [3, 2, 0, 3, 0, 0, 2, 0, 1, 2], [0, 0, 0, 0, 0, 2, 0, 0, 2, 1], [1, 0, 3, 0, 2, 1, 1, 1, 0, 1], [2, 3, 2, 0, 2, 2, 0, 0, 3, 1], [0, 2, 2, 3, 0, 3, 0, 0, 3, 0], [2, 3, 2, 1, 2, 0, 1, 3, 2, 2], [1, 1, 0, 3, 2, 0, 2, 2, 0, 1], [0, 3, 2, 0, 0, 0, 1, 1, 0, 1], [1, 0, 2, 2, 0, 2, 3, 1, 1, 3], [1, 2, 2, 1, 1, 0, 2, 2, 1, 0], [0, 0, 1, 0, 0, 0, 1, 3, 3, 2], [3, 0, 0, 0, 3, 0, 0, 0, 0, 1], [0, 3, 1, 0, 2, 0, 0, 2, 2, 0], [1, 0, 3, 3, 1, 3, 0, 2, 2, 2], [3, 1, 0, 1, 3, 3, 0, 2, 0, 1], [1, 3, 3, 0, 2, 3, 3, 3, 0, 1], [1, 0, 0, 0, 0, 0, 1, 0, 3, 0], [3, 1, 1, 1, 0, 0, 0, 0, 0, 0], [1, 3, 2, 2, 2, 2, 1, 1, 2, 2], [2, 3, 3, 2, 2, 2, 2, 2, 2, 1], [2, 0, 1, 0, 2, 0, 3, 2, 1, 0], [0, 0, 2, 1, 2, 1, 0, 1, 0, 3], [2, 0, 1, 0, 0, 0, 0, 3, 2, 0], [1, 1, 0, 1, 2, 1, 3, 3, 0, 3], [0, 3, 1, 3, 0, 0, 3, 3, 1, 0], [0, 1, 0, 2, 2, 0, 3, 0, 0, 0], [2, 1, 1, 1, 1, 0, 0, 2, 0, 3], [2, 3, 1, 1, 2, 0, 2, 1, 1, 0], [3, 0, 2, 3, 2, 2, 2, 2, 2, 2], [2, 0, 0, 3, 0, 1, 0, 2, 1, 0], [2, 3, 0, 0, 0, 2, 0, 1, 0, 2], [3, 1, 3, 3, 3, 1, 2, 1, 0, 0], [2, 2, 0, 1, 2, 0, 0, 3, 3, 2], [1, 1, 2, 1, 2, 2, 1, 2, 0, 0], [0, 3, 3, 1, 1, 2, 0, 3, 0, 2], [3, 2, 2, 3, 3, 1, 0, 0, 3, 2], [0, 1, 0, 0, 2, 1, 1, 0, 2, 0], [2, 1, 0, 2, 2, 2, 2, 1, 2, 1], [0, 0, 0, 3, 3, 3, 0, 1, 0, 2], [2, 0, 0, 0, 1, 1, 1, 0, 0, 1], [2, 3, 1, 1, 3, 0, 0, 2, 0, 0], [1, 0, 0, 2, 0, 3, 0, 0, 0, 1], [0, 2, 3, 3, 1, 0, 0, 0, 1, 0], [0, 1, 2, 3, 2, 3, 0, 0, 3, 0], [1, 3, 3, 3, 0, 1, 3, 0, 2, 3], [1, 0, 0, 0, 0, 0, 0, 2, 0, 0], [0, 3, 1, 0, 2, 3, 1, 1, 2, 2], [2, 1, 3, 0, 1, 3, 0, 0, 1, 3], [1, 0, 1, 2, 1, 2, 2, 1, 1, 0], [1, 3, 3, 3, 0, 3, 1, 1, 1, 0], [0, 0, 0, 0, 3, 1, 0, 0, 2, 0], [3, 0, 2, 2, 0, 1, 0, 0, 0, 1], [0, 0, 0, 2, 0, 0, 0, 0, 2, 3], [1, 2, 1, 2, 0, 1, 3, 2, 0, 1], [2, 1, 1, 2, 3, 2, 3, 1, 2, 3], [2, 2, 1, 2, 0, 0, 0, 3, 2, 1], [1, 0, 1, 1, 2, 0, 0, 1, 2, 0], [1, 0, 0, 1, 0, 2, 2, 0, 1, 2], [1, 0, 1, 1, 1, 0, 1, 3, 2, 0], [2, 2, 1, 2, 2, 0, 0, 2, 1, 0], [2, 2, 1, 0, 1, 1, 1, 0, 2, 0], [0, 1, 2, 0, 0, 0, 0, 2, 2, 3], [0, 2, 2, 0, 0, 0, 1, 0, 1, 2], [1, 0, 2, 1, 0, 0, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0, 0, 3, 3, 0], [0, 0, 1, 1, 0, 0, 2, 2, 3, 0], [0, 3, 0, 3, 0, 0, 2, 0, 2, 2], [0, 0, 2, 1, 0, 1, 0, 2, 2, 0], [2, 2, 2, 0, 0, 0, 0, 0, 1, 0], [3, 0, 0, 0, 3, 3, 0, 0, 0, 1], [3, 0, 3, 3, 0, 0, 0, 2, 3, 1], [0, 0, 1, 1, 2, 0, 1, 1, 1, 1], [2, 0, 2, 3, 2, 1, 1, 2, 3, 0], [0, 0, 1, 1, 0, 2, 2, 1, 3, 1], [1, 2, 3, 3, 0, 1, 2, 3, 2, 2], [1, 1, 3, 1, 0, 0, 0, 0, 0, 2], [2, 0, 1, 2, 2, 1, 0, 0, 2, 0], [1, 0, 0, 0, 0, 2, 2, 0, 3, 0], [1, 0, 1, 0, 0, 0, 0, 0, 0, 0], [2, 2, 2, 0, 1, 2, 2, 3, 2, 2], [1, 0, 2, 2, 3, 1, 0, 3, 2, 0], [0, 0, 3, 1, 3, 0, 0, 0, 3, 0], [2, 0, 0, 3, 1, 0, 3, 2, 2, 0], [1, 2, 0, 0, 1, 0, 0, 2, 2, 3], [1, 2, 2, 2, 0, 1, 1, 2, 3, 1], [0, 2, 3, 0, 1, 0, 0, 0, 2, 1], [1, 0, 1, 3, 2, 0, 0, 0, 0, 1], [0, 0, 0, 2, 1, 0, 0, 3, 2, 1], [0, 0, 3, 2, 1, 3, 0, 1, 0, 2], [1, 1, 1, 0, 1, 0, 0, 1, 0, 0], [2, 3, 0, 2, 1, 0, 1, 0, 0, 1], [3, 3, 2, 2, 2, 0, 0, 3, 1, 2], [/code] и остальной код, поэтому пытаемся переделать: [code]concatenated = np.concatenate(observations.reshape(10, 1_000)) remodel = hmm.CategoricalHMM(n_components=3, n_iter=100, verbose=True) remodel.fit(concatenated.reshape(-1, 1), lengths=[10 for _ in range(1_000)]) [/code] Что бы я ни пытался, я получаю дерьмовые remodel.emissionprob_ и remodel.transmat_, очень близкие к [code][[.33 .33. 33], [.33 .33. 33], [.33 .33. 33]] [/code] Также очень часто появляется следующее предупреждение: [code]Model is not converging. [/code] Я уже пробовал: [*]генерировать последовательности с помощью CategoricalHMM; [*]инициализация transmat_,missionprob_ и start_prob вручную путем добавления параметра init_params; [*]изменение формы набора последовательности наблюдений (1000x10, 10x1000, 1x10000 и т. д.); [*]с использованием MultinomialHMM и remodel.fit(observations). Подробнее здесь: [url]https://stackoverflow.com/questions/78791079/hidden-markov-model-in-hmmlearn-not-converging[/url]