Hallo Arne,
denke ich herauszulesen, dass Du, während Du den Korpus auswertest, bei
jedem xcvz, das im Korpus vorkommt, die Position der Taste prüfst.
Stimmt das?
Ich schauen einfach nur einmal pro Mutation, wo sie
liegen.
Ok, ich bin beruhigt.
Möglichkeiten. Entweder eine Strafpunktzahl vergeben, wenn eine oder
mehr rechts liegen, um vollkommen binär zu werden. Oder diese
Strafpunkte durch vier teilen und pro Taste vergeben.
Aktuell mache ich das letztere. Ich kann allerdings
problemlos auf das erstere wechseln. Es klingt mir akut sinnvoller.
Die
Schwierigkeit liegt aber darin, dass durch den Malus jeder einzelne
Mutationsschritt beeinflusst wird. Es kann sein, dass eine Veränderung nur
deswegen nicht sinnvoll ist, weil einer von xcvz dadurch auf eine
schlechte Position kommt, dann aber ein weiterer Schritt sie doch auf eine
schlechte Position bringt, so dass sie am Ende nicht links sind, aber eine
positive Veränderung fehlt.
Das kann ich mir gut vorstellen. Wenn die Strafpunktzahl hoch ist, ist
die Hürde für den Übergäng ‚alle links‘ nach ‚eins oder mehr rechts‘
vielleicht so hoch, dass erst Zwei- oder Dreifachersetzungen zum Ziel
führen. Allerdings ist dann die Trefferwahrscheinlichkeit auch
geringer, weil es schlicht zu viele mögliche Kombinationen gibt. Setzt
man dann aber die Strafpunktzahl zu weit herunter, so kann es sein,
dass fast nur noch ‚eins oder mehr rechts‘-Layouts rauskommen, weil der
Anreiz, alles nach links zu schieben zu gering ist, was ja auch eher
ein Zufallstreffer sein wird dann.
Die Evolution braucht also ziemlich viele Durchläufe. Performanz kann
also möglicherweise wichtiger werden. Es käme halt auf einen Versuch an.
Falls nicht, so könnte die Lösung aber eine Mischform sein, die
einerseits den Übergang erleichtert und andererseits weniger
Seiteneffekte hat.
Vielleicht ist es am einfachsten, einmal auf ‚alle links‘ zu optimieren,
danach auf ‚egal‘ und zu schauen, wie groß denn der Unterschied ist, um
sich auf eines festzulegen. Oder kannst Du den Unterschied schon
beziffern?
Gruß
Miche