Hi, Mit Rückmeldung im IRC habe ich jetzt einen Vorschlag für eine neue config ausgearbeitet.
Was sich ändert:
- Handdisbalance zusätzlich zu Fingerdisbalance bestrafen: Handdisbalance
ermöglicht es, dass auf verschiedenen Händen andere Finger stärker belastet
werden, aber trotzdem gefühlsmäßige Gleichbelastung existiert.
- Die gewünschte Fingerlast ist jetzt: Kleiner zu Zeige: 1, 1.6, 2.6, 2.6
- Doppelte Kosten für
* Fingerdisbalance,
* Tastenpositionen von xqßzöä,. in Neo 2,
* Kein Handwechsel bei Richtungswechsel und
* Fingerwiederholungen.
- Dreifache Kosten für Zeilenwechsel.
- Halbe Kosten für Handwechsel nach einer Taste, die die Hand aus der
Grundposition zieht.
- Bewegungsmuster vereinfacht , getestet und wieder integriert.
Mali geben die folgenden, nach absteigender ekelhaftigkeit sortiert :)
iu td < ui dt dr ua rd au < ai rt < nd eu
- Es gibt einen „neuen“ Parameter: Die Gesamtkosten pro Buchstabe („total
penalty per letter“: der erste angezeigte Wert). Sie sind nur schwach abhängig
von der Länge des Textes und damit leichter mit dem Ergebnis von zu tippenden
Sätzen vergleichbar, ansonsten aber äquivalent zu „total penalty compared to
notime-noeffort“.
→ https://bitbucket.org/ArneBab/evolve-keyboard-
layout/src/c9c82ff4f7fd/config.py
Bitte sagt, was ihr davon haltet!
Nachdem seit Donnerstag keine Antworten kamen, denke ich, dass die Diskussion
im IRC größtenteils erschöpfend war ⇒ wir können erstmal mit der hier
weitergehen.
Mit der config können wir gemeinsam neue Layouts erzeugen und dann wieder
Tipptests machen. Wir brauchen jedes einzelne Layout!
Um mit dieser config neue Layouts zu erzeugen:
Python 3.x und Mercurial installieren:
- http://python.org/download
- http://mercurial.selenic.com/downloads
In einer Konsole/Terminal/cmd/…:
$ hg clone http://bitbucket.org/ArneBab/evolve-keyboard-layout/
$ cd evolve-keyboard-layout
$ hg up config-2010-09-19
$ ./evolution.py
Die Layouts landen in output.txt
Die Datei könnt ihr einfach per Mail verschicken oder in
results/2010-09-19-<euer Name>.txt umbenennen, committen und pushen (sagt mir
einfach euren Bitbucket-Namen, dann kriegt ihr push-Rechte).
./evolution.py kann auch mehrfach gleichzeitig gestartet werden. Für maximale
Layouts/Stunde einmal pro Prozessorkern :)
Notizen:
* Die Version verwendet nun Bens Simulated Annealing (ein Kurztest² hat
gezeigt, dass die besten Ergebnisse deutlich besser sind, obwohl sich der
Durchschnittswert nicht signifikant ändert). Es fängt mit 6 Vertauschungen pro
Schritt an und geht über die ersten 500 iterationen auf 1 runter. Wenn 1000
Vertauschungen nichts bringen, macht er wieder 2 Vertauschungen pro Schritt.
* Dank martineo sind die in der Evaluation angesprochenen Punkte in der config
und die Ausgabe der Einzelschritte ist schöner (nach dem Schritt, nicht mehr
davor).
* Danke an alle, die im IRC mitdiskutiert haben! Bei der Diskussion und den
Tests zu movement patterns heute abend waren das: kaini, frakturfreak,
martineo und Mike1_. Das sind aber wirklich nur die, die gerade heute Abend
mitdiskutiert haben.
²: ./evolution.py -f beispieltext-reference-sentence.txt -o anneal.txt
mit anneal=5, bzw. -o no-anneal.txt mit anneal=0.
Und damit es nicht in vergessenheit gerät: Bitte sagt, was ihr davon haltet!
Und wenn ihr mitmacht, sagt es bitte auch :)
Wir brauchen so viel Rechenleistung wie möglich, und auch die Layouts, die
nicht in die Top 10 kommen sind für die spätere Auswertung der Parameter und
saubere Tipptests (nach Miche :) ) wichtig!
Liebe Grüße,
Arne
--
1w6 sie zu achten,
sie alle zu finden,
in Spiele zu leiten
und sacht zu verbinden.
→ http://1w6.org
signature.asc
Description: This is a digitally signed message part.
