Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: SAN v Coordinate v Long SAN

Author: Anthony Cozzie

Date: 05:04:35 06/11/04

Go up one level in this thread


On June 11, 2004 at 02:14:42, Russell Reagan wrote:

>On June 10, 2004 at 21:01:00, Anthony Cozzie wrote:
>
>>I am going to summarize my viewpoint here, and leave it at that.  Ultimately it
>>is your format, so you can do whatever you want with it.  I am just trying to
>>give you some advice.
>>
>>You have 3 options: SAN, Coordinate, and Long SAN
>>
>>SAN Advantages:          Easy for humans to read
>>SAN Disadvantages:       Relatively difficult to parse.  See epd.c.
>>
>>Coordinate Advantages:   Easy to parse (1 line).
>>Coordinate Disadvantage: Difficult for humans to read
>>
>>Long SAN Advantages:     Pretty easy for humans to understand
>>                         Easy to parse (1 line)
>>Long SAN Disadvantages:  2 extra characters over coordinate.
>
>
>This isn't really accurate, is it? Long algebraic is mostly the same static
>conversion that coordinate notation is, but what about checking moves? How about
>a discovered check? I think that requires some dynamic computing involving the
>board/movegen/make/undo, just like SAN. To get it right, I would end up making
>the move and seeing if the king is attacked after the move. Handling that
>statically seems very error prone.
>
>Of course I haven't implemented this particular notation. Is there another less
>complicated way to handle checks? If you have to implement a chess engine to
>parse long algebraic, then it is no better than SAN in that regard.
>
>
>>You and Russel say that no one is supposed to be reading these files.  I say why
>>go out of your way to make it hard?  Why throw away something that you can get
>>for free? I can think of any number of scenarios where it would be useful to
>>look in the file.  For example, Zappa makes a questionable move, so I go back
>>and grep for the move.  Then I can read score, ply, PV, etc.  I don't know about
>>you, but I can follow at least 8-10 ply of a PV if it is SAN.
>
>
>This isn't an advantage of using any notation over any other. You are
>arbitrarily most familiar with SAN, and so you could follow 8-10 moves in SAN.
>What if you had grown up using descriptive notation? Maybe the next guy can
>follow 20 moves of descriptive notation. Is that a reason supporting the use of
>it in a data standard?
>
>Also, remember that we are discussing one data standard here. We are not
>discussing the one notation that everyone must use from now on. If the standard
>adopts coordinate notation, does that prevent you from dumping out your own file
>with long algebraic notation?
>
>
>>I simply do not see any advantage to coordinate notation over long SAN.  Let me
>>make this clear: coordinate is not easier to parse for computers, but it is much
>>more difficult for humans to understand.  The *only* advantage of coordinate
>>notation that you save 2 bytes. Coordinate is not too bad when you have the
>>board in front of you, but when you are recalling something from memory it is
>>much worse.
>>
>>The (obvious) international solution is simply to allow any piece type.  You are
>>free to write Xf3xe5 Vd6-d5 or any other random characters you like.  The piece
>>letter is for the human.  The only issue is the promotion type, but you'll have
>>to worry about that anyway for coordinate notation.
>>
>>What it comes down to is this: is there _any_ point where coordinate is better
>>than Long SAN?
>>
>>anthony
>
>
>We just have different initial assumptions. I put simplicity above readability.
>You put readability above simplicity.
>
>It is very clear why we disagree based upon that. Watch.
>
>Higher numbers are better.
>
>Coordinate
>Simplicity  = 3
>Readability = 1
>
>SAN
>Simplicity  = 1
>Readability = 3
>
>Long Algebraic
>Simplicity  = 2
>Readability = 2
>
>I don't think human readability of the moves even matters, since the moves will
>be crammed in the middle of a dozen other lines of XML
>(http://www.talkchess.com/forums/1/message.html?369824). Effective readability
>for all move notations goes into the toilet for me in the middle of that kind of
>XML file.
>
>Since that is my stance, remove readability from the picture, and we have:
>
>Coordinate
>Simplicity  = 3
>
>SAN
>Simplicity  = 1
>
>Long Algebraic
>Simplicity  = 2
>
>And coordinate notation wins. At least, that explains why we disagree.
>
>If you can show that long algebraic is a static notation like coordinate
>notation, then I don't have any problem with it. I'm interested to find out how
>you handle the discovered check situation.


And this is where we disagree.  I claim coordinate notation is *not* simpler to
parse than Long SAN.

Coordinate parsing code in Zappa:

m = m_build(0,0,0,(str[0] - 'a') + (str[1] - '1')*8, (str[2] - 'a') + (str[3] -
'1')*8);
/* fill in piece/cap/promote types */

Long SAN parsing code in Zappa:
m = m_build(0,0,0,(str[1] - 'a') + (str[2] - '1')*8, (str[4] - 'a') + (str[5] -
'1')*8);
/* fill in piece/cap/promote types */

Discarding a + or # symbol is easy.

anthony



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.