but enough of that
program
k = 1 bit
m = a bits
n = 1 bits
p = reversable pseudo random number sequence
p(x) = x bits of the sequence
function forward
q=p(2);
r=p(1);
s=p(1);
switch(q)
case(00): if(n==0) sample of k valid else m++;
case(01): if(k==0) m++ carry into n;
case(1X): if(k==1) m++ carry into n;
endswitch;
if(n and q=00) begin
k^=r;
if(k==0) m++ no carry;
end;
end forward
i think has a very good chance of being biased w.r.t. k
the dual clicks of 1X as opposed to 01, providing for quicker inversion
of k if k is 0 ?
i do wonder about polarities and problem inversions.....
function forward
q=p(2);
r=p(1);
s=p(1);
switch(q)
case(00): if(n==0) sample of k valid;
case(01): if(k==0) m++ carry into n;
case(1X): if(k==1) m++ carry into n;
endswitch;
if(n and q=00) k^=r;
end forward
one could point out that this is of no use, and you may have been
right. the critical point is when m is just about to carry into n and
make n==0 again. this is called the injection point. with 0.5 chance of
1 being injected for sampling and 0.25 chance of 0 being injected for
sampling. and 0.25 chance of being 50:50 randomized for the next
injection attempt. this leads to twice as many ones being injected, but
1 is sampled only half as much and so the effects cancel and 50:50
sampling bias is produced which is quite useless, blah, blah
dont say i told you so just yet, this code below uses a reinjection
pricipal.
function forward
q=p(2);
r=p(1);
s=p(2);
switch(q)
case(00): if(n==0) sample of k valid;
case(01): if(k==0) begin
/* a strange mod 2 effect and 3/8 of injectable zeros recycled */
m++ carry into n;
if(s!=00 and n) m++ no carry;
end;
case(1X): if(k==1) m++ carry into n;
endswitch;
if(n and q=00) k^=r;
end;
end forward
this makes the 0.25 injection of zero become a (0.25)*5/8 injection
probability, and recycles the randomization process. after calculation
of the probability series, an 16/5:1 ratio of 1s to 0 s are injected,
which at a 2:1 sample rate gives 8/5:1 overall sampled bias. all steps
in forward are reversable as all operations are non destructive and the
if conditions are not altered by the then actions.
is this ok???
is this ok??
is this a perfect symetry or what?
a dimension of asymetry added and the join problem is eliminated.
the final design?
seems like connection most probable between poles of s dimension.