=== Board 9108 (API) - DDS Engine (W) - 2026-08-10 12:36:28 === === Board 9108 (API) - Neural Network Engine (W) - 2026-08-10 12:36:28 === [12:36:28.989] === FindBestCardAsync: Position=W, CardsPlayed=2 === [12:36:28.989] Contract: 3N, Declarer: N, Dealer: N [12:36:28.989] Auction: 1N-P-3N-P-P-P [12:36:28.989] Deal: N:... ... ... ... [12:36:28.989] Position W is on defender's side - score table shifted by 0 defense tricks won [12:36:28.989] ****************************** [12:36:28.989] FindMatchingDealsWithPlayInternal Input: [12:36:28.989] Position parameter: W [12:36:28.989] Deal from game: N:... ... ... ... [12:36:28.989] Hand for N: (null) [12:36:28.990] Hand for E: (null) [12:36:28.990] Hand for S: 8732.AQ3.KQJ.AT5 [12:36:28.990] Hand for W: 4.982.T9864.Q943 [12:36:28.990] Cards played: D5, DJ [12:36:28.990] Declarer: N [12:36:28.990] ****************************** [12:36:28.990] [DealFinder] Seed from player W hand: 735073689 [12:36:28.990] [DealFinder] Auction: 1N-P-3N-P-P-P [12:36:28.990] [DealFinder] Reusing process-cached base constraints for auction (stateless-service reuse). [12:36:28.990] [Timing] Pre-computation (constraints): 0ms mem d=0MB (total=1262MB, gc2=19) [12:36:28.991] [DealFinder] Using cardsPlayedCount=2 for visibility calculation [12:36:28.991] [ExtractPartialDeal] Position=W, Declarer=N, CardsPlayed=2 [12:36:28.991] [ExtractPartialDeal] Visible hands: W, S, N [12:36:28.991] [ExtractPartialDeal] Input deal: N:... ... ... ... [12:36:28.991] [ExtractPartialDeal] Extracted hands: [12:36:28.991] N: ... (0 cards) [12:36:28.991] E: ... (0 cards) [12:36:28.991] S: 8732.AQ3.KQJ.AT5 (13 cards) [LOCKED] [12:36:28.991] W: 4.982.T9864.Q943 (13 cards) [LOCKED] [12:36:28.991] [DealFinder] Trump suit from contract '3N': NoTrump [12:36:28.991] [ComputePlayedCards] Declarer=N, Opening leader=E, Trump=NoTrump [12:36:28.991] [ComputePlayedCards] Card 1: D5 played by E [12:36:28.992] [ComputePlayedCards] Card 2: DJ played by S [12:36:28.992] [DealFinder] Added 0 played cards to N (was 0 cards): [12:36:28.992] [DealFinder] Added 1 played cards to E (was 0 cards): D5 [12:36:28.992] [DealFinder] Locked player S has complete 13-card hand, skipping played cards: DJ [12:36:28.992] [DealFinder] Locked player W has complete 13-card hand, skipping played cards: [12:36:28.992] [DecomposePartnership] N: No tightening (CombinedHcpMin=15, CombinedHcpMax=, partner S HCP=16) [12:36:28.992] [DecomposePartnership] E: No tightening (CombinedHcpMin=, CombinedHcpMax=, partner W HCP=2) [12:36:28.992] [DealFinder] Bid verification enabled for: N [12:36:28.992] [DealFinder] Propagated N: HCP[15-17], Suits=S[2-5] H[2-5] D[2-5] C[2-5] (2 iterations) [12:36:28.992] [DealFinder] Propagated E: HCP[5-7], Suits=S[3-6] H[2-5] D[0-3] C[1-4] (2 iterations) [12:36:28.993] [DealFinder] Known cards per player: N=0, E=1, S=13, W=13 [12:36:28.994] [DealFinder] Locked players: S, W [12:36:28.994] [DealFinder] Total known cards: 27, Remaining deck: 25, Cards to deal: 25 [12:36:28.994] [DealFinder] Players needing cards: N:13, E:12 [12:36:28.994] Large number of cards remaining. Using random generation. [12:36:28.994] [DealFinder] Hands to validate (not 13 cards in partial): N, E [12:36:28.994] [VerifyHands] FAIL for N: AKQT9.T764.A.KJ6 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:36:28.997] [VerifyHands] FAIL for N: AKQJ9.T74.A73.87 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:36:28.998] [VerifyHands] FAIL for N: KJT6.J65.A72.K86 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:36:28.998] [VerifyHands] FAIL for N: Q96.KT654.A.K762 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:36:28.999] [VerifyHands] FAIL for N: KT95.KJT7.3.KJ76 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:36:29.480] [Timing] Total: 489ms, Generation: 11ms, Verification: 412ms [12:36:29.480] [Timing] Attempts: 646, PassedSimpleCheck: 347, FailedVerification: 297, Found: 50 [12:36:29.493] Search complete. Returning 50 deals. [12:36:29.493] Found 50 sample deals for simulation. [12:36:29.493] Valid deals for DDS: 50 / 50 [12:36:29.493] [SAMPLE-VAL] Validating 50 samples, hidden: N,E, contract: NT [12:36:29.501] [SAMPLE-VAL] Opening lead NN validation (D5): 23/50 samples adjusted [12:36:29.501] [SAMPLE-VAL] Opening lead rule validation (D5): 12/50 samples penalized for convention violation [12:36:29.502] [SAMPLE-VAL] Done. Weight range: 0.025-1.000 [12:36:29.502] After sample validation: 50 deals remaining [12:36:29.502] [PLAY-INFER] No completed tricks -- skipping [12:36:29.502] Using weighted samples: 29/50 have non-uniform weights (range 0.025-1.000) [12:36:29.502] Sample deals (50 total, showing first 20, by weight): [12:36:29.502] [1] (w=1.000) N:AKT65.765.A2.KJ2 QJ9.KJT4.753.876 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.502] [2] (w=1.000) N:AKQJ6.J65.A7.J82 T95.KT74.532.K76 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.502] [3] (w=1.000) N:K96.KJ64.A7.KJ62 AQJT5.T75.532.87 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.502] [4] (w=1.000) N:AQ6.J5.A73.KJ876 KJT95.KT764.52.2 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.502] [5] (w=1.000) N:AKQ5.J64.A2.J762 JT96.KT75.753.K8 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.502] [6] (w=1.000) N:KQJ5.KT65.A72.K7 AT96.J74.53.J862 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.503] [7] (w=1.000) N:AKJ9.K75.A72.876 QT65.JT64.53.KJ2 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.503] [8] (w=1.000) N:AKJ9.KT75.A3.J87 QT65.J64.752.K62 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.503] [9] (w=1.000) N:AQJT5.KT4.A3.J82 K96.J765.752.K76 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.503] [10] (w=1.000) N:AQT9.KT64.A7.K76 KJ65.J75.532.J82 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.503] [11] (w=1.000) N:AQJT6.KT6.A7.J82 K95.J754.532.K76 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.503] [12] (w=1.000) N:KQ96.KJT.A2.K862 AJT5.7654.753.J7 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.503] [13] (w=1.000) N:AQT6.KJ74.A7.K62 KJ95.T65.532.J87 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.503] [14] (w=1.000) N:AKQT.JT64.A7.K87 J965.K75.532.J62 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.503] [15] (w=1.000) N:AQJT.JT4.A7.KJ72 K965.K765.532.86 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.503] [16] (w=1.000) N:KQJ95.J76.A3.KJ7 AT6.KT54.752.862 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.504] [17] (w=1.000) N:KQ65.K754.A72.KJ AJT9.JT6.53.8762 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.504] [18] (w=1.000) N:AJT96.KT7.A2.K86 KQ5.J654.753.J72 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.504] [19] (w=1.000) N:KJT6.KJ6.A73.KJ8 AQ95.T754.52.762 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.504] [20] (w=1.000) N:AJT.KT65.A3.KJ87 KQ965.J74.752.62 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:29.504] ... and 30 more [12:36:29.886] --- IMP Calculation Input (aggregatedScores: card -> bridge scores per sample) --- [12:36:29.886] D4: [-490, -460, -460, -490, -490, -460, -430, -460, -460, -460, -460, -430, -460, -490, -490, -490, -460, -460, -460, -490, -490, -460, -460, -430, -520, -460, -460, -490, -460, -490, -490, -460, -490, -460, -460, -460, -460, -490, -460, -490, -460, -490, -490, -430, -490, -460, -460, -460, -460, -460] [12:36:29.886] D6: [-490, -460, -460, -490, -490, -460, -430, -460, -460, -460, -460, -430, -460, -490, -490, -490, -460, -460, -460, -490, -490, -460, -460, -430, -520, -460, -460, -490, -460, -490, -490, -460, -490, -460, -460, -460, -460, -490, -460, -490, -460, -490, -490, -430, -490, -460, -460, -460, -460, -460] [12:36:29.887] DT: [-490, -460, -460, -490, -490, -460, -430, -460, -460, -460, -460, -430, -460, -490, -490, -490, -460, -460, -460, -490, -490, -460, -460, -430, -520, -460, -460, -490, -460, -490, -490, -460, -490, -460, -460, -460, -460, -490, -460, -490, -460, -490, -490, -430, -490, -460, -460, -460, -460, -460] [12:36:29.887] --- IMP Calculation Input (aggregatedTricks: card -> trick counts per sample) --- [12:36:29.887] D4: [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 0, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 3, 1, 2, 2, 2, 2, 2] [12:36:29.887] D6: [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 0, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 3, 1, 2, 2, 2, 2, 2] [12:36:29.887] DT: [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 0, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 3, 1, 2, 2, 2, 2, 2] [12:36:29.887] --- IMP Calculation Output (card -> average IMP) --- [12:36:29.887] D4: 0.00 [12:36:29.887] D6: 0.00 [12:36:29.887] DT: 0.00 [12:36:29.887] === DDS DETAILED ANALYSIS === [12:36:29.887] Cards analyzed: 3, Samples per card: 50 [12:36:29.888] [12:36:29.888] Card IMPs AvgTricks WinRate DistinctVals TrickCounts (all samples) [12:36:29.888] ----- ------ --------- ------- ----------- -------------------------------- [12:36:29.888] D4 0.00 1.70 0 % 4 [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1...] [12:36:29.888] D6 0.00 1.70 0 % 4 [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1...] [12:36:29.888] DT 0.00 1.70 0 % 4 [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1...] [12:36:29.888] [12:36:29.888] Selected: D4 (IMPs=0.00, avgTricks=1.70) [12:36:29.888] =================== [12:36:29.889] [SD-DEF] single-dummy re-solve: 4 outer world(s) x 4 inner, candidates=[D4,D6,DT] [12:36:30.868] [SD-DEF-DIAG] D4 declTricks/outerWorld=[12,11,11,12] avg=11.50 [12:36:31.858] [SD-DEF-DIAG] D6 declTricks/outerWorld=[12,11,11,12] avg=11.50 [12:36:32.793] [SD-DEF-DIAG] DT declTricks/outerWorld=[12,11,11,12] avg=11.50 [12:36:32.793] [SD-DEF] D4: 0.00 -> 0.00 IMP [12:36:32.793] [SD-DEF] D6: 0.00 -> 0.00 IMP [12:36:32.793] [SD-DEF] DT: 0.00 -> 0.00 IMP [12:36:32.793] [SD-DEF] After re-solve, best card: D4 (0.00 IMP), 168 node solve(s) [12:36:32.793] [SD-DEF] elapsed=2904ms [12:36:32.793] [TRUMP] Skipped: not a suit contract [12:36:32.793] Selected: D4 (avg 0.00 IMPs, 1.70 tricks) -- 2 tied card(s): D6, DT [12:36:32.793] [stage-timing] ok sample=504ms validate=0ms nn=8ms signal=0ms simgames=1ms dds=3287ms total=3804ms samples=50 cards=2 [12:36:32.794] === FindBestCardAsync: Position=W, CardsPlayed=2 === [12:36:32.794] Finding card to play for W: 4.982.T9864.Q943 [12:36:32.794] Relative position: Righty, Contract type: NoTrump [12:36:32.794] Cards in hand mask: 4 [12:36:32.794] Candidate: xD = 79.0 % [12:36:32.795] Candidate: TD = 14.6 % [12:36:32.795] Candidate: 8D = 5.1 % [12:36:32.795] Candidate: 9D = 1.2 % [12:36:32.795] Selected: D4 (79.0 %) === Board 9108 (API) - DDS Engine (W) - 2026-08-10 12:36:52 === === Board 9108 (API) - Neural Network Engine (W) - 2026-08-10 12:36:52 === [12:36:52.933] === FindBestCardAsync: Position=W, CardsPlayed=2 === [12:36:52.933] Contract: 3N, Declarer: N, Dealer: N [12:36:52.933] Auction: 1N-P-3N-P-P-P [12:36:52.933] Deal: N:... ... ... ... [12:36:52.933] Position W is on defender's side - score table shifted by 0 defense tricks won [12:36:52.934] ****************************** [12:36:52.934] FindMatchingDealsWithPlayInternal Input: [12:36:52.934] Position parameter: W [12:36:52.934] Deal from game: N:... ... ... ... [12:36:52.934] Hand for N: (null) [12:36:52.934] Hand for E: (null) [12:36:52.934] Hand for S: 8732.AQ3.KQJ.AT5 [12:36:52.934] Hand for W: 4.982.T9864.Q943 [12:36:52.934] Cards played: D5, DJ [12:36:52.934] Declarer: N [12:36:52.934] ****************************** [12:36:52.934] [DealFinder] Seed from player W hand: 735073689 [12:36:52.934] [DealFinder] Auction: 1N-P-3N-P-P-P [12:36:52.934] [DealFinder] Reusing process-cached base constraints for auction (stateless-service reuse). [12:36:52.935] [Timing] Pre-computation (constraints): 0ms mem d=0MB (total=1261MB, gc2=19) [12:36:52.935] [DealFinder] Using cardsPlayedCount=2 for visibility calculation [12:36:52.935] [ExtractPartialDeal] Position=W, Declarer=N, CardsPlayed=2 [12:36:52.935] [ExtractPartialDeal] Visible hands: W, S, N [12:36:52.935] [ExtractPartialDeal] Input deal: N:... ... ... ... [12:36:52.935] [ExtractPartialDeal] Extracted hands: [12:36:52.935] N: ... (0 cards) [12:36:52.935] E: ... (0 cards) [12:36:52.935] S: 8732.AQ3.KQJ.AT5 (13 cards) [LOCKED] [12:36:52.935] W: 4.982.T9864.Q943 (13 cards) [LOCKED] [12:36:52.935] [DealFinder] Trump suit from contract '3N': NoTrump [12:36:52.935] [ComputePlayedCards] Declarer=N, Opening leader=E, Trump=NoTrump [12:36:52.935] [ComputePlayedCards] Card 1: D5 played by E [12:36:52.935] [ComputePlayedCards] Card 2: DJ played by S [12:36:52.935] [DealFinder] Added 0 played cards to N (was 0 cards): [12:36:52.936] [DealFinder] Added 1 played cards to E (was 0 cards): D5 [12:36:52.936] [DealFinder] Locked player S has complete 13-card hand, skipping played cards: DJ [12:36:52.936] [DealFinder] Locked player W has complete 13-card hand, skipping played cards: [12:36:52.936] [DecomposePartnership] N: No tightening (CombinedHcpMin=15, CombinedHcpMax=, partner S HCP=16) [12:36:52.936] [DecomposePartnership] E: No tightening (CombinedHcpMin=, CombinedHcpMax=, partner W HCP=2) [12:36:52.936] [DealFinder] Bid verification enabled for: N [12:36:52.936] [DealFinder] Propagated N: HCP[15-17], Suits=S[2-5] H[2-5] D[2-5] C[2-5] (2 iterations) [12:36:52.936] [DealFinder] Propagated E: HCP[5-7], Suits=S[3-6] H[2-5] D[0-3] C[1-4] (2 iterations) [12:36:52.937] [DealFinder] Known cards per player: N=0, E=1, S=13, W=13 [12:36:52.937] [DealFinder] Locked players: S, W [12:36:52.937] [DealFinder] Total known cards: 27, Remaining deck: 25, Cards to deal: 25 [12:36:52.937] [DealFinder] Players needing cards: N:13, E:12 [12:36:52.937] Large number of cards remaining. Using random generation. [12:36:52.937] [DealFinder] Hands to validate (not 13 cards in partial): N, E [12:36:52.937] [VerifyHands] FAIL for N: AKQT9.T764.A.KJ6 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:36:52.938] [VerifyHands] FAIL for N: AKQJ9.T74.A73.87 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:36:52.938] [VerifyHands] FAIL for N: KJT6.J65.A72.K86 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:36:52.938] [VerifyHands] FAIL for N: Q96.KT654.A.K762 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:36:52.939] [VerifyHands] FAIL for N: KT95.KJT7.3.KJ76 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:36:53.344] [Timing] Total: 409ms, Generation: 9ms, Verification: 345ms [12:36:53.344] [Timing] Attempts: 646, PassedSimpleCheck: 347, FailedVerification: 297, Found: 50 [12:36:53.354] Search complete. Returning 50 deals. [12:36:53.355] Found 50 sample deals for simulation. [12:36:53.355] Valid deals for DDS: 50 / 50 [12:36:53.355] [SAMPLE-VAL] Validating 50 samples, hidden: N,E, contract: NT [12:36:53.362] [SAMPLE-VAL] Opening lead NN validation (D5): 23/50 samples adjusted [12:36:53.363] [SAMPLE-VAL] Opening lead rule validation (D5): 12/50 samples penalized for convention violation [12:36:53.363] [SAMPLE-VAL] Done. Weight range: 0.025-1.000 [12:36:53.363] After sample validation: 50 deals remaining [12:36:53.363] [PLAY-INFER] No completed tricks -- skipping [12:36:53.363] Using weighted samples: 29/50 have non-uniform weights (range 0.025-1.000) [12:36:53.363] Sample deals (50 total, showing first 20, by weight): [12:36:53.363] [1] (w=1.000) N:AKT65.765.A2.KJ2 QJ9.KJT4.753.876 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.363] [2] (w=1.000) N:AKQJ6.J65.A7.J82 T95.KT74.532.K76 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.363] [3] (w=1.000) N:K96.KJ64.A7.KJ62 AQJT5.T75.532.87 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.364] [4] (w=1.000) N:AQ6.J5.A73.KJ876 KJT95.KT764.52.2 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.364] [5] (w=1.000) N:AKQ5.J64.A2.J762 JT96.KT75.753.K8 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.364] [6] (w=1.000) N:KQJ5.KT65.A72.K7 AT96.J74.53.J862 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.364] [7] (w=1.000) N:AKJ9.K75.A72.876 QT65.JT64.53.KJ2 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.364] [8] (w=1.000) N:AKJ9.KT75.A3.J87 QT65.J64.752.K62 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.364] [9] (w=1.000) N:AQJT5.KT4.A3.J82 K96.J765.752.K76 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.364] [10] (w=1.000) N:AQT9.KT64.A7.K76 KJ65.J75.532.J82 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.364] [11] (w=1.000) N:AQJT6.KT6.A7.J82 K95.J754.532.K76 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.364] [12] (w=1.000) N:KQ96.KJT.A2.K862 AJT5.7654.753.J7 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.364] [13] (w=1.000) N:AQT6.KJ74.A7.K62 KJ95.T65.532.J87 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.364] [14] (w=1.000) N:AKQT.JT64.A7.K87 J965.K75.532.J62 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.365] [15] (w=1.000) N:AQJT.JT4.A7.KJ72 K965.K765.532.86 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.365] [16] (w=1.000) N:KQJ95.J76.A3.KJ7 AT6.KT54.752.862 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.365] [17] (w=1.000) N:KQ65.K754.A72.KJ AJT9.JT6.53.8762 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.365] [18] (w=1.000) N:AJT96.KT7.A2.K86 KQ5.J654.753.J72 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.365] [19] (w=1.000) N:KJT6.KJ6.A73.KJ8 AQ95.T754.52.762 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.365] [20] (w=1.000) N:AJT.KT65.A3.KJ87 KQ965.J74.752.62 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:36:53.365] ... and 30 more [12:36:53.713] --- IMP Calculation Input (aggregatedScores: card -> bridge scores per sample) --- [12:36:53.713] D4: [-490, -460, -460, -490, -490, -460, -430, -460, -460, -460, -460, -430, -460, -490, -490, -490, -460, -460, -460, -490, -490, -460, -460, -430, -520, -460, -460, -490, -460, -490, -490, -460, -490, -460, -460, -460, -460, -490, -460, -490, -460, -490, -490, -430, -490, -460, -460, -460, -460, -460] [12:36:53.714] D6: [-490, -460, -460, -490, -490, -460, -430, -460, -460, -460, -460, -430, -460, -490, -490, -490, -460, -460, -460, -490, -490, -460, -460, -430, -520, -460, -460, -490, -460, -490, -490, -460, -490, -460, -460, -460, -460, -490, -460, -490, -460, -490, -490, -430, -490, -460, -460, -460, -460, -460] [12:36:53.714] DT: [-490, -460, -460, -490, -490, -460, -430, -460, -460, -460, -460, -430, -460, -490, -490, -490, -460, -460, -460, -490, -490, -460, -460, -430, -520, -460, -460, -490, -460, -490, -490, -460, -490, -460, -460, -460, -460, -490, -460, -490, -460, -490, -490, -430, -490, -460, -460, -460, -460, -460] [12:36:53.714] --- IMP Calculation Input (aggregatedTricks: card -> trick counts per sample) --- [12:36:53.714] D4: [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 0, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 3, 1, 2, 2, 2, 2, 2] [12:36:53.714] D6: [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 0, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 3, 1, 2, 2, 2, 2, 2] [12:36:53.714] DT: [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 0, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 3, 1, 2, 2, 2, 2, 2] [12:36:53.714] --- IMP Calculation Output (card -> average IMP) --- [12:36:53.714] D4: 0.00 [12:36:53.714] D6: 0.00 [12:36:53.714] DT: 0.00 [12:36:53.714] === DDS DETAILED ANALYSIS === [12:36:53.714] Cards analyzed: 3, Samples per card: 50 [12:36:53.714] [12:36:53.715] Card IMPs AvgTricks WinRate DistinctVals TrickCounts (all samples) [12:36:53.715] ----- ------ --------- ------- ----------- -------------------------------- [12:36:53.715] D4 0.00 1.70 0 % 4 [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1...] [12:36:53.715] D6 0.00 1.70 0 % 4 [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1...] [12:36:53.715] DT 0.00 1.70 0 % 4 [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1...] [12:36:53.715] [12:36:53.715] Selected: D4 (IMPs=0.00, avgTricks=1.70) [12:36:53.715] =================== [12:36:53.716] [SD-DEF] single-dummy re-solve: 4 outer world(s) x 4 inner, candidates=[D4,D6,DT] [12:36:55.527] [SD-DEF-DIAG] D4 declTricks/outerWorld=[12,11,11,12] avg=11.50 [12:36:56.973] [SD-DEF-DIAG] D6 declTricks/outerWorld=[12,11,11,12] avg=11.50 [12:36:58.270] [SD-DEF-DIAG] DT declTricks/outerWorld=[12,11,11,12] avg=11.50 [12:36:58.270] [SD-DEF] D4: 0.00 -> 0.00 IMP [12:36:58.270] [SD-DEF] D6: 0.00 -> 0.00 IMP [12:36:58.270] [SD-DEF] DT: 0.00 -> 0.00 IMP [12:36:58.271] [SD-DEF] After re-solve, best card: D4 (0.00 IMP), 168 node solve(s) [12:36:58.271] [SD-DEF] elapsed=4555ms [12:36:58.271] [TRUMP] Skipped: not a suit contract [12:36:58.271] Selected: D4 (avg 0.00 IMPs, 1.70 tricks) -- 2 tied card(s): D6, DT [12:36:58.271] [stage-timing] ok sample=421ms validate=0ms nn=8ms signal=0ms simgames=3ms dds=4902ms total=5337ms samples=50 cards=2 [12:36:58.271] === FindBestCardAsync: Position=W, CardsPlayed=2 === [12:36:58.271] Finding card to play for W: 4.982.T9864.Q943 [12:36:58.271] Relative position: Righty, Contract type: NoTrump [12:36:58.271] Cards in hand mask: 4 [12:36:58.272] Candidate: xD = 79.0 % [12:36:58.272] Candidate: TD = 14.6 % [12:36:58.272] Candidate: 8D = 5.1 % [12:36:58.272] Candidate: 9D = 1.2 % [12:36:58.272] Selected: D4 (79.0 %) === Board 9108 (API) - DDS Engine (W) - 2026-08-10 12:37:09 === === Board 9108 (API) - Neural Network Engine (W) - 2026-08-10 12:37:09 === [12:37:09.647] === FindBestCardAsync: Position=W, CardsPlayed=2 === [12:37:09.647] Contract: 3N, Declarer: N, Dealer: N [12:37:09.647] Auction: 1N-P-3N-P-P-P [12:37:09.647] Deal: N:... ... ... ... [12:37:09.647] Position W is on defender's side - score table shifted by 0 defense tricks won [12:37:09.647] ****************************** [12:37:09.647] FindMatchingDealsWithPlayInternal Input: [12:37:09.647] Position parameter: W [12:37:09.647] Deal from game: N:... ... ... ... [12:37:09.648] Hand for N: (null) [12:37:09.648] Hand for E: (null) [12:37:09.648] Hand for S: 8732.AQ3.KQJ.AT5 [12:37:09.648] Hand for W: 4.982.T9864.Q943 [12:37:09.648] Cards played: D5, DJ [12:37:09.648] Declarer: N [12:37:09.648] ****************************** [12:37:09.648] [DealFinder] Seed from player W hand: 735073689 [12:37:09.648] [DealFinder] Auction: 1N-P-3N-P-P-P [12:37:09.648] [DealFinder] Reusing process-cached base constraints for auction (stateless-service reuse). [12:37:09.649] [Timing] Pre-computation (constraints): 0ms mem d=0MB (total=1289MB, gc2=19) [12:37:09.649] [DealFinder] Using cardsPlayedCount=2 for visibility calculation [12:37:09.649] [ExtractPartialDeal] Position=W, Declarer=N, CardsPlayed=2 [12:37:09.649] [ExtractPartialDeal] Visible hands: W, S, N [12:37:09.649] [ExtractPartialDeal] Input deal: N:... ... ... ... [12:37:09.649] [ExtractPartialDeal] Extracted hands: [12:37:09.649] N: ... (0 cards) [12:37:09.649] E: ... (0 cards) [12:37:09.649] S: 8732.AQ3.KQJ.AT5 (13 cards) [LOCKED] [12:37:09.650] W: 4.982.T9864.Q943 (13 cards) [LOCKED] [12:37:09.650] [DealFinder] Trump suit from contract '3N': NoTrump [12:37:09.650] [ComputePlayedCards] Declarer=N, Opening leader=E, Trump=NoTrump [12:37:09.650] [ComputePlayedCards] Card 1: D5 played by E [12:37:09.650] [ComputePlayedCards] Card 2: DJ played by S [12:37:09.650] [DealFinder] Added 0 played cards to N (was 0 cards): [12:37:09.650] [DealFinder] Added 1 played cards to E (was 0 cards): D5 [12:37:09.650] [DealFinder] Locked player S has complete 13-card hand, skipping played cards: DJ [12:37:09.650] [DealFinder] Locked player W has complete 13-card hand, skipping played cards: [12:37:09.650] [DecomposePartnership] N: No tightening (CombinedHcpMin=15, CombinedHcpMax=, partner S HCP=16) [12:37:09.650] [DecomposePartnership] E: No tightening (CombinedHcpMin=, CombinedHcpMax=, partner W HCP=2) [12:37:09.650] [DealFinder] Bid verification enabled for: N [12:37:09.651] [DealFinder] Propagated N: HCP[15-17], Suits=S[2-5] H[2-5] D[2-5] C[2-5] (2 iterations) [12:37:09.651] [DealFinder] Propagated E: HCP[5-7], Suits=S[3-6] H[2-5] D[0-3] C[1-4] (2 iterations) [12:37:09.652] [DealFinder] Known cards per player: N=0, E=1, S=13, W=13 [12:37:09.652] [DealFinder] Locked players: S, W [12:37:09.652] [DealFinder] Total known cards: 27, Remaining deck: 25, Cards to deal: 25 [12:37:09.652] [DealFinder] Players needing cards: N:13, E:12 [12:37:09.652] Large number of cards remaining. Using random generation. [12:37:09.652] [DealFinder] Hands to validate (not 13 cards in partial): N, E [12:37:09.652] [VerifyHands] FAIL for N: AKQT9.T764.A.KJ6 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.653] [VerifyHands] FAIL for N: AKQJ9.T74.A73.87 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.653] [VerifyHands] FAIL for N: KJT6.J65.A72.K86 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.654] [VerifyHands] FAIL for N: Q96.KT654.A.K762 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.654] [VerifyHands] FAIL for N: KT95.KJT7.3.KJ76 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.748] [VerifyHands] FAIL for N: KQT.KT75.A72.J86 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.753] [VerifyHands] FAIL for N: AQ65.KJT.73.KJ82 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.766] [VerifyHands] FAIL for N: AJ96.KT5.A7.J872 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.766] [VerifyHands] FAIL for N: AKQJ5.KT7.A2.J72 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.767] [VerifyHands] FAIL for N: AQJ95.JT4.A73.82 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.926] [VerifyHands] FAIL for N: AKQJT.J6.32.J862 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.927] [VerifyHands] FAIL for N: KQJ5.K54.A3.J862 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.928] [VerifyHands] FAIL for N: A95.J7654.A3.K82 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.945] [VerifyHands] FAIL for N: AJ6.JT74.A2.KJ87 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:09.945] [VerifyHands] FAIL for N: A65.KT75.A3.K876 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.010] [VerifyHands] FAIL for N: KJ9.KJT654.A72.7 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.011] [VerifyHands] FAIL for N: AQT5.J765.A73.K6 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.012] [VerifyHands] FAIL for N: KQJT9.KT75.A7.J2 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.058] [VerifyHands] FAIL for N: AQT.T6.A7.KJ8762 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.063] [VerifyHands] FAIL for N: K965.K765.A3.KJ2 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.127] [VerifyHands] FAIL for N: K5.KJT6.A732.K62 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.128] [VerifyHands] FAIL for N: AJT965.K6.A32.86 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.129] [VerifyHands] FAIL for N: AQT65.KJ74.A3.K2 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.130] [VerifyHands] FAIL for N: QJ6.J754.A3.K762 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.159] [VerifyHands] FAIL for N: Q96.K76.A7.KJ862 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.587] [VerifyHands] FAIL for N: KQ6.KT764.A3.J72 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.588] [VerifyHands] FAIL for N: AQT6.754.A7.J762 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.602] [VerifyHands] FAIL for N: AKJT6.T754.2.K86 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.603] [VerifyHands] FAIL for N: JT.KJ65.A732.KJ7 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:10.630] [Timing] Total: 981ms, Generation: 14ms, Verification: 846ms [12:37:10.630] [Timing] Attempts: 646, PassedSimpleCheck: 347, FailedVerification: 297, Found: 50 [12:37:10.659] Search complete. Returning 50 deals. [12:37:10.659] Found 50 sample deals for simulation. [12:37:10.659] Valid deals for DDS: 50 / 50 [12:37:10.660] [SAMPLE-VAL] Validating 50 samples, hidden: N,E, contract: NT [12:37:10.674] [SAMPLE-VAL] Opening lead NN validation (D5): 23/50 samples adjusted [12:37:10.675] [SAMPLE-VAL] Opening lead rule validation (D5): 12/50 samples penalized for convention violation [12:37:10.675] [SAMPLE-VAL] Done. Weight range: 0.025-1.000 [12:37:10.675] After sample validation: 50 deals remaining [12:37:10.675] [PLAY-INFER] No completed tricks -- skipping [12:37:10.675] Using weighted samples: 29/50 have non-uniform weights (range 0.025-1.000) [12:37:10.675] Sample deals (50 total, showing first 20, by weight): [12:37:10.675] [1] (w=1.000) N:AKT65.765.A2.KJ2 QJ9.KJT4.753.876 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.676] [2] (w=1.000) N:AKQJ6.J65.A7.J82 T95.KT74.532.K76 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.676] [3] (w=1.000) N:K96.KJ64.A7.KJ62 AQJT5.T75.532.87 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.676] [4] (w=1.000) N:AQ6.J5.A73.KJ876 KJT95.KT764.52.2 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.676] [5] (w=1.000) N:AKQ5.J64.A2.J762 JT96.KT75.753.K8 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.676] [6] (w=1.000) N:KQJ5.KT65.A72.K7 AT96.J74.53.J862 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.676] [7] (w=1.000) N:AKJ9.K75.A72.876 QT65.JT64.53.KJ2 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.677] [8] (w=1.000) N:AKJ9.KT75.A3.J87 QT65.J64.752.K62 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.677] [9] (w=1.000) N:AQJT5.KT4.A3.J82 K96.J765.752.K76 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.677] [10] (w=1.000) N:AQT9.KT64.A7.K76 KJ65.J75.532.J82 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.677] [11] (w=1.000) N:AQJT6.KT6.A7.J82 K95.J754.532.K76 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.677] [12] (w=1.000) N:KQ96.KJT.A2.K862 AJT5.7654.753.J7 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.677] [13] (w=1.000) N:AQT6.KJ74.A7.K62 KJ95.T65.532.J87 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.678] [14] (w=1.000) N:AKQT.JT64.A7.K87 J965.K75.532.J62 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.678] [15] (w=1.000) N:AQJT.JT4.A7.KJ72 K965.K765.532.86 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.678] [16] (w=1.000) N:KQJ95.J76.A3.KJ7 AT6.KT54.752.862 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.678] [17] (w=1.000) N:KQ65.K754.A72.KJ AJT9.JT6.53.8762 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.678] [18] (w=1.000) N:AJT96.KT7.A2.K86 KQ5.J654.753.J72 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.678] [19] (w=1.000) N:KJT6.KJ6.A73.KJ8 AQ95.T754.52.762 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.679] [20] (w=1.000) N:AJT.KT65.A3.KJ87 KQ965.J74.752.62 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:10.679] ... and 30 more [12:37:11.233] --- IMP Calculation Input (aggregatedScores: card -> bridge scores per sample) --- [12:37:11.233] D4: [-490, -460, -460, -490, -490, -460, -430, -460, -460, -460, -460, -430, -460, -490, -490, -490, -460, -460, -460, -490, -490, -460, -460, -430, -520, -460, -460, -490, -460, -490, -490, -460, -490, -460, -460, -460, -460, -490, -460, -490, -460, -490, -490, -430, -490, -460, -460, -460, -460, -460] [12:37:11.234] D6: [-490, -460, -460, -490, -490, -460, -430, -460, -460, -460, -460, -430, -460, -490, -490, -490, -460, -460, -460, -490, -490, -460, -460, -430, -520, -460, -460, -490, -460, -490, -490, -460, -490, -460, -460, -460, -460, -490, -460, -490, -460, -490, -490, -430, -490, -460, -460, -460, -460, -460] [12:37:11.234] DT: [-490, -460, -460, -490, -490, -460, -430, -460, -460, -460, -460, -430, -460, -490, -490, -490, -460, -460, -460, -490, -490, -460, -460, -430, -520, -460, -460, -490, -460, -490, -490, -460, -490, -460, -460, -460, -460, -490, -460, -490, -460, -490, -490, -430, -490, -460, -460, -460, -460, -460] [12:37:11.234] --- IMP Calculation Input (aggregatedTricks: card -> trick counts per sample) --- [12:37:11.234] D4: [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 0, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 3, 1, 2, 2, 2, 2, 2] [12:37:11.234] D6: [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 0, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 3, 1, 2, 2, 2, 2, 2] [12:37:11.234] DT: [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 0, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 3, 1, 2, 2, 2, 2, 2] [12:37:11.234] --- IMP Calculation Output (card -> average IMP) --- [12:37:11.234] D4: 0.00 [12:37:11.235] D6: 0.00 [12:37:11.235] DT: 0.00 [12:37:11.235] === DDS DETAILED ANALYSIS === [12:37:11.235] Cards analyzed: 3, Samples per card: 50 [12:37:11.235] [12:37:11.235] Card IMPs AvgTricks WinRate DistinctVals TrickCounts (all samples) [12:37:11.235] ----- ------ --------- ------- ----------- -------------------------------- [12:37:11.235] D4 0.00 1.70 0 % 4 [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1...] [12:37:11.235] D6 0.00 1.70 0 % 4 [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1...] [12:37:11.236] DT 0.00 1.70 0 % 4 [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1...] [12:37:11.236] [12:37:11.236] Selected: D4 (IMPs=0.00, avgTricks=1.70) [12:37:11.236] =================== [12:37:11.238] [SD-DEF] single-dummy re-solve: 4 outer world(s) x 4 inner, candidates=[D4,D6,DT] [12:37:14.144] [SD-DEF-DIAG] D4 declTricks/outerWorld=[12,11,11,12] avg=11.50 [12:37:15.770] [SD-DEF-DIAG] D6 declTricks/outerWorld=[12,11,11,12] avg=11.50 [12:37:16.992] [SD-DEF-DIAG] DT declTricks/outerWorld=[12,11,11,12] avg=11.50 [12:37:16.992] [SD-DEF] D4: 0.00 -> 0.00 IMP [12:37:16.992] [SD-DEF] D6: 0.00 -> 0.00 IMP [12:37:16.992] [SD-DEF] DT: 0.00 -> 0.00 IMP [12:37:16.992] [SD-DEF] After re-solve, best card: D4 (0.00 IMP), 168 node solve(s) [12:37:16.992] [SD-DEF] elapsed=5757ms [12:37:16.992] [TRUMP] Skipped: not a suit contract [12:37:16.992] Selected: D4 (avg 0.00 IMPs, 1.70 tricks) -- 2 tied card(s): D6, DT [12:37:16.992] [stage-timing] ok sample=1011ms validate=0ms nn=15ms signal=0ms simgames=3ms dds=6311ms total=7346ms samples=50 cards=2 [12:37:16.993] === FindBestCardAsync: Position=W, CardsPlayed=2 === [12:37:16.993] Finding card to play for W: 4.982.T9864.Q943 [12:37:16.993] Relative position: Righty, Contract type: NoTrump [12:37:16.993] Cards in hand mask: 4 [12:37:16.993] Candidate: xD = 79.0 % [12:37:16.994] Candidate: TD = 14.6 % [12:37:16.994] Candidate: 8D = 5.1 % [12:37:16.994] Candidate: 9D = 1.2 % [12:37:16.994] Selected: D4 (79.0 %) === Board 9108 (API) - DDS Engine (W) - 2026-08-10 12:37:27 === === Board 9108 (API) - Neural Network Engine (W) - 2026-08-10 12:37:27 === [12:37:27.204] === FindBestCardAsync: Position=W, CardsPlayed=2 === [12:37:27.204] Contract: 3N, Declarer: N, Dealer: N [12:37:27.204] Auction: 1N-P-3N-P-P-P [12:37:27.204] Deal: N:... ... ... ... [12:37:27.205] Position W is on defender's side - score table shifted by 0 defense tricks won [12:37:27.205] ****************************** [12:37:27.205] FindMatchingDealsWithPlayInternal Input: [12:37:27.205] Position parameter: W [12:37:27.205] Deal from game: N:... ... ... ... [12:37:27.205] Hand for N: (null) [12:37:27.206] Hand for E: (null) [12:37:27.206] Hand for S: 8732.AQ3.KQJ.AT5 [12:37:27.206] Hand for W: 4.982.T9864.Q943 [12:37:27.206] Cards played: D5, DJ [12:37:27.206] Declarer: N [12:37:27.206] ****************************** [12:37:27.206] [DealFinder] Seed from player W hand: 735073689 [12:37:27.207] [DealFinder] Auction: 1N-P-3N-P-P-P [12:37:27.207] [DealFinder] Reusing process-cached base constraints for auction (stateless-service reuse). [12:37:27.207] [Timing] Pre-computation (constraints): 0ms mem d=0MB (total=1290MB, gc2=19) [12:37:27.207] [DealFinder] Using cardsPlayedCount=2 for visibility calculation [12:37:27.207] [ExtractPartialDeal] Position=W, Declarer=N, CardsPlayed=2 [12:37:27.207] [ExtractPartialDeal] Visible hands: W, S, N [12:37:27.207] [ExtractPartialDeal] Input deal: N:... ... ... ... [12:37:27.208] [ExtractPartialDeal] Extracted hands: [12:37:27.208] N: ... (0 cards) [12:37:27.208] E: ... (0 cards) [12:37:27.208] S: 8732.AQ3.KQJ.AT5 (13 cards) [LOCKED] [12:37:27.208] W: 4.982.T9864.Q943 (13 cards) [LOCKED] [12:37:27.208] [DealFinder] Trump suit from contract '3N': NoTrump [12:37:27.208] [ComputePlayedCards] Declarer=N, Opening leader=E, Trump=NoTrump [12:37:27.209] [ComputePlayedCards] Card 1: D5 played by E [12:37:27.209] [ComputePlayedCards] Card 2: DJ played by S [12:37:27.209] [DealFinder] Added 0 played cards to N (was 0 cards): [12:37:27.209] [DealFinder] Added 1 played cards to E (was 0 cards): D5 [12:37:27.209] [DealFinder] Locked player S has complete 13-card hand, skipping played cards: DJ [12:37:27.209] [DealFinder] Locked player W has complete 13-card hand, skipping played cards: [12:37:27.209] [DecomposePartnership] N: No tightening (CombinedHcpMin=15, CombinedHcpMax=, partner S HCP=16) [12:37:27.209] [DecomposePartnership] E: No tightening (CombinedHcpMin=, CombinedHcpMax=, partner W HCP=2) [12:37:27.209] [DealFinder] Bid verification enabled for: N [12:37:27.210] [DealFinder] Propagated N: HCP[15-17], Suits=S[2-5] H[2-5] D[2-5] C[2-5] (2 iterations) [12:37:27.210] [DealFinder] Propagated E: HCP[5-7], Suits=S[3-6] H[2-5] D[0-3] C[1-4] (2 iterations) [12:37:27.211] [DealFinder] Known cards per player: N=0, E=1, S=13, W=13 [12:37:27.211] [DealFinder] Locked players: S, W [12:37:27.211] [DealFinder] Total known cards: 27, Remaining deck: 25, Cards to deal: 25 [12:37:27.211] [DealFinder] Players needing cards: N:13, E:12 [12:37:27.211] Large number of cards remaining. Using random generation. [12:37:27.211] [DealFinder] Hands to validate (not 13 cards in partial): N, E [12:37:27.212] [VerifyHands] FAIL for N: AKQT9.T764.A.KJ6 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:27.213] [VerifyHands] FAIL for N: AKQJ9.T74.A73.87 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:27.214] [VerifyHands] FAIL for N: KJT6.J65.A72.K86 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:27.215] [VerifyHands] FAIL for N: Q96.KT654.A.K762 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:27.216] [VerifyHands] FAIL for N: KT95.KJT7.3.KJ76 ((((Balanced OR SemiBalanced) & HCP >= 15 & HCP <= 17 & S <= 4 & H <= 4) OR (Balanced & HCP >= 15 & HCP <= 16 & H = 5) OR (Balanced & HCP >= 15 & HCP <= 16 & S = 5)) & NOT (H >= 8 & HCP >= 5 & HCP <= 1...) [12:37:27.674] SUITC_CALL_BEGIN: input=' -F1 -u -c100 -ls2 KJ4 AQ3 T98765' [12:37:28.285] [Timing] Total: 1078ms, Generation: 20ms, Verification: 893ms [12:37:28.285] [Timing] Attempts: 646, PassedSimpleCheck: 347, FailedVerification: 297, Found: 50 [12:37:28.308] Search complete. Returning 50 deals. [12:37:28.308] Found 50 sample deals for simulation. [12:37:28.308] Valid deals for DDS: 50 / 50 [12:37:28.309] [SAMPLE-VAL] Validating 50 samples, hidden: N,E, contract: NT [12:37:28.329] [SAMPLE-VAL] Opening lead NN validation (D5): 23/50 samples adjusted [12:37:28.330] [SAMPLE-VAL] Opening lead rule validation (D5): 12/50 samples penalized for convention violation [12:37:28.330] [SAMPLE-VAL] Done. Weight range: 0.025-1.000 [12:37:28.330] After sample validation: 50 deals remaining [12:37:28.331] [PLAY-INFER] No completed tricks -- skipping [12:37:28.331] Using weighted samples: 29/50 have non-uniform weights (range 0.025-1.000) [12:37:28.331] Sample deals (50 total, showing first 20, by weight): [12:37:28.331] [1] (w=1.000) N:AKT65.765.A2.KJ2 QJ9.KJT4.753.876 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.331] [2] (w=1.000) N:AKQJ6.J65.A7.J82 T95.KT74.532.K76 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.331] [3] (w=1.000) N:K96.KJ64.A7.KJ62 AQJT5.T75.532.87 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.332] [4] (w=1.000) N:AQ6.J5.A73.KJ876 KJT95.KT764.52.2 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.332] [5] (w=1.000) N:AKQ5.J64.A2.J762 JT96.KT75.753.K8 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.332] [6] (w=1.000) N:KQJ5.KT65.A72.K7 AT96.J74.53.J862 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.332] [7] (w=1.000) N:AKJ9.K75.A72.876 QT65.JT64.53.KJ2 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.332] [8] (w=1.000) N:AKJ9.KT75.A3.J87 QT65.J64.752.K62 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.332] [9] (w=1.000) N:AQJT5.KT4.A3.J82 K96.J765.752.K76 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.333] [10] (w=1.000) N:AQT9.KT64.A7.K76 KJ65.J75.532.J82 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.333] [11] (w=1.000) N:AQJT6.KT6.A7.J82 K95.J754.532.K76 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.333] [12] (w=1.000) N:KQ96.KJT.A2.K862 AJT5.7654.753.J7 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.333] [13] (w=1.000) N:AQT6.KJ74.A7.K62 KJ95.T65.532.J87 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.333] [14] (w=1.000) N:AKQT.JT64.A7.K87 J965.K75.532.J62 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.333] [15] (w=1.000) N:AQJT.JT4.A7.KJ72 K965.K765.532.86 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.333] [16] (w=1.000) N:KQJ95.J76.A3.KJ7 AT6.KT54.752.862 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.334] [17] (w=1.000) N:KQ65.K754.A72.KJ AJT9.JT6.53.8762 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.334] [18] (w=1.000) N:AJT96.KT7.A2.K86 KQ5.J654.753.J72 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.334] [19] (w=1.000) N:KJT6.KJ6.A73.KJ8 AQ95.T754.52.762 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.334] [20] (w=1.000) N:AJT.KT65.A3.KJ87 KQ965.J74.752.62 8732.AQ3.KQJ.AT5 4.982.T9864.Q943 [12:37:28.334] ... and 30 more [12:37:28.368] SUITC_CALL_BEGIN: input=' -F1 -u -c100 -ls2 KJ4 AQ3 T98765' [12:37:29.820] --- IMP Calculation Input (aggregatedScores: card -> bridge scores per sample) --- [12:37:29.820] D4: [-490, -460, -460, -490, -490, -460, -430, -460, -460, -460, -460, -430, -460, -490, -490, -490, -460, -460, -460, -490, -490, -460, -460, -430, -520, -460, -460, -490, -460, -490, -490, -460, -490, -460, -460, -460, -460, -490, -460, -490, -460, -490, -490, -430, -490, -460, -460, -460, -460, -460] [12:37:29.821] D6: [-490, -460, -460, -490, -490, -460, -430, -460, -460, -460, -460, -430, -460, -490, -490, -490, -460, -460, -460, -490, -490, -460, -460, -430, -520, -460, -460, -490, -460, -490, -490, -460, -490, -460, -460, -460, -460, -490, -460, -490, -460, -490, -490, -430, -490, -460, -460, -460, -460, -460] [12:37:29.821] DT: [-490, -460, -460, -490, -490, -460, -430, -460, -460, -460, -460, -430, -460, -490, -490, -490, -460, -460, -460, -490, -490, -460, -460, -430, -520, -460, -460, -490, -460, -490, -490, -460, -490, -460, -460, -460, -460, -490, -460, -490, -460, -490, -490, -430, -490, -460, -460, -460, -460, -460] [12:37:29.821] --- IMP Calculation Input (aggregatedTricks: card -> trick counts per sample) --- [12:37:29.821] D4: [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 0, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 3, 1, 2, 2, 2, 2, 2] [12:37:29.821] D6: [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 0, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 3, 1, 2, 2, 2, 2, 2] [12:37:29.821] DT: [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 0, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 3, 1, 2, 2, 2, 2, 2] [12:37:29.821] --- IMP Calculation Output (card -> average IMP) --- [12:37:29.821] D4: 0.00 [12:37:29.821] D6: 0.00 [12:37:29.821] DT: 0.00 [12:37:29.822] === DDS DETAILED ANALYSIS === [12:37:29.822] Cards analyzed: 3, Samples per card: 50 [12:37:29.822] [12:37:29.822] Card IMPs AvgTricks WinRate DistinctVals TrickCounts (all samples) [12:37:29.822] ----- ------ --------- ------- ----------- -------------------------------- [12:37:29.822] D4 0.00 1.70 0 % 4 [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1...] [12:37:29.822] D6 0.00 1.70 0 % 4 [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1...] [12:37:29.822] DT 0.00 1.70 0 % 4 [1, 2, 2, 1, 1, 2, 3, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 2, 1...] [12:37:29.822] [12:37:29.822] Selected: D4 (IMPs=0.00, avgTricks=1.70) [12:37:29.822] =================== [12:37:29.828] [SD-DEF] single-dummy re-solve: 4 outer world(s) x 4 inner, candidates=[D4,D6,DT] [12:37:33.317] [SD-DEF-DIAG] D4 declTricks/outerWorld=[12,11,11,12] avg=11.50 [12:37:35.157] [SD-DEF-DIAG] D6 declTricks/outerWorld=[12,11,11,12] avg=11.50 [12:37:36.444] [SD-DEF-DIAG] DT declTricks/outerWorld=[12,11,11,12] avg=11.50 [12:37:36.444] [SD-DEF] D4: 0.00 -> 0.00 IMP [12:37:36.444] [SD-DEF] D6: 0.00 -> 0.00 IMP [12:37:36.444] [SD-DEF] DT: 0.00 -> 0.00 IMP [12:37:36.444] [SD-DEF] After re-solve, best card: D4 (0.00 IMP), 168 node solve(s) [12:37:36.444] [SD-DEF] elapsed=6621ms [12:37:36.444] [TRUMP] Skipped: not a suit contract [12:37:36.445] Selected: D4 (avg 0.00 IMPs, 1.70 tricks) -- 2 tied card(s): D6, DT [12:37:36.445] [stage-timing] ok sample=1103ms validate=0ms nn=21ms signal=0ms simgames=3ms dds=8106ms total=9240ms samples=50 cards=2 [12:37:36.445] === FindBestCardAsync: Position=W, CardsPlayed=2 === [12:37:36.445] Finding card to play for W: 4.982.T9864.Q943 [12:37:36.445] Relative position: Righty, Contract type: NoTrump [12:37:36.445] Cards in hand mask: 4 [12:37:36.446] Candidate: xD = 79.0 % [12:37:36.446] Candidate: TD = 14.6 % [12:37:36.446] Candidate: 8D = 5.1 % [12:37:36.446] Candidate: 9D = 1.2 % [12:37:36.446] Selected: D4 (79.0 %)