For ACCA/ACCL computer chess tournaments and many other online computer chess tournaments, kibitzing the PV and associated info is a requirement. This rule helps ensure that no engine is being faked either by human assistance or by a cloned or commercial engine impersonating the announced engine. For the sake of others, please keep it to a reasonable length. Kibitzing is not required during pondering, just during the search process for the move presently at your engines decision.
The information required is as follows (order not specified):
Kibitzing the PV is fairly easy. Most engines print the PV as they run their main search already. To kibitz the PV and PV info just put an extra output statement in the program at the same place as your current PV output. I'd put an extra if statement around it so that this is only done when you turn kibitzing on. (You don't want this on against humans!) I use a simple command line parameter as input to my programs for this.
In order to get the kibitz command to a chess server, one has to wrap the tellics (literally "tell ICS") command around it. The
string will look something like this:
tellics kibitz ply=8 value=120 t=500 N=1000000 NPS=200000 e2e4 e7e5 Nf3 Nc6 Bc4 Bc5 Nc3 Nf6
The command will look something like the following:
cout << "tellics kibitz ply=" << ply << " value= " << value << " t=" << timeused << " N=" << TotalNodes << " NPS=" << nodespersecond << " " << PVSTRING << "\n";
printf("tellics kibitz ply=%d value=%d t=%d N=%d NPS=%d %s\n",ply,value,timeused,TotalNodes,nodespersecond,PVString);
The rule reads: "You may kibitz a few plies before the final ply, but keep it to a minimum .....". You are not required to output more than the last PV.
Personally, I only kibitz the final move, but some prefer more. Too much blocks all the chatter on the computer discussion channel that most of us prefer to participate in. Trying to balance these two constraints creates some gotchas. The issues stem from the time control being Game in T.
These issues lead us to a heuristic: start kibitzing when half the time per move is consumed. This should work well and you may adjust it.