?
krümelkacker schrieb:
Vielleicht kannst du erstmal nur die Zahl der gesetzten Bits zählen. Damit müsste sich wenigstens ein Interval für den gesuchten Index berechnen lassen. Die Intervallgröße ist ja auch bekannt: C(n,k), also "n über k" mit n=Gesamtzahl der Bits und k=Zahl der gesetzten Bits.
Das müsste alles ohne brute force gehen, sagt mir mein Gefühl.
Danke, dass die Intervallgröße C(n,k) entspricht ist mir nicht aufgefallen;
Ok daqs bedeutet ich muss festellen für welches x : I € [ f(x) , f(x+1) ] , gilt wobei f(x) := Sum from k= 1 to x C(n,k) ;
ok, aber dann wird es schwierig, das Intervall weiter einzugrenzen...
Aber selbst dann, wenn ich die genauen Intervallverschachtlung zum jeweiligen I kenne, sehe ich noch keine Möglichkeit das Bitmuster, zu ermitteln; welche Information habe ich den, dann genau?
Nach längerem überlegen habe ich festgestellt, dass ich alternativ die inverse meiner gesuchten funktion auch ausreichen würde, das sieht für mich einfacher aus, da dies villeicht über bit-zählen zu berechnen wäre( also den Index aus dem Bitmuster), werde mich heute abend intensiver damit befassen.
Aber je mehr ich nachdenke, desto mehr überlege ich ob Bruteforcen für mein spezielles Problem wirklich so schlecht ist, da ich sowieso 3/4 der berechneten Zuordnungen sowieso wahrscheinlich brauchen werde. Ich könnte also alles in ein Array verfrachten.
Was denk ihr ?