Jump to content

GIB "plus"


Recommended Posts

Not being a software geek I have no idea whether this is possible or practical. And of course there is the issue that the writers of GIB and the providers of BBO are not the same entity. But anyway, here is my idea (prob not the first time it has been thought of or even suggested here):

 

As spec we have an option to enable double dummy analysis. This option becomes enabled only after the closure of the auction and the final contract is fixed and certain.

 

I would quite like to enable the option immediately from the commencement of the deal, with GIB continuously recalculating the DD solution based on the assumption that the last bid made will be passed out. The notional opening leader is determined on that basis and GIB displays the contract result for each of the 13 possible opening leads.

 

I am of course aware that even with the current GIB analysis the rate of card play sometimes outstrips the ability of GIB to catch up with the analysis, and of course while there are 52 cards remaining in play the recalculation will be slowest. Even so...

Link to comment
Share on other sites

Here is another enhancement to the GIB double dummy analyser available to kibbers that I would quite like:

 

Under the current system, immediately prior to a card being played, every legal card held by the player whose turn it is to play is flagged with the DD outcome were he to play that card. So far so good. But then when he selects and plays a specific card, the flag on that card remains for as long as the trick is in progress, while the trick indicators of all the other (rejected) cards are then blanked out.

 

My suggestion is that those other choices should not be blanked out until it next becomes his turn to play a card again.

 

I appreciate that this would clutter up the display a bit, and could be confusing until you get used to it, and may not prove a popular suggestion mainly for those reasons. The reason that it came to my mind is this scenario:

 

The auction closes, and you click on DD solver (which you cannot do until the auction is closed - see original post). While GIB is calculating the DD solution the opening leader leads a card. If you are lucky, GIB completes the DD solution before the trick is complete, possibly even before dummy plays to trick 1, but usually after the opening lead is faced. The effect of this is that you cannot ask GIB to tell you what the DD solution would have been given an alternate opening lead.

 

OK, if you are really interested, you can save the hand to LIN and analyse it in your own good time later. Or you could use your brain and work it out rather than using GIB as a crutch. I am not saying it is a critical feature. Just that it would be nice.

Link to comment
Share on other sites

The problem with this is that GIB may get hopelessly behind. After the opening lead is made, GIB has to start a new DD analysis, to figure out the results of each of dummy's plays. I assume that if it hasn't finished the analysis of all the possible opening leads before the lead is faced, that process is cancelled so it can start on the dummy plays. If it has to complete the opening lead analysis before starting the analysis of the next card, and so on, it will get backlogged and might never catch up.
Link to comment
Share on other sites

Furthermore, the fact that GIB calculations are done on the user's machine is an issue with everything you ask to add to GIB. I have a 2.8 GHz machine, which obviously isn't close to superfast (I'm not sure what is a good speed for a home machine, been a couple of years since I've looked). But I know that 2.8 is faster than an awful lot of home computers still in use these days, and I keep my machine unbloated and clean (which affects memory more than CPU usage, but still).

 

Even with that 2.8, some hands take a few seconds for GIB to do it's initial analysis. I've never timed it, but say 10. And GIB cranks CPU usage up to 100% while it's doing that (it's normally between 7 and 15%). Asking a 1 GHz machine to do the same thing would be very annoying, and your requests, while they might be fun to play around with, would just make it even harder on slower machines.

Link to comment
Share on other sites

Ok, a few observations from one who is, as I said before, not a programmer and speaking from a position of admitted ignorance.

 

1) Finding the double dummy solution for each opening lead is clearly the most complex case, and some hands are more complex to calculate than others, and yet GIB is not ALWAYS so slow in that calculation that the opening lead beats it to the punch every time. I conclude that there is some evidence that GIB is not far from providing the required power to achieve the suggestion. You can talk GHz until the cows come home, but I have SEEN GIB work out the solution for all opening leads on a number of occasions before the lead is faced. GHz? Don't need no stinking GHz.

 

2) Under the existing method, once it has calculated the DD solution for the play at a given instant, presumably GIB then stops calculating, and goes into sleep mode until the next card is played. If that time were used to recalculate the DD solution for the other options that were available to the players who have already played to the current trick, there is a sporting chance that it could display those results before the trick is complete.

 

3) Sure it is not going to have time to do that every time. Sometimes the analysis requires too many iterations. Sometimes the players just play fast. ***** happens. But what is lost in the attempt? Nothing.

 

4) Regarding Barmar's comment, I am not convinced that GIB re-works the DD analysis from scratch each time a card is played. Or if it does, that strikes me as an inefficient method of proceeding, where it might otherwise remember the work that it has done before.

 

5) If my suggestion in the original post were adopted, which is that GIB started to calculate the various DD solutions from the moment that the cards are dealt (ie not wait until the auction is over) then it will have more than enough time to be prepared for advising of (eg) the opening lead solution, once the auction is closed.

Link to comment
Share on other sites

Well, I’m certainly no super-stellar GIB-caliber programmer, but I do have a background in the field. And I will say that, despite his professed ignorance, I do think 1eyedjack does have some good (albeit sometimes amusing) insights.

 

1) First I will say that, although I have a deep understanding of some Computer Science principles, Artificial Intelligence (AI) is not one of them. (GIB is a form of AI). I’ve deliberately avoided that field because, frankly, I think it’s too hard.

 

2) I’ve noticed that much light has been made of what I will call “end-user considerations,” such as resources, solution timeliness, etc. These considerations are certainly worthy, but please consider that GIB is, at heart, a research product, not a commercial application. Thus, the team’s ultimate goal is to gain insight into the problem(s) they are researching. Yes, they sell it commercially, and yes, I’m sure the end-user is considered heavily to a certain extent. But I also imagine that, if it came down to gaining insight or pleasing the end-user, the team would opt with the former. That might lead to developing a solution that isn’t (shall we say) “commercially feasible.” But then they probably just wouldn’t include the feature in commercial product.

 

3) Now, some might suggest that, if it can’t be made “commercially feasible”, then 1eyedjack’s solution isn’t worth pursuing. But I’m not so sure. I think his suggestion goes to inner workings of GIB. Perhaps, then, implementing 1eyedjack’s suggestion could lead to fundamental insights about GIB. Such insights may well benefit all of us (even we don’t get the elaborate DD analysis that 1eyedjack is looking for).

4) I imagine that Barmar is correct is suggesting that GIB starts its calculation anew each time a new card is played. Now, 1eyedjack suggests that this inefficient. That made me laugh, because I’d bet that the research team would agree! Trust me: if GIB doesn’t use prior work in its current analysis, it isn’t for lack of desire. Rather, the team probably just simply doesn’t know how to do it. And I’d bet this is a HUGE area/part of their research. This is why I see value if 1eyedjack’s suggestion, even if the value is only theoretical.

 

5) In fact, I think 1eyedjack’s suggestion really motivates a (much) larger question. It seems to me that the real problem here is that GIB currently is always focusing on the current play. In other words, if GIBs fundamental problem were summarized into one question, I’d bet the question would be “What card should the current player play next?”. This would, after all, explain (both of) the limitations that 1eyedjack points out. But now let’s say we changed the question to “Which card should ALL of the players play next?”. In other words, what happens if we change the problem so that GIB is trying to figure out which card all of the players should play next, but all at the same time (instead of one player after another). Can this problem be solved? Would it be an improvement over the current strategy? Would it support the feature(s) that 1eyedjack is looking for, and avoid the drawbacks that others have duly pointed out? Is the research team already trying to solve this problem? Would they even be interested? These are the questions that I think really make this discussion interesting.

 

"Ignorance" and disagreements aside, I think this is a very valuable discussion. I hope that we will keep it going.

Link to comment
Share on other sites

I do think you offer some interesting questions. I don't know the scope of the work on GIB at all, I merely presented user concerns because I imagine those are going to be the primary concerns that come with packaging GIB as part of BBO, which is really the only discussion to which we as users can add anything fruitful to in this particular forum.

 

1eyed wants more user functionality, but that functionality would come at great expense and perhaps make GIB unusable for many people.

 

Of course, how many people use GIB with BBO on a regular basis anyway is also a relevant question when talking about expanding it's functionality as part of bridgebase. I wonder if BBO keeps statistics on this.

 

If you want to generally talk AI and GIB, the water cooler is probably the proper place.

Link to comment
Share on other sites

gwnn has a point. If you use the DD analysis as a substitute for working it out then it could erode your mental development. On the other hand (1) I have on several occasions tried to work it out in advance, come to what I believe to be the correct solution, only to be overridden by GIB when I go back to check. Without GIB I would have continued in ignorance. (2) Sometimes you just don't have time to do all he working out in your head, say when you are kibbing a major match of 30 odd hands, and they have already moved onto the next hand while you are still mentally working out the last one.

 

A significant risk in using the analyser is a tendency for the lazy user to assume that the double dummy solution coincides with the optimal single dummy solution.

 

It is the same with all "convenience" tools. They have their place. There is potential for abuse, but responsibility for that should rest with the user.

 

If gwnn is right, perhaps the facility should not be made available at all. My point is that if it *is* to be available, let's not have it half-arsed. Finally17 reckons that my suggestions would require significant and costly development. I am not convinced of that but certainly not qualified to say. It would be nice to get an opinion from someone who really knows.

 

Be in no doubt that I do not rank this highest on my wishlist. If it came down to a choice between this and (say) revamping the way of setting up team games, I know what I would choose.

 

I may be wrong but I think that swopecr may be mistaken re the "AI" issue. Sure, GIB has some AI capacity. If you ask it to provide a "hint" of what you should do, then it does it on an AI basis. Likewise, if GIB is sitting at the table it performs on the basis of the incomplete information available to it as a player, and employs AI techniques in that analysis.

 

But the double dummy solver embedded in GIB is an entirely different tool, which I believe uses a brute force approach based on complete information in order to provide a 100% accurate, flawless, double dummy solution.

 

Lastly, an anecdote about the feasibility of all this:

 

At our local club we use computer-dealt hands, and after the session we are presented with a printout of the hands which includes, for EACH hand, 20 double-dummy results, that is, considering each of the 4 players as declarer multiplied by 5 possible trump denominations. I have just telephoned the guy who runs it and he says that the club's computer, which is about 10 years old, takes up to 2 hours to run this analysis for 32 hands. When he does it on his home PC (about 2 years old) it takes about 10-12 minutes. That is for all 32 hands x 20 analyses. If he restricts it to just one hand on his home pc it takes between 10 and 15 seconds to provide the 20 solutions, and note that each of the 20 solutions must consider all 13 opening leads. And that is a computer that is 2 years old. If Moore's Law operates we might expect it to take about 5 to 10 seconds on a machine bought today.

Edited by 1eyedjack
Link to comment
Share on other sites

2) I’ve noticed that much light has been made of what I will call “end-user considerations,” such as resources, solution timeliness, etc. These considerations are certainly worthy, but please consider that GIB is, at heart, a research product, not a commercial application. Thus, the team’s ultimate goal is to gain insight into the problem(s) they are researching.

AFAIK, there is no "team", it was just one guy, Matthew Ginsberg. And not much work has been done on it in at least 5 years, other than integrating it into BBO. Since then, Fred has asked people to send in cases where GIB does "dumb" things, so that he can look into improvements (mainly tweaking he bidding database, I think). But there's no "research" going on any more: Ginsberg is now CEO of OTS[/a], which applies his optimized search ideas to industrial problems; he hasn't published any academic research papers since 1999, although he published a Scientific American article in 2002; and they don't even enter GIB in the annual Computer Bridge Tournaments.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...