Lernpfad:Rekursion in Java/Rekursion bei Schachproblemen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 2: | Zeile 2: | ||
An dieser Stelle sollen einfach nur ein paar Links für Interessierte hinzugefügt werden: | An dieser Stelle sollen einfach nur ein paar Links für Interessierte hinzugefügt werden: | ||
== | == Das Damenproblem == | ||
Beim [[wikipedia:Damenproblem]] versucht man 8 Damen so auf dem Schachbrett zu positionieren, dass sich keine der Damen gegenseitig schlagen können. | |||
dass sich keine Damen gegenseitig schlagen. | |||
{{Aufgabe:Start}} | {{Aufgabe:Start}} | ||
Versuche auf einem 5x5 Feld 5 Damen aufzustellen. | Versuche auf einem 5x5 Feld 5 Damen aufzustellen. | ||
{{Aufgabe:End}}{{Lösung:Start|Mögliche Lösungen}} | |||
{{ | |||
<p5js height="201">https://editor.p5js.org/HerrThiessen/embed/HJJo3XGfE</p5js> | <p5js height="201">https://editor.p5js.org/HerrThiessen/embed/HJJo3XGfE</p5js> | ||
{{ | {{Lösung:End}} | ||
Ein rekursiver Algorithmus könnte wie folgt aussehen: | Ein rekursiver Algorithmus könnte wie folgt aussehen: | ||
< | <pre> | ||
dame(t) | dame(t) | ||
Falls t < 8 ist DANN | |||
Wiederhole für alle Positionen (starte bei 0) | |||
aktuelle Reihe gleich nächste Position | |||
Falls die aktuelle Reihe noch frei ist DANN | |||
setze die Dame auf die freie Reihe | |||
Falls die Dame mit keiner anderen kollidiert DANN | |||
dame(t+1) | |||
Entferne die aktuelle Dame aus der Reihe | |||
SONST | |||
speicher die Lösung | |||
</ | </pre> | ||
== Springerproblem == | == Springerproblem == | ||
# https://de.wikipedia.org/wiki/Springerproblem | |||
# http://www.axel-conrad.de/springer/springer.html | |||
# https://docplayer.org/41857208-Backtracking-mit-heuristiken.html | |||
# https://www.mathe-online.at/materialien/matroid/files/schach/schachbrett.html | # https://www.mathe-online.at/materialien/matroid/files/schach/schachbrett.html | ||
#Labyrinth http://www.erasmus-reinhold-gymnasium.de/info/rekursion-iteration/Backtracking_final.pdf | #Labyrinth http://www.erasmus-reinhold-gymnasium.de/info/rekursion-iteration/Backtracking_final.pdf |
Version vom 28. Januar 2020, 22:54 Uhr
Im Kontext des Schachspiels gibt es zwei sehr bekannte Problemstellungen. An dieser Stelle sollen einfach nur ein paar Links für Interessierte hinzugefügt werden:
Das Damenproblem
Beim wikipedia:Damenproblem versucht man 8 Damen so auf dem Schachbrett zu positionieren, dass sich keine der Damen gegenseitig schlagen können.
Arbeitsauftrag
Versuche auf einem 5x5 Feld 5 Damen aufzustellen.
Mögliche Lösungen
Ein rekursiver Algorithmus könnte wie folgt aussehen:
dame(t) Falls t < 8 ist DANN Wiederhole für alle Positionen (starte bei 0) aktuelle Reihe gleich nächste Position Falls die aktuelle Reihe noch frei ist DANN setze die Dame auf die freie Reihe Falls die Dame mit keiner anderen kollidiert DANN dame(t+1) Entferne die aktuelle Dame aus der Reihe SONST speicher die Lösung