BBO Discussion Forums: Would you join a group effort to write a new simulation? - BBO Discussion Forums

Jump to content

  • 6 Pages +
  • 1
  • 2
  • 3
  • 4
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

Would you join a group effort to write a new simulation? Appeal for a bridge program that is not a GIB clone.

#21 User is offline   barmar 

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Group: Admin
  • Posts: 21,422
  • Joined: 2004-August-21
  • Gender:Male

Posted 2012-July-25, 22:54

View PostQuantumcat, on 2012-July-24, 16:25, said:

If this was Facebook I would click 'Like' on the above.

Why not here? That's what the (+) button is for.

#22 User is offline   Quantumcat 

  • PipPipPipPipPip
  • Group: Full Members
  • Posts: 944
  • Joined: 2007-April-11
  • Gender:Female
  • Location:Bathurst, Australia
  • Interests:Archery, classical guitar, piano, watercolour painting, programming, french

Posted 2012-July-25, 23:26

Never even noticed that. What does it do exactly?
I Transfers
0

#23 User is offline   barmar 

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Group: Admin
  • Posts: 21,422
  • Joined: 2004-August-21
  • Gender:Male

Posted 2012-July-25, 23:45

View PostQuantumcat, on 2012-July-25, 23:26, said:

Never even noticed that. What does it do exactly?

It bumps up the reputation of the author of the post.

#24 User is offline   Antrax 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,458
  • Joined: 2011-March-15
  • Gender:Male

Posted 2012-July-25, 23:56

I've given it some thought. I think I'd be most interested in contributing to a card-playing engine based on single-dummy analysis. IMHO that seems to be GIB's biggest flaw, things like assuming everybody will get every finesse right.
0

#25 User is offline   Scarabin 

  • PipPipPipPip
  • Group: Full Members
  • Posts: 382
  • Joined: 2010-December-30
  • Gender:Male
  • Interests:All types of games especially bridge & war games.
    old bidding systems & computer simulation programming.

Posted 2012-July-26, 02:49

View PostAntrax, on 2012-July-25, 23:56, said:

I've given it some thought. I think I'd be most interested in contributing to a card-playing engine based on single-dummy analysis. IMHO that seems to be GIB's biggest flaw, things like assuming everybody will get every finesse right.


This is the major problem we would seek to solve. To the best of my knowledge no one has succeeded in writing a true single dummy analysis. Some years ago Deep Finesse announced they had commenced working on this but have yet to publish any result.

The concept is quite simple you take some expert's analysis of how to plan the play of the hand (I used to use Culbertson's analysis in Contract Bridge Complete). This entails choosing best plays for individual suits and combining these in a master plan for the whole hand(s). Fred Gittelman discussed this in his paper on Base III.

Ian Frank gained his doctorate from Edinburgh University with a paper on Finesse: a program he wrote in Prolog to reproduce single dummy play. The input is impressive but there is no indication he ever got beyond the single suit results given by Suitplay.

And so the challenge remains. I hope that a multiple approach using normal language input to an open play engine might give optimal conditions for a solution.
0

#26 User is offline   Antrax 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,458
  • Joined: 2011-March-15
  • Gender:Male

Posted 2012-July-26, 03:04

Interesting, from what I understood from Stephen Tu's posts, single-dummy analysis is possible but computationally expensive.
0

#27 User is offline   Scarabin 

  • PipPipPipPip
  • Group: Full Members
  • Posts: 382
  • Joined: 2010-December-30
  • Gender:Male
  • Interests:All types of games especially bridge & war games.
    old bidding systems & computer simulation programming.

Posted 2012-July-26, 03:46

View PostAntrax, on 2012-July-26, 03:04, said:

Interesting, from what I understood from Stephen Tu's posts, single-dummy analysis is possible but computationally expensive.

Not familiar with these, can you reference specific Topics/Posts, please? By the way I am not sure exactly what Gibson (in GIB) does either.
0

#28 User is offline   helene_t 

  • The Abbess
  • PipPipPipPipPipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 17,089
  • Joined: 2004-April-22
  • Gender:Female
  • Location:UK

Posted 2012-July-26, 03:52

Since Bridge is a finite game, single-dummy analysis is conceptually possible, but it would surprise me if it became feasible before we get quantum computers.

But maybe a little could be done towards patching the biggest holes in the double-dummy approach. I have seen GIB leading a stiff king in a suit bid by declarer - makes sense since declarer would never take a losing finese anyway!
The world would be such a happy place, if only everyone played Acol :) --- TramTicket
0

#29 User is offline   Antrax 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,458
  • Joined: 2011-March-15
  • Gender:Male

Posted 2012-July-26, 04:15

Here's one: http://www.bridgebas...ntially-big-set there are better examples.

Helene, that seems a bit pessimistic. Intuitively, it seems possible to write a program to play as well as a low intermediate. So no practice finesses and no suit blockage and no discarding your K, and you end up with something more fun to play with than GIB, that can sometimes get a quad-shifted guard squeeze right or whatever, but doesn't lead AK vs. 6NT.

[edit]
Another example: http://www.bridgebas...post__p__632092
And this: http://www.bridgebas...post__p__635141
0

#30 User is offline   advanced 

  • PipPip
  • Group: Members
  • Posts: 17
  • Joined: 2012-July-12

Posted 2012-July-26, 15:56

View PostScarabin, on 2012-July-23, 17:15, said:

Thanks for your responses, I really appreciate your valuable input.

To Advanced: I chose GIB as being familiar to most BBOers and because Barmar gives us insights into its actual methods. I agree Jack is very professional but so is Wbridge5 and both have serious limitations and, I find, infuriating defects.



If you think Jack has "infuriating defects" then GIB makes you want to buy a rope to hang yourself, GIB is a baby compared to Jack
0

#31 User is offline   bluecalm 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,555
  • Joined: 2007-January-22

Posted 2012-July-26, 16:30

Quote

Since Bridge is a finite game, single-dummy analysis is conceptually possible, but it would surprise me if it became feasible before we get quantum computers.


Quote

Helene, that seems a bit pessimistic. Intuitively, it seems possible to write a program to play as well as a low intermediate


Wow my intuition on this one is completely different. I am shocked nobody wrote a card playing program better than top humans by now and I think it's only for the lack of incentives (not that current programmers are bad, just that lack of incentives to write good bridge playing programs makes the field stagnant compared to say chess programming).
Computers are fast these days they can simulate a lot. I think 1 or 2 levels of "assuming he plays double dummy and I do that the result is" are feasible and that could potentially be very strong.

Anyway, I might be completely off on this one. Can't wait to finally have time to try some ideas and see how they fare.
0

#32 User is offline   Scarabin 

  • PipPipPipPip
  • Group: Full Members
  • Posts: 382
  • Joined: 2010-December-30
  • Gender:Male
  • Interests:All types of games especially bridge & war games.
    old bidding systems & computer simulation programming.

Posted 2012-July-26, 16:38

To Advanced: What I want, perhaps unreasonably, is a simulation that plays and bids to the 4th level of BridgeMaster. I fear that prolonged exposure to Jack, Wbridge5, GIB, and Shark, may actually lower my standard of play. I hesitate to identify differences without a lengthy test on set hands.

To Antrax: Thanks but do you not wonder where Stephen Tu gets his special information. Just writing a simulation does not give any special insight into other author's achievements although it sure shows you what can go wrong.Contrast his attitude with Barmar's. Barmar manages to correct our assumptions about GIB without appearing either condescending or arrogant. I am aware of analyses of later plays becoming more accurate although my commercial copy of GIB seems to make mistakes at all stages of the play.
0

#33 User is offline   nigel_k 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,207
  • Joined: 2009-April-26
  • Gender:Male
  • Location:Wellington, NZ

Posted 2012-July-26, 17:19

View Postbluecalm, on 2012-July-26, 16:30, said:

Wow my intuition on this one is completely different. I am shocked nobody wrote a card playing program better than top humans by now and I think it's only for the lack of incentives (not that current programmers are bad, just that lack of incentives to write good bridge playing programs makes the field stagnant compared to say chess programming).
Computers are fast these days they can simulate a lot. I think 1 or 2 levels of "assuming he plays double dummy and I do that the result is" are feasible and that could potentially be very strong.

Anyway, I might be completely off on this one. Can't wait to finally have time to try some ideas and see how they fare.

I have the complete opposite view. Not having full information makes the problem exponentially harder. Actually, I'm not even sure the problem of how to play and defend a hand is well understood enough right now that any speed of computer could be programmed to beat the top humans.
0

#34 User is offline   barmar 

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Group: Admin
  • Posts: 21,422
  • Joined: 2004-August-21
  • Gender:Male

Posted 2012-July-26, 18:26

I think it's a little bit of both.

Programming bridge is HARD. What makes bridge such a fascinating game is that it's so hard for us to figure out how to play. A bridge player with any competence has to make lots of inferences about WHY partner and the opponents are doing what they're doing. Getting into the mind of others is a difficult thing to program, but it's actually one of the things the human main does very well. Bridge expertise depends on an aspect of humanity that really sets us apart from computers.

Put that together with the fact that there's not a huge market for bridge programs. For some reason, chess programs have always been more popular. And until Deep Blue bested the world's best chess player, it was always seen as a very legitimate area of study. And it was true that until computers got fast enough, the types of analysis necessary to make a good chess program were very interesting computer science problems.

Currently, GIB works by dealing a bunch of random hands, then calculating the double dummy result of playing each legal card with each of them, and choosing one of the cards that has the best average score across all the hands. Its biggest problem is in selecting the hands to perform this analysis on; currently, it just selects them based on how consistent they are with the bidding. It DOESN'T make any inferences from previous cards played (except I think it does recognize standard honor sequence leads, and infers the adjacent card is in the player's hand).

What a program COULD do is go back to the previous card played, insert it into the player's hand in each of these random hands, and do a similar analysis from that player's perspective to see if that was a reasonable card to play with each of the hands, so that it could discard hands that are not consistent with the previous player playing that card. It could then repeat this process for each previous card played, up to some reasonable limit. But this is extremely computationally expensive, even for modern computers. Realize that in the above process, we're just using all those extra simulations to filter the hands down to a set of hands to perform DD analysis of OUR play on. If we want to get a reasonable number of final hands so that the statistical results are meaningful, it means performing all that backtracking on many thousands of hands. That adds up quickly, especially in early rounds of play when there are so many choices of plays.

Lack of this kind of analysis is the reason for some really stupid things GIB does. If declarer cashes an Ace, with Queen in dummy, and partner plays the King, GIB can't figure out that the only reason for this is that partner had a stiff. Even the dumbest human recognizes this, and uses it to refine his count of the hand, or gives partner a ruff, but GIB doesn't do any of this.

When examining the GIB source code, trying to understand its defensive algorithms, I think I saw some code that was intended to do this kind of analysis, but it's disabled. When we asked Ginsberg about it, he said he tried to do it, but it slowed the program down too much. But that was a decade ago, so I'm curious how well it would work on modern systems.

#35 User is offline   Quantumcat 

  • PipPipPipPipPip
  • Group: Full Members
  • Posts: 944
  • Joined: 2007-April-11
  • Gender:Female
  • Location:Bathurst, Australia
  • Interests:Archery, classical guitar, piano, watercolour painting, programming, french

Posted 2012-July-26, 19:13

I wonder if it would make a good postgraduate computer science research topic? Making a bridge program that plays more like a human? It wouldn't have to be commercially viable (would probably need a supercomputer to run quickly enough), but perhaps it could compete in the computer bridge championships ...
I Transfers
0

#36 User is offline   Stephen Tu 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 4,076
  • Joined: 2003-May-14

Posted 2012-July-26, 19:46

View PostScarabin, on 2012-July-26, 16:38, said:

Thanks but do you not wonder where Stephen Tu gets his special information.

Why not just ask me? My information is not "special". It is just information gleaned from Matt Ginsberg's postings on rec.games.bridge and the gib-discuss email-list that used to be hosted on lists.gibware.com but is now defunct, mostly in the late 90s until 2002. Some of Matt's posts are archived on groups.google.com from the rec.games.bridge usenet group, unfortunately a lot has been lost to the sands of time of the un-archived internet. A shame that the GIB email-list archive isn't still online. Perhaps BBO has this on storage somewhere and could perhaps dig it out and make it available again? Ginsberg's posts were very educational for people who are curious about how GIB thinks and why it is prone to making the kind of mistakes it does. I probably only truly understood half of his more technical posts, but that's still more than a lot of people on the robot forum coming in and making proclamations of how it should be fixed despite knowing close to zero of how it works.

I also did some volunteer grunt work for Matt some 10-11 years ago manually combing through many hundreds of deals GIB played vs. humans on Swangames bridge, noting the more egregious bidding holes some of which Matt would attempt to fix before he quit working on GIB ~10 years ago. Unfortunately bidding is very complex with zillions of potential sequences, so there are still plenty of holes, and as new fixes are put in sometimes old things break again. As bad as GIB still is on some sequences, especially rarer ones and competitive sequences, 12 years ago it was even nuttier! Note also that Ginsberg mainly developed GIB's play engine; the bidding was based on a rules db from "Meadowlark Bridge", by Rod Ludwig. Ginsberg did modify it extensively to link it with GIB's simulations, trying to get GIB to bid more on this and use fewer rules. But he found that there were just too many holes, GIB would do its simulations & conclude that doing something crazy would work (often bidding to some high level where auctions were undefined) assuming opps couldn't deal with it (and it would be right, playing vs. itself, but real humans would just pull out the obvious penalty double etc.), so he had to turn off psyching and go back to more rules and less simulation in spots.

Quote

Contrast his attitude with Barmar's.

Sorry, I know my posting style is blunt. But I have little tolerance for idiocy, people making declarations of how things should be done when it is clear they don't really know what they are talking about. If this comes off as arrogant, so be it. I also think it is arrogant to think that a small group of you will in your spare time in a few short years do better than Ginsberg, or people like Hans Kuijf/Yves Costel and their Jack/Wbridge programs. I agree totally with fuburules3's post above.

BTW GIB does do single-dummy reasoning after a few tricks as declarer only. If you have the commercial program, and are running the bridge.exe command prompt mode you can run with lots of different parameters described at:
http://www.gibware.com/engine.txt
Especially experiment with the -L par mode and -m # of deals parameters when working with the harder problems. When it switches to Gibson, the single-dummy engine it prints out a message "switching to Gibson" and with the -s flag you can see its method of reasoning changes.

IMO GIB does very well as declarer when given proper time controls and understands the auction (can get thrown if hits a bidding DB hole, and it biases its sample deals badly). If you think it is still making mistakes at late stages in the play, maybe post some hands where you think it is going wrong? The problems with GIB IMO are the bid DB still has tons of holes (which also affects play/defense since it uses bid info to bias its sample), defense is severely crippled from 1. inability to signal and 2. assumption of double-dummy declarer leading to solve declarer's guesses for him. The declarer play in my view is quite good. But all bets off if playing with the "basic" bots which have the Gibson turned off and the super-fast time settings, then it can play rather horrendously.

Quote

What I want, perhaps unreasonably, is a simulation that plays and bids to the 4th level of BridgeMaster

GIBson is claimed to be 26/36 on L4 bridgemaster, although there is some debate on some of the ones GIB "missed" in the following rgb thread: (i.e. for some "missed", possible Gibson analysis defensible vs. Gitelman's)
https://groups.googl...dk/6FbE6W2QG4oJ
0

#37 User is offline   Scarabin 

  • PipPipPipPip
  • Group: Full Members
  • Posts: 382
  • Joined: 2010-December-30
  • Gender:Male
  • Interests:All types of games especially bridge & war games.
    old bidding systems & computer simulation programming.

Posted 2012-July-26, 19:59

There is one thing I am confident about: If you focus on a specific narrow problem you have a good chance of solving it (and I hope that by getting a lot of programmers to focus on such problems we could produce a first class simulation).

Think of deriving information about the concealed hands from the bidding, this is feasible to program and can include ancillary information like "opartner has called for a lead of this suit". If there is a limited number of bidding systems the computer can itself obtain the information or we can cope with a lot of systems by having the user enter the understanding of each bid.

From this it is a small step to programming opening leads.

I am not telling anyone anything they do not know already but I am trying to explain why I think it is possible to program a rule based system ultimately to outplay a random simulation. I think there is already sufficient evidence that rule based systems are better for bidding.

To Stephen Tu: Thanks for that very helpful post. I would have asked you directly but I must confess I was put off by your style, I am still new enough to posting to have delicate feelings. I will investigate the links you give. By the way I think I have been using GIB with Gibson turned off, so thanks for information.
0

#38 User is offline   Quantumcat 

  • PipPipPipPipPip
  • Group: Full Members
  • Posts: 944
  • Joined: 2007-April-11
  • Gender:Female
  • Location:Bathurst, Australia
  • Interests:Archery, classical guitar, piano, watercolour painting, programming, french

Posted 2012-July-26, 20:05

After reading posts by people that sounds like they know what they are talking about, I would suggest you learn how GIB or Deep Finesse works first (and read their source code), figure out what their weaknesses are and find out if the programmers know of them, and have reasons for designing their algorithms the way they have (more efficient), then when you have a holistic understanding of GIB and could program it yourself from scratch with no references, THEN you can go about designing your own bridge playing software. Otherwise you'll end up making the same mistakes people did when they designed the very first bridge program, and you've got about 30 years worth of mistakes to make and fix before you get to where GIB is now.
I Transfers
0

#39 User is offline   Siegmund 

  • Alchemist
  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 1,764
  • Joined: 2004-June-15
  • Gender:Male
  • Location:Beside a little lake in northwestern Montana
  • Interests:Creator of the 'grbbridge' LaTeX typesetting package.

Posted 2012-July-26, 20:32

Quote

I am shocked nobody wrote a card playing program better than top humans by now and I think it's only for the lack of incentives (not that current programmers are bad, just that lack of incentives to write good bridge playing programs makes the field stagnant compared to say chess programming).
Computers are fast these days they can simulate a lot.


As nigel said, having each side choosing a strategy makes the problem vastly harder. Without getting into details... single-dummy analysis of cribbage is something that might just barely be coming within reach of a computer. Single-dummy analysis of a random whole bridge hand is a long, long way away.

Quote

I think 1 or 2 levels of "assuming he plays double dummy and I do that the result is" are feasible and that could potentially be very strong.


...strong, yes, in the same way that GIB is strong now -- and its cardplay playing with itself IS very strong -- but if your goal is to avoid the plays that GIB doesn't understand, you don't get there by sticking one ply of single-dummy on top of a double-dummy analysis.
0

#40 User is offline   Antrax 

  • PipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 2,458
  • Joined: 2011-March-15
  • Gender:Male

Posted 2012-July-26, 20:50

Quote

I also think it is arrogant to think that a small group of you will in your spare time in a few short years do better than Ginsberg, or people like Hans Kuijf/Yves Costel and their Jack/Wbridge programs.
Indeed. However, personally my goal is not to create the next Bridge world champion program, but rather go off in a challenging direction that wasn't explored too much (due to the constraints of the time), and can result in a nice product (a program that plays Bridge which mistakes you can understand). A while ago I was involved with a group that tried to write a chess engine that explains why the right move is the right move - not by showing some responses and how you counter them, but by "understanding" stuff like "his queen side is weak" or "this keeps the bishop locked up", i.e. the way a tutor would explain to a student. Nothing came out of it, as probably nothing will come out of this, but that's the sort of project that I think can be both feasible and rewarding.
0

  • 6 Pages +
  • 1
  • 2
  • 3
  • 4
  • Last »
  • 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