BBO Discussion Forums: Robot Defense - BBO Discussion Forums

Jump to content

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

Robot Defense Simulation analysis?

#1 User is offline   TooMuchFun 

  • Pip
  • Group: Members
  • Posts: 1
  • Joined: 2020-July-16

Posted 2020-July-16, 06:40

On my Board 3 of the Summer 2020 NABC Robot Individual Day 2 of 3 I got a cold top on a hand I had estimated to be an average. When I analyzed what brilliant play I must have made unconsciously, I discovered that I played the Q-S as declarer on Trick 2 with KQx opposite Jxx and West won with the Ace. At this point every card played is compelled after the opening lead which was the same at every table, except declarer has a choice of which spade to play. 5 tables played the S-Q like me and dozens of other 1NT by S tables played a different spade. In every case, declarers who played the S-Q get a club returned by Robot West, every declarer who played the S-K or S-x got a spade back. Robot West's decision is not based on simulation analysis, it is purely deterministic. How is it that playing S-Q specifically is so intimidating that Robot West abandons the attack on spades, and instead gave me a chance to play the hand for an extra overtrick. The programming favors declarers who played S-Q, it should be neutral and give everyone the same return at Trick 3, like everyone got the same opening lead. Robot West obviously did not use simulations to decide what to do on Trick 3 or it would have consistently returned a spade or consistently returned a club since playing S-Q vs S-K at Trick 2 stands up equally to all simulations. But the programming overall is excellent, except I dont like the interruption "Are you there?"that comes up way too often when I haven't been idle. Jeff Rhodes
0

#2 User is offline   johnu 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 4,853
  • Joined: 2008-September-10
  • Gender:Male

Posted 2020-July-16, 10:54

Without the entire hands, this is beyond speculation trying to figure why GIB is defending a particular way.

To confirm, it sounds like you are saying that KQx is in dummy and Jxx is in declarer's hand. You would think that playing the king or queen are equivalent plays and that GIB should defend the same if either card was played. Get those thoughts out of your head. e.g. Same thing with 3 random small cards in dummy where it can't possible affect future play which one is played. Get those thoughts out of your head. Sometimes GIB will take a different line of play when there is absolutely no reason not to take the same line of play based on a played equivalent card.

Also, you were very lucky that GIB returned partner's opening lead suit. Too many times a successful lead is made, and GIB partner randomly switches to a new suit.
0

#3 User is offline   smerriman 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,765
  • Joined: 2014-March-15
  • Gender:Male

Posted 2020-July-16, 14:32

View PostTooMuchFun, on 2020-July-16, 06:40, said:

Robot West's decision is not based on simulation analysis, it is purely deterministic.
..
Robot West obviously did not use simulations to decide what to do on Trick 3 or it would have consistently returned a spade or consistently returned a club since playing S-Q vs S-K at Trick 2 stands up equally to all simulations.

You're misunderstanding how simulations work.

Simulations involving dealing full sets of 52 cards that match the current situation. Some of those have South having the King, some have South having the Queen, and some have South having both.

Even though South's card is equivalent to you, which card South plays thus results in completely different deals being considered.
1

#4 User is offline   smerriman 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,765
  • Joined: 2014-March-15
  • Gender:Male

Posted 2020-July-16, 15:14

PS - even though you specifically mentioned the contract was by South and you were playing K as declarer, if KQx was in dummy it would still affect the results, though for less obvious reasons. As simulations involve heavy use of the random number generator, GIB generates a seed based on all bidding/play to date. If those sequences differ in any form, the random number generator would give different output, different hands would be simulated, and the result may differ.

Trying to determine when two different sequences are 'equivalent' and ensuring they have the same seed is actually a highly complex task (have pondered it in the past).
1

#5 User is offline   johnu 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 4,853
  • Joined: 2008-September-10
  • Gender:Male

Posted 2020-July-16, 22:45

View Postsmerriman, on 2020-July-16, 15:14, said:

PS - even though you specifically mentioned the contract was by South and you were playing K as declarer, if KQx was in dummy it would still affect the results, though for less obvious reasons. As simulations involve heavy use of the random number generator, GIB generates a seed based on all bidding/play to date. If those sequences differ in any form, the random number generator would give different output, different hands would be simulated, and the result may differ.

Trying to determine when two different sequences are 'equivalent' and ensuring they have the same seed is actually a highly complex task (have pondered it in the past).

When the "equivalent" cards played are in dummy, the seeds should be the same all other things being equal. Cards in dummy are a known fact. Using different seeds is .....well, random.
0

#6 User is offline   smerriman 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,765
  • Joined: 2014-March-15
  • Gender:Male

Posted 2020-July-17, 00:01

As I said, it would make logical sense, but the algorithm is more complex.

The current algorithm is trivial - list bids/plays in a string, turn string into seed, done. That's literally a few lines of code at most.

An improved algorithm would be somewhat doable - you'd need to step through every single card played (by all 4 players) one at a time, then look at the next played card and swap it with what you calculate to be the lowest equivalent card remaining. But that wouldn't be all you needed to solve the issue - for example, when you have 42 in dummy and the 3 hasn't been played, most of the time the play is irrelevant - but how do you distinguish that from the cases where it isn't?

[edit] Actually, it probably isn't that important to ensure different seeds for different situations.. maybe a seed should just be generated when the hand is dealt and used from then on regardless of the play. Dunno. This is why I wish they'd open up access to the source code :(

[edit2] Is this any of this actually true? Now that I think about it, all past reports on this that I can recall - including this thread - were based on cards played by declarer/defenders, rather than dummy. Maybe this isn't actually a GIB issue at all.
0

#7 User is offline   Wentys 

  • PipPip
  • Group: Members
  • Posts: 15
  • Joined: 2023-February-17

Posted 2023-April-04, 00:14

My observation is that there does appear to be an element of Robot non-determinism. At a hand I just played in a 40-player individual tournament, about 8 of us ended up in 1NT. I went down badly, so went back to see what others had done. The initial four tricks are exactly the same on all the boards I examined, apart from W discards on trick 4. The E robot on lead seemed to randomly decide whether to pursue the attack on spades or switch to hearts. In all cases where it switched suits, the contract made, all others it failed.
But it did appear that even for exactly the same discard by East on trick four, at one table it switched suit, at one table it didn't.

So my crisp question is "If exactly the same bidding and first 16 cards are played at different tables, might the Robot on lead make a random choice between whatever it evaluates as best plays?"
0

#8 User is offline   smerriman 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,765
  • Joined: 2014-March-15
  • Gender:Male

Posted 2023-April-04, 00:48

View PostWentys, on 2023-April-04, 00:14, said:

So my crisp question is "If exactly the same bidding and first 16 cards are played at different tables, might the Robot on lead make a random choice between whatever it evaluates as best plays?"

If you're playing in an individual robot tournament, where robots are in the other three seats, no; the robot will always play identically if you play identically. In general, it's still making choices based on random numbers, but the random numbers are synchronized at different tables, so it's guaranteed to come up with the same choice at every table.

I assume this is the hand you're talking about. 6 people made 1Nx, and 6 went down, but if you look closely, there were numerous differences by the humans in the first 4 tricks.

3 people played the A to trick 2, while nobody else did, giving them a different set of random numbers from that point onwards. They all went down.

Of the rest, 3 people played the 9 at trick 1, while nobody else did; they all made.

Of the rest, 2 people played the 6 to trick 1, but they played different diamonds at trick 3, leading to different random numbers and one making, one going down.

That leaves 4 people, all of whom had identical play to the first three tricks. You were the only one to lead the J of diamonds to trick 4, separating you off from the rest.

All of the others lead the 3 of diamonds, but the one that went down followed with the 9, while the two that made followed with the 6.

Of course, it may seem silly that small changes in what card you play affects the results, and in many cases there is no bridge sense to why it caused the robot to change its play; it just came up with a different coin toss. But in your example, there were no occasions when the cards were identical and the robots differed - it was always the human differing first.
0

#9 User is offline   Wentys 

  • PipPip
  • Group: Members
  • Posts: 15
  • Joined: 2023-February-17

Posted 2023-April-04, 02:30

View Postsmerriman, on 2023-April-04, 00:48, said:

If you're playing in an individual robot tournament, where robots are in the other three seats, no; the robot will always play identically if you play identically. In general, it's still making choices based on random numbers, but the random numbers are synchronized at different tables, so it's guaranteed to come up with the same choice at every table.

I assume this is the hand you're talking about. 6 people made 1Nx, and 6 went down, but if you look closely, there were numerous differences by the humans in the first 4 tricks.

Of the rest, 3 people played the A to trick 2, while nobody else did, giving them a different set of random numbers from that point onwards. They all went down.

Of the rest, 3 people played the 9 at trick 1, while nobody else did; they all made.

Of the rest, 2 people played the 6 to trick 1, but they played different diamonds at trick 3, leading to different random numbers and one making, one going down.

That leaves 4 people, all of whom had identical play to the first three tricks. You were the only one to lead the J of diamonds to trick 4, separating you off from the rest.

All of the others lead the 3 of diamonds, but the one that went down followed with the 9, while the two that made followed with the 6.

Of course, it may seem silly that small changes in what card you play affects the results, and in many cases there is no bridge sense to why it caused the robot to change its play; it just came up with a different coin toss. But in your example, there were no occasions when the cards were identical and the robots differed - it was always the human differing first.


Thanks for the comprehensive analysis and answer, I appreciate it. So re-reading the thread about the "bidding and the history of cards played" represented as a string which seeds the robot simulation, I can understand how my random play might introduce future robot variations. For example, if I hold 234 of a suit and randomly pick the 2 to lead, my "history" is not the same as another player who randomly picks the 4. Even though the two plays are equivalent in "bridge logic", they create different seeds for the robots, and potentially different choices for their play.

Does my understanding now seem better?

I quite liked the suggestion from someone that perhaps the robot seed should be determined once at the start of playing the hand, i.e. on final contract only. So it won't matter how you got to your contract. The question of whether I played a 2 or a 3 from "bridge equivalent" cards would then probably create the same robot future plays from the robots.
0

#10 User is offline   smerriman 

  • PipPipPipPipPipPipPip
  • Group: Advanced Members
  • Posts: 3,765
  • Joined: 2014-March-15
  • Gender:Male

Posted 2023-April-04, 02:49

View PostWentys, on 2023-April-04, 02:30, said:

For example, if I hold 234 of a suit and randomly pick the 2 to lead, my "history" is not the same as another player who randomly picks the 4. Even though the two plays are equivalent in "bridge logic", they create different seeds for the robots, and potentially different choices for their play.

Correct. And of course, there are plenty of occasions where it may look irrelevant to you, but does actually impact bridge logic (e.g. the 2 and 3 from KT32 does make a big difference if you're the opening leader and play 4th best leads, which the robots do give some weight to). But it affects GIB either way.

View PostWentys, on 2023-April-04, 02:30, said:

I quite liked the suggestion from someone that perhaps the robot seed should be determined once at the start of playing the hand, i.e. on final contract only. So it won't matter how you got to your contract.

This wouldn't make sense, since paying attention to what hands each person can hold based on the bids they did / didn't make in the auction is a vital part of bridge logic (even if the robots don't do it very well at times). What (I think) I was referring to by that line was not having dummy's played cards involved in the seeding, but it's possible that's done already.
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