Re: [Neo] Eure Wünsche für den Optimierer

2011-01-08 Diskussionsfäden Wolf Belschner
Am 08.01.2011 02:02, schrieb Arne Babenhauserheide:

 On Friday 07 January 2011 16:28:25 Dennis Heidsiek wrote:
 Mich würde interessieren, was der Optimierer für Resultate produziert,
 wenn man die Position der Mod-2-Tasten variabel macht. 
 
 Das sollte recht einfach gehen: Einfach in der config.py
 abc = abcdefghijklmnopqrstuvwxyzäöüß,.⇧⇗
 
 Ich lasse das gerade durchlaufen :)
 
 Interessanterweise wandern die shifts recht schnell nach innen ⇒ du bist 
 vermutlich auf was gestoßen. 
 



Das klingt ja mal wie eine wirklich spannende Idee. Man sollte mal
weiterverfolgen was damit noch alles möglich ist.

Grüße,

Wolf



Re: [Neo] Eure Wünsche für den Optimierer

2011-01-07 Diskussionsfäden Dennis Heidsiek

Moin Arne,


man sollte bekanntlich damit aufpassen, was man sich wünscht … man 
könnte es bekommen ;).


Mich würde interessieren, was der Optimierer für Resultate produziert, 
wenn man die Position der Mod-2-Tasten variabel macht. Bei der 
Entwicklung eines optimalen neuen Layouts sollte man schließlich Alles 
wenigstens einmal in Frage gestellt haben … und wenn ich mir die 
(wirklich tollen!) Bigramm-Diagramme so ansehe, produzieren die dicken 
blauen Striche, die bei Neo 2 von den Großschreibtasten ausgehen, 
einfach die größte Abweichung von der Grundlinienposition. Deshalb fände 
es schon interessant, wie ein Layout abschneiden würde, wo die 
Mod-2-Tasten auf (Neo-Terminologie) ü und j liegen würden – oder gar auf 
u und d. Ach verdammt noch mal, warum kann eine Standardtastatur keine 
zweigeteilte Leertaste haben!



Viele Grüße,
Dennis-ſ




Re: [Neo] Eure Wünsche für den Optimierer

2011-01-07 Diskussionsfäden Arne Babenhauserheide
Hi Miche, 

On Thursday 06 January 2011 01:15:55 Arne Babenhauserheide wrote:
  • Linear:
alles über dem Schwellwert wird doppelt gezählt (rote Linie).
Diese Variante würde weniger Rechenaufwand erfordern.
  
  Was haltet ihr davon?
 
 Grundlegend finde ich es gut. Wir brauchen dafür allerdings eben die
 Schwellwerte, ab wann ein Kostenfaktor teurer werden soll. Die sollten wir
 allerdings bald definieren können.

Ich habe jetzt erstmal etwas in der Art für Fingerwiederholungen 
implementiert. 

Wenn es eine Fingerwiederholung bei einem Bigramm gibt, das über 0.1% der 
Tasteneinsätze ausmacht, dann wird der Teil, der über 0.1% liegt verfünffacht 
(und gerät dadurch in den Layout-SVGs schnell in den tiefgelben Bereich). Bei 
AdNW betrifft das z.B. das „ln“, bei dem, das ich aktuell teste betrifft es ln 
und rs: 

xzo., pcslvß´
haeiu dtrnmf
⇚kyäüö bgjqw   

(die Belegung nenne ich liebevoll pcslave – Abwandlung eines Namens von Effchen 
:) )

Der kritische Wert (0.1%) und der Multiplikator können in config.py angepasst 
werden. 

Eine weitere Anpassung ist, dass Fingerwiederholungen des Zeigefingers nur halb 
gewertet werden, weil die weniger weh tun. Wenn das für euch nicht so ist, 
sagt es bitte! Rückgängig gemacht ist schnell…

Liebe Grüße, 
Arne


signature.asc
Description: This is a digitally signed message part.


Re: [Neo] Eure Wünsche für den Optimierer

2011-01-07 Diskussionsfäden Arne Babenhauserheide
Moin Dennis, 

On Friday 07 January 2011 16:28:25 Dennis Heidsiek wrote:
 Mich würde interessieren, was der Optimierer für Resultate produziert,
 wenn man die Position der Mod-2-Tasten variabel macht. 

Das sollte recht einfach gehen: Einfach in der config.py
abc = abcdefghijklmnopqrstuvwxyzäöüß,.⇧⇗

Ich lasse das gerade durchlaufen :)

Interessanterweise wandern die shifts recht schnell nach innen ⇒ du bist 
vermutlich auf was gestoßen. 

Das erste Ergebnis ist das hier: 


yo,f. qvdpkx´
⇧aieu rnths⇗
⇚gäücö lmjbw
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──┐
│ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ` │ ←│
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬┤
│   ⇥ │ y │ o │ , │ f │ . │ q │ v │ d │ p │ k │ x │ ´ │ Ret│
├─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐   │
│⇩ │ ⇧ │ a │ i │ e │ u │ r │ n │ t │ h │ s │ ⇗ │ ⇘ │   │
├┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴───┤
│  z │ ⇚ │ g │ ä │ ü │ c │ ö │ l │ m │ j │ b │ w │ ß   │
├┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴─┬─┴──┬┴───┼┬┤
│Strg│ Fe │ Alt│  Leerzeichen  │ M4 │ Fe │ Me │Strg│
└┴┴┴───┴┴┴┴┘
# 0.931500854918 x100 total penalty per letter
# 0.0103089385914 x10 billion total penalty compared to notime-noeffort
# 4.86585639133 mean key position cost in file 1gramme.txt ( 0.05385053 )
# 2.23579993038 % finger repeats in file 2gramme.txt ( 0.012668733536 )


Die shifts sind also in Neo-Terminologie auf u und y gelandet, und z und ß 
wurden auf ihre Plätze verdrängt. 

Liebe Grüße, 
Arne


Re: [Neo] Eure Wünsche für den Optimierer

2010-12-25 Diskussionsfäden Michael Ostermeier
Hallo,

Arne Babenhauserheide schrieb:
 Ich weiß, eigentlich fragt man vor Weihnachten nach dem Wunschzettel
 und erfüllt die Wünsche dann an Weihnachten. Aber ich lasse mich
 ungerne durch Traditionen von einer schönen Idee abhalten :)

wen jucken hier schon Traditionen, auf einer Ketzer-Layout-Liste? ;)

 Am 3.1. habe ich Abgabe meiner Diplomarbeit und damit etwas mehr freie
 Zeit.

Viel Erfolg mit deiner Diplomarbeit.

 Daher würde ich gerne von euch wissen, was ihr euch vom Optimierer
 wünscht. 

Ok, ‚Wünsch dir was‘ ist gut. Was haltet ihr von einer nichtlinearen
Gewichtung der einzelnen Kriterien? Momentan kann ein Layout Schwächen
bei einem Kriterium leicht durch entsprechende Vorteile in anderen
Kategorien ausgleichen. Eine nichtlineare Gewichtung könnte dazu
führen, dass negative Ausreißer bei Einzelkriterien seltener werden und
somit ausgewogene Layouts gefördert werden.

Das Ganze kostet dann natürlich Rechenzeit. Ein weiterer Nachteil ist,
dass bei Optimierungsrunden keine so große Streuung mehr vorkommt. Die
Auswahl an Layouts für Tipptests würde also enger. Dies spräche dafür,
dass diese nichtlineare Auswahl erst am Ende auf den Pool von Layouts
angewendet werden sollte um ‚das Beste‘ auszuwählen (oder vielleicht
gar lokal nachzuoptimieren).

Mir schweben zwei Varianten vor:

• Quadratisch:
  linear bis zu einem Schwellwert (a), danach parabelförmig weiter.
  Eine mögliche Formel wäre: y=m/(2a)x²+(1-m)x+ma/2 (die blaue Linie im
  Anhang hat den Steilheitsfaktor m=5).

• Linear:
  alles über dem Schwellwert wird doppelt gezählt (rote Linie).
  Diese Variante würde weniger Rechenaufwand erfordern.

Was haltet ihr davon?

 Also lasst euch bitte erstmal nicht von Realisierungsschwierigkeiten
 abhalten, sondern schreibt einfach eure Wünsche: Welche weiteren
 Fähigkeiten oder Möglichkeiten hättet ihr gerne im Optimierer? 

Da ja gerade eine Optimierungsrunde läuft, würde ich gern wissen, was
denn im Vergleich zur letzten Runde geändert wurde. Sind neue Kriterien
hinzugekommen (ich denke da an die Anzahl unterschiedlicher
Fingerkollisionen)? Gibt’s was neues, das im Wiki¹ ergänzt werden
könnte?

Gruß
Miche

¹ http://wiki.neo-layout.org/wiki/Neo3/Optimierungskriterien
attachment: nichtlinear.png