Open-source GIB An idea I've been toying with
#1
Posted 2012-March-17, 09:54
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?
#2
Posted 2012-March-19, 01:23
#3
Posted 2012-March-19, 06:04
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.
#4
Posted 2012-March-19, 08:05
#5
Posted 2012-March-19, 09:25
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 Gitelman
Bridge Base Inc.
www.bridgebase.com
#6
Posted 2012-March-19, 09:42
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.
#7
Posted 2012-March-19, 11:43
Antrax, on 2012-March-19, 09:42, said:
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 Gitelman
Bridge Base Inc.
www.bridgebase.com
#8
Posted 2012-March-19, 12:18
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.
#9
Posted 2012-March-19, 15:58
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?
#10
Posted 2012-March-19, 19:03
#11
Posted 2012-March-20, 00:06
Quote
Open source doesn't mean "free for all".
#12
Posted 2012-March-20, 01:07
Antrax, on 2012-March-20, 00:06, said:
Open source doesn't mean "free for all".
You've lost me. This is way beyond my level of competence.
#13
Posted 2012-March-20, 01:34
#14
Posted 2012-March-20, 05:25
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.
#15
Posted 2012-March-20, 05:35
helene_t, on 2012-March-20, 05:25, said:
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.
#16
Posted 2012-March-20, 08:55
helene_t, on 2012-March-20, 05:25, said:
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 GIB
It included KS, 2/1, Moscito, and several others.
#17
Posted 2012-March-21, 01:33
pigpenz, on 2012-March-20, 08:55, said:
It 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).
#18
Posted 2012-March-21, 02:00
cloa513, on 2012-March-20, 05:35, said:
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.
#19
Posted 2012-March-21, 02:13
Antrax, on 2012-March-20, 01:34, said:
Thanks, now I am with you.
#20
Posted 2012-March-21, 07:01
barmar, on 2012-March-21, 02:00, said:
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.