A further simplification is possible, I believe.
Nt = size of community
ff = fraction of fanatics (0.1 in the case when 100 people includes
10 fanatics)
wf = fanaticism factor (4 or 6, in your case
Ne = effective community size, for the purposes of support
So your method is:
Ne = Nt * ff * wf + Nt * (1 - ff)
Converting to logarithms, as we agree we eventually do, and rearranging:
ln Ne = (ln Nt) + (ln (ff * wf + 1 - ff))
Now,
(ln Ne) corresponds to the community support bonus we want the whole
procedure to produce;
(ln (ff * wf + 1 -ff)) is a constant for any given level of support;
(ln Nt) can be found by a simple look-up of the community size in a
table.
So all we need is a table that converts community size to a 'base support bonus', and another table that converts 'level of support' to an additional bonus. No need for multiplications at all; having a logarithmic scale does it for us.
Powered by hypermail