Re: [Neo] Potenziell bessere Methode der Layout-Optimierung

2012-04-14 Diskussionsfäden wettstein509
 Die bisherigen Optimierer von Arne und Andreas berechnen beide eine
 Kostenfunktion für jedes generierte Layout. Diese Kostenfunktion ist
 frei von irgendwelchen Vorgaben. Bei dem neuen Ansatz müsste man sich
 der Form des QAPs unterwerfen.

Mein Optimierer verwendet eine (leicht erweiterte) QAP Formulierung, und
ich vermute, bei Arne ist es nicht viel anders.  Das aufstellen der
Matrizen A und B ist von der eigentlichen Optimierung getrennt.

Die leicht Erweiterung in meinem Fall ist ein Term für gleichmässige
Fingerbelastung (nichtlinear in den Buchstabenhäufigkeiten).  Ausserdem
gibt es auf Wunsch noch Trigramme, mit einem Summationsindex mehr.  Bei
Arne sieht es ähnlich aus, soweit ich weiss.

 • mittels Matrix C: Häufige Buchstaben auf guten Plätzen

Nur dann, wenn man in C Häufigkeiten und Aufwände verwurstelt.  Ich
mache das nicht explizit, sondern habe Terme analog zu A*B, nur dass
dort nur ein Summationsindex auftritt.

So wie im Artikel formuliert würde C zum Beispiel erlauben auszudrücken,
dass Belegungen, die eine Referenz-Belegung ähnlich sind besser sind als
solche, die das nicht sind (Stichwort: Ctrl-XCV).  Ich glaube Arne hat
sowas, ich nicht.

 • Shiftkollisionen oder allgemeiner: Modifierkollisionen
 Allgemein über Optimierung auf mehreren Ebenen (mit Modifiern) habe
 ich mir noch keine näheren Gedanken gemacht. Prinzipiell lassen
 sich Shiftkollisionen durchaus berücksichtigen, allerdings
 bräuchten wir keine nxn-Matrix, sondern eine 2nx2n, was das QAP um
 einiges erschweren würde (unnötigerweise aus meiner Sicht).

So schlimm ist es nicht.  Der Aufwand vervierfacht sich nur (in einer
naiven Implementierung), man hat ja nach wie vor nur n Tasten.

 • Es lassen sich durch (meta-)heuristische Methoden sehr schnell
   hinreichend gute Lösungen erzielen. Es erleichtert das Arbeiten an den
   Optimierungsparametern ungemein, wenn man sie einstellen und nach
   einigen Sekunden ein Layout präsentiert bekommt, das dem Optimum sehr
   nahe kommt. Der Arbeitszyklus: 
   Parameter einstellen  Gute Lösung finden  Testen/Beurteilen 
   Parameter verändern
   würde kürzer werden.

Stimmt, Tempo ist wichtig, und ich behaupte, dass mein Optimierer deinen
einige Sekunden nahe kommt.

 Es folgt eine kleine Buchstaben-Legende für die Ausgabe des
 hasqap-optimierers³, gleich gefolgt von dem Optimierungsprozess, bei
 dem immer die aktuell beste Lösung in Form einer Permutation ausgegeben
 wird.

Auf Deutsch komme ich auf folgende Auswertung:

Stephan  271.330 Gesamtaufwand  190.231 Lageaufwandlinks rechts
   1.390 Kollisionen 17.048 Shift-Kollisionen  ob  7.9  8.6
  äuopü ßflmvx71.165 Handwechsel 18.134 Shift-Handwechsel  mi 36.5 30.2
  aietc gsnrhk 1.563 Ein-/Auswärts   --.--- IndirKollision un  6.1 10.7
  .öy,q dwjzb 15.796 benachbart  21.592 Shift-benachbart  sum 50.5 49.5
 10.3 11.2 18.0 11.1 --.- --.- 16.1 13.2 10.5  9.7 Sh  3.7  1.7

Nicht schlecht, es wird auch kein Finger über Gebühr belastet.  Zum Vergleich:

Aus der Neo-Welt 244.135 Gesamtaufwand  189.847 Lageaufwandlinks rechts
   1.054 Kollisionen  2.155 Shift-Kollisionen  ob  6.8 11.6
  kuü.ä vgcljf71.373 Handwechsel 25.977 Shift-Handwechsel  mi 34.5 32.5
  hieao dtrnsß 1.525 Ein-/Auswärts   --.--- IndirKollision un  5.4  9.2
  xyö,q bpwmz 10.353 benachbart  22.340 Shift-benachbart  sum 46.7 53.3
  9.2 11.1 16.2 10.2 --.- --.- 16.5 10.9 15.4 10.5 Sh  3.8  1.6

Mit Englisch sieht es nicht ganz so gut aus, aber immer noch ok.

Andreas





Re: [Neo] Potenziell bessere Methode der Layout-Optimierung

2012-04-14 Diskussionsfäden Stephan Hilb
 Mein Optimierer verwendet eine (leicht erweiterte) QAP Formulierung,
 und ich vermute, bei Arne ist es nicht viel anders.  Das aufstellen
 der Matrizen A und B ist von der eigentlichen Optimierung getrennt.

Der klare Vorteil einer strikten QAP-Formulierung ist, dass z.B. die
Kostendifferenz zweier Belegungen, die sich nur um eine Vertauschung
unterscheiden mit Rechenaufwand O(n) berechnet werden können (der
Aufwand für die Neuberechnung der Kosten beläuft sich auf O(n^3) für
ein QAP).
Soweit ich das sehen konnte, nutzt Arnes Optimierer diese Tatsache
jedenfalls nicht, sondern berechnet die Kosten für jedes
generierte Layout aufs neue. In der Liesmich zu deinem Optimierer habe
ich auch keine Hinweise darauf gefunden.

 • mittels Matrix C: Häufige Buchstaben auf guten Plätzen
 
 Nur dann, wenn man in C Häufigkeiten und Aufwände verwurstelt.  Ich
 mache das nicht explizit, sondern habe Terme analog zu A*B, nur dass
 dort nur ein Summationsindex auftritt.

Ja, momentan errechnet mein Programm die Matrix C aus den Häufigkeiten
und Aufwänden. Zeilen und Spalten der Matrix sind also allesamt linear
abhängig.

 So wie im Artikel formuliert würde C zum Beispiel erlauben
 auszudrücken, dass Belegungen, die eine Referenz-Belegung ähnlich
 sind besser sind als solche, die das nicht sind (Stichwort:
 Ctrl-XCV).  Ich glaube Arne hat sowas, ich nicht.

Daran habe ich noch nicht gedacht. xcv könnte man also ganz einfach auf
die linke Seite zwingen, indem man für die Positionierung dieser
Buchstaben auf die rechte Seite extrem hohe Kosten festlegt.

 • Shiftkollisionen oder allgemeiner: Modifierkollisionen
 Allgemein über Optimierung auf mehreren Ebenen (mit Modifiern)
 habe ich mir noch keine näheren Gedanken gemacht. Prinzipiell lassen
 sich Shiftkollisionen durchaus berücksichtigen, allerdings
 bräuchten wir keine nxn-Matrix, sondern eine 2nx2n, was das QAP
 um einiges erschweren würde (unnötigerweise aus meiner Sicht).
 
 So schlimm ist es nicht.  Der Aufwand vervierfacht sich nur (in einer
 naiven Implementierung), man hat ja nach wie vor nur n Tasten.

Es ist wohl noch schwieriger, als ich dachte. Wie gibt man an, dass die
Großbuchstaben auch auf die selben Tasten positioniert werden, wie die
Kleinbuchstaben, wenn man doch eine 2nx2n Matrix hat.
Zwar hat man nur n Tasten, aber die QAP Beschreibung erfordert doppelt
so viele.


Gruß, Stephan


signature.asc
Description: PGP signature


Re: [Neo] Potenziell bessere Methode der Layout-Optimierung

2012-04-14 Diskussionsfäden wettstein509
 Der klare Vorteil einer strikten QAP-Formulierung ist, dass z.B. die
 Kostendifferenz zweier Belegungen, die sich nur um eine Vertauschung
 unterscheiden mit Rechenaufwand O(n) berechnet werden können 
 (der Aufwand für die Neuberechnung der Kosten beläuft sich auf O(n^3)
 für ein QAP).

Genauer gesagt ist der Rechenaufwand für die Bigramme proportional zu
n²-(n-2)² bei Berechnung von Differenzen und n² bei Neuberechnung.  Man
reduziert den Rechenaufwand also ungefähr um den Faktor n/4.  Für die
Einzeltastenaufwände reduziert man den Aufwand von n auf 2, für
Trigramme von n³ auf n³-(n-2)³.  Das benutze ich natürlich.

Die Behandlung der Anschlagshäufigkeit pro Finger ist nur O(n), daher
ist es verschmerzbar, dass sie nicht ins QAP-Schema passen.

 Zwar hat man nur n Tasten, aber die QAP Beschreibung erfordert doppelt
 so viele.

Das klingt mir eher als eine Beschränkung von speziellen Umsetzungen als
der allgemeinen Beschreibung.  Den Optimierer selbst zu implementieren
hat halt Vorzüge.

Andreas



[Neo] [ticket] #310: fehlende Bildschirmtastatur bei kbdneo - nicht belegte Tastenkombinationen

2012-04-14 Diskussionsfäden Neo-Layout
#310: fehlende Bildschirmtastatur bei kbdneo - nicht belegte Tastenkombinationen
---+
 Reporter:  lebe1301@… |   Owner: 
 Type:  Fehler/Defekt  |  Status:  new
 Priority:  normal |   Milestone:  Neo Version 2.0
Component:  unbekannt  | Version:  2.0 Final  
 Keywords: |  
---+
 Hallo,

 ich schreibe/programmiere seit einem Jahr in Neo, seit Dez. mit AdNW,
 leider noch ganz weit von den Zeichen pro Minute entfernt...

 Nichts desto trotz mag ich es viel lieber als normal QWERTZ.

 Ich verwende Neovars, weil es mir letztes Jahr bei meinem Umstieg auf Win7
 viel freundlicher in der Handhabung erschien, da ich auf einen Blick sehe,
 welches Tastaturlayout eingestellt ist und ich es schnell von anderen bei
 Bedarf ändern lassen kann.

 Heute wollte ich in Visual Studio C++ ein paar Shortcuts ändern, habe
 dabei festgestellt, dass auf der oberen Zahlenreihe Tastencodes mit
 Strg+Shift nicht gehen oder auch was falsches anzeigen. Bitte probiert
 es aus.

 Deswegen dachte ich, ich könnte mal eine neue Neo-Version installieren
 (meine ist von Januar) und installierte dann mal kbdneo. Aber da finde ich
 nicht die Bildschirmtastatur. Wird die deswegen von einigen Leuten
 vermisst?

 Im Moment habe ich wieder NeoVars und würde mich freuen, wenn es die
 Bildschirmtastatur für alle Versionen gibt (ich habe mal auf einem
 Rechner, den ich ab und zu mal benutze, für mich Neovars benutzt, wobei
 die Bildschirmtastatur auch nicht ging, der Rechner ist allerdings
 offline).
 Auch dass man alle Tasten mit Shift, Strg, Alt usw. bei Tastaturcodes
 eingeben kann.

 Auf jeden Fall herzlichen Dank an all diejenigen, die Neo und AdNW ins
 Leben gerufen haben und unterhalten.

 Viele Grüße
 Annette

-- 
Ticket URL: http://wiki.neo-layout.org/ticket/310
Neo-Layout http://neo-layout.org/
Das Neo-Tastaturlayout ist ein freies und ergonomisch optimiertes 
Tastaturlayout für die deutsche Sprache, das auch sehr viele Sonderzeichen 
direkt verfügbar macht.


[Neo] Neo in Kombination mit QWERTZ

2012-04-14 Diskussionsfäden Volker J ,
Uns allen sind Fälle bekannt, wo Nutzer das Erlernen einer neuen Tastenanordnung
zu lästig fanden oder aus anderen Gründen abgelehnt haben. Einige benutzen eine
selbsterstellte Kombination mit dem Dinosaurier.

Mein Freund beherrscht zum Beispiel QWERTZ mit 550 Zeichen/Minute (mit sechs
Fingern) und hat so aus verständlichen Gründen wenig Lust, umzusteigen. Die
Sonderzeichen in ihrer Masse und Anordnung gefallen ihm allerdings. Eine eigene
Anordnung zu erstellen, überfordert ihn wiederum.

Wäre es deshalb nicht sinnvoll, eine spezielle Version(Win, Linux, Mac) zu
entwickeln und anzubieten oder wenigstens eine Anleitung zu veröffentlichen?

Mit dieser Version hätte ich Neo an drei deutschen Unis. Der Aufwand würde sich
lohnen. 

Fragen wären also
1. ob,
2. in welcher Anordnung (vllcht. auch mehrere) so eine Anwendung/Anleitung
umzusetzen wäre.

Im Übrigen bin ich der Meinung, dass eine straffere Organisation nötig ist. Ich
habe schon aktivere Foren erlebt…

Volker J.




Re: [Neo] Neo in Kombination mit QWERTZ

2012-04-14 Diskussionsfäden Daniel Horz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Ich denke nicht, daß es sinnvoll ist, einen QWERTZ-Treiber mit
Neo-Ebenen 4–6 weiträumig zu verbreiten. Unsere Aufgabe ist nicht,
QWERTZ benutzbarer zu machen.

Grüße,
Daniel

- -- 
Daniel Horz
jabber/mail/sip: dan...@vandenhorz.de

pgp key:
https://daniel.vandenhorz.de/key.asc (5A6A89E3)
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJPietlAAoJEPMCNc1aaonj/HkQAJx9MAhY9UChE0xJsFQDgOcy
31DDibbjmp6TytoLXdf5BkH64aZdga+2cWrMDxdrh0nVFsKRe5h9zG+b+HFQnu/R
pOxwS1PRqfUuKjH40zBs3kgvFNLuw57Fsvaxhiudb+uP3WElNNQ+dBcwt3vji/Ki
fVMIZWNNciOwenw/DyB4w3+drtBdPHFg/b/i5Sl1iME1+P39FbIg+gJ7sRNpRNL2
r33W/liCyrYtZCVDcoABs2sjC3ng8iqpni2GgPwHy8LqZozG9C/YLwE41GvzpOa2
NJ8dO/mIEGhAmCNlz15Rqc5c65Y2IydijE9oR0zeBePMZubYnkXZ5cLBRUg4bY7m
m7jC+R9ykPJyT+xq0KtlD1YfqVvyLCrCvUINjq5t4rUQ/SfYSf2NqteaniOIlDLA
nf8cqgNP45ZVOIrBxVYPMTMcJNAes1Rct3SV/3a1egn/iTMKu+80uWNDIQBo86L9
HkAcmiQOv69sF7rWwKpsHDgnR0biXvxrP656d1Hs4+5RukJA3b4k72JLUww9GpGY
mqMktxI1qHQ3lze2sNR5/3LlqrD99oStntprriHmJvyB8yt1qkvgeLKLDlZSoLRa
iFB6p7VpKma0saK6XNPC6kiOQ2/MdsbQUap5U2wCqRYqjfz2++3PpLkPSjMBaxpp
LRyz6uJmIpgR25DQBavq
=Tf3V
-END PGP SIGNATURE-



[Neo] USB-Version von Neo

2012-04-14 Diskussionsfäden Volker J ,
Ich wüsste gerne, wer die portable Neo2-Version geschrieben hat und mit welcher
Vorgehensweise, damit ich das Programm besser verstehe. Meines Erachtens sollte
auf dem USB-Packet nämlich auch eine Anwendung zum Deaktivieren von Neo
vorhanden sein, um ständigen Ärger mit Computerbesitzern zu vermeiden. Nach
meinen Versuchen gibt es ausser einem Neustart noch keinen Weg, die andere
Tastatur wieder zu deaktiveren. Ausserdem sollte die Anwendung nicht in einen
Ordner „neo” verpackt werden, sondern bereits eine Ebene vorher verfügbar sein.
Vielleicht gibt es da ja technische Möglickeiten.
 
Im Übrigen bin ich der Meinung, dass eine straffere Organisation nötig ist.

Volker J.




Re: [Neo] Neo in Kombination mit QWERTZ

2012-04-14 Diskussionsfäden Volker J ,
Schön, dass sie sich hier engagieren.
Ihr Einwand ist berechtigt. Die Entwicklungskapazitäten des Neo-Projekts sind
zur Zeit wohl zu beschränkt, um eine kombinierte Version (welcher Art auch
immer) zu produzieren. Eine Anleitung halte ich aber nach wie vor für sinnvoll.
Dann könnten Interessierte ja immer noch für sich beide Systeme nutzbar machen.
Mögliche Dopplungen und kleine Probleme bei dem Hybriden wären der Preis der
Nutzer selbst. Bei mir funktionieren schließlich auch einige Teile von Neo
nicht, und solange wir nicht Standard auf Win und Co werden, wird es immer
Einschränkungen geben.

Im Übrigen bin ich der Meinung, dass eine straffere Organisation nötig ist.

Volker J.




Re: [Neo] USB-Version von Neo

2012-04-14 Diskussionsfäden Timotheus Nemitz

Hallo Censorius,

Ich benutze die USB-Version nicht, aber mir schaut das so aus, als wäre 
dort für Windows einfach die normale neo20.exe drin, die sich auch 
problemlos im Tray  über das Menu, das bei einem Rechtsklick erscheint, 
wieder deaktivieren lässt.


Das Ablegen in einem Ordner neo ist sehr sinnvoll, wenn der Stick noch 
für weitere Daten genutzt wird und man sich nicht schon beim Entpacken 
die erste Ebene zumüllen will. Wenn einem das nicht gefällt, lässt sich 
das durch einen einfachen Ausschneidevorgang ändern.


Viele Grüße
Timo


Am 15.04.2012 03:34, schrieb Volker J,:

Ich wüsste gerne, wer die portable Neo2-Version geschrieben hat und mit welcher
Vorgehensweise, damit ich das Programm besser verstehe. Meines Erachtens sollte
auf dem USB-Packet nämlich auch eine Anwendung zum Deaktivieren von Neo
vorhanden sein, um ständigen Ärger mit Computerbesitzern zu vermeiden. Nach
meinen Versuchen gibt es ausser einem Neustart noch keinen Weg, die andere
Tastatur wieder zu deaktiveren. Ausserdem sollte die Anwendung nicht in einen
Ordner „neo” verpackt werden, sondern bereits eine Ebene vorher verfügbar sein.
Vielleicht gibt es da ja technische Möglickeiten.

Im Übrigen bin ich der Meinung, dass eine straffere Organisation nötig ist.

Volker J.