Nehmen wir nun mal an, der Aussgangsstring ist IIDI. Wie würdet ihr nun vorgehen, wenn folgende Regeln für die Mutation dabei gelten sollten:
- der String darf nur zu einer sehr kleinen Wahrscheinlichkeit (b.b. 1%) mutieren.
- der String darf nur zu einer sehr kleinen Wahrscheinlichkeit seine Länge ändern, und zwar nur um eine Stelle (3 oder 5)
- der String darf nicht einfach zufällig neu gebaut werden, sondern sollte anhand nachvollziebarer Regeln modifiziert werden. Im Detail meine ich damit, wenn Impuls X auf das Wort Y wirkt, tritt IMMER das gleiche Ergebnis ein. Wie genau das passieren bzw. aussehen könnte, das ist nun meine Frage.
Z.B. genau so wie Du es beschreibst, Schritt für Schritt.
1. Prüfen/festlegen ob Mutation auftritt, wenn ja, dann zu 2, sonst abbrechen.
2. Prüfen/festlegen ob Längenänderung auftritt, wenn ja, dann zu 3, sonst zu 5.
3. Prüfen/festlegen welche Längenänderung auftritt, dann zu 4.
4. Prüfen/festlegen wo Längenänderung auftritt, dann zu 5.
5. ... Was immer Du Dir vorstellst.
6. Die Mutation könnte beispeilsweise auf der Bit-Ebene mit XOR realisiert werden. Eventuell muß man dazu jedem gültigen Zeichen einen Bit-Wert zuordenen und einen künstlichen Überlauf erzeugen, falls man mit der Mutation außerhalb des Wertebereichs landet.