book building for A using B

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

book building for A using B

Post by BubbaTough »

In another thread which I did not feel like contributing to Bob made an interesting claim:
_nobody_ would test a book using program A, and then actually use that book with program B.
It seems to me that this issue boils down to book making philosophy. If you are trying to sculpt a book that your particular engine is really good with, yes, you want to use your own engine results to help tune your book. On the other hand, if you want your book to contain the best theoretical positions independent of whether your program is good at playing those positions, you want to use the best available engine (Rybka currently) to help with your book.

I have never been in the book building business (except for in an automated sense) but I am curious, do book builders generally only use their own programs, or do they often use other engines like Rybka?

-Sam
Audmeister
Posts: 135
Joined: Sun Jun 01, 2008 9:38 am

Re: book building for A using B

Post by Audmeister »

I think most book builders use Rybka to build or tune their books. But in my case, if I have a game where TwistedLogic defeats a stronger opponent such as Naum or Rybka, then I also use that game to tune the book since those moves are for Twisted's playing style. And those are the games that are more important to me for the book.

Theoretically, using Rybka to tune your book would be best, reason being that it is the best available engine out there. Thats why when I do play my newly constructed book with Rybka and it loses to a weaker opponent, then that means that something is wrong with that line...
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: book building for A using B

Post by michiguel »

Audmeister wrote:I think most book builders use Rybka to build or tune their books. But in my case, if I have a game where TwistedLogic defeats a stronger opponent such as Naum or Rybka, then I also use that game to tune the book since those moves are for Twisted's playing style. And those are the games that are more important to me for the book.

Theoretically, using Rybka to tune your book would be best, reason being that it is the best available engine out there. Thats why when I do play my newly constructed book with Rybka and it loses to a weaker opponent, then that means that something is wrong with that line...
How do you know it was a weaker opponent? it could have been an account that was using Rybka without telling you. ;-)

Miguel
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: book building for A using B

Post by BubbaTough »

michiguel wrote:
Audmeister wrote:I think most book builders use Rybka to build or tune their books. But in my case, if I have a game where TwistedLogic defeats a stronger opponent such as Naum or Rybka, then I also use that game to tune the book since those moves are for Twisted's playing style. And those are the games that are more important to me for the book.

Theoretically, using Rybka to tune your book would be best, reason being that it is the best available engine out there. Thats why when I do play my newly constructed book with Rybka and it loses to a weaker opponent, then that means that something is wrong with that line...
How do you know it was a weaker opponent? it could have been an account that was using Rybka without telling you. ;-)

Miguel
Hehe, nice one Miguel :lol:. Are there any other book builders out there that want to reveal their technique? I know humans use a lot of Rybka in their "book" preparation, I am curious if computer book builders are different.

-Sam
CRoberson
Posts: 2094
Joined: Mon Mar 13, 2006 2:31 am
Location: North Carolina, USA

Re: book building for A using B

Post by CRoberson »

Audmeister wrote: Theoretically, using Rybka to tune your book would be best, reason being that it is the best available engine out there.
I say wrong. Tuning for Rybka could easily hurt and engine's performance assuming that the engine has a different personality/style
from Rybka. There are many positions that Rybka will play well and other programs will not assuming they are not Rybka clones.
Thus, it does an engine no good to end up in a position that it can not play well regardless of how well Rybka plays that position.

As far as finding bad positions goes, yes, Rybka losing to weak opponents says its possibly a bad position. Then you also end up with
positions that only Rybka can play well which is not what you should want.
Edsel Apostol
Posts: 803
Joined: Mon Jul 17, 2006 5:53 am
Full name: Edsel Apostol

Re: book building for A using B

Post by Edsel Apostol »

CRoberson wrote:
Audmeister wrote: Theoretically, using Rybka to tune your book would be best, reason being that it is the best available engine out there.
I say wrong. Tuning for Rybka could easily hurt and engine's performance assuming that the engine has a different personality/style
from Rybka. There are many positions that Rybka will play well and other programs will not assuming they are not Rybka clones.
Thus, it does an engine no good to end up in a position that it can not play well regardless of how well Rybka plays that position.

As far as finding bad positions goes, yes, Rybka losing to weak opponents says its possibly a bad position. Then you also end up with
positions that only Rybka can play well which is not what you should want.
Lines that Rybka favored have more chance to win than lines favored by let's say an engine around 2500 elo. Claiming that there will be a conflict of playing style is just an assumption. If you end up in a winning position favored by the best engine out there and your engine loses that game, then it is not the book to blame but the engine, because it was playing crap on a winning position.

Our goal is to have the best book and not to have the book at the level of our engine. Our engine is not that strong yet so we are not that confident in tuning with it for now.

My theory is that when you tune your book to your engine, the quality of the book will only reach the quality of your engine. If your engine is only 2500, the book will only reach that level. We are not trying to have the book at our engine's level. We want a book that is something better than that.

It has worked in our engine, it might not work for you. My another theory is that at the top, I mean engines within 250 elo of the best engine, most of those engines would agree that a winning line is a winning line. Therefore tuning with Rybka will only be feasible if you are somewhere within 250 elo of Rybka. If your engine is way out of that league, then tuning for your own engine's quirkiness might give you better results.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: book building for A using B

Post by bob »

BubbaTough wrote:In another thread which I did not feel like contributing to Bob made an interesting claim:
_nobody_ would test a book using program A, and then actually use that book with program B.
It seems to me that this issue boils down to book making philosophy. If you are trying to sculpt a book that your particular engine is really good with, yes, you want to use your own engine results to help tune your book. On the other hand, if you want your book to contain the best theoretical positions independent of whether your program is good at playing those positions, you want to use the best available engine (Rybka currently) to help with your book.

I have never been in the book building business (except for in an automated sense) but I am curious, do book builders generally only use their own programs, or do they often use other engines like Rybka?

-Sam

I'd be willing to bet that 99% of book building is done with "own engine". Otherwise you choose lines that are good for the other engine, but not for yours. This is how it has been done since early computer chess days...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: book building for A using B

Post by bob »

Audmeister wrote:I think most book builders use Rybka to build or tune their books. But in my case, if I have a game where TwistedLogic defeats a stronger opponent such as Naum or Rybka, then I also use that game to tune the book since those moves are for Twisted's playing style. And those are the games that are more important to me for the book.

Theoretically, using Rybka to tune your book would be best, reason being that it is the best available engine out there. Thats why when I do play my newly constructed book with Rybka and it loses to a weaker opponent, then that means that something is wrong with that line...
It can _easily_ mean that the line is just one Rybka misplays, while another program (yours) may do quite well with it. Rybka is a long way from perfection. Do you think that Kasparov would let someone create a set of opening lines for him by playing games themselves? I don't.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: book building for A using B

Post by bob »

BubbaTough wrote:
michiguel wrote:
Audmeister wrote:I think most book builders use Rybka to build or tune their books. But in my case, if I have a game where TwistedLogic defeats a stronger opponent such as Naum or Rybka, then I also use that game to tune the book since those moves are for Twisted's playing style. And those are the games that are more important to me for the book.

Theoretically, using Rybka to tune your book would be best, reason being that it is the best available engine out there. Thats why when I do play my newly constructed book with Rybka and it loses to a weaker opponent, then that means that something is wrong with that line...
How do you know it was a weaker opponent? it could have been an account that was using Rybka without telling you. ;-)

Miguel
Hehe, nice one Miguel :lol:. Are there any other book builders out there that want to reveal their technique? I know humans use a lot of Rybka in their "book" preparation, I am curious if computer book builders are different.

-Sam
This is a naive statement. Humans use Rybka to tactically analyze specific variations. I don't think a human just says "OK, Rybka plays this series of moves, so I am going to mimic that exactly.

If you really get into building a sophisticated book, you had _better_ use the engine that is going to use the book. Otherwise, disasters are right around the corner.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: book building for A using B

Post by bob »

Edsel Apostol wrote:
CRoberson wrote:
Audmeister wrote: Theoretically, using Rybka to tune your book would be best, reason being that it is the best available engine out there.
I say wrong. Tuning for Rybka could easily hurt and engine's performance assuming that the engine has a different personality/style
from Rybka. There are many positions that Rybka will play well and other programs will not assuming they are not Rybka clones.
Thus, it does an engine no good to end up in a position that it can not play well regardless of how well Rybka plays that position.

As far as finding bad positions goes, yes, Rybka losing to weak opponents says its possibly a bad position. Then you also end up with
positions that only Rybka can play well which is not what you should want.
Lines that Rybka favored have more chance to win than lines favored by let's say an engine around 2500 elo. Claiming that there will be a conflict of playing style is just an assumption. If you end up in a winning position favored by the best engine out there and your engine loses that game, then it is not the book to blame but the engine, because it was playing crap on a winning position.

Our goal is to have the best book and not to have the book at the level of our engine. Our engine is not that strong yet so we are not that confident in tuning with it for now.

My theory is that when you tune your book to your engine, the quality of the book will only reach the quality of your engine. If your engine is only 2500, the book will only reach that level. We are not trying to have the book at our engine's level. We want a book that is something better than that.

It has worked in our engine, it might not work for you. My another theory is that at the top, I mean engines within 250 elo of the best engine, most of those engines would agree that a winning line is a winning line. Therefore tuning with Rybka will only be feasible if you are somewhere within 250 elo of Rybka. If your engine is way out of that league, then tuning for your own engine's quirkiness might give you better results.
This is simply a mistake and it is easy to see why. Suppose Rybka does better in certain types of openings, such as QGD, or black against the Ruy Lopze, because its evaluation is better than yours. If you play the openings it plays best, you get into lines where you play something like g6/Bg7, but don't realize how critical that Bg7 is. You trade it away, get attacked, and lose. Rybka, knowing that if you play Bg7 you had better hang on to it, doesn't make that mistake. Why would you possibly want to play opening systems that your program mishandles? That's not the way Kure, Noomen, et. al. prepare their books. They specifically search for lines where the program they are supporting does well. It is the only way that makes sense.