Berechnung dauert viel zu lange: Wie verkürzen ?

Ich weiß nicht, ob es wirklich hier hin passt oder ob dies ein bischen Offtopic ist:
Es ist ein sozusagen "Rätsel", wo z.B. 2 Wörter zusammengefügt werden und deren Buchstaben durcheinander geworfen werden. Aus "sonne schokolade" wird "sonneschokolade" und dann "soheolnoasndekc", die auf dem Bildschirm angezeigt wird.
Z.B. Wenn ich "soheolnoasndekc" eingebe, soll "Sonne Schokolade" und "Schokolade Sonne" rauskommen.

Frage: Wie kriege ich am Schnellsten die Lösung raus, ohne jetz z.B. 500 000 x 500 000 Kombinationen auf dem Wörterbuch durchzutesten ?
Ich bin schon auf die Idee gekommen, zu zählen wieviele A's, wieviele B's usw. vorkommen und dann sie in einer Tabelle zu schreiben. Die Anzahl der bestimmten Buchstaben z.B. C sind ja beim Originellen und beim Gemischten gleich.


Datensatz ......|ABCDEFGH IJKLMNOP QRSTUVWX YZ
________________|_____________________________
Sonne...........|00001000 00000210 00100000 00
Schokolade......|10111001 00110020 00100000 00
----------------+-----------------------------
Sonne Schokolade|10112001 00110230 00200000 00

Bei einem Wort geht das perfekt, aber bei zwei da gäbe es wieder ein Problem zu einer Summe das Additionspaar rauszufinden (siehe Beispieldatensätze)

Auf http://www.0815-seite.de.vu/bigtable.htm wird dieses Problem bis ins Detail geschildert.

Und wenn jemand eine ganze andere Lösung hat, dann melde es bitte.

Ich bin über jeden heißen Tipp dankbar
 
<optimismus>
Du koenntest zusaetzlich, wenn Du einen "Buchstabensalat" hast zunaechst versuchen alle Buchstaben so zu sortieren, dasz du alle BUchstaben in Silben unterbringst und vergleiche mit einer liste durchfuehrst...
</optimismus>

jetzt mal zum "Ausschlussprinzip" :) :

Problematisch bleibt weiterhin dasz aus Woertern, zusammenhaengend oder nicht ja auch komplett andere Worter enstehen koennen

"Als Schwein" --> "Winsel Asche" zb :)

Aus einem Buchstabensalat die anzahl der verschiedenen Buchstaben zu ermitteln halte ich fuer sehr bedingt sinnvoll...gehe davon aus du hast Buchstabenreihen mit 20 Zeichen und ermittelst dort die anzahl einzelner.
Mit grosser Wahrscheinlichkeit duerften sich mehr und/oder ganz andere Woerter bilden lassen als die Urspruenglichen.

Auch eine Liste mit "allen" Wortern koennte mehrere Ergebnisse liefern.

Wuerdest Du die "Wuerfel" mit hinterlegen so koennte man natuerlich den Ursprung wieder herstellen...(wobei sich mir hier die Frage stellt, wem Du das Raetsel stellen willst...vielleicht dem Computer ? )


erklaer mal bitte genauer um was es dort gehen soll..

:wq!
 
Woher weiß ich, wann die Silbe anfängt und wo die aufhört ? Ich weiß ja auch nicht, mit welcher Silbe das erste bzw. zweite Wort anfängt. Kannst du den Vorgang mal genauer beschreiben ?

P.S.: Der COMPUTER sucht sich 2 Wörter aus, die er durcheinanderwürfelt und das einzige was ich dann sehe, ist das Buchstabensalat. Ich habe dann ca. 10 Sekunden Zeit (nachdem er es ausgegeben hat), es zu entziffern/erraten - aber ich darf auch so oft probieren, wie ich will bzw. wie es der Socket/Internetserver verarbeiten kann. Es gibt keine Punkte oder irgendwas abgezogen, wenn es falsch ist - die Sekundenzahl ist festgelegt.

EDIT: Der Server nimmt sich zufälligerweise ein Buchstabe raus so das Displaylen = Originallen - 1. Dann müsste ich die Routine 26x durchlaufen :(
 
Da der Rechner das "Raetsel" stellt, ist mir unklar weshalb Du solche Ueberlegungen anstellst....

Du legst einfach eine Wortliste an...und zerwuerfelst dann die woerter...
Die "originale" merkst Du Dir ....

oder versteh ich das Problem jetzt nicht ? :)

mfg

:wq!
 
Der Server sucht sich 2 Wörter ganz zufällig aus der Wörterliste aus und macht daraus ein Buchstabensalat, wo er die Buchstaben ZUFÄLLIG vermischt --- das Problem: ich komme gar nicht an das zu erratene Originalwort dran, weil der Server nicht meiner ist ... ich habe wirklich NUR das Verwürfelte - wirklich nur das (Buchstabensalat) und KEINE weitere Informationen ... erst wenn ich es NICHT geschafft habe, es in der recht kurzen Zeit aufzulösen, bekomme ich dann die Lösung.

Ich habe keine Idee, wie ich es lösen soll außer meiner Buchstabenzählmethode - der einzige Plan ist es halt, die A's, B's zu zählen usw., dann in einer Tabelle zu schreiben, indizieren, in Klassen aufteilen, zu kombieren und so weiter ... nach dem Motto "Speicherkapazität gegen Rechenzeit eintauschen".

Ich weiß auch nicht, was ich mir merken soll, da er eh immer neue Kombinationen verwendet. Die Wörterliste habe ich auch aber wie gesagt 500 000 x 500 000 Versuche sind mir zu viel ...
 
Zurück
Oben