Hi Arne,
danke für die Antwort und Mühe :-)
[Tastentausch für optimiertes qwertz-Layout]
Das wundert mich sehr. Denn wenn
ich z. B. d und ß auf qwertz tauschen würde, würde ich mich doch
sicher verschlechtern, da ß schon ziemlich selten im Vergleich zu d
vorkommt und zudem ja schon auf relativ schlechtem Platz (das passt ja
zu seltener Häufigkeit) liegt.
Du hast gerade einen Bug gefunden…
Bin dafür bekannt über solche Sachen zu stolpern ... ;-)
Ich habe nie von Qwertz aus optimiert, so dass mir nicht aufgefallen
ist, dass das ß in Qwertz noch Kosten 0 hatte…
Ich habe ihm jetzt 24 gegeben; Qwertz # hat 18.
O.K.
Aus Zeitmangel hatte ich die Kostenstruktur noch nicht angesehen,
sondern erstmal deine defaults genutzt.
Allerdings testet er alles und nimmt dann nur das jeweils beste.
Hatte ich vermutet.
Mit der Korrektur ist ein um 5 optimale Schritte verbessertes Layout z.B.
das hier:
qwökt zundpü
aeofg hjrlsä
yxcvb im,.
# 3.30414704718 billion total penalty compared to notime-noeffort
# 4.73699371493 mean key position cost in file 1gramme.txt
# 4.87093927374 % finger repeats in file 2gramme.txt
# 6.02849984486 million keystrokes disbalance of the fingers
# 0.154320791049 % finger repeats top to bottom or vice versa
# 0.430991545888 billion (rows/dist)² to cross
# 0.0607769119184 hand disbalance. Left: 0.439223088082 %, Right:
0.560776911918 %
Qwertz zum Vergleich:
qwert zuiopü
asdfg hjklöä
yxcvb nm,.-
# 8.4814365157 billion total penalty compared to notime-noeffort
# 5.0308364 mean key position cost in file 1gramme.txt
# 7.40712552483 % finger repeats in file 2gramme.txt
# 8.20816695015 million keystrokes disbalance of the fingers
# 0.264551764607 % finger repeats top to bottom or vice versa
# 2.75890748815 billion (rows/dist)² to cross
# 0.0771517043608 hand disbalance. Left: 0.577151704361 %, Right:
0.422848295639 %
Aber denk daran: Hier sind schon 5 Tasten getauscht, also sind 10 Tasten
nicht wie in Qwertz, d.h. gut 30% der Grundtasten.
Ja, das ist ja Ziel der Übung mit eher wenig Tastentauschen schon
relativ viel zu bewegen.
1 Schritt:
qwört zuiopü
asdfg hjkleä
yxcvb nm,.-
# 5.49430220849 billion total penalty compared to notime-noeffort
# 4.93842830764 mean key position cost in file 1gramme.txt
# 6.28664448141 % finger repeats in file 2gramme.txt
…
# 1.26991478846 billion (rows/dist)² to cross
2 Schritte:
qwört zuidpü
asofg hjkleä
yxcvb nm,.-
# 4.52732840044 billion total penalty compared to notime-noeffort
# 4.96885562131 mean key position cost in file 1gramme.txt
# 6.2485308 % finger repeats in file 2gramme.txt
…
# 0.769091951374 billion (rows/dist)² to cross
Erwartet hätte ich, dass auch auf jeden Fall ein Tausch mit n (z. B.
mit j, k oder ö) eine deutliche Besserung (laut Berechnungen bringt),
da ein n sehr häufig vorkommt und nicht sooo super liegt und in der
Grundzeile auf jeden Fall Vorteile bringen sollte.
Ich sehe, dass im obigen Layoutvorschlag der zweitgenutzte Buchstabe
immer noch nicht in die Grundzeile gerutscht ist. Mmh, das wundert
mich immer noch etwas.
Vielleicht hab' ich aber auch das Skript und die Ausgabe noch nicht
verstanden? Den Quelltext hab' ich noch nicht im Detail verdaut,
sondern nur kurz geschaut, wo ich Anpassungen zur Berechnung von
qwertz ausgehend machen muss.
Idealerweise kannst du einfach in die Funktion evolve_a_layout schauen. Da
nur an 2 Stellen NEO_LAYOUT durch QWERTZ_LAYOUT ersetzen, schon gehst du von
qwertz aus.
So hatte ich das, wie in meinem Posting beschrieben, auch gemacht :-)
War dann aber offensichtlich über die falschen Kosten mit ß _und_ die
generellen Codepage-Probleme Python / Windows-Shell gestoßen :-(
Hab' im Moment nur _sehr_ begrenzt Zeit, aber mir ein paar Gedanken
gemacht. Die Optimierung über ein Programm ist sicher eine sehr gute
Möglichkeit ein schönes Layout zu finden, _aber_ ich habe hier
gemerkt, dass man eine gute Ecke Gehirnschmalz in die Fragestellung
werfen muss, damit ich ein Programm entsprechend konditionieren kann,
um ein gutes Ergebnis herauszubekommen. Wenn man sieht, dass Dvorak
gefühlt bei sehr vielen Anwendern so hoch im Kurs steht -- Ulf
spricht ja sogar von der Dvorak-Magie, wenn ich mich recht erinnere --
dann wird deutlich, dass die wohlüberlegte Anordnung der Tasten das
entscheidende ist und der Computer nur ein sehr nützliches, aber
zweitrangiges Hilfsmittel sein wird.
Hier meine Gedanken, wie man evtl. ein Stück näher zu guten
Gewichtungen für den Optimierer kommen kann:
Man überlegt sich logisch, welche Optimierung bei _einfachen_
überschaubaren Fragestellungen herauskommen müssten. Das fängt an mit
einem Tausch eines Tastenpaars. Von den Bi- und Trigrammen abgesehen,
kann man sich recht leicht überlegen können, welcher Tausch von einem
Tastenpaar die größte Änderung in einem Layout bringt. Da e mit
Abstand am häufigsten vorkommt, braucht man kein Hellseher sein, dass
das in die Grundreihe muss. Wenn man