Построение неэквивалентных двоичных матриц


15

Я пытаюсь построить все неэквивалентные матрицы (или если хотите) с элементами 0 или 1. Операция, которая дает эквивалентные матрицы, - это одновременный обмен строк i и j И столбцов i и j , например. для8×8n×n12

(000011100)(101000010)

В конце концов, мне также нужно будет подсчитать, сколько эквивалентных матриц существует в каждом классе, но я думаю, что теорема Поли о подсчете может это сделать. Сейчас мне просто нужен алгоритм построения одной матрицы в каждом классе неэквивалентности. Есть идеи?


2
Есть по крайней мере , из них. Это действительно большое количество. 264/8!248
Yuval Filmus

@Yuval: Это действительно большие числа, и для моего расчета действительно имеет значение, если это или 2 52 . Это может занять несколько недель, чтобы бежать! Вот почему я пытаюсь использовать все симметрии рассматриваемой проблемы. Кроме того, эта проблема возникает из построения модели в теории струн! :)248252
Гетеротик

Что вы собираетесь делать со всеми этими матрицами? Где вы собираетесь их хранить? Какое приложение?
Юваль Фильмус

1
идея: разве это не очень похоже на проблему изоморфизма графов? где матрицы - это матрицы ребер графа? кроме тех, которые симметричны ... может быть, как-то можно использовать, на это есть тонны теории ...
vzn

Ответы:


1

Я добился определенного прогресса в ответе на этот вопрос. Я публикую здесь, если кому-то еще это интересно, а также потому, что эта конструкция может быть полезна для (направленных) графов.

Подсчитайте количество единиц в каждом ряду. Пусть 0 будет число строк с нулевыми 1s, 1 число строк с одним 1 и так далее до более 8 , который является количество строк , которые имеют восемь 1s. Очевидно Σ я = 8 . Предлагаемая параметризация, к которой я пришел после проб и ошибок: ( a 1 , , a 8 ; T , S ), где T - это след матрицы, и S равно 1, если матрица симметрична, и 0 в противном случае. Т работает от 0 доa0a1a8Σaязнак равно8

(a1,,a8;T,S)
100 .Σязнак равно18aязнак равно8-a0

Из моих проб и ошибок похоже, что если две матрицы отличаются в этой параметризации, то они принадлежат разным классам эквивалентности, поэтому для создания представителя в каждом классе мы просто сканируем пространство параметров, как описано выше.

(Обновление) Оказывается, что эта параметризация работает нормально для n = 2, но не для n = 3, как это видно из расчета методом грубой силы. Я все еще думаю, что это дает некоторое представление о структуре ответа, и я приглашаю людей попытаться изменить / расширить его, чтобы охватить наиболее общий случай.


2
1×12×27×7

@DW: Действительно, это доказательство того, что это условие является достаточным, меня беспокоит и то, с чем я хотел бы помочь. Я постараюсь исчерпывающе проверить это для небольших случаев и посмотрю, что произойдет. Спасибо за совет! К сожалению, я не знаю, как использовать SAT-решатель для поиска контрпримеров. Если гипотеза верна для меньших матриц, я мог бы начать об этом
узнавать

Имеет смысл, Гетеротик! На самом деле, я забираю свое заявление об использовании SAT-решателя. Я не знаю, как использовать SAT-решатель для поиска контрпримеров (это сложнее, чем я думал вначале) - поэтому, пожалуйста, игнорируйте эту часть моего комментария. Прости за это!
DW

2
aя(1,4)(2,3)(1,4)(2,4)(все остальные записи 0 для обоих) не эквивалентны, но имеют одинаковую параметризацию. (Конечно, это немедленно приводит к улучшенной параметризации, которая также учитывает столбцы.)
FrankW

1
Гетеро, теперь, когда ты знаешь, что твой ответ не работает, я бы предложил удалить твой ответ, чтобы он не смутил других ...
DW
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.