BBO Discussion Forums: GIB Evolution and changes - BBO Discussion Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

GIB Evolution and changes

#1 User is offline   kgr 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,432
  • Joined: 2003-April-11

Posted 2022-August-15, 05:24

I wonder how GIB is changed?
- Who has the code?
- What tool/language is used for the code?
- Who makes changes?
- what changes are done; only small changes only bidding? only bugs? Also play improvements?
- Does bidding/play work with fixed rules; or is there some small random variability in it. (e.g: normally 1NT always 15-17, but sometimes 14; because of hand evaluation, or 1/1000bids because to make opps a little less sure)
0

#2 User is offline   thorvald 

  • PipPipPipPip
  • Group: Full Members
  • Posts: 376
  • Joined: 2012-September-05
  • Gender:Male
  • Location:Denmark

Posted 2022-August-15, 09:47

As far as I know BBO owns the GIB-software and is maintaining it - well at least they have released a new version back in 2018.
Thorvald Aagaard
Mobile : +45 22 99 55 25
http://www.netbridge.dk
http://www.thorvald.dk
0

#3 User is online   smerriman 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 4,026
  • Joined: 2014-March-15
  • Gender:Male

Posted 2022-August-15, 14:38

If you look at the 'GIB Release Notes' thread at the top of this forum, you'll see GIB underwent regular updates from 2011 to the start of 2019 - on average they were released about twice a year (more regular early on). Then all development seemingly stopped and nothing has been officially heard since. This was primarily bug fixes, but also new conventions, etc. The only known change to the play logic over that time period was in 2014 where GIB was forced to cash an ace against 7NT.

I believe it's written in C, though the bidding database itself is a custom format, very incomprehensible without a lot of study. Based on some very old documentation, there's one slightly more readable version of the bidding database that is then processed by some search + replaces to give a more raw version that GIB uses. In the raw version, the rule that told a 2012 version of GIB it was OK to bid 3 in this recent thread was:

0d e[12]g.:-:a[+e]b[^N]~b<=g&&#15(a)&&(#0<0||(#0<H&&b>D))&&#0(3,13)<25&&(#10(12,b)<4&&#10(3,b)<4)&&(#0>=0||(((m=#3(N)>=0)*#0(2,m)+(m>=0)*(n=#3(m)>=0)*#0(2,n))<9&&#5(#5(#0(2,C),#0(2,D),#0(2,H)),#0(2,S))<6))~$$ 27 @114#b~(#1<0||(#1<H&&b>D))&&#7(a,b,2)~ ~#0(a,b,2)~ #532

The bidding database uses fixed rules, so a basic robot will bid exactly the same way with the same hand (can vary based on vulnerability when it comes to preempts / two suited overcalls), though the "rules" are far more complex than the ones you see when you click on the descriptions of bids.

Advanced robots are allowed to run simulations at certain points in the auction (though there are some bids marked as 'not allowed to simulate'). It selects some alternatives from the bidding database that a robot might have bid with a different hand in its position. Then it builds a set of deals, and for each alternative, finishes off the auction under the assumption all bids from there strictly use the bidding database. If a bid works out better than the book bid, it'll make it. That leads to some 'random variation' in bidding.

Play is fully based on simulations so there will always be random variation in that sense. In the very original version of GIB that Ginsberg wrote, there was a parameter for 'weighting given for signalling correctly', so it is likely there is some random variation in the 'unimportant' cards it selects to prevent it being too predictable.
2

#4 User is offline   pilowsky 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,764
  • Joined: 2019-October-04
  • Gender:Male
  • Location:Poland

Posted 2022-August-15, 18:06

View Postsmerriman, on 2022-August-15, 14:38, said:

Play is fully based on simulations so there will always be random variation in that sense. In the very original version of GIB that Ginsberg wrote, there was a parameter for 'weighting given for signalling correctly', so it is likely there is some random variation in the 'unimportant' cards it selects to prevent it being too predictable.


This is an interesting question (to me anyway).

If GIB based its leads purely on simulation, and if its partner paid no attention to the 'meaning' of leads, we might expect that from a holding of Axxxx against no trump, or AKxx in a suit contract GIB would randomly choose any equal x in the first case or A or K in the second.
Given that it reliably leads 4th down (NT), K from AK (suit contracts), top of doubleton etc it seems that there are some overriding rules on top of the simulation to choose the suit to lead.

Similarly (and I say this with pretty much no actual evidence), GIB defenders appear to discard high when it wants partner to lead to it through dummy/declarer.
Fortuna Fortis Felix
0

#5 User is online   smerriman 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 4,026
  • Joined: 2014-March-15
  • Gender:Male

Posted 2022-August-15, 18:58

View Postpilowsky, on 2022-August-15, 18:06, said:

Given that it reliably leads 4th down (NT), K from AK (suit contracts), top of doubleton etc it seems that there are some overriding rules on top of the simulation to choose the suit to lead.

Yes, it distinguishes equals in situations like the opening lead based on its lead conventions:

Quote

If it leads an honor that's part of a sequence, it uses standard honor leads (K from AKx, A from AK doubleton). If it leads from a long suit, it leads 4th best (but see above: it doesn't always lead its long suit). When leading from 3 small, it leads low against both suit and NT contracts.

My earlier post on analysing why it randomly breaks these conventions may be explained by this 'weighting for signalling correctly' parameter that I wasn't aware of back then.

It definitely doesn't play attitude discards though, so you probably just notice it when it happens to be true.
1

#6 User is offline   kgr 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,432
  • Joined: 2003-April-11

Posted 2022-August-16, 00:28

Thanks for the answer!

View Postsmerriman, on 2022-August-15, 14:38, said:

If you look at the 'GIB Release Notes' thread at the top of this forum, you'll see GIB underwent regular updates from 2011 to the start of 2019 - on average they were released about twice a year (more regular early on). Then all development seemingly stopped and nothing has been officially heard since. This was primarily bug fixes, but also new conventions, etc. The only known change to the play logic over that time period was in 2014 where GIB was forced to cash an ace against 7NT.
It is pity that no changes are done anymore. And BBO is not interested to let anyone do changes? (not that I would have time for it yet)

View Postsmerriman, on 2022-August-15, 14:38, said:

I believe it's written in C, though the bidding database itself is a custom format, very incomprehensible without a lot of study. Based on some very old documentation, there's one slightly more readable version of the bidding database that is then processed by some search + replaces to give a more raw version that GIB uses. In the raw version, the rule that told a 2012 version of GIB it was OK to bid 3 in this recent thread was:
0d e[12]g.:-:a[+e]b[^N]~b<=g&&#15(a)&&(#0<0||(#0<H&&b>D))&&#0(3,13)<25&&(#10(12,b)<4&&#10(3,b)<4)&&(#0>=0||(((m=#3(N)>=0)*#0(2,m)+(m>=0)*(n=#3(m)>=0)*#0(2,n))<9&&#5(#5(#0(2,C),#0(2,D),#0(2,H)),#0(2,S))<6))~$$ 27 @114#b~(#1<0||(#1<H&&b>D))&&#7(a,b,2)~ ~#0(a,b,2)~ #532

The bidding database uses fixed rules, so a basic robot will bid exactly the same way with the same hand (can vary based on vulnerability when it comes to preempts / two suited overcalls), though the "rules" are far more complex than the ones you see when you click on the descriptions of bids.

Advanced robots are allowed to run simulations at certain points in the auction (though there are some bids marked as 'not allowed to simulate'). It selects some alternatives from the bidding database that a robot might have bid with a different hand in its position. Then it builds a set of deals, and for each alternative, finishes off the auction under the assumption all bids from there strictly use the bidding database. If a bid works out better than the book bid, it'll make it. That leads to some 'random variation' in bidding.

Play is fully based on simulations so there will always be random variation in that sense. In the very original version of GIB that Ginsberg wrote, there was a parameter for 'weighting given for signalling correctly', so it is likely there is some random variation in the 'unimportant' cards it selects to prevent it being too predictable.
How do you know all this? :) And where did you get that piece of code from (where is the "one slightly more readable version of the bidding database")?
0

#7 User is online   smerriman 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 4,026
  • Joined: 2014-March-15
  • Gender:Male

Posted 2022-August-16, 00:50

By finding and reading every bit of information about GIB that has ever existed online :)

You can see the bidding database as it existed in 1999 well before BBO took over GIB and starting improving it here: https://web.archive....re.com/bidding/

The old Windows downloadable version of BridgeBase included an mb.txt file which is what the robots used around 10 years ago (but it's the one with all the readable macros replaced out, which makes it a lot harder to read. Also looks like BBO has added a lot of extra features that weren't documented back then, so lots of experimentation and guesswork to figure out what all the extra bits may do.)
1

#8 User is offline   thorvald 

  • PipPipPipPip
  • Group: Full Members
  • Posts: 376
  • Joined: 2012-September-05
  • Gender:Male
  • Location:Denmark

Posted 2022-August-16, 08:57

Have you decrypted the rules?

I have had a look at your sample, but it is difficult to relate that rule to the 3 bid
Thorvald Aagaard
Mobile : +45 22 99 55 25
http://www.netbridge.dk
http://www.thorvald.dk
0

#9 User is online   smerriman 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 4,026
  • Joined: 2014-March-15
  • Gender:Male

Posted 2022-August-16, 14:54

There's a few references I haven't quite nailed down yet, but yeah, I'm getting there.
0

#10 User is offline   thorvald 

  • PipPipPipPip
  • Group: Full Members
  • Posts: 376
  • Joined: 2012-September-05
  • Gender:Male
  • Location:Denmark

Posted 2022-August-16, 17:07

I have been trying to read the mb.txt2 file, but taking a simple section like this

;We start with some weird stuff for intermediate strength hands where; you aren't playing inverted minors.

0  OPEN_IMPROVISE   	0 .       		.     		#00370
1   ~b==D~   		0 .       		.     		#10091
2    2C~!SYS(GF21)~  	1 :M~.[10,12]~&&:C3[45][23][23] :M10:D4C *2344 #00371
2    1H  		1 :M~.[10,12]~&&:C[23][45]3[23] :M10:D4H *2367 #00372
2    1S  		1 :M~.[10,12]~&&:C[23][45]23  	:M10:D4S *2367 #00373
1   1D  			1 :M~.[10,12]~&&:C[45]3  	:M10:D4D *2367 #00374


it seems difficult to guess how this should be interpreted
Thorvald Aagaard
Mobile : +45 22 99 55 25
http://www.netbridge.dk
http://www.thorvald.dk
0

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users