EVERYTHING IS DERIVATIVE OF EVERYTHING...

General discussion about computer chess...
User avatar
Chris Whittington
Posts: 437
Joined: Wed Jun 09, 2010 6:25 pm

Re: EVERYTHING IS DERIVATIVE OF EVERYTHING...

Post by Chris Whittington » Wed Jun 30, 2010 9:43 pm

hyatt wrote:
Chris Whittington wrote:
hyatt wrote:
Chris Whittington wrote:
Fernando wrote:Something else:
the comparison that some pals here has made with writing books and music is wrong, I think. Both music and books are objects of art and for them applied different rules. The value of a piece of art is its entirety, its total shape as such and NOT,as in technical artifacts, an output.
If I take some technological commodities already known and I produce with them something capable of a better output you are doing what science and technology does and cannot but do.
A work of art is valuable by itself, not as an eventual tool for doing something better. Maths are tools, law of physics are a tool, a wheel is a tool, a piece of code is a tool.
Symphony 41 by Mozart is not. If you take a piece of it to write your own symphony, that is plagiarism. What I can take is music technique as such. I can use chromatic scales, B flat chords, etc. But I cannot take a piece of music from score 123 to 345.
In the case of chess programming, not because the code is "written" it is a piece of art like a chapter of Dostoevsky. It is a technical device that many times reproduces an already known device to get something done. Like bit boards, etc.
I agree that if you copy entirely the code clearly your are cloning., but if you take it just as a tool for something clearly different and even better, that is another ball game.

In any case a fussy issue

Fern
it is nothing like writing a book.

With a book, the author writes it and the reader sees what is written and interprets it.

With a program, the author writes it and the reader sees only the output. It would only be a book if the author published the entire source.

You are right btw, there's very little new under the sun
DO not agree with that reasoning. The author writes a program, and the reader _does_ interpret the program, with "a little help from an assistant known as a microprocessor." Or are you saying you can write a book, I can read it verbally and record it, and then sell the recording as an original work? Even if my "reading" is not always "word for word" but has some added expressiveness included?
the 'reader' interprets the OUTPUT of the program, everything else is hidden to him. And no, I am not saying the blah-blah you're asking me above.

Some programs have more artistic outputs than others. Some programs are more works of art than others. Mine for example ;-)

Of course, _some_ also intentionally obfuscate their output so that it is difficult to interpret. Fake node counts. Fake search depths. Etc. All in an attempt to hide the internal details. Others then look at the internal details to see what is going on. Sound familiar? :)
Commercial programmers, in particular, are always going to be inclined to bullshit - they have an incentive to keep their stuff secret. What you can't do is imply this is to cover plagiarism because it may just be simple wanting to maintain commercial advantage, or, it may be to deceive endusers that their program is somehow magical and has some USP (that Hiarcs plays humanlike is a piece of such nonsensical propaganda, of course).

Fake, fake, fake - didn't the university teach you to cross check claims? In biz, we die if we don't cross check, such is the tendency of people to lie to obtain pecuniary advantage.

User avatar
Bo Persson
Posts: 14
Joined: Thu Jun 10, 2010 10:34 am
Real Name: Bo Persson
Location: Malmö, Sweden

Re: EVERYTHING IS DERIVATIVE OF EVERYTHING...

Post by Bo Persson » Wed Jun 30, 2010 10:21 pm

Fernando wrote:Something else:
In the case of chess programming, not because the code is "written" it is a piece of art like a chapter of Dostoevsky. It is a technical device that many times reproduces an already known device to get something done. Like bit boards, etc.
I agree that if you copy entirely the code clearly your are cloning., but if you take it just as a tool for something clearly different and even better, that is another ball game.

In any case a fussy issue

Fern
Now you are insulting us programmers. :-)

The source code of a program is a written text, just like a book. The text is copyrighted, just like the book. Ideas and algorithms used in the program are not protected, just like the plot for, say, a detective story is not protected.

Just because Agatha Christie wrote a book about someone being murdered by poison doesn't stop me from writing another book on the same theme. Just because Bob Hyatt wrote a chess program using bitmaps doesn't stop me from writing another program using another set of bitmaps.

As it happens, there are differences showing that they are independent implementations of the same idea. Just like a detective story with "someone solving a mystery" has been done a zillion times, but with a different implementation. Different programs using independent implementations of some idea, will NOT look the same when disassembled. Not even close!

For the technically inclined:
I started to use rotated bitboards (after seeing what others did), but just happened to rotate them 0, 45, 90, and 135 degrees. Only later did I realize that Crafty used 0, 90, and +/- 45 degrees!

This is an example of where a "reused" idea can be independently implemented, and obviously not copied from the source of another program.

Fernando
Posts: 38
Joined: Thu Jun 10, 2010 1:34 am

Re: EVERYTHING IS DERIVATIVE OF EVERYTHING...

Post by Fernando » Thu Jul 01, 2010 2:59 am

Clearly no. Who am I to insult mighty programmers?
Just a writer.
I am just trying to say one thing: there are differences in the nature of the entire thing between a technical device as a program and a book or a quartet. They cannot be compared so easily. It is NOT the same to take a piece of a code and to take 5 chapters of a novel. It does not matter if the code is also written as a text.

my best

Fern

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: EVERYTHING IS DERIVATIVE OF EVERYTHING...

Post by hyatt » Thu Jul 01, 2010 3:51 am

Fernando wrote:Clearly no. Who am I to insult mighty programmers?
Just a writer.
I am just trying to say one thing: there are differences in the nature of the entire thing between a technical device as a program and a book or a quartet. They cannot be compared so easily. It is NOT the same to take a piece of a code and to take 5 chapters of a novel. It does not matter if the code is also written as a text.

my best

Fern

I have seen this argument posed forever. Take a university that is trying to standardize promotion and tenure guidelines (this happened at the previous university I worked at, and is going to be an issue where I work now sooner rather than later). How do you compare a paper published in a refereed journal with a paper published in a difficult-to-get-in conference, vs a musical arrangement in the music department, to a screen-play in a drama department, to a short or long story (work of fiction), to a book on some topic, to a computer program that accomplishes some significant task? It is either not as easy as you might think, or not as hard as you might think, depending on perspective. But people can and do compare programs to arrangements to books, all the time.

Copying something someone else wrote, and calling it your own original work is called plagiarism, whether you copy a paper, a paragraph, a piece of music, or a program... That much is clear. Which is worse might be a point to argue, but not if it is wrong at all.

Hood
Posts: 200
Joined: Thu Jun 10, 2010 2:36 pm
Real Name: Krzych C.

Re: EVERYTHING IS DERIVATIVE OF EVERYTHING...

Post by Hood » Sat Jul 03, 2010 1:21 pm

Hi,

for ( i = 19; i < 25 ; i++)
putc(i);

Can we patent such an elementary construction or even more complicated? I do not think so.
There is the problem to define the minimal construction not allowed to copy.
Is i++ equivalent to ++i?

There are much more complicated procedures which are now library functions. It is possible that many parts of the chess programms will get librarian functions. It is way how technology, technic is developing.

It is difficult to compare the robot with the music. Programm is the device, easy to copy :-( that is the problem.
We can compare the programm with the physics rule discovered, rather.

rgds Hood
Smolensk 2010. Murder or accident... Cui bono ?

There are not bugs free programms. There are programms with undiscovered bugs.
Alleluia.

Fernando
Posts: 38
Joined: Thu Jun 10, 2010 1:34 am

Re: EVERYTHING IS DERIVATIVE OF EVERYTHING...

Post by Fernando » Sun Jul 04, 2010 9:06 pm

Take note, Bob, That I am NOT talking of a full copy as you putted in your post. That is plagiarism. I am talking of doing what probably you yourself has done, say, take some bits here and there as parts of the collective enterprise science and technology is in order to make something even better fopr other to do the same as in fact happens with CRAFTY.
That not only is possible, but it is done all the time.
On the contrary, you cannot take 23 scores of a Mozart quartet to do something betters. As you see, is another ball game because the quartet or the novel are pieces of art, not of a collective endeavor.


fern

User avatar
Chris Whittington
Posts: 437
Joined: Wed Jun 09, 2010 6:25 pm

Re: EVERYTHING IS DERIVATIVE OF EVERYTHING...

Post by Chris Whittington » Sun Jul 04, 2010 10:06 pm

Fernando wrote:Take note, Bob, That I am NOT talking of a full copy as you putted in your post. That is plagiarism. I am talking of doing what probably you yourself has done, say, take some bits here and there as parts of the collective enterprise science and technology is in order to make something even better fopr other to do the same as in fact happens with CRAFTY.
That not only is possible, but it is done all the time.
On the contrary, you cannot take 23 scores of a Mozart quartet to do something betters. As you see, is another ball game because the quartet or the novel are pieces of art, not of a collective endeavor.


fern
these "bits here and there as parts of the collective enterprise science and technology" are what I would chunks of chess program. Every programmer needs to do a bunch of the same things, scan on a file for another pawn to see if pawn is doubled, scan the adjacent files to see if pawn is isolated, scan the 8 squares round the king for attacks etc. etc. etc.

there are chunks which could be called components of AI, add a penalty if pawn doubled after scan finds another pawn on file etc.

there are chunks which are hardly intelligent but are there forced by the rules of chess, add a constant to the knight position to detect if it can move to that square etc.

these chunks are usually a bit bigger than what Hood refers to above as in
for ( i = 19; i < 25 ; i++)
putc(i);
and which he claims rightly is not copyrightable.

Now I think Bob and Zach's great flaw concerns these chunks. They've constructed a witches ducking stool, guilty if you float, guilty if you drown, and called it Functional Equivalence.

Even if a programmer (Vas of course in this case) takes a chunk and rewrites it, or uses even more wildly different, a lookuptable. but however he takes the chunk and writes code to do the function, the Bob/Zach line is "Functionally Equivalent", therefore guilty.

But what could Vas do to make a chunk, any chunk different in their world? Nothing, they have him in all variations with the Witchfinder Tool, Functional Equivalence.

And you're right, it is because of the "parts of the collective enterprise of Science/Technology", and its difference to your Mozart Quartet. Well spotted.

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: EVERYTHING IS DERIVATIVE OF EVERYTHING...

Post by hyatt » Sun Jul 04, 2010 10:41 pm

Fernando wrote:Take note, Bob, That I am NOT talking of a full copy as you putted in your post. That is plagiarism. I am talking of doing what probably you yourself has done, say, take some bits here and there as parts of the collective enterprise science and technology is in order to make something even better fopr other to do the same as in fact happens with CRAFTY.
That not only is possible, but it is done all the time.
On the contrary, you cannot take 23 scores of a Mozart quartet to do something betters. As you see, is another ball game because the quartet or the novel are pieces of art, not of a collective endeavor.


fern

A couple of points.

(1) there are exactly three parts of Crafty that might appear in other programs. (a) EGTB probing. Eugene Nalimov wrote this code, and in fact Crafty was the program he used to develop egtb.cpp. I worked with him extensively in trying to determine optimal blocksize for compression and such. This code first appeared in Crafty, and then in other programs. I didn't write it and have always given credit to him in the Crafty comments and if I post about that topic. (b) magic move generation by Pradu. Others also use this code. And in my case, once again I attribute that code to Pradu by mention in the comments and when I post about the subject. (c) the EPD code written by Steven Edwards. He developed an "EPD kit" that anyone can use, then he ported it to Crafty as a demonstration. I have always cited him as the source of that code, and in fact his name appears in the comments of all of that code that he wrote. There is no other code that appears in Crafty that was taken from another program. It is certainly possible that code in Crafty appears in other programs. The old rotated bitboard stuff was used by quite a few, for example. But nothing else.

(2) for your second point, do you think it would be ok to take 8 bars from, say, Stars and Stripes Forever, another 8 bars from "The Marine Hymn", another 8 bars from whatever, and create a fast-paced medley? I don't think that would come anywhere near passing the "smell test" with respect to copyright laws.

(3) In the Rybka/Fruit case, there is more than just a piece here and there, which is the problem.

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: EVERYTHING IS DERIVATIVE OF EVERYTHING...

Post by hyatt » Sun Jul 04, 2010 10:50 pm

Chris Whittington wrote:
Fernando wrote:Take note, Bob, That I am NOT talking of a full copy as you putted in your post. That is plagiarism. I am talking of doing what probably you yourself has done, say, take some bits here and there as parts of the collective enterprise science and technology is in order to make something even better fopr other to do the same as in fact happens with CRAFTY.
That not only is possible, but it is done all the time.
On the contrary, you cannot take 23 scores of a Mozart quartet to do something betters. As you see, is another ball game because the quartet or the novel are pieces of art, not of a collective endeavor.


fern
these "bits here and there as parts of the collective enterprise science and technology" are what I would chunks of chess program. Every programmer needs to do a bunch of the same things, scan on a file for another pawn to see if pawn is doubled, scan the adjacent files to see if pawn is isolated, scan the 8 squares round the king for attacks etc. etc. etc.

there are chunks which could be called components of AI, add a penalty if pawn doubled after scan finds another pawn on file etc.

there are chunks which are hardly intelligent but are there forced by the rules of chess, add a constant to the knight position to detect if it can move to that square etc.

these chunks are usually a bit bigger than what Hood refers to above as in
for ( i = 19; i < 25 ; i++)
putc(i);
and which he claims rightly is not copyrightable.

Now I think Bob and Zach's great flaw concerns these chunks. They've constructed a witches ducking stool, guilty if you float, guilty if you drown, and called it Functional Equivalence.

Even if a programmer (Vas of course in this case) takes a chunk and rewrites it, or uses even more wildly different, a lookuptable. but however he takes the chunk and writes code to do the function, the Bob/Zach line is "Functionally Equivalent", therefore guilty.

But what could Vas do to make a chunk, any chunk different in their world? Nothing, they have him in all variations with the Witchfinder Tool, Functional Equivalence.

And you're right, it is because of the "parts of the collective enterprise of Science/Technology", and its difference to your Mozart Quartet. Well spotted.

You can believe that if you want. But for me, 40+ years of looking at student assignments has shown that this simply does not happen in the real world. It would be easier if you just took a few open-source programs and compared something. Say the evaluations. Just look at how different they are. Some do some work incrementally. Some do it all at the point where they need it. Some do a bit here and a bit there, some do it all in one place. Some hash it, some don't. Some index into tables, some do computation. The variety is significant. If two evaluations look very similar, something is up. And it isn't the price of gas.

slobo
Posts: 36
Joined: Sun Jun 13, 2010 2:09 am

Re: EVERYTHING IS DERIVATIVE OF EVERYTHING...

Post by slobo » Thu Jul 08, 2010 4:45 pm

Nice discussion. Go on, please.
NIce to see both of you again.

Post Reply