> Ich habe in Python deinen damals beschriebenen Algorithmus geschrieben.

Prima.  Mit Python haben sicher mehr Leute die Möglichkeit, mit dem
Algorithmus und mit Bewertungschemas zu spielen.

> 1. Mache eine zufällige Tastatur
> 2. Tausche zwei Zeichen. Gibt das bessere Punkte, dann mache mit „2“ weiter. 
> Gibt es nicht bessere Punkte, dann tausche zwei anderen ( bis 32 * 32 = 1024 
> minus 32 die gleich sind -> 992 Möglichkeiten erschöpft sind).
> 3. Ist keine Besserung mehr möglich, dann höre auf.
> 
> Das ist doch so richtig oder nicht?

Bei Punkt 2 bin ich nicht sicher.  In meiner ersten Variante probiere
ich erst alle 992 möglichen Vertauschungen.  Erst dann nehme ich die
Beste davon.  In meiner zweiten Variante fange ich bei einer zufälligen
Vertauschung an und suche von da ab die erste, die eine Verbesserung
bringt.  Wichtig ist «zufällig»; fängt man immer an derselben Stelle an
kommt das vermutlich nicht gut (hab's aber nicht probiert).

> Nur 1 von 25 Tastaturen gefällt mir. Sie sind nicht so schöne wie deine.

Ich schaue nur Resultate an, die eine gute Wertung haben, ansonsten
probiere ich gleich nochmal.  Vielleicht ist das ja der einzige
Unterschied; es passt auch zu den Laufzeiten, die du nennst.

> Wie bewertest du ganz genau?

Ich habe ein paarmal dran gedreht, für «Ohne Shift» war es so:

- Einzeltasten wie in deinem Auswerteprogramm mit Ausnahme von QWERTZ-n;
  hier 5 statt 7 Punkte.

- Mehrfachanschlag: Differenz aus Einzeltastenwert und dem
  Einzeltastenwert der Grundposition des betreffenden Fingers (also
  etwas negatives für Tasten außerhalb der Grundposition).

- Andere Fingerwiederholung (also Kollisionen): 9 plus zweimal
  Absolutwert der Differenz der Spaltennummern der beiden Tasten.

- Andere Handwiederholung: Für Einwärtsrolle 1 plus das Verhältnis aus
  dem Absolutwert der Zeilennummerdifferenz und dem Absolutwert der
  Spaltennummerdifferenz; für Auswärtsrolle noch einen Punkt mehr.

Für «Mit Shift» kommen noch Strafpunkte dazu, das Schema für diese ist
ähnlich.

> Es bedarf demnach oft mehr als eine Mutation bevor eine Besserung 
> eintritt. Das geht bei deinem Algorithmus nicht. Da muss jede Mutation eine 
> Besserung bringen. Auch mal was zum überlegen???

Ja, und deswegen hat es mich überrascht, dass der Algorithmus überhaupt
etwas Brauchbares liefert.  Ich hatte erwartet, dass man praktisch immer
bei irgendetwas mittelmäßigem stecken bleibt.

In Variation meines Verfahrens könne man auch Verschlechterungen
akzeptieren, aber mit geringerer Wahrscheinlichkeit als Verbesserungen.
Ich habe schon ein wenig in der Richtung probiert, aber ohne Erfolg.
Vielleicht braucht man tatsächlich noch «Replikation» und «Vererbung»,
um erreichte Qualitäten nicht an den Zufall zu verlieren.

> Wenn ich mit deinem Algorithmus 50 Tastaturen mache und lasse sie durch 
> meinen 
> laufen kommen scheinbar sehr gute heraus. Bei Interesse werde ich davon 
> welche hier posten.

Ja, ich habe Interesse.  Ich möchte eine deiner sehr guten Tastaturen
mit meinen Kriterien beurteilen und sehen, ob sie danach tatsächlich
besser ist als Beste mit meinem Algorithmus gefundene.  Wenn ja ist die
Kombination der Algorithmen tatsächlich ein weiterer Fortschritt.  Wenn
nein kommen die Unterschiede wohl von unterschiedlichen Kriterien oder
vom unterschiedlichen Korpus.

Andreas

Antwort per Email an