Lampjes uit

Aan het begin van het spel zijn alle lampjes aan. Als je op een lampje klikt verandert zijn stand en die van zijn buren. Het doel van het spel is alle lampjes uit te krijgen. Dit is altijd mogelijk.

Bewijs

We gebruiken de notatie G=(V,E)G=(V,E) voor de graaf GG met puntenverzameling VV en lijnenverzameling EE. Het totale aantal lijnen noemen we nn.

Verzamelingen lijnen als vectoren

Bekijk A=P(E)A={\mathcal P}(E), de verzameling deelverzamelingen van EE, als vectorruimte over F2={0,1}{\bf F}_2=\{0,1\}, het lichaam met twee elementen. Een vector xAx\in A is dus een deelverzameling van EE die we ook kunnen schrijven als een rijtje nullen en enen, één per lijn om aan te geven of deze in xx zit of niet. De optelling van twee vectoren xx en yy is het symmetrische verschil x+y:=xΔy=(xy)(yx)x+y:=x\Delta y=(x\setminus y) \cup (y\setminus x). Dit komt neer op het optellen van de nullen en enen, met de regel 1+1=01+1=0.

De cykelruimte

Een cykel is een vector uit AA die bestaat uit een aantal lijnen die een rondje vormen. Zij CC de deelruimte opgespannen door de cykels. Elke vector van CC kun je dus zien als de som van een aantal cykels. Merk op dat in elke cykel elk punt twee buren heeft, en dus dat elk punt van VV een even aantal buren in xx heeft voor alle xCx\in C. Andersom, als elk punt van VV een even aantal buren in xx heeft, is xCx\in C. Immers, bekijk de langste wandeling over de lijnen van xx waarbij je hooguit één keer over elke lijn loopt. Deze wandeling kan niet eindigen bij een punt waar je nog niet geweest bent, omdat dat laatste punt (en het beginpunt van de wandeling) dan een oneven aantal buren zou hebben. Dus xx bevat een cykel. Haal deze cykel even weg uit xx en herhaal het argument tot je xx helemaal hebt opgedeeld in cykels.

De snederuimte

Als je VV in tweeën deelt, dan heet de verzameling lijnen tussen die twee delen een snede. Zij xx de snede gegeven door V=V1V2V=V_1\cup V_2 en yy de snede gegeven door V=V1V2V=V'_1\cup V'_2. Dan bestaat x+yx+y uit de lijnen die wel in xx maar niet in yy zitten en de lijnen die wel in yy maar niet in xx zitten, ofwel: de lijnen die de grens tussen V1V_1 en V2V_2 overbruggen maar niet die tussen V1V'_1 en V2V'_2, of juist andersom. Het zijn dus precies de lijnen tussen (V1V1)(V2V2)(V_1\cap V'_1)\cup (V_2\cap V'_2) en (V1V2)(V2V1)(V_1\cap V'_2)\cup (V_2\cap V'_1), dus is x+yx+y ook een snede. De verzameling sneden is dus een deelruimte van AA, die we aangeven met SS.

Orthogonale complementen

Bekijk de bilineaire vorm x,y:=i=1nxiyi\langle x, y\rangle:=\sum_{i=1}^n x_i y_i. Deze is 00 of 11 afhankelijk van of xyx\cap y een even of oneven aantal lijnen bevat. Voor een deelruimte WW van AA schrijven we WW^\perp voor het orthogonale complement, de ruimte van de vectoren xAx\in A zodat x,y=0\langle x,y\rangle=0 voor alle yWy\in W. Dan is WW^\perp de kern van de afbeelding gegeven door de matrix met als rijen een basis van WW. Wegens de rank-nullity theorem geldt dus dim W+dim W=n\operatorname{dim}\,W+\operatorname{dim}\,W^\perp=n. Omdat per definitie voor elke xWx\in W^\perp geldt dat x,y=0\langle x, y\rangle=0 voor alle yWy\in W hebben we de implicatie yWyWy\in W\Rightarrow y\in W^{\perp\perp}, dus WWW^{\perp\perp}\supseteq W. Maar dim W+dim W=n=dim W+dim W\operatorname{dim}\,W^\perp+\operatorname{dim}\,W^{\perp\perp}=n=\operatorname{dim}\,W+\operatorname{dim}\,W^\perp dus dim W=dim W\operatorname{dim}\,W^{\perp\perp}=\operatorname{dim}\,W en dus W=WW^{\perp\perp}=W.

Cykelruimte en snederuimte zijn complementair

Zij sSs\in S een snede, dus een splitsing van VV in twee delen. Als je vanaf een zekere plek rond gaat rondlopen door de graaf, zul je voor elke keer dat je de splitsing oversteekt, deze nog een keer moeten oversteken om weer terug te komen waar je begonnen was. Elke cykel cc heeft dus een even aantal lijnen gemeen met ss, ofwel c,s=0\langle c,s\rangle=0 voor alle cCc\in C en sSs\in S, dus CSC\subseteq S^\perp. Als xx nu een vector is die niet in CC zit, is er minstens één punt vVv\in V met een oneven aantal lijnen in xx. Zij ss de snede bestaande uit alle lijnen van dat punt. Dan is s,x=10\langle s,x\rangle=1\neq 0 dus x̸Sx\not\in S^\perp, dus C=SC=S^\perp. Nemen we van deze uitdrukking het complement, dan vinden we bovendien C=S=SC^\perp=S^{\perp\perp}=S.

Alle lijnen als som van cykels en een snede

Met de notatie C+SC+S bedoelen we de ruimte bestaande uit alle c+sc+s met cCc\in C en sSs\in S. Als x,c+s=0\langle x,c+s\rangle=0 voor alle cCc\in C en sSs\in S dan geldt in het bijzonder dat x,c+0=0\langle x,c+0\rangle=0 en x,0+s=0\langle x,0+s\rangle=0, dus (C+S)CS(C+S)^\perp\subseteq C^\perp\cap S^\perp. Andersom volgt uit de bilineariteit van ,\langle\cdot,\cdot\rangle dat als x,c=0\langle x,c\rangle=0 en x,s=0\langle x,s\rangle=0, dan x,c+s=0+0=0\langle x,c+s\rangle=0+0=0. Hieruit volgt (C+S)CS(C+S)^\perp\supseteq C^\perp\cap S^\perp dus (C+S)=CS=SC(C+S)^\perp=C^\perp\cap S^\perp=S\cap C ofwel C+S=(SC)C+S=(S\cap C)^\perp. Als xSCx\in S\cap C, dan x,x=0\langle x,x\rangle=0 dus xx heeft een even aantal enen. Maar dan is ook E,x=0\langle E,x\rangle=0, dus E(SC)E\in (S\cap C)^\perp ofwel EC+SE\in C+S. Dus er bestaat een snede sSs\in S zodat EsCE-s\in C. Bij elke graaf kun je dus een zekere snede weghalen, zodat alle punten een even aantal buren overhouden.

Oplossing van het spel

Zij G=(V,E)G'=(V',E') de graaf verkregen door een punt pp aan VV toe te voegen en die met alle punten te verbinden die een even aantal buren hebben. (Nu hebben alle punten, behalve pp misschien, een oneven aantal buren.) Zij V=V1V2V'=V_1\cup V_2 de tweedeling behorende bij de snede na wiens verwijdering alle punten een even aantal buren overhouden. Als pp in V2V_2 zit, klik dan op alle lampjes in V1V_1. Elk lampje in V1V_1 wordt nu een oneven aantal keer geschakeld: één keer omdat erop geklikt wordt en een even aantal keer omdat op een buur geklikt wordt. Elk lampje in V2V_2 (behalve mogelijk pp) wordt ook een oneven aantal keer geschakeld: het heeft een even aantal buren in V2V_2 maar in totaal een oneven aantal buren, dus een oneven aantal buren in V1V_1. Alle lampjes zijn een oneven keer geschakeld, en zijn nu dus uit.