aboutsummaryrefslogtreecommitdiff
path: root/srchr/src/config.rs
diff options
context:
space:
mode:
Diffstat (limited to 'srchr/src/config.rs')
-rw-r--r--srchr/src/config.rs31
1 files changed, 8 insertions, 23 deletions
diff --git a/srchr/src/config.rs b/srchr/src/config.rs
index 8badd52..60cd80c 100644
--- a/srchr/src/config.rs
+++ b/srchr/src/config.rs
@@ -1,19 +1,3 @@
-// With the below parameters and the supplied corpus searches seem to converge on a few layouts, with one of the better ones being
-// V L O M Z P F U H ,
-// S R A T K Y C E N I
-// X J / D Q G W ' B .
-// Percent per key:
-// 0.92 3.96 7.42 2.57 0.06 1.62 2.10 2.77 5.94 1.78
-// 6.03 5.56 7.74 8.60 0.77 1.99 2.35 11.90 6.62 6.68
-// 0.15 0.15 0.14 4.25 0.10 1.93 2.27 1.00 1.50 1.14
-//
-// Finger usage: 7.10%, 9.66%, 15.30%, 16.36%, 12.25%, 15.67%, 14.06%, 9.61%
-// Hand usage: 48.42% vs 51.58%
-// SFB distribution : 0.002%, 0.088%, 0.089%, 0.047%, 0.104%, 0.197%, 0.044%, 0.024%
-// DSFB distribution: 0.166%, 0.402%, 0.614%, 1.302%, 0.761%, 0.985%, 1.101%, 0.405%
-// Total sfb: 0.595% (50086)
-// Total dsfb: 5.736% (482638)
-
// -----------------------------------------------------------------------------
// Tweak
// -----------------------------------------------------------------------------
@@ -32,21 +16,22 @@ U V W X Y Z . , / '
// Tournament parameters
pub const NUM_CONTESTANTS: usize = 256;
pub const NUM_PERSIST: usize = 8;
-pub const MAX_NUM_TRANSPOSITIONS: usize = 12;
+pub const MAX_NUM_TRANSPOSITIONS: usize = 15;
// Fitness parameters
-pub const DESIRED_INDEX_USAGE_PERCENT: f32 = 0.12;
-pub const MAX_PINKY_USAGE_PERCENT: f32 = 0.09;
-pub const STANDARD_DSFB_WEIGHT: f32 = 1.0 / 8.0;
-pub const INDEX_DSFB_WEIGHT: f32 = 1.0 / 8.0;
+pub const STANDARD_DSFB_WEIGHT: f32 = 1.0 / 3.0;
+pub const INDEX_DSFB_WEIGHT: f32 = 1.0 / 3.0;
+
+pub const MIN_INDEX_USAGE_PERCENT: f32 = 0.10;
pub fn index_usage_fitness(index_perc: f32) -> f32 {
- if index_perc < DESIRED_INDEX_USAGE_PERCENT {
- DESIRED_INDEX_USAGE_PERCENT - index_perc
+ if index_perc < MIN_INDEX_USAGE_PERCENT {
+ MIN_INDEX_USAGE_PERCENT - index_perc
} else {
0.0
}
}
+pub const MAX_PINKY_USAGE_PERCENT: f32 = 0.085;
pub fn pinky_col_penalty(lesser_perc: f32, greater_perc: f32) -> f32 {
if greater_perc > MAX_PINKY_USAGE_PERCENT {
if lesser_perc > MAX_PINKY_USAGE_PERCENT {