Blaubart: Algorithmus für ein Symbolpuzzle

Beitrag lesen

Tach.

Ich suche einen Algorithmus für eine Art Symbolpuzzle. Falls die folgende Beschreibung "zu mathematisch" ist, versuch ich es auch gerne nochmal anders ...

Aus einem Vorrat von N verschiedenen Symbolen

z. B. {a, b, c, d, e, f, g, h} für N = 8

läß sich eine Abfolge bilden, in der jedes Symbol jeweils genau einem Index von 0 bis N-1 zugeordnet ist:

Index:  0  1  2  3  4  5  6  7
    Symbol: b  d  a  f  g  c  e  h

Sei in einer solchen Abfolge nun S(X,Y) der Abstand zwischen zwei Symbolen X und Y, der die Anzahl der Schritte angibt, die man von X aus vorwärts gehen muß, um zu Y zu gelangen. Für die obige Beispielabfolge:

S(b,a) = 2
    S(f,h) = 4
    S(e,d) = 3
    ...

Gezählt wird der Abstand S(X,Y) dabei modulo N, wodurch immer

0 <= S(X,Y) < N

gilt. Mehrere dieser Abstandsangaben lassen sich nun als Sequenzen der Form

[bage], [ah], [bfe], ...

schreiben, wobei z. B. [bage] ausgeschrieben

S(b,a) = S(a,g) = S(g,e)

bedeutet. Mehrere dieser Sequenzen (auch unterschiedlicher Länge) sollen in einer Menge zusammengefaßt werden. Der Symbolabstand aller Sequenzen einer Menge soll dabei jeweils gleich sein, also beispielsweise

Menge M_1 = {[bage], [df], [hd]}

-> S(b,a) = S(a,g) = S(g,e) = S(d,f) = S(h,d) = 2

für die obige Beispielabfolge. In den anderen Mengen kann der Abstand natürlich einen anderen Wert als 2 annehmen.

Nach dem formellen Vorgeplänkel hier meine Problemstellung:

Gegeben ist ein bekannter Symbolvorrat mit N Symbolen, außerdem eine Handvoll Sequenzmengen M_1, M_2, ...

Gesucht ist nun eine Abfolge der Symbole (Zuordnung zu den Indizes 0 bis N-1), die die Bedingungen aller gegebenen Sequenzen erfüllt. Die Symbolabstände in den Sequenzen einer Menge sind zwar jeweils gleich, aber nicht bekannt -- sonst wäre das Finden der Abfolge ja nicht so schwer.

Einige Spezialfälle helfen beim "Lösen durch Ausprobieren". Aus der zyklischen Symbolfolge [bgb] folgt beispielsweise für gerades N, daß S(b,g) = S(g,b) = N/2 ist, und somit auch die Abstände der anderen Symbole in den Sequenzen der gleichen Menge N/2 betragen.

Einen rechnertauglichen Algorithmus zur Lösung dieses Problems konnte ich bisher nicht entwickeln. Hat jemand von euch eine Idee oder kennt ein ähnliches Problem aus der Mathematik/Informatik, das als Ansatz dienen könnte?

--
Once is a mistake, twice is jazz.