( imp | 2009. 01. 20., k – 13:29 )

Csak egy átfogalmazás:
Ábrázoljuk a termet egy gráffal, aminek annyi csúcsa van, ahány lámpa van a szobában. Két csúcs között van él, ha a teremben szomszédosak. Címkézzük az éleket 0-val, ha a két végpontjának megfelelő (szomszédos) lámpák fordított állásúak, és 1-el, ha azonos állásúak. Egy lámpa átkapcsolása egy pontban az adott pontból kiinduló élek szomszédos éleinek a címkéit változtatják meg. A cél, hogy minden él 1-es címkéjű legyen.
(azzal most nem foglalkozunk, hogy le vagy fel van kapcsolva az összes lámpa)

Pl.:


A mátrix:
0 2 0
2 1 1*
2 2 0


A gráf:
    .
    0!
. 0!. 1 *
1   0!  
. 1 .

A *-gal jelölt pontot átkapcsolva a felkiáltójeles élek változnak.

Készítsünk most egy mátrixot, aminek a sorai az éleknek felelnek meg, oszlopai pedig a csúcsoknak. A mátrix egy (ij) tagja legyen 1, ha a j-edik csúcs átkapcsolása változtatja az i-edik élet.


A gráf, eljelölve az éleket kisbetűkkel, a csúcsokat nagybetűkkel, illetve a kiinduló érték mégegyszer:
    A             A
    p             0
B q C u F     B 0 C 1 F
r   s         1   0
D t E         D 1 E

Az ehhez tartozó M mátrix:
  A B C D E F
p   1     1 1
q 1     1 1 1
r     1   1
s 1 1   1   1
t   1 1
u   1     1

A kiinduló k állapotot az élek állapotával jellemezhetjük, jelen esetben:
p 0
q 0
r 1
s 0
t 1
u 1

A cél egy olyan x vektor megtalálása, hogy Mx = -k legyen, ahol az M és k is (mod 2) felett értelmezett. Innen látható, hogy
1) a kapcsolgatási sorrend lényegtelen
2) minden kapcsolót legfeljebb egyszer kell átkapcsolni