Lernpfad:Rekursion in Java/Rekursion bei Schachproblemen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen

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:

  1. Dameproblem

Man versucht 8 Damen auf dem Schachbrett zu positionieren. Dabei müssen die Damen so aufgestellt werden, dass sich keine Damen gegenseitig schlagen.

Icon Heft.png
Arbeitsauftrag

Versuche auf einem 5x5 Feld 5 Damen aufzustellen.

Lösung:

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

  1. 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