Robot Defense Simulation analysis?
#1
Posted 2020-July-16, 06:40
#2
Posted 2020-July-16, 10:54
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.
#3
Posted 2020-July-16, 14:32
TooMuchFun, on 2020-July-16, 06:40, said:
..
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.
#4
Posted 2020-July-16, 15:14
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).
#5
Posted 2020-July-16, 22:45
smerriman, on 2020-July-16, 15:14, said:
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.
#6
Posted 2020-July-17, 00:01
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.
#7
Posted 2023-April-04, 00:14
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?"
#8
Posted 2023-April-04, 00:48
Wentys, on 2023-April-04, 00:14, 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.
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.
#9
Posted 2023-April-04, 02:30
smerriman, on 2023-April-04, 00:48, said:
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.
#10
Posted 2023-April-04, 02:49
Wentys, on 2023-April-04, 02:30, said:
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.
Wentys, on 2023-April-04, 02:30, said:
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.