Felejtsd el azt, hogy a termet mátrixként ábrázolod. Csak szobák vannak egy vektorban.
Nézzünk egy ilyet (L):
10
X1
X1
Ez egy 2x3-as szoba, 1=felkapcsolt lámpa, 0=lekapcsolt lámpa, X=nincs lámpa.
Az ezt megoldó kapcsolás (K):
10
X1
X0
1=átkapcsoljuk a lámpát, 0=nem nyúlunk hozzá, X=nincs lámpa.
Ezek után az X-ekkel nem is kell foglalkozni. Nevezzük el a szobákat:
AB
CD
EF
Modulo 2-vel számolva:
KA+KB=LA
KA+KB+KD=LB
KB+KD+KF=LD
KD+KF=LF
Itt lesz bal oldalon egy 4x4-es kapcsolómátrixod (M), ennek egy sora megadja, hogy a sorhoz tartozó lámpa melyik kapcsolóktól függ.
Tehát az algoritmus: fogod a lámpás szobákat valamilyen sorrendben, felírod a kapcsolómátrixot, és innen kezdve nem foglalkozol a topológiával, mint ahogy fent is írtam. Amit előbb felírtam: M*K=L. Ez abból jött ki, hogy M*K+L=0, vagyis a kapcsolómátrixot beszorzod valamilyen kapcsolással, és ha ezt ráereszted a kiindulási állapotra, akkor kimenetként minden lámpa le lesz kapcsolva. K-t keressük. Szép lineáris egyenletrendszer, kijön belőle minden K, akár nem létezik, akár egyértelmű, akár több megoldása van.