On 1/17/19 9:03 PM, Daniel Schröter wrote:
> Hallo liebe Neo-Community,
>
> ich bin letztes Jahr auf das Neo-Layout gestoßen und fand die Idee
> direkt faszinierend. Beim Durchlesen der Seiten habe ich einen genauen
> Vergleich der bisher bestehenden Tastaturlayouts und Neo2 vermisst. Also
> habe ich mich daran gemacht ein kleines Python-Programm zu schreiben,
> das einen beliebigen Text mit einem vorgegebenen Layout „abtippt“ und
> die Anschläge der einzelnen Finger sowie die insgesamt zurückgelegte
> Distanz ausgibt. Das Ergebnis kann sich sehen lassen; hier der Vergleich
> von Qwertz zu Neo2:
>
> *Text*
>
>
>
> *Anzahl*
>
> *Zeichen*
>
>
>
> *Strecke*
>
> *Qwertz [m]*
>
>
>
> *Strecke*
>
> *Neo2 [m]*
>
>
>
> *Einsparung [%]*
>
> Jung- Die Eroberung der Maschinen
>
>
>
> 368.704
>
>
>
> 5.593
>
>
>
> 4.564
>
>
>
> 18,40
>
> C++Code
>
>
>
> 91.605
>
>
>
> 2.232
>
>
>
> 1.522
>
>
>
> 31,79
>
> Bogdanow - Der rote Planet
>
>
>
> 292.615
>
>
>
> 4.495
>
>
>
> 3.712
>
>
>
> 17,43
>
>  
>
> In einem 2. Schritt habe ich dann das Programm um einen genetischen
> Optimierungsalgorithmus erweitert, um zu sehen wieviel
> Optimierungspotential noch vorhanden ist. Die Vorgabe zur Optimierung
> ist relativ simpel gehalten: Minimierung der zurückgelegten Distanz der
> Finger (Gewichtung 75 %) + eine Gleichverteilung der Anschläge auf beide
> Hände mit 25 % der Anschläge für die Zeigefinger, 10 % jeweils für
> Mittel- und Ringfinger und 5% für die kleinen Finger (Gewichtung 25 %).
> Zusätzlich sind einige Tasten fix und dürfen in ihrer Position nicht
> geändert werden (z. B. Shift, Enter, Leertaste, usw.). Um die
> Komplexität des Modells im Rahmen zu halten wird zudem immer nur eine
> Ebene optimiert. D.h. bisher habe ich mir nur die erste Ebene mit
> Kleinbuchstaben vorgenommen und vorab den Optimierungstext in
> Kleinbuchstaben umgewandelt. Sonderzeichen, die nicht auf der ersten
> Ebene enthalten sind, wurden nicht berücksichtigt. Hier das Ergebnis
> eines ersten Optimierungslaufs über 1000 Generationen:
>
> Die Tatsache, dass Buchstaben wie „y“ und „ö“ im zentralen Block für die
> Zeigefinger landen, zeigt, dass die Fitness-Funktion sowie die Parameter
> zur Fingerhäufigkeiten wohl noch besser gewählt werden könnten. Auch
> ergeben sich bei mehrmaligem Ablauf der Optimierung immer wieder neue
> Lösungen mit guten Ergebnissen. Interessant aber, dass die Distanz der
> Fingerbewegung im Vergleich zu Neo2 nochmal um etwa 15% reduziert wurde:
>
>  
>
> Eine sinnvolle Erweiterung der Fitness-Funktion wäre mit Sicherheit eine
> Berücksichtigung von Tippfolgen mit Wechsel zwischen linker und rechter
> Hand und evtl. eine Rückkehr zur Grundstellung bzw. die Vorgabe von mehr
> festgelegten Tasten. Derzeit gilt die Annahme, dass der Finger nach dem
> Tippen einer Taste genau an dieser Stelle verweilt, bis der nächste
> Tastendruck für denselben Finger erfolgt. Bei Interesse stelle ich gerne
> den Quellcode in Form eines Jupyter-Notebooks zur Verfügung.
>
> Viele Grüße
> Daniel
>
>  
>

Hallo Daniel,

falls du es noch nicht kennst, schau dir mal "bone" an
(http://wiki.neo-layout.org/wiki/Bone). Das wurde meines Wissens nach
mit einer genetischen Optimierung entworfen und wird schon von einigen
in der Praxis benutzt, unter anderem von mir. Ich kann nur sagen, dass
es sich wesentlich flüssiger schreibt als Neo2.

Grüße,

Tom

Antwort per Email an