Commit Diff


commit - d01528a063b3d747c9fe5ea5b7e56c7e85fef0a1
commit + 7100fec23ecb5b29fc48094dfc0c63b0a9f8f32f
blob - 51a2872cfb0430c612a401be8222561fe904b309
blob + 8384944b147e78e3f13a458ee7c35535b43f794b
--- teach.c
+++ teach.c
@@ -46,6 +46,7 @@ double initmis = 0;	/* initial mistake estimate */
 double initrsp = 1;	/* initial response time estimate */
 double initvar = 0;	/* initial variance estimate */
 double damping = 0.875;	/* (7/8) weighting factor for past estimate value */
+double basemul = 0.5;	/* overall base weight coefficient for all symbols */
 
 /* teacher state */
 int ntotal;		/* number of symbols in alphabet */
@@ -359,11 +360,11 @@ teach(void)
 		 */
 		l = 0;
 		for (i = 0; i < nactive; i++)
-			l += overall + failprob[i];
+			l += basemul * overall + failprob[i];
 		x = l * rand() / RAND_MAX;
 		assert(nactive > 1);
 		for (i = 0; i < nactive - 1; i++) {
-			x -= overall + failprob[i];
+			x -= basemul * overall + failprob[i];
 			if (x < 0)
 				break;
 		}