[EM] BeatpathWinner algorithm

MIKE OSSIPOFF nkklrp at hotmail.com
Wed Jun 1 20:23:19 PDT 2005


Russ said, 11 days ago:

You might also recall that Mike's "beatpathwinner" algorithm

I comment:

It wasn't "Mike's". It was from Steve, and I said so.

Russ continues:


that had
appeared at http://ElectionMethods.org was a fifth-order algorithm,
whereas it should have been third-order.

I comment:

_Should_ have been? Maybe _could_ have been, except that Russ didn't know 
that it could. Russ didn't know that that algorithm could make do with only 
one pass through the 3-candidate permutations, by re-arranging the indices.  
It didn't occur to Russ that the algorithm could be speeded up in that way.

No, it didn't occur to me either. But that's irrelevant. It's relevant that 
it didn't occur to Russ, because Russ is the one who is criticizing the fact 
that the speed-up wasn't included in the algorithm at his website.

Russ continues:

I guess I share responsibility
for that little blunder

I comment:

Yes, I guess you do. I sent to you a Python program using an algorithm from 
Steve. At no time did I say that I was an "algorithm expert", to use your 
term. At no time did I claim that there wasn't a more efficient algorithm.

You, Russ, were completely clueless about the fact that the algorithm could 
be speeded up, could avoid the need for more than one pass through the 
3-candidate permutations, by re-arranging the indices in the formula that 
uses them. As I said, that didn't occur to Russ, and he needs to blame 
himself if he's bothered by the fact that the algorithm didn't have the 
one-pass speedup.

Though the possibility of that speedup didn't occur to me either, Russ is 
the one who has a great problem about it, and so I mention that Russ was 
quite clueless about the possibility of modifying the index-order so that 
only one pass would be needed.

When it was claimed on EM that an index-rearrangement would make it possible 
to complete the task with one pass through the 3-candidate permutation, I 
told Russ about that. That information was not kept from Russ. I didn't ask 
Russ to change the algorithm in the way described on EM, because no one 
posted a proof of the claim that it would work. It was asserted repeatedly 
on EM, and I repeatedly asked that someone post a demonstration of the 
claim. No one did.

I wasn't willing to ask Russ to change the algorithm based on an unsupported 
claim. But I told him about the claim. Russ chose to leave the algorithm as 
it was, and not re-arrange the indices, and not have it do only one pass 
through the permutations.

It wasn't my fault that you passively used what I sent to you.

Russ continued:

because I had implemented Mike's algorithm in
Python for him.

I comment:

For me? In what sense for me? Actually I e-mailed to you a Python program 
that carries out Steve's BeatpathWinner algorithm. You didn't implement it 
in Python. I wrote it in Python and sent it to you. You then wrote your 
Python program which was nothing other than a copy of the one that I sent to 
you.

You claimed that my program had errors. It had syntax typos in its 1st 
version. I didn't have Python, and therefore couldn't test the program. It's 
unusual for the 1st version of a program to not have some sort of syntax 
typo. Mine was no exception. I had lelt out some colons. Subsequently I sent 
to you a version that didn't have the syntax typos, or any other errors.

Contrary to your earlier claim, there were no "logical errors". There were 
only syntax typos. And only one or two of those (occurring here and there in 
the program, of course).

The only other fault of the 1st version of my Python BeatpathWinner program 
was that the Python book that I was using mis-stated how Python does 
multidimensional arrays. That was the fault of a careless author, and wasn't 
my fault.

By running the program, Russ found out that the multidimensional arrays 
didn't work as the book implied, and, by expermenting with his Python 
interpreter (It seems to me that Python is interpreted rather than compiled. 
Anyway, I'll use that word with the understanding that maybe I should have 
said "compiler".), he found out how they are done by Python.

He told me what he'd found out by experiment, but I chose to not base my 
program on his experiment results. I didn't use Python's multidimensional 
arrays.

Instead, I made multidimensional arrays from Python's 1-dimensional arrays, 
and a function that I wrote.

With that, and the correction of the syntax typos, my program was correct. I 
sent a copy of that final version to Russ.

He chose a different way to deal with the multidimensional arrays, by 
experimentally finding out what works, and that's fine. But I sent to him a 
correct Python BeatpathWinner program.

About the Python book's failure to accurately describe how the 
multidimensional arrays work: It seems to me that books on a programming 
language should only be written by the person who wrote that language. If 
that person doesn't want to write such a book, then maybe one could be 
written by a mathematician, working closely from the language-author's 
description. But, failing those authorships, at least the book then should 
_not_ be written by a programmer or a computer specialist.  Such a 
specialist, who may have been using trhe language so long that its features 
are 2nd nature to him, and feel like instinct, or seem obvious to him, is 
likely to be careless and leave things out.

Russ continues:

I had urged him to program and test it himself, but he
was incapable

I comment:

I didn't have a Python interpreter.

Russ continues:

, so I did it for him.

I comment:

No, Russ tested the program for himself, so that he could put it at the 
website. He didn't test it for me. The testing showed that the 
multidimensional arrays didn't work as the Python book implied. He 
experimented and found out how they do work. By testing he found out about 
the syntax typos. With the experimentally-found multidimensional arrays, and 
the experimentally-found syntax typo corrections, Russ wrote a program that 
was really only a copy of what I'd sent to him. I then corrected the syntax 
typos too, and made the multidimensional arrays. And, just to be doing so, I 
sent to Russ a correct Python program, though I knew that he'd made similar 
corrections himself and had a completed program, or was writing one.

Russ continued:

(In retrospect, it should have been
obvious to me that anyone who is incapable of programming a computer in
this day and age

I comment:

So Russ is still saying that. It's unusual for any program, in its 1st 
version to not have any syntax typos. I subsequently sent to Russ a correct 
version of the Python BeatpathWinner program. At no time did any 
BeatpathWinner program or algorithm that I sent to Russ have "logical 
errors", as Russ claimed.

When I took a course in FORTRAN 77, I got an "A" in the course. That college 
had two FORTRAN courses, and I then wanted to take the 2nd one. But it 
wasn't offered often, and the only programming language course being offered 
in a course was Applesoft BASIC. So I took that course, because at that time 
BASIC was the programming language found on personal computers. Especially 
Applesoft BASIC. I might have only gotten a "B" in that course, because of 
an assignment that I hadn't gotten around to completing.

I did some individual projects using FORTRAN and BASIC, the two programming 
languages that were available on college computers at that time.

It seems silly to post here to answer a claim that I'm incapable of 
programming a computer. I mean, what does that have to do with EM's topic? 
But Russ has made that off-topic, irrelevant, claim several times, and I 
might as well answer it, as I have just done.

I don't claim to be a professional programmer. But the final version of my 
Python BeatpathWinner program was correct.

Russ continues:

is unlikely to be an algorithm expert!)

I comment:

At no time did I say that I was an algorithm expert. Russ got the algorithm 
from me, just as I got it from Steve.

Russ continues:

As you know, I have since replaced Mike's goofy fifth-order algorithm

I comment:

As I said, it wasn't "Mike's" algorithm. I got it from Steve, and Russ got 
it from me. Now Russ wants it to be entirely my fault that it didn't have 
the speedup that didn't occur to Russ either.

As for "goofy", Russ apparently was too goofy to notice that it could be 
speeded up, to notice that rearranging the indices in the formula at the 
center of the loops would enable the algorithm to complete its task in one 
pass through the 3-candidate permutations. But Russ doesn't want to say that 
he himself was goofy because that speedup didn't occur to him.

Though I told Russ about the speedup claim when I heard that claim on EM, I 
wouldn't have recommended adding the speedup, even if someone had 
demonstrated that it worked (and no one did demonstrate that it worked). 
That's because, in the form in which I sent it to Russ, the algorithm is 
obvious and natural. It is not obvious that, if you rearrange the order of 
the indices in that formula inside the loops, the algorithm will need only 
one pass through the 3-candidate permutations. It was un-obvious enough that 
no one on EM responded to my request for a proof that it would work. And, as 
I said, Russ himself was quite clueless about that possibility.

Russ continues:

Mike's algorithm, on the
other hand, was given to me under the implied but unstated "Mike's
copyright,"

I reply:

Wrong. When I sent the algorithm to Russ, I didn't imply anything about 
ownership of it.

My later withdrawal of permission to have things that originated from me was 
not based on any claim of legal ownership or copyright. It was a matter of 
whether or not Russ had enough pride to quit using materials from me at his 
website when permission was withdrawn. As I said, last I checked, Russ was 
still demonstating that he didn't have any self-respect, because he was 
still using definitions of mine, word-for-word, and was still featuring my 
wv, though I'd withdrawn permission to have things that had originated from 
me.

Russ continues:

which rivals his algorithms and criteria for goofiness.

I comment:

As I said, Russ suddenly discovered that he didn't like my criteria 
immediately after I told him that he no longer had permission to have them, 
or anything originating from me, at his website.

He didn't accept that immediately. First, in two e-mails, he pleaded that I 
not make that decision. Only when I stood by the withdrawal of permission, 
did Russ suddenly realize that he didn't like my criteria, which he had 
initially asked me for permission to post at his website, and had kept there 
for years.

Russ continues:

It
goes something like this: "This work should be universally accepted

I comment:

I haven't said that my work should be universally accepted, but I have said 
that, for some criteria, the versions other than my preference versions lack 
usefulness and meaning.

But what someone else should or will do is entirely their business.

Russ continues:

, but
I, Mike, retain the unconditional right to deny anyone the right to use it."

I reply:

There's no doubt that I had, and have, the right to refuse permission for 
Russ to use materials originating from me, at his website. That is not a 
claim that I have legal ownership of the material. I have no idea about 
that. I withdrew permission for Russ to use the materials, and the rest 
depends on whether or not Russ has any self-respect.

Mike Ossipoff

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! 
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/




More information about the Election-Methods mailing list