Hi,

I see there has been some discussion in this list about cheating remote.
In computerchess this toleration has grown out of hand.

Setting the rules clear and sharp there in computer-go might avoid
for the future a lot of problems.

There is a very simple manner to avoid cheating in go.

But let me adress a few points first.

1) neural nets

forget about neural nets and cheating. A year or 12+ ago we had a lot of neural net guys in computerchess as well. ANN's are not even close to representing the human mind, as modern insights in how brains work shows clearly already for quite a while. Most important is that the automatic learning techniques of neural nets are so
total inefficient that it is really difficult to use them well.

Soon anything that is neural net will be beaten by the rest major league.

The only case i remember that was a tad more stubborn was basically someone who tried to fool the rest; he bought source code from someone and sold that as the 'neural net optimized version' engine. Yet the original programmer of that code (Joost Buijs), he assured me that this program definitely used his parameters and not some neural net optimized parameters, as he could reproduce even every score of it.

So in that case it was not the neural net that was there, it just was getting used as a sales reason.

Yet the neural nets will get beaten major league. If not next year, then some years later. You can't forever improve a product without good debugging methods of what it actually is doing.

A black box that is real clever and intelligent doesn't exist.

2) sure on paper it is really easy to cheat.

IT IS ALSO REALLY EASY TO CHEAT WITHOUT REMOTE MACHINES IN FACT.

Oh in computerchess we've seen it all. There is a certain species of persons on the planet, they are not in big numbers there, who are capable of fooling in a professional manner other persons, James Bond is nothing compared to the sneaky manners they
get things done.

For sure a bunch of them will also try it in computer-go.

For these guys, considering how weak for the coming few years go computers will play, there is not a big difference between remote machines and local machines. It's too easy to cheat for them. Communication to and from a program is too difficult to 100% monitor.

So to speak just keeping the mouse at a certain spot is already enough to cheat, or having someone a fewmeters away at his laptop
signal something over blue tooth or whatever to the playing machine.

All been done.

The only real simple manner of catching crooks is by having a good tournament director who will enforce in case of suspected moves played, that an engine must reproduce the move it played, with some reasonable decent score.

Now some of you will argue loud in one choir: "parallel search doesn't reproduce moves". One move can make or break a game, yet those who cheat have the habit to cheat many moves a game and for several games. So there should be many datapoints one complains about.

If a program basically cannot reproduce a move, at the discretion of the tournament leader who might want to see whether a move in question has a very similar score to other alternatives (in which case of course you don't know which of the equal
scored moves or nearly equal scored moves can get played).

But the principle thing is reproduction of great moves.

If a program under no circumstance can reproduce a specific move and that for several occasions, then that's very clear proof of course.

That is a rule that should be introduced in computerchess also IMHO.

Note there is also the time constraint. And search depth constraint.

One always must have a logfile displaying which iterations or steps a program already has performed; if one searches in a very selective manner, a rather easy form of cheating that is 'near undetectable', is when a program plays moves that it normally spoken would not have found on that hardware, yet iterations deeper.

As in selective search you can assume that in a move sequence m0..mN that the moves 0..N represent the line that one needs to see to find it, there will be of course selectively moves in that sequence that might have been reduced somehow.

So if one takes care that in the 'hashtable' such sequence already gets searched deeper, by manually enforcing that sequence,
then the program 'learns' itself from hashtable sooner that move.

Now in chess this is easier than go currently, as the search method used is reductions,
but it'll come in go also.

Really effective is giving in the 'mainlines' of your opponent to be searched fully by a number of cores.

Yet again the only way to really detect this is by forcing reproduction of the moves by the tournament director. If a system can't reproduce enough of the great moves played, for whatever reason, bad luck.

For parallel systems that search total non-deterministic, there is also a simple lemma; the distribution of good/bad moves
should still be in proportion with the game.

Explanation: if a program plays 30 bizarre moves and 10 suspected strong moves a game, then of course when retrying the positions onto the program by the tournament director in case of an investigation, it again should produce 30 bizarre moves and 10 suspected strong moves. It cannot be the case that it produces 40 bizarre moves suddenly or 50 bizarre moves and 0 strong
moves, as that would add to the suspicion.

Statistics prove everything here.

For the coming years there is plenty of really strong go players around to judge quality. The big advantage of go over chess here is the huge number of moves that get played in 1 game.

Thanks,
Vincent

On Feb 2, 2009, at 11:25 AM, Nick Wedd wrote:

In message <262b2f900902010529r2ddec4afq31705bd9ccfda...@mail.gmail.com>, Erik van der Werf <erikvanderw...@gmail.com> writes

< snip >

Something else for the discussion. I would like to have a rule about
mandatory displaying the thinking process of the program so that both
operators have an idea of what is happening. Especially for remote
play I think this is needed because now it is just too trivial to
cheat.

I understand the need to try to avoid cheating. But I am sceptical about the effectiveness of this method.

1.) A neural net cannot explain its "thinking process" because it does not have any.

2.) It would still be too easy to cheat. The cheater could run a program which looks at the position and generates a plausible "display of its thinking process", while a professional player thinks and then tells it where to play. Then the program generates more "display of thinking process" tending to support the recommended move, before playing it.

<snip>

Nick
--
Nick Wedd    n...@maproom.co.uk
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to