Próbuję skonstruować wszystkie nierówne macierze (lub n × n, jeśli chcesz) z elementami 0 lub 1. Operacją, która daje macierze równoważne, jest jednoczesna wymiana wiersza i i j ORAZ kolumny i i j. na przykład. dla 1 ↔ 2 ( 0 0 0 0 1 1 1 0 0 ) ∼ ( 1 0 1 0 0 0 0 1 0 )
W końcu będę musiał również policzyć, ile macierzy równoważnych jest w każdej klasie, ale myślę, że twierdzenie Polyi może to zrobić. Na razie potrzebuję tylko algorytmicznego sposobu konstruowania jednej macierzy w każdej klasie nierówności. Jakieś pomysły?
algorithms
combinatorics
Heterotyczny
źródło
źródło
Odpowiedzi:
Poczyniłem pewne postępy w odpowiedzi na to pytanie. Piszę tutaj na wypadek, gdyby ktoś był zainteresowany, a także dlatego, że ta konstrukcja może być przydatna dla (ukierunkowanych) grafów.
Z moich prób i błędów wynika, że jeśli dwie macierze różnią się w tej parametryzacji, to należą one do różnych klas równoważności, więc aby zbudować reprezentanta w każdej klasie, po prostu skanujemy przestrzeń parametrów, jak opisano powyżej.
(Aktualizacja) Okazuje się, że ta parametryzacja działa dobrze dla n = 2, ale nie dla n = 3, ponieważ można to zobaczyć na podstawie obliczenia siły brutalnej. Nadal uważam, że zapewnia on pewien wgląd w strukturę odpowiedzi i zapraszam ludzi do próby modyfikacji lub rozszerzenia jej w celu uwzględnienia najbardziej ogólnego przypadku.
źródło