Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

XG / GNUBG resigning behavior coincidence or indication of GPL violation?

109 views
Skip to first unread message

mu...@compuplus.net

unread,
Jan 28, 2017, 12:41:23 AM1/28/17
to
This is going to be a long article because I take the issue seriously,
so I wanted to provide enough background and enough examples before I
make comments and ask for comments back.

Resigning issues for each and both bots have been raised numerous times
in the past, by several people including myself.

Until recently, they were all seen as merely "bugs" and nuisances for
users but some recent comments in another thread made me take a deeper
look at it again with a different concern.

Below are some quotes from previous threads and a number of examples
for both bots that I will briefly refer to here in my main story (by
their labels like A1, B1, etc.) but I also enourage you to read and
compare/interpret them all for yourselves. In fact, you may want to
find and read the original complete articles and threads.

Let's start looking at the delienated sections below:

In A1, Xavier admits that the first version of XG was based on gnubg
but adds that it was later completely reprogrammed and as a proof of
it, he claims that XG plays differently and is much faster than GNUBG.
I'm not convinced that XG plays differently than GNUBG and speed alone
can't prove that XG no longer uses GNUBG GPL code.

In B1, are the 2012 GNUBG examples that I had provided to Petch with my
updated remarks indicated by "***". I believe that all bugs are since
fixed and that GNUBG does resign correctly like a real word-class bot.

In C1, in response to Thymes position comments, Chase says by adding
that both XG and GNUBG resign a gammon even when gammons don't matter.
You can find this in my examples also and it's important to point out
that other people observed this "odd behavior" common to both bots.

In D1, Paul and Chow are acknowledging and discussing XG's failure to
resign properly but Chow wrongly convinces Paul (as he does often do
with other people and issues, thanks to his "misearned credibility")
that it's a "gin position" checking problem. Yet, it's clear that both
bots already check for "gin positions" (i.e. 0% winning chances) in at
least some cases as indicated by their subsequently making "random"
checker moves (i.e. the first legal moves that the bot evaluates).

In E1, while discussing "user interface bugs" with Paul, I also point
out XG's long unfixed resigning bugs and express my suspicion that it
may be just another example of bugs which usually indicate poor mastery
of code legally or illegally borrowed from other software. In light of
Chow's recent comments regarding bugs, my suspicion has grown stronger.

In F1, one way to read Chow's arguments to Michael may be that Xavier
has copied GNUBG code into XG but had the same difficulty (as Michael)
of navigatingthe GNUBG source code and thus, wasn't able to integrate
it into XG cleanly, nor to fix the bugs later...

In G1, following up to his own previous comments, Chow "instructs" that
after studying someone else's code, re-programming the same code is not
a GPL violation and that doing so is the "surest way of detecting bugs".
In other words, if Xavier had done so, he would have detected GNUBG's
resigning bugs. As duplicated spelling and punctuation errors are strong
evidence of plagiarism in text, duplicated bugs are strong evidence of
plagiarism in software. The question is whether any duplicate bugs exist.

In H1, are some examples of XG's resigning bugs that I found in my two
sets of 100-game sessions against two different playing levels of XG.
Compare them to the sample GNUBG resigning bugs that I had provided to
Petch back in 2012.

So, what do you all think, folks...??

MK


=== A1 ====================================================================

On March 17, 2010 at 8:20:51 AM UTC-6, eXtreme Gammon wrote:
> On Mar 16, 11:53 pm, u...@kees-piv.UUCP (Kees van den Doel) wrote:
> > Does anyone have any info on the design/architecture of XG?
> > .....
> > I learned bg on gamesite2000, playing many games against their XG bot. I
> > remember reading it was then based on gnubg. Is this new commercial
> > stand-alone version based on gnubg?
> > .....
> In 2001 when the first version of XG was put on GammonSite, I got a
> jump start on how to program a Neural Network from Gary Wong's gnubg
> 0.02.
>
> However since then. It was completely reprogrammed (using Delphi).
> That's one of the reason is it playing quite differently than GnuBG
> and is much faster.
> .....


=== B1 ====================================================================

Thread header: Why doesn't gnubg resign?

https://groups.google.com/d/msg/rec.games.backgammon/lz966NPOrhY/dnSxu92UQCsJ

On October 14, 2012 at 3:37:22 PM UTC-6, mu...@compuplus.net wrote:
> On October 14, 2012 10:17:29 AM UTC-6, Michael Petch wrote:
>
> > lmao, I have asked you for SGF files. I have been
> > unable to reproduce the behavior. Why haven't you
> > sent any SGF files? I am still waiting.
>
> Oops, my fault. I forgot to save and send them. But
> you can look at the matches that you downloaded from
> my site. Below are several examples from the first
> 21 matches of 25 points, with some comments I added.
> .....
> File 25005-mk27-gb12.sgf
> Game 3 Move 27
> Position ID: 1wAAgN93AAEAAA
> Match ID: AQEgA0AAAAAE

*** Fails to resign game after rolling (in move 28 resigns before rolling)
*** BTW: I don't remember if GNUBG ever did or does resign in between
*** rolling and moving(?).

> Game 5 Move 30
> Position ID: AwAAYLtPIAIAAA
> Match ID: AwEgA0AAGAAE

*** Fails to resign gammon before and after rolling

*** Game 8 Move 30
*** Position ID: FwAAIG0DAAAAAA
*** Match ID: EwElA8AAmAAE
*** Fails to resign game after rolling (in move 31 resigns before rolling)

> File 25006-mk36-gb06.sgf
> Position ID: DQAAsO1uAQAAAA
> Match ID: AwEgA0AAYAAE
> Game 8 Move 25

*** Fails to resign game after rolling

> Position ID: AQAA3HYDAAAAAA
> Match ID: AwEgA0AAYAAE
> Game 8 Move 26

*** Fails to resign game before and after rolling

> File 25008-mk14-gb28.sgf
> Position ID: AQAA7G6bAAAAAA
> Match ID: AgEgAwAAEAAE
> Game 2 Move 23

*** Fails to resign game after rolling

> Position ID: BgAAwO0BAAAAAA
> Match ID: sAEgA4ABSAAE
> Game 14 Move 20

*** Fails to resign game before and after rolling

> File 25009-mk50-gb16.sgf
> Position ID: GwAAgNNnMCEAAA
> Match ID: AQEgA2AAcAAE
> Game 6 Move 24

*** Fails to resign gammon before and after rolling

> Position ID: AwAAyOkZTAIAAA
> Match ID: AQEgA2AAcAAE
> Game 6 Move 25

*** Fails to resign gammon before and after rolling

> Here is a strange one. After rolling 22, it knows it
> has 0% chance of winning and makes random moves but
> doesn't resign. On top of that, it lets me recube to
> 32 unnecessarily and then takes, still not resigning.
> Position ID: CAAAJB0AAAAAAA
> Match ID: FAEpAwABkAAE
> Game 10 Move 26

*** Fails to resign game after rolling
*** This is a good example of random moves

> File 25015-mk29-gb06.sgf
> Position ID: AQAAYP2DhQAAAA
> Match ID: AQEgA0AAYAAE
> Game 5 Move 21

*** Fails to resign gammon after rolling

> Game 5 Move 22

*** Fails to resign gammon before and after rolling

> File 25017-mk28-gb10.sgf
> Position ID: e1sAABB8bhgYAA
> Match ID: EQEgA6AAwAAE
> Game 9 Move 21

*** Resigns gammon for 4 points when 2 points are enough for me to win
*** Not only that but why doesn't it realize that it can save the gammon
*** for sure and furthermore, since it still has a piece in my board,
*** why doesn't it resign backgammon for 6 points..??


=== C1 ====================================================================

On Thursday, October 22, 2015 at 8:11:58 AM UTC-6, Chase wrote:
> On 10/22/2015 9:03 AM, Justin Thyme wrote:
>> .....
> As to gnubg's resignation, is the problem that it still had winning
> chances, or that it resigned a gammon? My experience with XG is that,
> when gammons don't matter, it will still resign a gammon if it has
> checkers in the outfield but has determined it cannot win. It sounds
> like gnubg does the same.


=== D1 ====================================================================

On June 8, 2016 at 12:37:14 AM UTC-6, Paul wrote:
> On June 8, 2016 at 2:57:19 AM UTC+1, Tim Chow wrote:
> > On June 7, 2016 at 3:23:47 AM UTC-4, Paul wrote:
> > > When the bot rolls out at DMP, the game should be aborted whenever
> > > the DMP result is known. So gammon/backgammon stats should be unknown
> > > or N/A because no game should roll out to a gammon.
> >
> > Checking that a position is gin requires extra programming effort and
> > will probably not speed up the rollout by a detectable amount.
>
> But this extra programming effort is sorely needed! XG often resigns
> far too late, and that is irritating for the user. I wonder if XG's
> competitors have the same issue?


=== E1 ====================================================================

On October 13, 2016 at 7:35:20 PM UTC-6, mu...@compuplus.net wrote:
> On October 12, 2016 at 3:39:34 AM UTC-6, Paul wrote:
> .....
> > This type of issue arises because the XG programming
> > team is small. If Google developed a backgammon interface
>
> Is XG an "interface"? Maybe you would rather or also say
> that if Google claimed to have developed a world-class BG
> bot, it would know how to resign??
> .....
> But obviously it tries to resign haphazardly and fails to
> resign in situations where it knows it has no chance to win
> but it prefers to make random valid moves instead of
> resigning.
>
> I don't know if it's the case here but such bugs usually
> indicate poor mastery of code legally/illegally borrowed
> from other products.


=== F1 ====================================================================

On January 23, 2017 at 5:55:58 PM UTC-7, Tim Chow wrote:
> On January 22, 2017 at 6:02:44 PM UTC-5, Michael wrote:
> .....
> You're saying that it's hard to navigate one's way through the code and
> find where things are actually being calculated. But if Xavier,
> hypothetically, included the GNU source code in XG, then obviously he
> must have at least been able to *find* the relevant snippet of code in
> the first place. So the difficulty of navigating the GNU source code is,
> if anything, an argument *against* Xavier having put GNU source code in XG.


=== G1 ====================================================================

On January 23, 2017 at 6:07:08 PM UTC-7, Tim Chow wrote:
> On January 22, 2017 at 2:28:49 PM UTC-5, I wrote:
> > This doesn't mean anything. Since the GNU code is open source, there
> > is nothing wrong with studying the code to figure out exactly how the
> > algorithm works. If you then re-program the same algorithm yourself,
> > that is not a violation of the GPL.
>
> ..... usually it's because I want to make sure I fully understand the
> algorithm. I will often consult some existing code and make sure that
> I'm getting the same answers, because that's the surest way of detecting
> bugs.


=== H1 ====================================================================

MK Dicedll++ vs XG Roller++

Game 8 Move 33 XGID=--A---------------------e-:4:-1:-1:00:36:5:2:0:10
*** Fails to resign game before and after rolling


Game 19 Move 18 XGID=--B--------------a-abcbcc-:1:-1:-1:44:65:13:2:0:10
*** Fails to resign game before and after rolling


Game 26 Move 37 XGID=--B----------------accaba-:2:-1:-1:64:73:19:2:0:10
*** Fails to resign game before and after rolling
Move 38 XGID=-A------------------cbaba-:2:-1:-1:54:73:19:2:0:10
*** Fails to resign game again before and after rolling


Game 27 Move 18 XGID=-DC-------------a---ccdca-:1:-1:-1:62:77:19:2:0:10
*** Fails to resign game after rolling
Move 19 XGID=-DA-----------------cceba-:1:-1:-1:31:77:19:2:0:10
*** Fails to resign game before rolling but resigns after rolling


Game 44 Move 25 XGID=-AAA---aaa----a----cbbb-b-:2:-1:-1:32:84:42:2:0:10
*** Fails to resign gammon after rolling, makes random moves
Move 26 XGID=-A-----aa---a-a----cabc-b-:2:-1:-1:52:84:42:2:0:10
*** Fails to resign gammon before and after rolling, makes random moves
*** This is a good example of random moves


Game 49 Move 18 XGID=-C-A-aA------------dccbaa-:1:-1:-1:65:93:50:2:0:10
*** Fails to resign game after rolling
Move 19 XGID=-C--A-----------a--dccbaa-:1:-1:-1:63:93:50:2:0:10
*** Fails to resign game before and after rolling
Move 20 XGID=-B-----------------dccbaa-:1:-1:-1:31:93:50:2:0:10
*** Fails to resign game before and after rolling


Game 53 Move 25 XGID=aBC---a--b-------bbcbb----:1:1:-1:53:98:54:2:0:10
*** Fails to resign gammon after rolling, makes random moves
Move 26 XGID=-BA--aa--b-------bacbc----:1:1:-1:61:98:54:2:0:10
*** Fails to resign gammon before rolling but resigns after rolling


Game 57 Move 53 XGID=-C---------------------fd-:4:-1:-1:21:102:61:2:0:10
*** Fails to resign game before rolling but resigns after rolling


Game 69 Move 24 XGID=-D-----------------da-aad-:2:-1:-1:52:119:78:2:0:10
*** Fails to resign game before rolling but resigns after rolling


Game 73 Move 19 XGID=-B-----------a---a-gbbb---:1:-1:-1:53:127:84:2:0:10
*** Fails to resign gammon after rolling, makes random moves


Game 96 Move 20 XGID=-D--A--------------ad-aea-:1:-1:-1:21:149:107:2:0:10
*** Fails to resign game after rolling
Move 21 XGID=-B-----------------ad-ad--:1:-1:-1:54:149:107:2:0:10
*** Fails to resign game before and after rolling


Game 97 Move 25 XGID=--A----------------dbabbb-:1:-1:-1:11:151:107:2:0:10
*** Fails to resign game before and after rolling



MK Roller++ vs Extreme Gammon

Game 1 Move 23 XGID=--E----------------gcc-b--:3:-1:-1:41:0:0:2:0:10
*** Resigns okay


Game 3 Move 22 XGID=-BA----------------bcbab--:2:-1:-1:64:8:2:2:0:10
fail before roll, r after

Game 6 Move 37 XGID=-B-----a--a--aa----abb-cc-:5:1:-1:41:12:8:2:0:10
*** Fails to resign game before and after rolling


Game 19 Move 34 XGID=-A-------a----a----ebb-bb-:0:0:-1:63:96:15:2:0:10
*** Fails to resign game after rolling


Game 23 Move 31 XGID=-B----a------------abbbcd-:1:-1:-1:62:100:19:2:0:10
*** Fails to resign game after rolling


Game 27 Move 16 XGID=aBCBa-------c----bbd--b---:0:0:-1:51:113:21:2:0:10
*** Fails to resign game after rolling, makes random moves
Move 17 XGID=-BC-a-a-----c----bbd--b---:0:0:-1:66:113:21:2:0:10
*** Fails to resign game before and after rolling, makes random moves
Move 18 XGID=-BA-a-------b----bcd--b-a-:0:0:-1:41:113:21:2:0:10
*** Fails to resign game before and after rolling, makes random moves
Move 19 XGID=-A-------a--b----bcd--b-a-:0:0:-1:65:113:21:2:0:10
*** Fails to resign game before and after rolling, makes random moves
*** Fails 4 times!


Game 47 Move 24 XGID=-AA-A---------------cdbba-:1:-1:-1:44:128:49:2:0:10
*** Resigns okay after rolling


Game 50 Move 25 XGID=-B-------------------c-a--:2:-1:-1:54:130:55:2:0:10
*** Fails to resign game after rolling


Game 68 Move 33 XGID=-B-----------------aaba-a-:1:-1:-1:42:147:91:2:0:10
*** Fails to resign game before and after rolling


Game 81 Move 26 XGID=--AA---------------aacaba-:1:-1:-1:61:162:108:2:0:10
*** Fails to resign game after rolling


Game 87 Move 20 XGID=-A------------------bc--c-:2:-1:-1:54:165:117:2:0:10
*** Fails to resign game after rolling


Game 100 Move 19 XGID=-C--------------------acc-:1:-1:-1:42:183:124:2:0:10
*** Fails to resign game before and after rolling
Move 20 XGID=-A---------------------bc-:1:-1:-1:65:183:124:2:0:10
*** Fails to resign game again before and after rolling

============================================================================

Tim Chow

unread,
Jan 28, 2017, 3:42:54 PM1/28/17
to
On Saturday, January 28, 2017 at 12:41:23 AM UTC-5, mu...@compuplus.net wrote:
> This is going to be a long article because I take the issue seriously,
> so I wanted to provide enough background and enough examples before I
> make comments and ask for comments back.

What nonsense. Come on, return to what you do best, which is curse and rant
for no reason! Did I mention that I have a math Ph.D.?

---
Tim Chow

mu...@compuplus.net

unread,
Jan 28, 2017, 8:24:27 PM1/28/17
to
On Saturday, January 28, 2017 at 1:42:54 PM UTC-7, Tim Chow wrote:
> On January 28, 2017 at 12:41:23 AM UTC-5, mu...@compuplus.net wrote:

>> This is going to be a long article because I take the issue
>> seriously, so I wanted to provide enough background and enough
>> examples before I make comments and ask for comments back.

> What nonsense.

Nonsense, what? Just the part you quoted or the entire article??

> Come on, return to what you do best, which is curse and rant
> for no reason! Did I mention that I have a math Ph.D.?

So, this is all you are capable of doing. In addition to posting
rollouts, of course. Even though you don't have what it takes to
amount to anything in backgammon... :(

And, why do you think you are any more special than the others
that I call names also?

You, your ilk and their ilks are all the same pile of garbage.

Gambling, cheating, thieving, lying, cocksucking, motherfucking,
scumbugs...! :)

MK

PS: Have you noticed the correct usages of both "ilk" and "ilks"
in the above sentence? :o)

Tim Chow

unread,
Jan 28, 2017, 10:56:49 PM1/28/17
to
On Saturday, January 28, 2017 at 8:24:27 PM UTC-5, mu...@compuplus.net wrote:
> You, your ilk and their ilks are all the same pile of garbage.
>
> Gambling, cheating, thieving, lying, cocksucking, motherfucking,
> scumbugs...! :)

Yes, yes, yes!! I love it! Wonderful! Marvelous! This is what I live for.

Thank you, Murat. I knew you wouldn't disappoint me. Life would be so
boring without your senseless, expletive-filled rants.

Please, more of the same! Rec.games.backgammon needs you.

---
Tim Chow

mu...@compuplus.net

unread,
Jan 31, 2017, 5:37:16 AM1/31/17
to
On January 28, 2017 at 8:56:49 PM UTC-7, Tim Chow wrote:
> On January 28, 2017 at 8:24:27 PM UTC-5, mu...@compuplus.net wrote:

>> You, your ilk and their ilks are all the same pile of garbage.
>> Gambling, cheating, thieving, lying, cocksucking, motherfucking,
>> scumbugs...! :)

> Yes, yes, yes!! I love it! Wonderful! Marvelous! This is
> what I live for.

It's not all for you. Leave some of it for your ilks to savor...

> Life would be so boring without your senseless, expletive-filled
> rants.

There were no expletives in my original article. You may even
consider my comments and quotes from you and your ils as rant,
but can you deny that both XG and GNUBG resigning bugs are the
symptoms of the same ass-fucking STD caused by a unique strand
of virus...??

Of course, not! And you are upset that I used your argument/s
about detecting bugs in stolen code to bolster my point... ;)

Since you are a "bot hore", you need to defend your pimp...!

Thus, you go into your chimpanzee firenzy of screeching: "piss
on me, piss on me"... :( I really feel pity for you. I swear!

> Please, more of the same! Rec.games.backgammon needs you.

It's all being arcived. Time will tell.

My prediction is that Xavier Dufaure de Citres will go down
the way of Fredrik Dahl, Olivier Egger...

MK
0 new messages