Dieser Artikel ist derzeit in Bearbeitung von thi

Lernpfad:Rekursion in Java/Rekursion bei Schachproblemen: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Status/In Bearbeitung von|thi}}{{Warnmeldung/Schritt im Aufbau}}
{{Navigation}}
Im Kontext des Schachspiels gibt es zwei sehr bekannte Problemstellungen.  
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:
An dieser Stelle sollen einfach nur ein paar Links für Interessierte aufgefügt werden:
# Dameproblem
 
Man versucht 8 Damen auf dem Schachbrett zu positionieren. Dabei müssen die Damen so aufgestellt werden,
== Das Damenproblem ==
dass sich keine Damen gegenseitig schlagen.
Beim [[wikipedia:Damenproblem|Damenproblem]] versucht man 8 Damen so auf dem Schachbrett zu positionieren, dass sich keine der Damen gegenseitig schlagen können.
{{Aufgabe:Start}}
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>
{{Lösung:End}}


Ein rekursiver Algorithmus könnte wie folgt aussehen:  
Ein rekursiver Algorithmus könnte wie folgt aussehen:  
<code>
<pre>
dame(t, zeilen, n)  
dame(t)  
  Falls t < n ist
Falls t < 8 ist DANN
  DANN
Wiederhole für alle Positionen (starte bei 0)
    pos = erste Leere Zeile
aktuelle Reihe gleich nächste Position
    wiederhole solange pos < n ist
Falls die aktuelle Reihe noch frei ist DANN
      setze die Dame auf die Position
setze die Dame auf die freie Reihe
      prüfe ob die Dame mit einer anderen kollidiert
Falls die Dame mit keiner anderen kollidiert DANN
      Falls ja
dame(t+1)
        nächste freie Zeile verwenden
  Entferne die aktuelle Dame aus der Reihe
      Falls nein
SONST
        loesung = dame(t+1)
speicher die Lösung  
    Falls !loesung
</pre>
    DANN
 
      gib false zurueck
== Springerproblem ==
  SONST
# https://de.wikipedia.org/wiki/Springerproblem
    speicher die Lösung / gib die Lösung aus
# http://www.axel-conrad.de/springer/springer.html
    gib true zurueck
# https://docplayer.org/41857208-Backtracking-mit-heuristiken.html
</code>
# 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

Aktuelle Version vom 12. Februar 2022, 11:04 Uhr

Icon Warning.png Dieser Schritt ist nocht nicht vollständig und befindet sich derzeit noch im Aufbau.

Im Kontext des Schachspiels gibt es zwei sehr bekannte Problemstellungen. An dieser Stelle sollen einfach nur ein paar Links für Interessierte aufgefügt werden:

Das Damenproblem

Beim Damenproblem versucht man 8 Damen so auf dem Schachbrett zu positionieren, dass sich keine der Damen gegenseitig schlagen können.

Icon Heft.png
Arbeitsauftrag

Versuche auf einem 5x5 Feld 5 Damen aufzustellen.

Mögliche Lösungen
Klicken, um das Programm zu starten.


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 

Springerproblem

  1. https://de.wikipedia.org/wiki/Springerproblem
  2. http://www.axel-conrad.de/springer/springer.html
  3. https://docplayer.org/41857208-Backtracking-mit-heuristiken.html
  1. https://www.mathe-online.at/materialien/matroid/files/schach/schachbrett.html
  1. Labyrinth http://www.erasmus-reinhold-gymnasium.de/info/rekursion-iteration/Backtracking_final.pdf