( joco01 | 2009. 01. 27., k – 09:34 )

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.

--
joco voltam szevasz