Antrax Posted March 17, 2012 Report Share Posted March 17, 2012 I'm wondering if it would be possible to release (a part of) GIB to the open source community, as a way of improving its fundamental software design and as a result, its card play. If I read between the lines correctly,the bidding database is proprietary and probably not something BBO would be able / willing to share, but the hand-simulating code and the playing code doesn't sound like there's a whole bunch of IP there - the theory has all been published and the implementation sounds less than ideal, based on what barmar and georgi are saying.At worst, this will accomplish nothing other than a better default reply from barmar, but it might actually help step GIB forward. It sounds as though there are some posters here with some software development experience, and the code is already being reworked, so just adding a couple of people (as many as whoever's leading this effort right now can manage) should be relatively painless.I don't think there should be any licensing issues, since BBO, when renting GIB, is basically selling server time and not the right to run this code.Thoughts? Quote Link to comment Share on other sites More sharing options...
Antrax Posted March 19, 2012 Author Report Share Posted March 19, 2012 Some reply from the higher ups would be nice - I'm curious whether this is even possible (from a financial /legal standpoint), otherwise there's no point in considering the technical aspects. Quote Link to comment Share on other sites More sharing options...
Gerardo Posted March 19, 2012 Report Share Posted March 19, 2012 This is a NON OFFICIAL answer. I don't know what bosses think, nor I asked. I very much doubt Matt Ginsberg gave up all rights to GIB code, to the point such a move like the one suggested above would necessarily need to be green lighted by him. Quote Link to comment Share on other sites More sharing options...
cloa513 Posted March 19, 2012 Report Share Posted March 19, 2012 More likely they'd embarassed about the loosy sloopy undocumented progamming. Quote Link to comment Share on other sites More sharing options...
fred Posted March 19, 2012 Report Share Posted March 19, 2012 This is also not an official answer. If there is to be an official answer, it would be up to Uday to make it. Even if there are no legal issues (I have no idea if there are or not), I doubt that this will ever happen and it almost certainly won't happen in the nearish future. I am not going to go into the details as to why, but historically we have not been big believers in the concept of "open source". But while I am here, let me state that as usual cloa513 has no idea what he or she is talking about. Matt Ginsberg, the original author of GIB, is perhaps the smartest person as well as the most highly-skilled programmer I have ever met. It is true that some of the GIB source code is difficult for mere mortals to understand, but that is mostly a function of the complexity of the program (as opposed to carelessness or poor coding habits on the part of the author - a man who happens to be a true genius). Fred GitelmanBridge Base Inc.www.bridgebase.com Quote Link to comment Share on other sites More sharing options...
Antrax Posted March 19, 2012 Author Report Share Posted March 19, 2012 Thanks for replying, Fred. As an aside, I find it surprising that a software professional would not equate clarity and maintainability with genius in software design. With all due respect to GIB and its creator, I doubt it's more complex than, say, a real-time OS, and those are typically developed and maintained by mere mortals. Quote Link to comment Share on other sites More sharing options...
fred Posted March 19, 2012 Report Share Posted March 19, 2012 Thanks for replying, Fred. As an aside, I find it surprising that a software professional would not equate clarity and maintainability with genius in software design. With all due respect to GIB and its creator, I doubt it's more complex than, say, a real-time OS, and those are typically developed and maintained by mere mortals.You make a reasonable point, but different considerations tend to apply when one writes a program with the expectation that he/she will be the only person who ever looks at the code. In such circumstances, the most important thing at the time seems to be to ensure that *you* find the code clear and easy to maintain. Making sure that *anyone* could understand and maintain the code slows down the development process (and for some people makes it less fun). It also happens to be the case that GIB was written at a time in which computers were much slower and had much less memory than today's machines. GIB contains a lot of code that nowadays would be considered "obscure" by most programmers but at the time was important for performance purposes. Perhaps it would have been wise for Matt to guess that the time might come (15 years or so later as it turned out) in which someone else would take over the GIB project, but I have a lot of sympathy for his apparent failure to plan for this possibility. GIB was his baby - he was not planning for it ever to be put up for adoption. Anyway, for me "genius in software design" can mean more than one thing. The sort of genius that impresses me the most is the sort that Matt has - the ability to design and implement algorithms that solve difficult problems. I don't think the comparison between GIB and real-time OS is necessarily valid. Sure an OS is complicated, but not in quite the same way that GIB is complicated. Besides that, I think you may underestimate the skills of those people who are capable of developing and maintaining modern OSs - I suspect that most of these people are exceptionally gifted programmers (ie not quite mere mortals). In my experience programmers are similar to bridge players in that many of them think they are experts, but only a small fraction of these people have the ability to deliver at the highest levels. Fred GitelmanBridge Base Inc.www.bridgebase.com Quote Link to comment Share on other sites More sharing options...
Antrax Posted March 19, 2012 Author Report Share Posted March 19, 2012 That makes sense, and is indeed part of the reason I thought the project could benefit from exposure. Thanks for elaborating. As a final PS, I don't think overestimating oneself is restricted only to Bridge and programming. Hearing a person say "I am average at <field>" is extremely rare - and usually those people are far above the average. Quote Link to comment Share on other sites More sharing options...
Scarabin Posted March 19, 2012 Report Share Posted March 19, 2012 One aspect of genius is to innovate - to change one's field through original thought - and Ginsberg certainly managed this, just as Einstein did or Hammett in his field! I would not expect any commercial software to go "open source": all control over development would be lost. Having said all that I think GIB suffers from the inherent limitations of random simulation. What I would hope for is that GIB could be used as a black box (which could still produce brilliant, normal or insane plays) and overlay a shield which would produce expert plays for specific situations and revert to GIB for any situations the shield did not cover. Surely this is both possible and highly desirable? Quote Link to comment Share on other sites More sharing options...
cloa513 Posted March 20, 2012 Report Share Posted March 20, 2012 Bamar has implied as much- so much undocumented GIB's bidding rules. Sounds lazy. Quote Link to comment Share on other sites More sharing options...
Antrax Posted March 20, 2012 Author Report Share Posted March 20, 2012 I would not expect any commercial software to go "open source": all control over development would be lostHere's a close-to-home example to disprove this notion: http://www.threadingbuildingblocks.org/Open source doesn't mean "free for all". Quote Link to comment Share on other sites More sharing options...
Scarabin Posted March 20, 2012 Report Share Posted March 20, 2012 Here's a close-to-home example to disprove this notion: http://www.threadingbuildingblocks.org/Open source doesn't mean "free for all".You've lost me. This is way beyond my level of competence. Quote Link to comment Share on other sites More sharing options...
Antrax Posted March 20, 2012 Author Report Share Posted March 20, 2012 I doubt it. Basically even when a project is "open source", there is typically a person or group of people who control what gets committed to the code base. So, while anyone is free to read and make suggestions, to actually change the code requires approval. The project I linked to, for instance, is a commercial product that benefits from the open source community - the community suggests features and patches, and the paid Intel engineers take the best of these ideas into the Intel product. In exchange, non-commercial use of the product is free of charge. Everybody wins, and there's no chaos as a result of exposing the code to the world. Quote Link to comment Share on other sites More sharing options...
helene_t Posted March 20, 2012 Report Share Posted March 20, 2012 It would be really cool if BBO published an API for GIB that allowed 3rd party developers to implement their own systems and conventions in GIB, similar to Full Disclosure. But I also think it would be a technically very difficult thing to achieve. First, it would probably take some major changes to the GIB architecture to achieve the kind of modularity that would allow 3rd party plugins. Second, the plugins would have to go through serious vetting to make sure that nobody uses GIB as a trojan horse to get malware into the BBO software. 3rd, to take full advantage of the new feature, GIB should be able to interpret the bidding by human opponents playing Acol, WJ or whatnot, but that raises further technical issues. But maybe one day it would be worth the effort. Having GIB play all the systems that have already been described in FD, and allowing users to select convention for their GIB partners and opponents, could make GIB a lot more attractive. Quote Link to comment Share on other sites More sharing options...
cloa513 Posted March 20, 2012 Report Share Posted March 20, 2012 It would be really cool if BBO published an API for GIB that allowed 3rd party developers to implement their own systems and conventions in GIB, similar to Full Disclosure. But I also think it would be a technically very difficult thing to achieve. First, it would probably take some major changes to the GIB architecture to achieve the kind of modularity that would allow 3rd party plugins. Second, the plugins would have to go through serious vetting to make sure that nobody uses GIB as a trojan horse to get malware into the BBO software. 3rd, to take full advantage of the new feature, GIB should be able to interpret the bidding by human opponents playing Acol, WJ or whatnot, but that raises further technical issues. But maybe one day it would be worth the effort. Having GIB play all the systems that have already been described in FD, and allowing users to select convention for their GIB partners and opponents, could make GIB a lot more attractive.First GIB will have to be able to play the system it has- it doesn't always take forcing bids as forcing or take out as take out. Quote Link to comment Share on other sites More sharing options...
pigpenz Posted March 20, 2012 Report Share Posted March 20, 2012 It would be really cool if BBO published an API for GIB that allowed 3rd party developers to implement their own systems and conventions in GIB, similar to Full Disclosure. But I also think it would be a technically very difficult thing to achieve. First, it would probably take some major changes to the GIB architecture to achieve the kind of modularity that would allow 3rd party plugins. Second, the plugins would have to go through serious vetting to make sure that nobody uses GIB as a trojan horse to get malware into the BBO software. 3rd, to take full advantage of the new feature, GIB should be able to interpret the bidding by human opponents playing Acol, WJ or whatnot, but that raises further technical issues. But maybe one day it would be worth the effort. Having GIB play all the systems that have already been described in FD, and allowing users to select convention for their GIB partners and opponents, could make GIB a lot more attractive.The commercial GIB allowed one to load a .sys file that was the system being played by GIBIt included KS, 2/1, Moscito, and several others. 1 Quote Link to comment Share on other sites More sharing options...
barmar Posted March 21, 2012 Report Share Posted March 21, 2012 The commercial GIB allowed one to load a .sys file that was the system being played by GIBIt included KS, 2/1, Moscito, and several others.But the bidding rules have to have places where it says "If you're playing Moscito, that bid means X". The bidding rules are written in a pattern-matching language that's really difficult to read and write (if you're old enough to remember TECO macros, it's comparable). Quote Link to comment Share on other sites More sharing options...
barmar Posted March 21, 2012 Report Share Posted March 21, 2012 First GIB will have to be able to play the system it has- it doesn't always take forcing bids as forcing or take out as take out.It plays its own system, it's just that the system has holes in it -- it doesn't say what to do in every case. Saying that a bid is forcing doesn't tell it what it should bid if there's no rule that matches its hand. That's the difference between humans and computers. When a human is stuck like this, it can think creatively and find a way out of it, but computers are forced to follow the strict logic of the program. Quote Link to comment Share on other sites More sharing options...
Scarabin Posted March 21, 2012 Report Share Posted March 21, 2012 I doubt it. Basically even when a project is "open source", there is typically a person or group of people who control what gets committed to the code base. So, while anyone is free to read and make suggestions, to actually change the code requires approval. The project I linked to, for instance, is a commercial product that benefits from the open source community - the community suggests features and patches, and the paid Intel engineers take the best of these ideas into the Intel product. In exchange, non-commercial use of the product is free of charge. Everybody wins, and there's no chaos as a result of exposing the code to the world.Thanks, now I am with you. Quote Link to comment Share on other sites More sharing options...
cloa513 Posted March 21, 2012 Report Share Posted March 21, 2012 It plays its own system, it's just that the system has holes in it -- it doesn't say what to do in every case. Saying that a bid is forcing doesn't tell it what it should bid if there's no rule that matches its hand. That's the difference between humans and computers. When a human is stuck like this, it can think creatively and find a way out of it, but computers are forced to follow the strict logic of the program.Ie. it was sloopily put together, GIB should have a response for every standard sequence- e.g I'd have limited the opening responses over 1 suit openings to 6 (not include Soloway or complex bids), nearest suit bid or 1NT or raise 1 or 2 and make sure those sequences are reasonably complete and absolute- GIB should never be erratic with a reverse bid. 1D,1S,2H and use simulations to cover the gaps not simulations for every single bid which can override the bookbid. Quote Link to comment Share on other sites More sharing options...
Antrax Posted March 21, 2012 Author Report Share Posted March 21, 2012 What happens then when GIB sees the opponents bidding normally (say, 1M-2NT and continuations)? It won't be able to simulate anything meaningful, since the hands would be a mystery to it. Quote Link to comment Share on other sites More sharing options...
cloa513 Posted March 21, 2012 Report Share Posted March 21, 2012 No different from GIB as it is now. GIB rarely plays against humans (only as stopgap in express tournaments or in hand but you have to crazy to do that) only GIBs or GIB and a human so that bidding sequence won't come up unless the human is suicidal. Quote Link to comment Share on other sites More sharing options...
barmar Posted March 25, 2012 Report Share Posted March 25, 2012 Ie. it was sloopily put together, GIB should have a response for every standard sequence- e.g I'd have limited the opening responses over 1 suit openings to 6 (not include Soloway or complex bids), nearest suit bid or 1NT or raise 1 or 2 and make sure those sequences are reasonably complete and absolute- GIB should never be erratic with a reverse bid. 1D,1S,2H and use simulations to cover the gaps not simulations for every single bid which can override the bookbid.Do you really think it's feasible to define meanings for every possible sequence? There are millions of combinations, particularly when competitive auctions are involved. Humans don't have this problem because we learn basic principles and then use logic and creativity to apply them in different situations. But that's not how GIB works, it needs precise rules for everything. And the language and structure in which the GIB bidding rules are written makes it very difficult to tell whether all the cases are covered. Even the simulations depend on rules. When it's deciding which bids to include in the simulation, it looks for rules that match hands similar to the one it has. And it has to know what the simulated bids show so it can determine how partner will respond to each of them. Despite the fact that the "I" in GIB stands for "Intelligent", it isn't really. Like many forms of AI, it just fakes it. It's like Watson, the computer that played Jeopardy: it's really just a very fancy search engine, looking for entries in its database that match the most keywords in the clue. Competent bridge bidding is an incredibly difficult task, making use of some of the features of the human mind that are unique to our species: language, complex planning, and empathy. Teaching a computer to do this is the holy grail of AI. Quote Link to comment Share on other sites More sharing options...
cloa513 Posted March 25, 2012 Report Share Posted March 25, 2012 Do you really think it's feasible to define meanings for every possible sequence? There are millions of combinations, particularly when competitive auctions are involved. Humans don't have this problem because we learn basic principles and then use logic and creativity to apply them in different situations. But that's not how GIB works, it needs precise rules for everything. And the language and structure in which the GIB bidding rules are written makes it very difficult to tell whether all the cases are covered. Even the simulations depend on rules. When it's deciding which bids to include in the simulation, it looks for rules that match hands similar to the one it has. And it has to know what the simulated bids show so it can determine how partner will respond to each of them. Despite the fact that the "I" in GIB stands for "Intelligent", it isn't really. Like many forms of AI, it just fakes it. It's like Watson, the computer that played Jeopardy: it's really just a very fancy search engine, looking for entries in its database that match the most keywords in the clue. Competent bridge bidding is an incredibly difficult task, making use of some of the features of the human mind that are unique to our species: language, complex planning, and empathy. Teaching a computer to do this is the holy grail of AI.I don't say that at all. You should try reading what I write. I said limit the number of sequences and then make sure all those are well defined and it doesn't have to be a complete chain at some point with enough information GIB can just simulate the best place for the contract or partner signs off in the right place. A lot of problems with GIB is because it is creative in a bad way- those simulations used instead of bidding tables (noone expects amazing bidding from a computer program). Good human player do simulations in their head so there is really no difference. Quote Link to comment Share on other sites More sharing options...
barmar Posted March 27, 2012 Report Share Posted March 27, 2012 Simulations aren't used in most low-level rounds of auctions. Normal opening bids and responses are pretty well defined using rules. Simulations are needed mostly for competitive auctions and high level decisions. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.