Jazz 640 released

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

Moderator: Ras

User avatar
Jim Ablett
Posts: 2519
Joined: Fri Jul 14, 2006 7:56 am
Location: London, England
Full name: Jim Ablett

Re: Jazz 640 released

Post by Jim Ablett »

Evert wrote:
geots wrote:One problem I have noticed is in Jazz's evaluation of positions. If Jazz is playing white, in each thinking line- no matter the position- he shows 0.01 as the evaluation. Never changes. When he plays black- his evaluation is always -0.01- all the way thru the game in every thinking line. He was ahead- his opponent was white and showed -8.25. But Jazz still showed -0.01. Never changed- even when his opponent resigned. I do not know if he just doesn't show it, or if he even actually knows what the position should be evaluated as.
Again, this sounds weird. Jazz should definitely output normal scores and PVs. Once again, would it be possible to get a logfile to monitor the engine <---> GUI communication?

Jazz sends its pv, you can see it it console mode, but it's not received and displayed by the gui. (Arena & Fritz)

Jazz:

Code: Select all

info depth 10 score cp 23 nodes 313762 time 2296 hashfull 44
info pv e2e4 d7d5 e4e5 c8f5 d2d4 e7e6 f1b5 c7c6 b5d3 f8e7 d3f5 e6f5
info currmove e2e4
Fruit:

Code: Select all

info depth 12 seldepth 28 score cp 10 time 2625 nodes 1684697 pv g1f3 b8c6 b1c3
g8f6 d2d4 d7d5 f3e5 c8f5 e5c6 b7c6 c1f4 a8b8 b2b3
info currmove b1c3 currmovenumber 2
Jim.
User avatar
geots
Posts: 4790
Joined: Sat Mar 11, 2006 12:42 am

Re: Jazz 640 released

Post by geots »

Jim Ablett wrote:
Evert wrote:
geots wrote:One problem I have noticed is in Jazz's evaluation of positions. If Jazz is playing white, in each thinking line- no matter the position- he shows 0.01 as the evaluation. Never changes. When he plays black- his evaluation is always -0.01- all the way thru the game in every thinking line. He was ahead- his opponent was white and showed -8.25. But Jazz still showed -0.01. Never changed- even when his opponent resigned. I do not know if he just doesn't show it, or if he even actually knows what the position should be evaluated as.
Again, this sounds weird. Jazz should definitely output normal scores and PVs. Once again, would it be possible to get a logfile to monitor the engine <---> GUI communication?

Jazz sends its pv, you can see it it console mode, but it's not received and displayed by the gui. (Arena & Fritz)

Jazz:

Code: Select all

info depth 10 score cp 23 nodes 313762 time 2296 hashfull 44
info pv e2e4 d7d5 e4e5 c8f5 d2d4 e7e6 f1b5 c7c6 b5d3 f8e7 d3f5 e6f5
info currmove e2e4
Fruit:

Code: Select all

info depth 12 seldepth 28 score cp 10 time 2625 nodes 1684697 pv g1f3 b8c6 b1c3
g8f6 d2d4 d7d5 f3e5 c8f5 e5c6 b7c6 c1f4 a8b8 b2b3
info currmove b1c3 currmovenumber 2
Jim.





Thank you, Jim. I can't remember exactly, but that is at least the 5000th time you have saved the day. So if it shows it there, then it is aware of it- and that is all that really matters.



Best (and thanks again),

george
User avatar
hgm
Posts: 28507
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Jazz 640 released

Post by hgm »

Jim Ablett wrote:Jazz sends its pv, you can see it it console mode, but it's not received and displayed by the gui. (Arena & Fritz)

Jazz:

Code: Select all

info depth 10 score cp 23 nodes 313762 time 2296 hashfull 44
info pv e2e4 d7d5 e4e5 c8f5 d2d4 e7e6 f1b5 c7c6 b5d3 f8e7 d3f5 e6f5
info currmove e2e4
Fruit:

Code: Select all

info depth 12 seldepth 28 score cp 10 time 2625 nodes 1684697 pv g1f3 b8c6 b1c3
g8f6 d2d4 d7d5 f3e5 c8f5 e5c6 b7c6 c1f4 a8b8 b2b3
info currmove b1c3 currmovenumber 2
Jazz is non-compliant with the UCI standard, which specifies that all infos belonging to the PV should be output in the same info command.
User avatar
geots
Posts: 4790
Joined: Sat Mar 11, 2006 12:42 am

Re: Jazz 640 released

Post by geots »

hgm wrote:
Jim Ablett wrote:Jazz sends its pv, you can see it it console mode, but it's not received and displayed by the gui. (Arena & Fritz)

Jazz:

Code: Select all

info depth 10 score cp 23 nodes 313762 time 2296 hashfull 44
info pv e2e4 d7d5 e4e5 c8f5 d2d4 e7e6 f1b5 c7c6 b5d3 f8e7 d3f5 e6f5
info currmove e2e4
Fruit:

Code: Select all

info depth 12 seldepth 28 score cp 10 time 2625 nodes 1684697 pv g1f3 b8c6 b1c3
g8f6 d2d4 d7d5 f3e5 c8f5 e5c6 b7c6 c1f4 a8b8 b2b3
info currmove b1c3 currmovenumber 2
Jazz is non-compliant with the UCI standard, which specifies that all infos belonging to the PV should be output in the same info command.


Thanks HG- I read, listen and learn a lot from you and Jim.



Best,

george
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Jazz 640 released

Post by Evert »

geots wrote: It does bring up an interesting point. For many situations- not all- but many- is a correct evaluation necessary!?
No. All that's needed is that positions that are better are scored as better.
In fact, there are situations where the evaluation is almost certainly wrong: there are a number of factors that are recognised as making an end game "drawish". In those situations the score is simply divided by a constant to bring it closer to 0, which is probably not "correct", but does have the desired effect that the engine will avoid those positions if it is ahead (and aims for a win) or will seek them out if it is behind (and aims for a draw).
Is he evaluating correctly per situation- and just not showing it- or does he just not have the ability to evaluate it?
It's the communication with the GUI that is the problem.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Jazz 640 released

Post by Evert »

hgm wrote: Jazz is non-compliant with the UCI standard, which specifies that all infos belonging to the PV should be output in the same info command.
Ah, thanks for spotting that!
As I said before, it's been years since I actually worked on the UCI code and I think it worked ok back in the day under Sigma Chess (and maybe under XBoard through Polyglot).

Shouldn't be hard to fix. In the mean time, the XBoard version should work correctly...
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Jazz 640 released

Post by Evert »

Evert wrote:Shouldn't be hard to fix. In the mean time, the XBoard version should work correctly...
Ok, fixed it locally, so it should make it into the next release. I'll upload a source archive with the fix in it in a minute or so under the same version number.
User avatar
geots
Posts: 4790
Joined: Sat Mar 11, 2006 12:42 am

Re: Jazz 640 released

Post by geots »

Evert wrote:
geots wrote: It does bring up an interesting point. For many situations- not all- but many- is a correct evaluation necessary!?
No. All that's needed is that positions that are better are scored as better.
In fact, there are situations where the evaluation is almost certainly wrong: there are a number of factors that are recognised as making an end game "drawish". In those situations the score is simply divided by a constant to bring it closer to 0, which is probably not "correct", but does have the desired effect that the engine will avoid those positions if it is ahead (and aims for a win) or will seek them out if it is behind (and aims for a draw).
Is he evaluating correctly per situation- and just not showing it- or does he just not have the ability to evaluate it?
It's the communication with the GUI that is the problem.



Thanks Evert. Like I told Jim as you can see, as long as it knows the correct evaluation that is all that counts. In your favor, Jazz does show one hell of a lot more than Lance seems to want Thinker to show.


Best,

gts
User avatar
Jim Ablett
Posts: 2519
Joined: Fri Jul 14, 2006 7:56 am
Location: London, England
Full name: Jim Ablett

Re: Jazz 640 released

Post by Jim Ablett »

Evert wrote:
Evert wrote:Shouldn't be hard to fix. In the mean time, the XBoard version should work correctly...
Ok, fixed it locally, so it should make it into the next release. I'll upload a source archive with the fix in it in a minute or so under the same version number.

How about showing nodes per sec too.

Code: Select all

int elapsed_time;
     double nps;

	 elapsed_time = get_timer() - start_time;

	 nps = (double)moves_searched / (double)elapsed_time;
	 nps *= (1000000);

     uci("info nps %d ",(int)nps);

	 
      uci("info depth %d seldepth %d score cp %d time %d nodes %d hashfull %d ", depth+1, max_depth,
         score[best_move], peek_timer(game), 
		 moves_searched,min(1000, game->transposition_table->write_count*1000/game->transposition_table->number_of_elements));
  
Jim.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Jazz 640 released

Post by Evert »

Sure. I've applied the following patch:

Code: Select all

Index: src/computer/computer.c
===================================================================
--- src/computer/computer.c	(revision 648)
+++ src/computer/computer.c	(working copy)
@@ -687,6 +687,8 @@
       print_iter("\n");
 #endif
 
+      uci("info nps %lld\n", 1000000ll*moves_searched / (get_timer() - 1 - start_time));
+
       uci("info depth %d score cp %d nodes %d time %d hashfull %d ", depth+1,
          score[best_move], moves_searched, peek_timer(game), min(1000, game->transposition_table->write_count*1000/game->transposition_table->number_of_elements));
 
Thanks!