seth_not@home: Algorithmus für ein Symbolpuzzle

Beitrag lesen

gudn tach!

mein sitznachbar hatte soeben spontan eine auf den ersten blick sehr gute idee:

Sym:={'a','b','c',...} = menge der symbole
  p:Sym->{0,...,n-1} = position der symbole (gesucht)

geg. sind die mengen M_i, durch welche die unbekannten abstaende c_i charakterisiert sind.

z.b. ergaeben sich aus M_1={[abc], [de]}, M_2={[fe]} die gleichungen

p(b)-p(a) = c_1
  p(c)-p(b) = c_1
  p(e)-p(d) = c_1
  p(f)-p(e) = c_2,

die man in ein LGS Ax=b ueberfuehren koennte.
  x = vektor mit den positionen
  b = vektor mit den konstanten c_i
  A = matrix mit 0, 1, -1 an den entsprechenden stellen

z.b. A=
  -1  1  0  0  0  0
   0 -1  1  0  0  0
   0  0  0 -1  1  0
   0  0  0  0 -1  1

x = (p(a) p(b) p(c) p(d) p(e))^T
  b = (c_1 c_1 c_1 c_2)^T

da die konstanten aber auch noch unbekannt sind, kann man diese auf die andere seite schieben, d.h.

x = vektor mit den positionen und den konstanten c_i
  b = 0
  A = matrix mit 0, 1, -1 an den entsprechenden stellen

als im beispiel

p(b)-p(a)-c_1=0
  p(c)-p(b)-c_1=0
  p(e)-p(d)-c_1=0
  p(f)-p(e)-c_2=0,

somit waere dann b=0, x=(p(a) p(b) p(c) p(d) p(e) c_1 c_2)^T und A noch um 2 spalten erweitert.

das LGS muesste dann modulo n geloest werden.

prost
seth