XGID=-AADBA--------------------:0:0:1:51:0:0:0:0:10
"Invalid position! The position cannot be imported....
issue a *warning* (not an *error*) that the position is
invalid, but then go ahead and produce the position
"Invalid position! The position cannot be imported. TheXG isn't perfect. It doesn't complain about this: XGID=aCCBBBB------------ccbbbbA:0:0:-1:51:0:0:0:0:10
source was not properly formatted." But the XGID was generated
by XG itself, so it's a little bizarre that it would complain
that the string is "not properly formatted."
I was looking at an old thread today in which I posted the
position below. X has 1 checker on his 5pt, 2 checkers on
his 4pt, 4 checkers on his 3pt, 1 checker on his 2pt, and
1 checker on his 1pt. O has borne off all checkers.
XGID=-AADBA--------------------:0:0:1:51:0:0:0:0:10
Score is X:0 O:0. Unlimited Game
+13-14-15-16-17-18------19-20-21-22-23-24-+
| | | |
| | | |
| | | |
| | | |
| | | |
| |BAR| |
| | | |
| | | X |
| | | X |
| | | X X |
| | | X X X X X |
+12-11-10--9--8--7-------6--5--4--3--2--1-+
Pip count X: 28 O: 0 X-O: 0-0
Cube: 1
X to play 51
eXtreme Gammon Version: 2.19.211.pre-release
The position is "illegal" in the sense that it could never
arise in a real game; after O has borne off all her checkers,
the game is over, and X would not roll the dice. But what I
found interesting is that when I tried to copy and paste the
above XGID into XG, it gave the following error message:
"Invalid position! The position cannot be imported. The
source was not properly formatted." But the XGID was generated
by XG itself, so it's a little bizarre that it would complain
that the string is "not properly formatted."
Arguably the "correct" behavior in this sort of situation is
to issue a *warning* (not an *error*) that the position is
invalid, but then go ahead and produce the position anyway.
...Arguably the "correct" behavior in this sort of situation isI think that it is actually inarguable that your suggested behaviour
to issue a *warning* (not an *error*) that the position is
invalid, but then go ahead and produce the position anyway.
is the best behaviour; I can't imagine a sensible disagreement with that. However, there's the obvious matter of prioritization -- there are far
bigger issues for XG programmers to attend to.
I think that it is actually inarguable that your suggested behaviour
is the best behaviour; I can't imagine a sensible disagreement with that. However, there's the obvious matter of prioritization -- there are far
bigger issues for XG programmers to attend to.
An invalid position is one that makes no conceptual sense in the ordinary context of a backgammon game. So your position is indeed invalid, because it's not clear what rolling after a player has already removed all their checkers
really means.
An illegal position is, by definition, one that can't be reached, but it may (or may not) make sense.
Simon's position is clearly illegal, but I'm not sure whether I'd call it "invalid" or not.
To get a clearer example of a position which is clearly valid but clearly illegal,
consider the position with all 30 checkers on the bar, and where there is no doubt
which player is on roll. A perfectly normal backgammon game can be played from this
position so there is no invalidity, but it's illegal because no possible previous roll exists.
In any case, what I found odd about the example that I began this thread
with is that XG allowed me to set up the position and *itself generated
the XGID in question*, but then rejected it as invalid. An analogy that comes to mind is that I fill out a government application for some form
of government ID, and the government accepts the application and issues
me an ID card, but then the moment I try to use it, the government
rejects the card as invalid. If they regard the card as invalid, then
why did they go ahead and issue it in the first place?
On 12/3/2022 5:14 AM, peps...@gmail.com wrote:
I think that it is actually inarguable that your suggested behaviourThat's certainly true.
is the best behaviour; I can't imagine a sensible disagreement with that. However, there's the obvious matter of prioritization -- there are far bigger issues for XG programmers to attend to.
An invalid position is one that makes no conceptual sense in the ordinary context of a backgammon game. So your position is indeed invalid, because it's not clear what rolling after a player has already removed all their checkers
really means.
An illegal position is, by definition, one that can't be reached, but it may (or may not) make sense.The distinction you're making is an interesting one, although I think
Simon's position is clearly illegal, but I'm not sure whether I'd call it "invalid" or not.
To get a clearer example of a position which is clearly valid but clearly illegal,
consider the position with all 30 checkers on the bar, and where there is no doubt
which player is on roll. A perfectly normal backgammon game can be played from this
position so there is no invalidity, but it's illegal because no possible previous roll exists.
it's difficult to make formally precise. In the chess problem world,
I don't think that two different words are used; people might say that
the illegality of some positions is obvious, while in other cases the illegality is discernible only through retro-analysis, but there's no
formal definition of what sort of observations require retro-analysis.
If White has a bishop on a1 and a pawn on b2, is this obviously illegal
or did you have to use retro-analysis to figure that out?
In any case, what I found odd about the example that I began this thread
with is that XG allowed me to set up the position and *itself generated
the XGID in question*, but then rejected it as invalid. An analogy that
comes to mind is that I fill out a government application for some form
of government ID, and the government accepts the application and issues
me an ID card, but then the moment I try to use it, the government
rejects the card as invalid. If they regard the card as invalid, then
why did they go ahead and issue it in the first place?
---
Tim Chow
Your analogy is a close one. However, to me, it simply indicates an imperfection rather than
anything bizarre or anomalous. In the government analogy, the department accepting the
application simply has different standards to the department deciding on card acceptance --
not a very surprising type of bug.
On 27/11/2022 10:59 am, Timothy Chow wrote:
"Invalid position! The position cannot be imported.
XGID=-AADBA--------------------:0:0:1:51:0:0:0:0:10
XG isn't perfect. It doesn't complain about this: XGID=aCCBBBB------------ccbbbbA:0:0:-1:51:0:0:0:0:10
On 27/11/2022 10:59 am, Timothy Chow wrote:
"Invalid position! The position cannot be imported. TheXG isn't perfect. It doesn't complain about this: XGID=aCCBBBB------------ccbbbbA:0:0:-1:51:0:0:0:0:10
source was not properly formatted." But the XGID was generated
by XG itself, so it's a little bizarre that it would complain
that the string is "not properly formatted."
And then there's this:
XGID=----BDE------------ddbbc--:1:-1:1:51:0:0:0:5:10
X:You O:O
Score is X:0 O:0 5 pt.(s) match.
+13-14-15-16-17-18------19-20-21-22-23-24-+
| | | O O O O O | +---+
| | | O O O O O | | 2 |
| | | O O O | +---+
| | | O O |
| | | |
| |BAR| |
| | | X |
| | | X X |
| | | X X |
| | | X X X |
| | | X X X |
+12-11-10--9--8--7-------6--5--4--3--2--1-+
Pip count X: 58 O: 64 X-O: 0-0/5
Cube: 2, O own cube
X to play 51
1. 4-ply Cannot Move eq:+0.032
Player: 59.53% (G:0.00% B:0.00%)
Opponent: 40.47% (G:0.00% B:0.00%)
2. 3-ply Cannot Move eq:+0.406 (+0.374)
Player: 75.21% (G:0.00% B:0.00%)
Opponent: 24.79% (G:0.00% B:0.00%)
3. 3-ply Cannot Move eq:+0.387 (+0.355)
Player: 74.43% (G:0.00% B:0.00%)
Opponent: 25.57% (G:0.00% B:0.00%)
4. 1-ply Cannot Move eq:+0.407 (+0.375)
Player: 75.21% (G:0.00% B:0.00%)
Opponent: 24.79% (G:0.00% B:0.00%)
5. 1-ply Cannot Move eq:+0.402 (+0.370)
Player: 74.99% (G:0.00% B:0.00%)
Opponent: 25.01% (G:0.00% B:0.00%)
eXtreme Gammon Version: 2.10, MET: Kazaross XG2
I can't reproduce ah...Clem's example. How did it arise in the first place? If I copy and paste the XGID into XG, everything seems normal.
On 12/7/2022 1:16 PM, ah...Clem wrote:
And then there's this:
XGID=----BDE------------ddbbc--:1:-1:1:51:0:0:0:5:10
I played a match on FIBS, analyzed it as per usual, and that's what XG
spat out. I didn't try pasting the ID into XG. I'll take a look.
On 12/8/2022 11:03 AM, ah...Clem wrote:
I played a match on FIBS, analyzed it as per usual, and that's what XGAh, yes, I've also experienced bizarre anomalies when XG analyzes
spat out. I didn't try pasting the ID into XG. I'll take a look.
a match. Here's a recent thread on the topic.
https://groups.google.com/g/rec.games.backgammon/c/gG9FF3i3hy0/m/M0ilvaNaAgAJ
Or just look at these two examples for a good laugh.
http://timothychow.net/cg/whopper.jpg
http://timothychow.net/cg/whopper2.jpg
Cue Stick suggesting that these were caused by the computer doing
"other things" while the analysis was running.
---
Tim Chow
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 307 |
Nodes: | 16 (2 / 14) |
Uptime: | 67:04:32 |
Calls: | 6,915 |
Files: | 12,379 |
Messages: | 5,431,769 |