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

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
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:
# Dameproblem  
# Dameproblem  
##
Man versucht 8 Damen auf dem Schachbrett zu positionieren. Dabei müssen die Damen so aufgestellt werden,
dass sich keine Damen gegenseitig schlagen.
 
Ein rekursiver Algorithmus könnte wie folgt aussehen:
<code>
dame(t, zeilen, n)
  Falls t < n ist
  DANN
    pos = erste Leere Zeile
    wiederhole solange pos < n ist
      setze die Dame auf die Position
      prüfe ob die Dame mit einer anderen kollidiert
      Falls ja
        nächste freie Zeile verwenden
      Falls nein
        loesung = dame(t+1)
    Falls !loesung
    DANN
      gib false zurueck
  SONST
    speicher die Lösung / gib die Lösung aus
    gib true zurueck
</code>
# Springerproblem  
# Springerproblem  
## https://de.wikipedia.org/wiki/Springerproblem
## https://de.wikipedia.org/wiki/Springerproblem

Version vom 8. Januar 2019, 11:22 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:

  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.

Ein rekursiver Algorithmus könnte wie folgt aussehen: dame(t, zeilen, n)

 Falls t < n ist
 DANN
   pos = erste Leere Zeile
   wiederhole solange pos < n ist
     setze die Dame auf die Position
     prüfe ob die Dame mit einer anderen kollidiert
     Falls ja
       nächste freie Zeile verwenden
     Falls nein
       loesung = dame(t+1)
   Falls !loesung 
   DANN 
     gib false zurueck
 SONST
   speicher die Lösung / gib die Lösung aus 
   gib true zurueck

  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