Re: [Neo] Potenziell bessere Methode der Layout-Optimierung
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
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
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
#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
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
-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
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
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
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.