Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Rekursion-Problem (https://www.delphipraxis.net/48588-rekursion-problem.html)

LiS 27. Jun 2005 19:28


Rekursion-Problem
 
Hallo!

Da ich momentan nicht mehr von dem berühmten Zauberwürfel "Rubiks Cube" loskomme, habe ich mir vorgenommen, ein Programm zu schreiben, welches die Drehkombinationen für mich herausfindet. Um also eine optimale Kombination durch Probieren herauszufinden habe ich eine Rekursion programmiert die den Würfel auf alle möglichen Arten verdreht. Wie bringe ich das Programm jetzt dazu, nicht sofort in die Tiefste Ebene der Rekursion zu gehen, sondern erstmal in alle Stellungen, die durch einmal Drehen erreichbar sind, dann alle, die durch zweimal Drehen erreichbar sind... Wenn ich die Simulation einfach mehrmals mit verschiedenen Maximaltiefen laufen lasse, wäre ja jedesmal der Größte Teil mehrmals durchgelaufen.
Ich hoffe, mein Problem ist ausreichend geschildert. :?

MfG Leif

nailor 27. Jun 2005 19:34

Re: Rekursion-Problem
 
du kannst nen heap machen, auf den du die jeweils neue situation pushst, und bei abarbeiten jeweils den ersten eintrag abarbeiten. (das hab ich mir grade mal so überlegt und das ist von speicherverbrauch und andauernden allozierungen her wohl nicht ideal... aber es funktioniert)

Interceptor 27. Jun 2005 19:35

Re: Rekursion-Problem
 
Vielleicht hilft dir der Link hier weiter:

http://www.dsdt.info/tutorials/rekursion/?page=1

LiS 27. Jun 2005 19:55

Re: Rekursion-Problem
 
Das Tutorial hab ich mir angesehen, es hilft mir leider nicht weiter.
@nailor: Die Möglichkeit verstehe ich nicht; was ist ein heap? und was bedeuted pushen in diesem Zusammenhang?

Jelly 27. Jun 2005 20:21

Re: Rekursion-Problem
 
@LIS: Also wenn ich dein Vorhaben richtig verstanden habe, willst du durch reines Rumprobieren eine Lösung für deinen Zauberwürfel finden. Dazu wirst du aber einen effektiveren Algo brauchen. Es gibt zisch Milliarden verschiedene Kombinationen. Die alle Durchzuprobieren dauert Jahre.

jfheins 27. Jun 2005 20:36

Re: Rekursion-Problem
 
Hallo Leif, schau mal hier, da ist eine wesentlich bessere Strategie, als deine Brute-Force-Tatik :zwinker:

http://de.wikipedia.org/wiki/Rubiks_...e.22_Strategie

Wenn du das nicht schaffst, könnten wir ja mal nächste Woche gemwinsam versuchen, den Algo nach Delphi zu übertragen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz