Author: José Carlos
Date: 14:32:40 08/24/05
Go up one level in this thread
On August 24, 2005 at 12:34:41, Rolf Tueschen wrote:
>Good critic, but re-think it a bit please. Of course I couldn't give a
>mathematical formula. I would say that the based on and lack of own creativity
>is important but of course only visible to the experts.
Is it? That might be the key, then. Let's pick two names of well known experts
in the field: Bob and Ed. Now given any source code, will they always agree on
which ones are clones? If so, they could probably explain us non experts but
with a good knowledge in what criteria they base their opinions. Moreover, if
many experts agree, we could be able to build an expert system similar to those
of medicine and industry which give independent and objective expert opinions.
But I'm afraid they would not always agree, and so, we'd still be at the
starting point.
>You ask if it's already in direction of cloning if you copy Alpha-Beta. I say
>yes. But that alone wouldn't allow the verdict clone but it's a beginning. If
>then the next 14 features are simply added without own creativity then it's
>cloning. If however something is added of its own THEN the copying from before
>is just a basing on forefathers which alone isn't leading to clones. But it's
>leading there if nothing else is invented.
Evolution is inventing over well settled knowledge. I would say Alpha Beta, as
well as the many other features Tord gave can be considered settled knowledge,
so we could use it to create something new on top of them. But two points arise:
- Implementation: I'm suposed to implement those ideas on my own, but some of
them, if not all, have little margin to "my own". Alpha Beta, as an example, is
something like:
// (don't try to run it; it'll sure have bugs :)
int search(alpha,beta,depth)
{
int value;
int best = -INFINITY;
if (depth == 0)
return(eval());
for (all_moves)
{
value = - search(-beta,-alpha,depth-1);
if (value >= beta)
return(beta);
if (value > alpha)
best = alpha = value;
}
return(best);
}
I can implement tras/ref tables, null move and many other things around alpha
beta, but the plain algorithm is so, and most people will implement it like
that.
- New inventions are always smaller: someone invents the wheel; thanks to
existing the wheel, someone invents the car; later, someone invents the
engine... Every new invention is smaller compared to the knowledge where it is
build on. So it becomes more and more difficult to be creative. And less
productive. An example: my first implementation of a book for Averno consisted
in loading the book into the hash table with a special depth, so that I saved
coding book access. Creative, but stupid. I had to trow it out and implement a
normal book, like most other programs have.
>Your arguments are a bit unclear to me. You want a formula but you are convinced
>that there can't be a formula. This is at least a contradiction in itself.
Not exactly convinced, but pessimistic. I hope someone will prove me wrong,
but I don't hold my breath.
>You don't address what others here have said: that the copying of an idea with
>completely new coding wold be allowed and would not allow the reproach of
>cloning. That is wrong IMO - to give just one example.
It can't be wrong, or otherwise there would be no point in releasing source
code. I think people release source code to help other people learning how a
chess program works. There're other motivations, of course, like expecting
people to contribute finding bugs or improving code, but I don't think those
other motivations are the main point in releasing source code.
From that point of view, if I show you how to implement null move, how would
it make sense if later I'd forbid you to implement it?
>Finally I find our debates very promising although we haven't found yet the
>final definition. But I wouldn't dream of that I could find the last word of
>that debate. Let's better continue step by step.
As I said, I'm pessimistic about finding the "magic formula", but maybe we can
get to something useful.
José C.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.