Я думаю, что ваша интуиция о сложности представления различных состояний как последовательных целых чисел правильная - это представление сжимает много информации на каждом входе. Это означает, что вашей сети, возможно, придется много узнать о том, как декодировать эту информацию в фактах, которые действительно полезны для решения вашей проблемы.
Одно состояние на вход, с булевыми входами, могло бы помочь. Это упростит сеть, чтобы выяснить, о каких двух состояниях вы говорите. Разумеется, такой подход не всегда помогает сети узнавать полезные факты, например, какие состояния находятся рядом друг с другом.
Это может быть полезно, чтобы попытаться определить, существуют ли какие-либо виды информации там, что оба легко для вас, чтобы обеспечить и что также может сделать обучение более легким. Например, если физическое расположение состояний важно для решения вашей проблемы (т. Е. КТ находится рядом с Нью-Йорком, который находится рядом с ПА), то, возможно, вы можете разбить страну на регионы (например, на северо-запад, юго-восток, на запад) и обеспечить логическое входы для каждого региона.
Ввод нескольких схем ввода в одну сеть может позволить вам указать одно состояние, используя (потенциально) более полезное представление: вместо того, чтобы говорить «это состояние № 39», вы могли бы сказать (например) " это самое северное государство, которое касается более пяти соседних государств в восточном регионе ".
Если сеть считает полезным определить, находятся ли два состояния рядом друг с другом, такое представление может сделать обучение немного быстрее - сеть может получить приблизительную идею, если два состояния близки, просто сравнивая два " региона "для состояний. Проверка того, являются ли два входа в области равными, намного проще, чем запомнить тот факт, что состояние № 39 находится вблизи состояний # 38, # 21, # 7 и # 42.
Было бы очень полезно знать, какие операции выполняются; какое преобразование выводит из входов? Это поможет определить, подходит ли выбранная вами кодировка для состояний или нет. –