<div dir="auto">I should probably give more of an explanation for the choice of the atomic electo-potential, i.e. the scalar potential function V(r) for one voter located at R:<div dir="auto"><div dir="auto"><br></div><div dir="auto">V(r)=||r-R||</div><div dir="auto"><br></div><div dir="auto">The force=-grad V(r) represents the influence of the voter pushing or pulling in one direction or another. The true winner should be at a point where the resultant force of the entire electorate is balanced at as close to zero as possible.</div><div dir="auto"><br></div><div dir="auto">So what is the force of one voter under this choice of potential V(r)?</div><div dir="auto"><br></div><div dir="auto">It is -grad V(r) anchored at the voter position R. </div><div dir="auto"><br></div><div dir="auto">-grad|r-R|||=-(r-R)/||r-R||, which is a unit vector pointing from r to R.</div><div dir="auto"><br></div><div dir="auto">In other, words each voter exerts a pull of one dyne towards herself in the tug of war to find the winning position.</div><div dir="auto"><br></div><div dir="auto">One voter one vote translates to one voter one dyne. Each voter is allotted </div><div dir="auto"> the same amount of pull ... but different</div><div dir="auto">voters pull in different directions. Sincere voters pull towards their own location in in voter space. </div><div dir="auto"><br></div><div dir="auto">If there exists a unique equilibrium point where all of the pulls balance, that point is the geometric median of the voter distribution.</div><div dir="auto"><br></div><div dir="auto">It is easy to see that in any distribution of voters along a straight line, this balance occurs where r is at the ordinary median of the didtribution,with half of the voters pulling with same strength in each direction.</div><div dir="auto"><br></div><div dir="auto">That's the heuristic for the choice of "electo-potential" ... one person, one dyne of pull towards their own position.</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mié., 26 de ene. de 2022 10:23 a. m., Forest Simmons <<a href="mailto:forest.simmons21@gmail.com">forest.simmons21@gmail.com</a>> escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>Just one correction ****<br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mié., 26 de ene. de 2022 10:02 a. m., Forest Simmons <<a href="mailto:forest.simmons21@gmail.com" target="_blank" rel="noreferrer">forest.simmons21@gmail.com</a>> escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mié., 26 de ene. de 2022 3:12 a. m., Kristofer Munsterhjelm <<a href="mailto:km_elmet@t-online.de" rel="noreferrer noreferrer" target="_blank">km_elmet@t-online.de</a>> escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 26.01.2022 04:23, Forest Simmons wrote:<br>
<br>
> The dirac delta is the convolution identity distribution ... convolving<br>
> it with another distribution leaves it unchanged with cliffs and sharp<br>
> corners intact. <br>
> <br>
> But if you convolve with a smooth approximation of Dirac,  like a<br>
> gaussian with tiny variance, you get an infinitely differentiable<br>
> approximation of the "horrible" function.<br>
<br>
Right. I once wrote a fully differentiable genetic algorithm (I was<br>
intending to use it for hyperparameter tuning). There were two problems.<br>
First, local optima. Second, suppose that you have a plain statement like:<br>
<br>
if (x>y) {<br>
        return z;<br>
} else {<br>
        return f(z);<br>
}<br>
<br>
When smoothing, this turns into something like<br>
<br>
return z * sig(x-y, k) + f(z) * sig(y-x, k)<br>
<br>
where sig(x, k) is a sigmoid function that returns 1 if x>>0, 0 if x<<0,<br>
and k is a steepness parameter controlling sig'(x) around 0.<br>
<br>
If k is too high, then gradient descent fails because there's no<br>
noticeable slope down to the optimum; it's flat almost everywhere and<br>
then goes to zero exactly at the optimum (vanishing gradient problem).<br>
<br>
So we need some smoothness, which means that both branch values come<br>
into play. But this makes the function slow to evaluate as the program<br>
must "go both ways" on every conditional.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div><div dir="auto">Here's a better way to get a smooth potential function V(x,y,z,) in the present context:</div><div dir="auto">First the potential V(x,y,z)for all voters concentrated at one point (X,Y,Z):</div><div dir="auto"><br></div><div dir="auto">V(r)=||r-R||, where r=(x,y,z) and R=(X,Y,Z).</div><div dir="auto"><br></div><div dir="auto">To smooth, replace this with</div><div dir="auto"><br></div><div dir="auto">V(r)=(epsilon+||r-R||^2)^(1/2)</div><div dir="auto"><br></div><div dir="auto">This is more realistic anyway because you cannot truly have all voters concentrated at one point. The epsilon smear factor would be a function of the variance of the voters clustered around the point R.</div><div dir="auto"><br></div><div dir="auto">That variance could be given exactly for a uniform distribution on a ball of radius delta centered at R, for example.</div><div dir="auto"><br></div><div dir="auto">Then for multiple factions...</div><div dir="auto"><br></div><div dir="auto">V(r)=Sum(over R in Omega) of</div><div dir="auto">f(R)*sqrt(epsilon(R)+||R-r||^.5),</div><div dir="auto"><br></div><div dir="auto">where Omega is the set of faction centers, and f(R) is the fraction of voters clustered near R, i.e. in a delta(R) [related to epsilon(R)] neighborhood of R.</div><div dir="auto"><br></div><div dir="auto">If we have a smooth (i.e. pre-smeared) pdf f(R), we can write the "electo-potential" V(r) as an integral</div><div dir="auto">V(r)=Integral(over R in Omega)of</div><div dir="auto">               ||r-R||f(r)dxdydz </div><div dir="auto"><br></div><div dir="auto">The hamiltonian for the wandering voter particle is the total energy, kinetic + potential, E=T+V, where T =.5 ||dR/dt||^2.</div><div dir="auto"><br></div><div dir="auto">The system (in vector form) of ODE's for the motion of the particle is</div><div dir="auto"><br></div><div dir="auto">(d/dr)^2=-grad V(r)</div></div></blockquote></div></div><div dir="auto">*** Should be</div><div dir="auto"><span style="font-family:sans-serif">(d/dt)^2=-grad V(r)</span><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto">I need to check the HMC link that Daniel gave me to see what notation they are using.</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
> Electrical engineers have a vast library of standard test patterns to<br>
> use as input signals for use in designing and testing circuits.<br>
> <br>
> We need a similar library of test distributions for use in designing and<br>
> testing election methods.<br>
> <br>
> Election methods could even be profiled by their responses to these test<br>
> patterns.<br>
<br>
This, I do agree with. There have been a lot of voting method proposals<br>
lately, and we need some way to easily determine:<br>
<br>
- what is its VSE (under what models)<br>
- what is its voter-strategy susceptibility<br>
- what is its candidate-strategy susceptibility (cloning)<br>
- what criteria does it definitely fail<br>
<br>
and it would be nice to also know what criteria it definitely passes,<br>
though that requires formal verification, which is much harder than just<br>
testing a bunch of cases.<br>
<br>
(I remember using REDLOG to come up with BTV once, but I don't remember<br>
the details. Perhaps I should look into the current state of the art for<br>
provers, like Z3... so many things to do and so little time in which to<br>
do them!)<br>
<br>
-km<br>
</blockquote></div></div></div>
</blockquote></div></div></div>
</blockquote></div>