Да. Вы можете взять исходную матрицу A и повернуть ее во все возможные конфигурации A ', A' 'и A' ''. Затем вы можете отсортировать их, используя некоторую сортировку по вашему выбору (просто быть последовательной), выбрать первую и хэшировать, используя любую хэш-функцию по вашему выбору (опять же, фактическая хеш-функция не имеет значения, просто быть последовательной).
Очевидно, что это можно значительно оптимизировать, не выполняя полное вращение и сортировку - вы можете лениво выполнять сравнения, останавливаясь, как только узнаете, какое вращение сортируется первым - но принцип тот же.