diff options
Diffstat (limited to 'srchr/src/config.rs')
| -rw-r--r-- | srchr/src/config.rs | 31 |
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 { |
