GC-Codes Challenges Cracker
(mit freundlicher Genehmigung vom Owner)
Es begab sich zu einer Zeit, an der ich wiederholt an einer ganz bestimmten Aufgabenstellung grübelte, an der sich bis heute sicherlich nicht nur ich, sondern viele andere Freunde der GC-Szene rund um den vorpommer‘schen Norden die Zähne wenn nicht ausbissen, dann zu mindest anknabberten.
Es geht hierbei um die Smartdiver Challenges GC-Codes Puzzeln und GC-Codes würfeln. Nicht dass ich es nicht versucht hätte, aber da war immer dieses frustrierende Gefühl, einer unmenschlichen Aufgabe gegenüberzustehen, etwas zu übersehen und VOR ALLEM: Jedes Mal neu anzufangen, wenn eine Handvoll Caches dazugekommen waren. Denn vielleicht ergaben gerade diese neuen Codes in Kombination mit den alten eine Lösung?!
Irgendwann setzte ich mir dann einfach in den Kopf, meine alten Programmierkenntnisse nutzbringend einzusetzen und eine automatisierte Suche nach Kombinationen zu erschaffen. Das menschliche Hirn ist zwar intelligent, neigt aber gerne dazu, Dinge zu übersehen und das dann an den entscheidenden Stellen. Bei meinen knapp 700 Founds stellte ich mir also zunächst die Frage, wie viele Kombinationen theoretisch nach Brute-Force Methode zu überprüfen wären. Das ergab bei mir bereits eine schier unglaubliche Vielzahl von knapp 145 Billionen Kombinationen. Ok, damit ist selbst ein flotter PC ein laaange Zeit beschäftigt, wenn es schlecht läuft. So verbrachte ich dann mehrere Wochen mit Findung eines Algorithmus, der „intelligenter“ arbeitet und diverse Vorbedingungen und Zustände der individuellen Codes bewertet, um hier einfach schneller voranzukommen. Um nur ein paar Beispiele zu nennen, für Puzzle zum Beispiel werden IMMER 4x4-stellige und 3x5-stellige Codes benötigt und z.B. mind. 2x welche vom selben Tag. Kurzum, das Programm rechnet mir jetzt statt in Wochen in 7 Sekunden aus, dass es für mich keine Kombination gibt ;-) Da kann ich dann lieber noch einen Kaffee trinken und ein Stück Kuchen essen, als mir mit Bleistift und Zettel einen Wolf zu schreiben. Der Algorithmus macht keine Fehler und findet alle möglichen, gültigen Kombinationen (Beta-getestet, danke geoGreifer). Auch für die andere Challenge GC-Codes würfeln ist eine Option im Programm vorhanden.
Ich möchte euch das Programm nicht vorenthalten, denn es wäre mir zu schade um die hineingesteckte Arbeit.
Alles was ihr benötigt ist je eine Text-Datei mit euren Funden und wenn vorhanden, eine txt-Datei eurer eigenen Caches. Das realisiert ihr am besten in GSAK. Dort stellt ihr eure Spaltenansicht so um, dass nur noch die GC-Code und die Found-Datum Spalten sichtbar sind. Links Code, rechts Datum. Das Ganze exportiert ihr dann als TXT oder CSV. In der Datei muss es dann so aussehen:
"GC1PEFZ","02/12/2011"
"GC26DG0","02/06/2011"
"GC1R0CQ","01/30/2011"
usw.
Dies könnt ihr dann im Tool einlesen und loslegen. Rechnet bei 2000 oder mehr Caches mit ein paar Stunden Rechenzeit, das ist mathematisch begründet und steigt tatsächlich exponentiell mit der Anzahl der Funde an (genauso aber wie die Vielzahl der am Ende gültigen Kombinationen J)
Die Datei gibt’s hier: PuzzleCracker.zip . Damit es läuft, solltet ihr das kostenlose Microsoft .NET Framework Client installiert haben.
Ich würde mich auch über Feedback freuen, wie gut und schnell es bei euch klappt!
Dank an Smartdiver für diese Herausforderungen (die durch das Tool nicht weniger schwer zu erfüllen sind) und für die Erlaubnis.
Beste Grüße
Mr.Proper80
Kommentare
In aller Regel liegt dieser Fehler (den ich im Tool leider nicht abgefangen habe) daran, dass (wenn eure CodeDatei richtig aufgebaut ist) KEINE EINZIGE ERSTBEDINGUNG erfüllt werden konnte, nämlich dass mindestens zwei Codes unterschiedlich e Zeichen aufweisen, die AM SELBEN TAG gefunden wurden. Taucht also dieser Fehler auf, ist sowieso jegliche weitere Codedurchforstu ng hinfällig, da es NIE zu einer LÖSUNG kommen wird. Möglicherweise habt ihr einfach noch nicht genug bzw. die richtigen Codes als Found. Viele alte 4er Codes erleichtern diese Challenge um ein Vielfaches.
Viel Glück weiterhin.
ersteinmal vielen vielen Dank für dieses Tool.
Ich wollte es heute ausprobieren
Ich bekomme leider immer nur den Fehler:
"Der Index war außerhalb des Arreybereiches."
Meine *.txt sieht so aus:
"GC210CN","01/10/2008"
"GC10V3F","12/12/2008"
"GC10W9P","12/12/2008"
Natürlich folgen hier noch weitere aber was mache ich verkehrt? :(
Unten oder oben ist kein Absatz und es hört genau in der Art auf wie es oben angefangen hat :(
Hat jemand einen Tipp für mich?
Viele Grüße
vielen Dank erst einmal, dass Du dieses super Tool entwickelt hast, denn ich bin hier in Dresden auf eine Adaption der Caches gestossen. Das Ergebnis von 1776 Caches stand nach 0.251s fest, also richtig schnell. Und dazu waren auch noch 2 Ergebnisse gefunden. Einen Fehler gab es aber in der Darstellung, da bei beiden Ergebnissen vom eresten GC-Code die letzte Stelle abgeschnitten war und an den Anfang des zweiten GC-Codes gesetzt wurde.
Falsch war:
3DRV - 7MG85 - JAET - WZ6P - NKCH - 4BQ91 - 2YFX0
10YK - D8C23 - JAET - M7QV - PFZX - 56BH9 - 4RGNW
Richtig wäre:
3DRV7 - MG85 - JAET - WZ6P - NKCH - 4BQ91 - 2YFX0
10YKD - 8C23 - JAET - M7QV - PFZX - 56BH9 - 4RGNW
Ich hoffe, dass Dir das zum Debuggen reicht, sonst sende ich Dir auch gerne das zugehörige TXT File
Viele Grüße,
Kris aka kiwiDD
Dumm nur das ich nicht dazu gehöre
Sortiert und das Teil lüppt wie geschmiert
4008 Funde waren in 1118,628 Sekunden durch
Danke für das super Tool!!!
Wenn das Prog sagt "fertig!" dann hat es auch fertig :) Allerdings, bei 4000 Funden sollte es dir wirklich mindestens mal was aufgelistet haben, und wenn es nur 6-code Ketten sind, weil ein 7. Code einfach nicht auffindbar ist, der dann noch passt. Ich nehme an, dass deine Liste eventuell noch nicht richtig nach funddatum sortiert ist ?! (sh. Anleitung). Ansonsten gratulation zu deinem schnellen Rechner, der sowas in 0,023s schafft :)
@Ollilein: 2,5 Tage ist hart, aber die Anzahl möglicher Kombinationen steigt exponentiell mit den Funden an, und damit auch die Rechenzeit. Bei 1000 Funden kann man bereits nach 1 s mit durch sein. Je nach Glück und Art der GC Codes.
dein Tool schein richtig gei... gut zu sein, leider bin ich wohl zu blöde es zu bedienen.
Es kommt die Meldung: "Fertig! Zeitdauer:0,023s"
und dann passiert nichts mehr.
Ist das Tool jetzt fertig oder läuft da noch was?
Die Liste der Funde enthält knappe 4.000 Funde.
Gruß
Fanny69
hat mir viel Arbeit erspart! Man darf nur nicht ungeduldig werden, wenn es so scheint als tut das Programm (keine Rückmeldung) nichts. Der Tasksmanager sagt da schon genaueres.
Bei über 10000 Funds hat es bei Variante1 221932,75 Sekunden gedauert. Das sind rund 2,5 Tage. Dafür hatte ich dann auch 397 positive Kombinationen.
Vielen Dank, sagt ollilein
Ohne Tool hätte ich das nicht zusammenpuzzeln wollen. Aber für die Challenge reicht es leider noch nicht. Aber das kann ja noch werden...
Gruß Netti