| Züge: 0 |
| 1 | 2 | 3 | 4 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| 1 | 2 | 3 | 4 |
Lösung
Hier beschreibe ich die Techniken oder Verfahren, die man für eine menschliche Lösung braucht.
Flipdown
Klicke in der 2. Reihe dorthin, wo in der 1. Reihe ein roter Stein ist. Dann in der 3. Reihe dorthin klicken, wo in der 2. Reihe ein roter Stein ist, usw bis in die letzte Reihe. In der letzten Reihe bleiben jetzt rote Steine übrig.
Flipup
Dasselbe umgekehrt: klicke in der vorletzten Reihe dort, wo in der letzten Reihe ein Stein umgedreht werden soll. Wiederhole das bis zur 2. Reihe. Jetzt sind rote Steine in der ersten Reihe übrig.
Cleanup
Klicke nur in die erste (oder letzte) Reihe, bis dort nur noch gelbe Steine sind. Der Zustand der Nachbarreihe ist nicht von Bedeutung, hier können ein oder mehrere Felder rot sein.
Reflect
Nach dem flipdown sind in der letzten Reihe bestimmte Steine rot. Klicke nur in die 1. Reihe bis die 1. Reihe aussieht wie die letzte Reihe. Danach nochmal flipdown ausführen.
Hilfe
Das Umdrehen Reihe für Reihe erfordert viele Mausklicks bei großen Spielfeldern,
weswegen es hier die Funktion flipdown gibt (siehe oben). Diese Funktion
simuliert einen Mausklick (= führt einen Zug aus) in einer Reihe, wo eine
Reihe darüber ein rotes Feld ist. flipup arbeitet genau umgekehrt. Ist
in der letzten Reihe ein rotes Feld, klickt flipup in der vorletzten Reihe
in derselben Spalte. Das auch wiederum bis zur ersten Reihe.
Das nur als Hilfe, natürlich kann man das auch manuell mit der Maus machen.
Lösungswege
Hier die Lösungen für quadratische Spielfelder mit den jeweiligen Kantenlängen:
|:repeat:| - das Verfahren wiederholen, bis das Spiel gelöst ist.
- 2x2: |:flipdown, flipup:|
- 3x3: |:flipdown, flipup:|
- 4x4: flipdown
- 5x5: |:flipdown, letzte Reihe cleanup, flipup, erste Reihe cleanup:|
- 6x6: |:flipdown, reflect:|
- 7x7: wie 5x5
- 8x8: flipdown, do not cleanup, flipup, cleanup, flipdown.
- 9x9: flipdown, fertig. Wenn nicht: flipup
Lösung für das 10x10 Spielfeld
Das ist meiner Meinung nach am schwersten zu lösen. Bei demselben Verfahren, Reihe für Reihe umzudrehen (=flipdown), hilft es, sich klarzumachen, welche Felder oben welche Auswirkung auf die unterste Reihe haben.
Feld 3 oben geklickt (2,3,4 in der ersten Reihe sind rot), hat nach dem flipdown das Ergebnis, dass Feld 1 in der untersten Reihe gedreht ist. Folgende Tabelle ergibt sich:
| Klick auf Feld Nr. | Rot 1. Reihe | Rot 10. Reihe (nach flipdown) |
|---|---|---|
| 1 | 1,2 | 1,3,7,9 |
| 2 | 1,2,3 | 4,6,10 |
| 3 | 2,3,4 | 1 |
| 4 | 3,4,5 | 2,4,6,10 |
| 5 | 4,5,6 | 7,9 |
| die folgenden Muster sind Spiegelbilder der ersten 5 Muster | ||
| 6 | 5,6,7 | 2,4 |
| 7 | 6,7,8 | 1,5,7,9 |
| 8 | 7,8,9 | 10 |
| 9 | 8,9,10 | 1,4,6 |
| 10 | 9,10 | 2,4,6,8 |
Die 3 und 8 in der letzten Reihe tauchen nur einmal auf. Das heißt: wenn die 3 oder 8 gedreht werden muss, muss in der 1. Reihe die 1 bzw. 10 gedreht werden (rot markiert).
Damit die Lösung einfacher zu merken ist, gehe ich davon aus, dass man in dem Fall (3 oder 8 sind gedreht oder beide) Feld 1 bzw. Feld 10 der 1. Reihe dreht, oder beide, und dann flipdown durchführt. Jetzt sind rote Steine in der letzten Reihe übrig. Wir suchen die Steine der 1. Reihe, die man anklicken muss, damit genau diese roten Steine der letzten Reihe gedreht werden.
| Klick auf 1.Reihe | Rot 1. Reihe | Rot 10. Reihe |
|---|---|---|
| 3 | 2,3,4 | 1 |
| 2,4 | 1,2,4,5 | 2 |
| 2,4,6 | 1,2,4,6,7 | 4 |
| 3,5,7 | 2,3,5,7,8 | 5 |
| 4,6,8 | 3,4,6,8,9 | 6 |
| 5,7,9 | 4,5,7,9,10 | 7 |
| 7,9 | 6,7,9,10 | 9 |
| 8 | 7,8,9 | 10 |
Jetzt kann man das Schema erkennen: für ein gedrehtes Feld unten nimmt man auch dasselbe Feld oben + die 2 übernächsten Felder rechts und links (wenn noch auf dem Spielfeld). Ausnahme: für die 1 unten klick 3 oben, für die 10 unten klicke 8 oben. Dann flipdown.
Die Klicks sind in der Reihenfolge egal, und sie heben sich auf. Beispiel: unten soll 2 und 6 gedreht werden. Oben: 2+4, 4+6+8, die 4 hebt sich auf: Oben: 2+6+8 klicken. Du sparst Klicks, es ist aber mental anstrengender, als einfach die Klicks nach dem Schema auszuführen.
Zusammenfassung für das 10x10 Spielfeld
- 10x10: flipdown; wenn 3 rot ist, klicke 1, wenn 8 rot ist, klicke 10 (1. Reihe); flipdown; klicke die Steine nach dem Schema „klicke in Reihe 1 den Stein, der in Reihe 10 rot ist, sowie die 2 übernächsten Felder rechts und links“; flipdown.
Mathematical Solution
from https://gaming.stackexchange.com/questions/11123/strategy-for-solving-lights-out-puzzle
The following solution works for every m × n grid:
Think of the given grid as a vector in a m × n dimensional vector space. Every value is either 1 (if the light is on) or 0 (if the light is off). Now you can think of every cell-push as a vector in this vector space. As you can push m x n different cells, you have m x n different vectors. If they change something in a cell, the value is 1, else 0.
It is only interesting if you have to push one button or not. No need to look at the order, no need of pushing a button more than once. So you have an equation
vector for your grid = a_1 x cellvector1 + a_2 x cellvector_2 + ... a_mn x cellvector_mn a_1, a_2, ..., a_mn is either 0 or 1.
As you have m x n variables (a_1 ... a_mn) and m x n equations (the rows of the vectors) you can solve it with Gaussian elimination.
If you are German, you might want to read Aufgabe 2, 30. Bundeswettberwerb Informatik and Lösungshinweise.
