AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Backtracing oder Der Springer auf dem Schachfeld
Thema durchsuchen
Ansicht
Themen-Optionen

Backtracing oder Der Springer auf dem Schachfeld

Ein Thema von Nikolas · begonnen am 5. Apr 2004 · letzter Beitrag vom 6. Apr 2004
Antwort Antwort
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#1

Backtracing oder Der Springer auf dem Schachfeld

  Alt 5. Apr 2004, 21:33
N'abend allerseits. Ich hab in meiner Mathe-AG die Aufgabe bekommen folgendes Rätsel zu lösen:
Finde einen Weg den ein Springer auf einem 8*8 Schachfeld gehen kann, um alle Felder einmal zu besuchen und wieder auf das Startfeld zu kommen. (Geschlossener Hamillton-Graph).
Das war kein so großes Problem, da hab ich eine Lösung.
Aber natürlich ist 8*8 ein Spezialfall und ich würde das gerne auf x*y Erweitern. Bis jetzt hab ich mir überlegt das mit Backtracing (ich hoffe das heisst wirklich so) zu lösen. Also wenn ich in einer Sackgasse stehe, gehe ich einegn Schritt rückwärts und versuchs nochmal. Nun hab ich aber das Problem, dass es auf machen Brettern (z.B.: 2*3) keine Lösung gibt.

Jetzt kommt endlich meine Frage:
Hat jemand eine Idee, wie eine Abfrage machen kann, die mir ausgeben kann, ob es auf diesem Brett einen geschlossenen Graph gibt ???

Oder hat jemand eine ganz andere Idee wie ich an das Problem herangehen soll? Ich habe ausser dem Backtracing noch keine andere Strategie auf Lager und will mich nicht darauf stürzen bevor ich nicht sicher bin, dass es nicht noch eine einfachere Nethode gibt.

Vielen Dank schon mal

THXbyTOX
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Backtracing oder Der Springer auf dem Schachfeld

  Alt 5. Apr 2004, 21:39
Hallo Toxman,

wenn du das Problem durch Rekursion löst, was im Prinzip deinem Backtracking entspricht, weil, wenn es keine Lösung mit dem aktuellen Zug auf Stufe n gibt, wird ein andere Zug auf Stufe n-1 versucht, dann gibt es genau dann keine Lösung, wenn der letzte Zug auf Stufe 1 keine Lösung erzeugt.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Backtracing oder Der Springer auf dem Schachfeld

  Alt 5. Apr 2004, 21:48
Da hst du recht, sowas hab ich mir schon halber gedacht. Kennt noch jemand eine andere Strategie? Ich hab mir das Ganze nämlich so vorgestellt, dass man die Größe eingeben kann und dann das Ergebniss (& Zeit, Aufwand) verschiedener Strategien vergleichen kann.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
6. Apr 2004, 00:06
Dieses Thema wurde von "Christian Seehase" von "Object-Pascal / Delphi-Language" nach "Programmieren allgemein" verschoben.
Allgemeine Algorithmen gehören auch nach Programmieren allgemein
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#5

Re: Backtracing oder Der Springer auf dem Schachfeld

  Alt 6. Apr 2004, 00:28
Über die Seite ist, die folgende Anw. herausgekommen.
Angehängte Dateien
Dateityp: zip springer.zip (390,9 KB, 17x aufgerufen)
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Backtracing oder Der Springer auf dem Schachfeld

  Alt 6. Apr 2004, 00:50
Alter Falter! Die gehen mal richtig zur Sache da auf der Seite. Hulla! Und Respekt!
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Backtracing oder Der Springer auf dem Schachfeld

  Alt 6. Apr 2004, 13:30
Wow, jetzt bin ich aber von den Socken. Und das als Vilkanier . Das ist ja gigantisch! Ich habe das Problem schon mit meinem ATARI 1040 ST in etwa 3 Tagen mit Backtracking in Jahre 1986 gelöst. Aber die Seite, auf die du da verweist zieht mir die Schuhe aus.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#8

Re: Backtracing oder Der Springer auf dem Schachfeld

  Alt 6. Apr 2004, 13:59
Ich war selbst erstaunt, wie schnell dieser Algo das eigentlich riesige Problem löst!
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Backtracing oder Der Springer auf dem Schachfeld

  Alt 6. Apr 2004, 14:53
Ich hab den Tip mit der Idee von Warnsdorf schon gehabt und das 8*8 kann ich damit in ein paar msec lösen. Ich wollte eigentlich nur das Backtracking mit Warnsdorf kombinieren und dann auf größere Bretter loslassen. Jetzt kann ich schon mal Backtracking allein, mit Warnsdorf, oder Warnsdorf allein versuchen und dann noch versuchen, das mit den Königswegen zu versuchen, obwohl man dabei keinen schön geschlossenen Weg hinbekommt.
Aber danke für diese tolle Seite, das hilft mir echt weiter.

Tox
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz