{"abstract":"Every signature component comes from the same element, so the estimate is 0 or 1.","category":"Probabilistic sketches","checks":7,"contract":"Input {k, A, B} integer sets. Signature component i is min over v of (A_i v + B_i) mod 2^31-1 with fixed coefficients. The estimate is the fraction of positions where both signatures agree, rounded to 4 decimals. Two empty sets have undefined similarity (None, with empty signatures); exactly one empty set gives 0.0. Return [sigA, sigB, estimate].","evaluation_group":"w2-probabilistic_sketches-minhash-jaccard","failed_approach":"Max-hash is a different, incompatible signature scheme.","family":"w2-probabilistic_sketches-minhash-jaccard-min-of-hashes","id":"FA-73186","implementations":{"attempt":{"sha256":"0e7061fee9d337aa8468c57a78049d9aaad3e374ad8cff4df2ac6cc15001ce53","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    k = x['k']\n    P = 2147483647\n    A = [1103515245, 1812433253, 1664525017, 2013265921, 1597334677, 1566083941, 69069, 22695477]\n    Bc = [12345, 1013904223, 7, 99991, 31337, 424242, 1, 3]\n    def sig(s):\n        return [max((A[i] * v + Bc[i]) % P for v in s) for i in range(k)]\n    a, b = x['A'], x['B']\n    if not a and not b:\n        return [[], [], None]\n    if not a or not b:\n        return [sig(a) if a else [], sig(b) if b else [], 0.0]\n    sa, sb = sig(a), sig(b)\n    matches = sum(1 for i in range(k) if sa[i] == sb[i])\n    return [sa, sb, round(matches / k, 4)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[['overlapping sets k=4',\n   {'A': [185, 180, 93, 45, 14, 71, 154, 36, 166],\n    'B': [45, 14, 71, 154, 36, 166, 145, 34, 146, 221],\n    'k': 4},\n   [[139386205, 618166001, 69675629, 268535474], [51964590, 359609062, 69675629, 268535474], 0.5]],\n  ['overlapping sets k=6',\n   {'A': [137, 9, 132, 163, 55, 20, 170, 179, 119],\n    'B': [163, 55, 20, 170, 179, 119, 47, 41, 24, 251],\n    'k': 6},\n   [[321824033, 87781176, 406660754, 805406688, 307613469, 235695117],\n    [146980803, 87781176, 509981506, 134317810, 307613469, 97986032],\n    0.3333]],\n  ['overlapping sets k=8',\n   {'A': [148, 51, 156, 91, 149, 73, 41, 176, 152],\n    'B': [91, 149, 73, 41, 176, 152, 140, 118, 113, 264],\n    'k': 8},\n   [[111511433, 27093348, 898627007, 100332, 76137897, 413810294, 2831830, 930514560],\n    [143183504, 27093348, 898627007, 100332, 110223490, 114735638, 2831830, 417105257],\n    0.5]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [6, 9], 'B': [], 'k': 3}, [[178652874, 145934324, 1397215521], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 14], 'B': [14, 8, 3], 'k': 5},\n   [[238199717, 8753041, 431298261, 268535474, 497068074],\n    [238199717, 8753041, 431298261, 268535474, 497068074],\n    1.0]],\n  ['large values',\n   {'A': [1000000001, 7, 99], 'B': [1000000001, 8], 'k': 4},\n   [[651916080, 56169922, 661849663, 1208059556],\n    [238199717, 480984718, 431298261, 1073841830],\n    0.0]]],\n [['overlapping sets k=4',\n   {'A': [77, 180, 129, 27, 120, 79, 147, 135, 166],\n    'B': [27, 120, 79, 147, 135, 166, 178, 114, 109, 210],\n    'k': 4},\n   [[619558248, 314726861, 27022876, 134317872], [24089818, 314726861, 27022876, 134317872], 0.75]],\n  ['overlapping sets k=6',\n   {'A': [43, 26, 163, 158, 61, 6, 58, 100, 105],\n    'B': [158, 61, 6, 58, 100, 105, 18, 10, 87, 294],\n    'k': 6},\n   [[178652874, 87781176, 327977509, 268535753, 216447956, 481067515],\n    [163463678, 193351205, 604294635, 268535753, 216447956, 272647769],\n    0.3333]],\n  ['overlapping sets k=8',\n   {'A': [119, 125, 38, 35, 22, 123, 186, 169, 60],\n    'B': [35, 22, 123, 186, 169, 60, 55, 134, 69, 203],\n    'k': 8},\n   [[321824033, 24558668, 112328382, 402753417, 72170210, 94532592, 1519519, 499300497],\n    [440917719, 24558668, 112328382, 536971019, 72170210, 87884509, 1519519, 312214540],\n    0.5]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [7, 9], 'B': [], 'k': 3}, [[1282168119, 145934324, 914256891], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 15], 'B': [15, 8, 3], 'k': 5},\n   [[238199717, 8753041, 431298261, 134317748, 337731375],\n    [238199717, 8753041, 431298261, 134317748, 337731375],\n    1.0]],\n  ['large values',\n   {'A': [1000000002, 7, 99], 'B': [1000000002, 8], 'k': 4},\n   [[1282168119, 56169922, 178891033, 1208059556],\n    [238199717, 480984718, 178891033, 1073841830],\n    0.25]]],\n [['overlapping sets k=4',\n   {'A': [21, 131, 85, 16, 192, 176, 186, 106, 14],\n    'B': [16, 192, 176, 186, 106, 14, 154, 67, 112, 276],\n    'k': 4},\n   [[416840246, 27093348, 345992755, 100022], [290151962, 27093348, 345992755, 100022], 0.75]],\n  ['overlapping sets k=6',\n   {'A': [17, 173, 195, 128, 127, 162, 64, 34, 2],\n    'B': [128, 127, 162, 64, 34, 2, 4, 31, 120, 261],\n    'k': 6},\n   [[59559188, 103586803, 200019250, 100115, 95164537, 302952338],\n    [59559188, 343803435, 27022876, 100115, 125282443, 302952338],\n    0.5]],\n  ['overlapping sets k=8',\n   {'A': [104, 160, 182, 180, 79, 129, 139, 39, 130],\n    'B': [180, 79, 129, 139, 39, 130, 181, 110, 50, 200],\n    'k': 8},\n   [[87433960, 164274631, 36030499, 100301, 19057977, 161789813, 2693692, 212845964],\n    [20292519, 314726861, 45038122, 134317872, 19057977, 161789813, 2693692, 244128109],\n    0.375]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [8, 9], 'B': [], 'k': 3}, [[238199717, 145934324, 431298261], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 16], 'B': [16, 8, 3], 'k': 5},\n   [[238199717, 8753041, 431298261, 100022, 497068074],\n    [238199717, 8753041, 431298261, 100022, 497068074],\n    1.0]],\n  ['large values',\n   {'A': [1000000003, 7, 99], 'B': [1000000003, 8], 'k': 4},\n   [[711462923, 56169922, 914256891, 1208059556],\n    [238199717, 318725747, 431298261, 1073841830],\n    0.0]]],\n [['overlapping sets k=4',\n   {'A': [47, 135, 53, 125, 192, 104, 165, 180, 91],\n    'B': [125, 192, 104, 165, 180, 91, 144, 142, 45, 255],\n    'k': 4},\n   [[325621332, 298921234, 172996381, 100363], [76042063, 11287721, 139351251, 100270], 0.0]],\n  ['overlapping sets k=6',\n   {'A': [37, 42, 89, 127, 77, 170, 4, 111, 27],\n    'B': [127, 77, 170, 4, 111, 27, 20, 114, 70, 228],\n    'k': 6},\n   [[27887117, 330532488, 78683252, 134317934, 178394676, 329803467],\n    [83636661, 330532488, 78683252, 134317934, 144309083, 104634115],\n    0.5]],\n  ['overlapping sets k=8',\n   {'A': [67, 151, 142, 156, 93, 90, 105, 112, 40],\n    'B': [156, 93, 90, 105, 112, 40, 161, 43, 152, 287],\n    'k': 8},\n   [[349698805, 40364295, 9007630, 100208, 76137897, 255898163, 2762761, 235541441],\n    [206527646, 193351205, 9007630, 100208, 76137897, 366756119, 2762761, 71150961],\n    0.5]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [9, 9], 'B': [], 'k': 3}, [[1341714962, 145934324, 2095823278], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 17], 'B': [17, 8, 3], 'k': 5},\n   [[238199717, 8753041, 379637885, 1073841830, 497068074],\n    [238199717, 8753041, 379637885, 1073841830, 497068074],\n    1.0]],\n  ['large values',\n   {'A': [1000000004, 7, 99], 'B': [1000000004, 8], 'k': 4},\n   [[1282168119, 56169922, 914256891, 1208059556],\n    [238199717, 480984718, 431298261, 1073841830],\n    0.0]]],\n [['overlapping sets k=4',\n   {'A': [38, 155, 109, 179, 16, 111, 170, 114, 19],\n    'B': [179, 16, 111, 170, 114, 19, 18, 198, 125, 300],\n    'k': 4},\n   [[24089818, 330532488, 78683252, 100022], [83636661, 330532488, 78683252, 100022], 0.75]],\n  ['overlapping sets k=6',\n   {'A': [10, 150, 23, 4, 69, 99, 130, 93, 198],\n    'B': [4, 69, 99, 130, 93, 198, 145, 154, 30, 206],\n    'k': 6},\n   [[119106031, 56169922, 182004004, 402753355, 231506909, 423911817],\n    [119106031, 56169922, 182004004, 268535505, 375784655, 423911817],\n    0.6667]],\n  ['overlapping sets k=8',\n   {'A': [58, 185, 14, 110, 196, 126, 6, 158, 12],\n    'B': [110, 196, 126, 6, 158, 12, 124, 92, 187, 209],\n    'k': 8},\n   [[139386205, 618166001, 561641882, 268535474, 303645782, 450762946, 414415, 136172865],\n    [178652874, 254039033, 242672003, 268535660, 201389003, 198742465, 414415, 136172865],\n    0.25]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [10, 9], 'B': [], 'k': 3}, [[297746560, 145934324, 1612864648], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 18], 'B': [18, 8, 3], 'k': 5},\n   [[238199717, 8753041, 431298261, 1073841830, 497068074],\n    [238199717, 8753041, 431298261, 1073841830, 497068074],\n    1.0]],\n  ['large values',\n   {'A': [1000000005, 7, 99], 'B': [1000000005, 8], 'k': 4},\n   [[771009766, 56169922, 877498790, 1208059556],\n    [238199717, 480984718, 431298261, 1073841830],\n    0.0]]]]\nfor label, args, expected in cases[N - 1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"09d4f567c2f15f2ab44ce789b0c185023421fb9101c03957b92a9246057403ce","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    k = x['k']\n    P = 2147483647\n    A = [1103515245, 1812433253, 1664525017, 2013265921, 1597334677, 1566083941, 69069, 22695477]\n    Bc = [12345, 1013904223, 7, 99991, 31337, 424242, 1, 3]\n    def sig(s):\n        return [(A[i] * min(s) + Bc[i]) % P for i in range(k)]\n    a, b = x['A'], x['B']\n    if not a and not b:\n        return [[], [], None]\n    if not a or not b:\n        return [sig(a) if a else [], sig(b) if b else [], 0.0]\n    sa, sb = sig(a), sig(b)\n    matches = sum(1 for i in range(k) if sa[i] == sb[i])\n    return [sa, sb, round(matches / k, 4)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[['overlapping sets k=4',\n   {'A': [185, 180, 93, 45, 14, 71, 154, 36, 166],\n    'B': [45, 14, 71, 154, 36, 166, 145, 34, 146, 221],\n    'k': 4},\n   [[139386205, 618166001, 69675629, 268535474], [51964590, 359609062, 69675629, 268535474], 0.5]],\n  ['overlapping sets k=6',\n   {'A': [137, 9, 132, 163, 55, 20, 170, 179, 119],\n    'B': [163, 55, 20, 170, 179, 119, 47, 41, 24, 251],\n    'k': 6},\n   [[321824033, 87781176, 406660754, 805406688, 307613469, 235695117],\n    [146980803, 87781176, 509981506, 134317810, 307613469, 97986032],\n    0.3333]],\n  ['overlapping sets k=8',\n   {'A': [148, 51, 156, 91, 149, 73, 41, 176, 152],\n    'B': [91, 149, 73, 41, 176, 152, 140, 118, 113, 264],\n    'k': 8},\n   [[111511433, 27093348, 898627007, 100332, 76137897, 413810294, 2831830, 930514560],\n    [143183504, 27093348, 898627007, 100332, 110223490, 114735638, 2831830, 417105257],\n    0.5]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [6, 9], 'B': [], 'k': 3}, [[178652874, 145934324, 1397215521], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 14], 'B': [14, 8, 3], 'k': 5},\n   [[238199717, 8753041, 431298261, 268535474, 497068074],\n    [238199717, 8753041, 431298261, 268535474, 497068074],\n    1.0]],\n  ['large values',\n   {'A': [1000000001, 7, 99], 'B': [1000000001, 8], 'k': 4},\n   [[651916080, 56169922, 661849663, 1208059556],\n    [238199717, 480984718, 431298261, 1073841830],\n    0.0]]],\n [['overlapping sets k=4',\n   {'A': [77, 180, 129, 27, 120, 79, 147, 135, 166],\n    'B': [27, 120, 79, 147, 135, 166, 178, 114, 109, 210],\n    'k': 4},\n   [[619558248, 314726861, 27022876, 134317872], [24089818, 314726861, 27022876, 134317872], 0.75]],\n  ['overlapping sets k=6',\n   {'A': [43, 26, 163, 158, 61, 6, 58, 100, 105],\n    'B': [158, 61, 6, 58, 100, 105, 18, 10, 87, 294],\n    'k': 6},\n   [[178652874, 87781176, 327977509, 268535753, 216447956, 481067515],\n    [163463678, 193351205, 604294635, 268535753, 216447956, 272647769],\n    0.3333]],\n  ['overlapping sets k=8',\n   {'A': [119, 125, 38, 35, 22, 123, 186, 169, 60],\n    'B': [35, 22, 123, 186, 169, 60, 55, 134, 69, 203],\n    'k': 8},\n   [[321824033, 24558668, 112328382, 402753417, 72170210, 94532592, 1519519, 499300497],\n    [440917719, 24558668, 112328382, 536971019, 72170210, 87884509, 1519519, 312214540],\n    0.5]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [7, 9], 'B': [], 'k': 3}, [[1282168119, 145934324, 914256891], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 15], 'B': [15, 8, 3], 'k': 5},\n   [[238199717, 8753041, 431298261, 134317748, 337731375],\n    [238199717, 8753041, 431298261, 134317748, 337731375],\n    1.0]],\n  ['large values',\n   {'A': [1000000002, 7, 99], 'B': [1000000002, 8], 'k': 4},\n   [[1282168119, 56169922, 178891033, 1208059556],\n    [238199717, 480984718, 178891033, 1073841830],\n    0.25]]],\n [['overlapping sets k=4',\n   {'A': [21, 131, 85, 16, 192, 176, 186, 106, 14],\n    'B': [16, 192, 176, 186, 106, 14, 154, 67, 112, 276],\n    'k': 4},\n   [[416840246, 27093348, 345992755, 100022], [290151962, 27093348, 345992755, 100022], 0.75]],\n  ['overlapping sets k=6',\n   {'A': [17, 173, 195, 128, 127, 162, 64, 34, 2],\n    'B': [128, 127, 162, 64, 34, 2, 4, 31, 120, 261],\n    'k': 6},\n   [[59559188, 103586803, 200019250, 100115, 95164537, 302952338],\n    [59559188, 343803435, 27022876, 100115, 125282443, 302952338],\n    0.5]],\n  ['overlapping sets k=8',\n   {'A': [104, 160, 182, 180, 79, 129, 139, 39, 130],\n    'B': [180, 79, 129, 139, 39, 130, 181, 110, 50, 200],\n    'k': 8},\n   [[87433960, 164274631, 36030499, 100301, 19057977, 161789813, 2693692, 212845964],\n    [20292519, 314726861, 45038122, 134317872, 19057977, 161789813, 2693692, 244128109],\n    0.375]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [8, 9], 'B': [], 'k': 3}, [[238199717, 145934324, 431298261], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 16], 'B': [16, 8, 3], 'k': 5},\n   [[238199717, 8753041, 431298261, 100022, 497068074],\n    [238199717, 8753041, 431298261, 100022, 497068074],\n    1.0]],\n  ['large values',\n   {'A': [1000000003, 7, 99], 'B': [1000000003, 8], 'k': 4},\n   [[711462923, 56169922, 914256891, 1208059556],\n    [238199717, 318725747, 431298261, 1073841830],\n    0.0]]],\n [['overlapping sets k=4',\n   {'A': [47, 135, 53, 125, 192, 104, 165, 180, 91],\n    'B': [125, 192, 104, 165, 180, 91, 144, 142, 45, 255],\n    'k': 4},\n   [[325621332, 298921234, 172996381, 100363], [76042063, 11287721, 139351251, 100270], 0.0]],\n  ['overlapping sets k=6',\n   {'A': [37, 42, 89, 127, 77, 170, 4, 111, 27],\n    'B': [127, 77, 170, 4, 111, 27, 20, 114, 70, 228],\n    'k': 6},\n   [[27887117, 330532488, 78683252, 134317934, 178394676, 329803467],\n    [83636661, 330532488, 78683252, 134317934, 144309083, 104634115],\n    0.5]],\n  ['overlapping sets k=8',\n   {'A': [67, 151, 142, 156, 93, 90, 105, 112, 40],\n    'B': [156, 93, 90, 105, 112, 40, 161, 43, 152, 287],\n    'k': 8},\n   [[349698805, 40364295, 9007630, 100208, 76137897, 255898163, 2762761, 235541441],\n    [206527646, 193351205, 9007630, 100208, 76137897, 366756119, 2762761, 71150961],\n    0.5]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [9, 9], 'B': [], 'k': 3}, [[1341714962, 145934324, 2095823278], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 17], 'B': [17, 8, 3], 'k': 5},\n   [[238199717, 8753041, 379637885, 1073841830, 497068074],\n    [238199717, 8753041, 379637885, 1073841830, 497068074],\n    1.0]],\n  ['large values',\n   {'A': [1000000004, 7, 99], 'B': [1000000004, 8], 'k': 4},\n   [[1282168119, 56169922, 914256891, 1208059556],\n    [238199717, 480984718, 431298261, 1073841830],\n    0.0]]],\n [['overlapping sets k=4',\n   {'A': [38, 155, 109, 179, 16, 111, 170, 114, 19],\n    'B': [179, 16, 111, 170, 114, 19, 18, 198, 125, 300],\n    'k': 4},\n   [[24089818, 330532488, 78683252, 100022], [83636661, 330532488, 78683252, 100022], 0.75]],\n  ['overlapping sets k=6',\n   {'A': [10, 150, 23, 4, 69, 99, 130, 93, 198],\n    'B': [4, 69, 99, 130, 93, 198, 145, 154, 30, 206],\n    'k': 6},\n   [[119106031, 56169922, 182004004, 402753355, 231506909, 423911817],\n    [119106031, 56169922, 182004004, 268535505, 375784655, 423911817],\n    0.6667]],\n  ['overlapping sets k=8',\n   {'A': [58, 185, 14, 110, 196, 126, 6, 158, 12],\n    'B': [110, 196, 126, 6, 158, 12, 124, 92, 187, 209],\n    'k': 8},\n   [[139386205, 618166001, 561641882, 268535474, 303645782, 450762946, 414415, 136172865],\n    [178652874, 254039033, 242672003, 268535660, 201389003, 198742465, 414415, 136172865],\n    0.25]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [10, 9], 'B': [], 'k': 3}, [[297746560, 145934324, 1612864648], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 18], 'B': [18, 8, 3], 'k': 5},\n   [[238199717, 8753041, 431298261, 1073841830, 497068074],\n    [238199717, 8753041, 431298261, 1073841830, 497068074],\n    1.0]],\n  ['large values',\n   {'A': [1000000005, 7, 99], 'B': [1000000005, 8], 'k': 4},\n   [[771009766, 56169922, 877498790, 1208059556],\n    [238199717, 480984718, 431298261, 1073841830],\n    0.0]]]]\nfor label, args, expected in cases[N - 1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"2dcb08bafeea271b3f69ffe80fb0387f6d96f924542bfb17e924cfab91a4c3c3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    k = x['k']\n    P = 2147483647\n    A = [1103515245, 1812433253, 1664525017, 2013265921, 1597334677, 1566083941, 69069, 22695477]\n    Bc = [12345, 1013904223, 7, 99991, 31337, 424242, 1, 3]\n    def sig(s):\n        return [min((A[i] * v + Bc[i]) % P for v in s) for i in range(k)]\n    a, b = x['A'], x['B']\n    if not a and not b:\n        return [[], [], None]\n    if not a or not b:\n        return [sig(a) if a else [], sig(b) if b else [], 0.0]\n    sa, sb = sig(a), sig(b)\n    matches = sum(1 for i in range(k) if sa[i] == sb[i])\n    return [sa, sb, round(matches / k, 4)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[['overlapping sets k=4',\n   {'A': [185, 180, 93, 45, 14, 71, 154, 36, 166],\n    'B': [45, 14, 71, 154, 36, 166, 145, 34, 146, 221],\n    'k': 4},\n   [[139386205, 618166001, 69675629, 268535474], [51964590, 359609062, 69675629, 268535474], 0.5]],\n  ['overlapping sets k=6',\n   {'A': [137, 9, 132, 163, 55, 20, 170, 179, 119],\n    'B': [163, 55, 20, 170, 179, 119, 47, 41, 24, 251],\n    'k': 6},\n   [[321824033, 87781176, 406660754, 805406688, 307613469, 235695117],\n    [146980803, 87781176, 509981506, 134317810, 307613469, 97986032],\n    0.3333]],\n  ['overlapping sets k=8',\n   {'A': [148, 51, 156, 91, 149, 73, 41, 176, 152],\n    'B': [91, 149, 73, 41, 176, 152, 140, 118, 113, 264],\n    'k': 8},\n   [[111511433, 27093348, 898627007, 100332, 76137897, 413810294, 2831830, 930514560],\n    [143183504, 27093348, 898627007, 100332, 110223490, 114735638, 2831830, 417105257],\n    0.5]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [6, 9], 'B': [], 'k': 3}, [[178652874, 145934324, 1397215521], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 14], 'B': [14, 8, 3], 'k': 5},\n   [[238199717, 8753041, 431298261, 268535474, 497068074],\n    [238199717, 8753041, 431298261, 268535474, 497068074],\n    1.0]],\n  ['large values',\n   {'A': [1000000001, 7, 99], 'B': [1000000001, 8], 'k': 4},\n   [[651916080, 56169922, 661849663, 1208059556],\n    [238199717, 480984718, 431298261, 1073841830],\n    0.0]]],\n [['overlapping sets k=4',\n   {'A': [77, 180, 129, 27, 120, 79, 147, 135, 166],\n    'B': [27, 120, 79, 147, 135, 166, 178, 114, 109, 210],\n    'k': 4},\n   [[619558248, 314726861, 27022876, 134317872], [24089818, 314726861, 27022876, 134317872], 0.75]],\n  ['overlapping sets k=6',\n   {'A': [43, 26, 163, 158, 61, 6, 58, 100, 105],\n    'B': [158, 61, 6, 58, 100, 105, 18, 10, 87, 294],\n    'k': 6},\n   [[178652874, 87781176, 327977509, 268535753, 216447956, 481067515],\n    [163463678, 193351205, 604294635, 268535753, 216447956, 272647769],\n    0.3333]],\n  ['overlapping sets k=8',\n   {'A': [119, 125, 38, 35, 22, 123, 186, 169, 60],\n    'B': [35, 22, 123, 186, 169, 60, 55, 134, 69, 203],\n    'k': 8},\n   [[321824033, 24558668, 112328382, 402753417, 72170210, 94532592, 1519519, 499300497],\n    [440917719, 24558668, 112328382, 536971019, 72170210, 87884509, 1519519, 312214540],\n    0.5]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [7, 9], 'B': [], 'k': 3}, [[1282168119, 145934324, 914256891], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 15], 'B': [15, 8, 3], 'k': 5},\n   [[238199717, 8753041, 431298261, 134317748, 337731375],\n    [238199717, 8753041, 431298261, 134317748, 337731375],\n    1.0]],\n  ['large values',\n   {'A': [1000000002, 7, 99], 'B': [1000000002, 8], 'k': 4},\n   [[1282168119, 56169922, 178891033, 1208059556],\n    [238199717, 480984718, 178891033, 1073841830],\n    0.25]]],\n [['overlapping sets k=4',\n   {'A': [21, 131, 85, 16, 192, 176, 186, 106, 14],\n    'B': [16, 192, 176, 186, 106, 14, 154, 67, 112, 276],\n    'k': 4},\n   [[416840246, 27093348, 345992755, 100022], [290151962, 27093348, 345992755, 100022], 0.75]],\n  ['overlapping sets k=6',\n   {'A': [17, 173, 195, 128, 127, 162, 64, 34, 2],\n    'B': [128, 127, 162, 64, 34, 2, 4, 31, 120, 261],\n    'k': 6},\n   [[59559188, 103586803, 200019250, 100115, 95164537, 302952338],\n    [59559188, 343803435, 27022876, 100115, 125282443, 302952338],\n    0.5]],\n  ['overlapping sets k=8',\n   {'A': [104, 160, 182, 180, 79, 129, 139, 39, 130],\n    'B': [180, 79, 129, 139, 39, 130, 181, 110, 50, 200],\n    'k': 8},\n   [[87433960, 164274631, 36030499, 100301, 19057977, 161789813, 2693692, 212845964],\n    [20292519, 314726861, 45038122, 134317872, 19057977, 161789813, 2693692, 244128109],\n    0.375]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [8, 9], 'B': [], 'k': 3}, [[238199717, 145934324, 431298261], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 16], 'B': [16, 8, 3], 'k': 5},\n   [[238199717, 8753041, 431298261, 100022, 497068074],\n    [238199717, 8753041, 431298261, 100022, 497068074],\n    1.0]],\n  ['large values',\n   {'A': [1000000003, 7, 99], 'B': [1000000003, 8], 'k': 4},\n   [[711462923, 56169922, 914256891, 1208059556],\n    [238199717, 318725747, 431298261, 1073841830],\n    0.0]]],\n [['overlapping sets k=4',\n   {'A': [47, 135, 53, 125, 192, 104, 165, 180, 91],\n    'B': [125, 192, 104, 165, 180, 91, 144, 142, 45, 255],\n    'k': 4},\n   [[325621332, 298921234, 172996381, 100363], [76042063, 11287721, 139351251, 100270], 0.0]],\n  ['overlapping sets k=6',\n   {'A': [37, 42, 89, 127, 77, 170, 4, 111, 27],\n    'B': [127, 77, 170, 4, 111, 27, 20, 114, 70, 228],\n    'k': 6},\n   [[27887117, 330532488, 78683252, 134317934, 178394676, 329803467],\n    [83636661, 330532488, 78683252, 134317934, 144309083, 104634115],\n    0.5]],\n  ['overlapping sets k=8',\n   {'A': [67, 151, 142, 156, 93, 90, 105, 112, 40],\n    'B': [156, 93, 90, 105, 112, 40, 161, 43, 152, 287],\n    'k': 8},\n   [[349698805, 40364295, 9007630, 100208, 76137897, 255898163, 2762761, 235541441],\n    [206527646, 193351205, 9007630, 100208, 76137897, 366756119, 2762761, 71150961],\n    0.5]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [9, 9], 'B': [], 'k': 3}, [[1341714962, 145934324, 2095823278], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 17], 'B': [17, 8, 3], 'k': 5},\n   [[238199717, 8753041, 379637885, 1073841830, 497068074],\n    [238199717, 8753041, 379637885, 1073841830, 497068074],\n    1.0]],\n  ['large values',\n   {'A': [1000000004, 7, 99], 'B': [1000000004, 8], 'k': 4},\n   [[1282168119, 56169922, 914256891, 1208059556],\n    [238199717, 480984718, 431298261, 1073841830],\n    0.0]]],\n [['overlapping sets k=4',\n   {'A': [38, 155, 109, 179, 16, 111, 170, 114, 19],\n    'B': [179, 16, 111, 170, 114, 19, 18, 198, 125, 300],\n    'k': 4},\n   [[24089818, 330532488, 78683252, 100022], [83636661, 330532488, 78683252, 100022], 0.75]],\n  ['overlapping sets k=6',\n   {'A': [10, 150, 23, 4, 69, 99, 130, 93, 198],\n    'B': [4, 69, 99, 130, 93, 198, 145, 154, 30, 206],\n    'k': 6},\n   [[119106031, 56169922, 182004004, 402753355, 231506909, 423911817],\n    [119106031, 56169922, 182004004, 268535505, 375784655, 423911817],\n    0.6667]],\n  ['overlapping sets k=8',\n   {'A': [58, 185, 14, 110, 196, 126, 6, 158, 12],\n    'B': [110, 196, 126, 6, 158, 12, 124, 92, 187, 209],\n    'k': 8},\n   [[139386205, 618166001, 561641882, 268535474, 303645782, 450762946, 414415, 136172865],\n    [178652874, 254039033, 242672003, 268535660, 201389003, 198742465, 414415, 136172865],\n    0.25]],\n  ['both empty', {'A': [], 'B': [], 'k': 4}, [[], [], None]],\n  ['one empty', {'A': [10, 9], 'B': [], 'k': 3}, [[297746560, 145934324, 1612864648], [], 0.0]],\n  ['identical sets',\n   {'A': [3, 8, 18], 'B': [18, 8, 3], 'k': 5},\n   [[238199717, 8753041, 431298261, 1073841830, 497068074],\n    [238199717, 8753041, 431298261, 1073841830, 497068074],\n    1.0]],\n  ['large values',\n   {'A': [1000000005, 7, 99], 'B': [1000000005, 8], 'k': 4},\n   [[771009766, 56169922, 877498790, 1208059556],\n    [238199717, 480984718, 431298261, 1073841830],\n    0.0]]]]\nfor label, args, expected in cases[N - 1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic, bounded teaching model with stipulated constants and pre-hashed or explicitly hashed inputs; it is not a production implementation and makes no claim of conformance to any library or paper beyond the stated contract. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-probabilistic_sketches-minhash-jaccard-min-of-hashes","generated_at":"2026-09-29T14:48:45.273017+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Near-duplicate detection and set-similarity joins compare MinHash signatures instead of the sets; signature and comparison rules must match exactly across producers.","repair":"Take the minimum of each hash function over the whole set.","root_cause":"The signature hashes the smallest element instead of taking the minimum hash over all elements.","sha256":"45bcada74fcdd811ee3646b090529c81c12ba5a8211bba2ab11e5d350ea2bd65","title":"MinHash Jaccard estimation: hashes the minimum element · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.176,"exit_code":1,"observations":[{"actual":[[1695198721,2066472286,1940842150,1610713075],[1211229379,2129694794,1940842150,2013366191],0.25],"check":"overlapping sets k=4","expected":[[139386205,618166001,69675629,268535474],[51964590,359609062,69675629,268535474],0.5],"passed":false},{"actual":[[2108229323,2037395712,2095823278,1744930801,1954092692,2094205631],[2108229323,2037395712,1673532647,1744930801,2060317158,2094205631],0.6667],"check":"overlapping sets k=6","expected":[[321824033,87781176,406660754,805406688,307613469,235695117],[146980803,87781176,509981506,134317810,307613469,97986032],0.3333],"passed":false},{"actual":[[1635651878,1625851863,1967865019,1744930553,2007204925,2000097281,12156145,2065288410],[2020807708,1807915347,1752215892,2013366129,1958060379,1932840060,18234217,2065288410],0.125],"check":"overlapping sets k=8","expected":[[111511433,27093348,898627007,100332,76137897,413810294,2831830,930514560],[143183504,27093348,898627007,100332,110223490,114735638,2831830,417105257],0.5],"passed":false},{"actual":[[],[],null],"check":"both empty","expected":[[],[],null],"passed":true},{"actual":[[1341714962,1151085506,2095823278],[],0.0],"check":"one empty","expected":[[178652874,145934324,1397215521],[],0.0],"passed":false},{"actual":[[1163074433,618166001,1828513775,1744930460,2041290518],[1163074433,618166001,1828513775,1744930460,2041290518],1.0],"check":"identical sets","expected":[[238199717,8753041,431298261,268535474,497068074],[238199717,8753041,431298261,268535474,497068074],1.0],"passed":false},{"actual":[[1873839250,988826535,1579219518,1803382265],[651916080,988826535,661849663,1803382265],0.5],"check":"large values","expected":[[651916080,56169922,661849663,1208059556],[238199717,480984718,431298261,1073841830],0.0],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"overlapping sets k=4\", \"actual\": [[1695198721, 2066472286, 1940842150, 1610713075], [1211229379, 2129694794, 1940842150, 2013366191], 0.25], \"expected\": [[139386205, 618166001, 69675629, 268535474], [51964590, 359609062, 69675629, 268535474], 0.5], \"passed\": false}, {\"check\": \"overlapping sets k=6\", \"actual\": [[2108229323, 2037395712, 2095823278, 1744930801, 1954092692, 2094205631], [2108229323, 2037395712, 1673532647, 1744930801, 2060317158, 2094205631], 0.6667], \"expected\": [[321824033, 87781176, 406660754, 805406688, 307613469, 235695117], [146980803, 87781176, 509981506, 134317810, 307613469, 97986032], 0.3333], \"passed\": false}, {\"check\": \"overlapping sets k=8\", \"actual\": [[1635651878, 1625851863, 1967865019, 1744930553, 2007204925, 2000097281, 12156145, 2065288410], [2020807708, 1807915347, 1752215892, 2013366129, 1958060379, 1932840060, 18234217, 2065288410], 0.125], \"expected\": [[111511433, 27093348, 898627007, 100332, 76137897, 413810294, 2831830, 930514560], [143183504, 27093348, 898627007, 100332, 110223490, 114735638, 2831830, 417105257], 0.5], \"passed\": false}, {\"check\": \"both empty\", \"actual\": [[], [], null], \"expected\": [[], [], null], \"passed\": true}, {\"check\": \"one empty\", \"actual\": [[1341714962, 1151085506, 2095823278], [], 0.0], \"expected\": [[178652874, 145934324, 1397215521], [], 0.0], \"passed\": false}, {\"check\": \"identical sets\", \"actual\": [[1163074433, 618166001, 1828513775, 1744930460, 2041290518], [1163074433, 618166001, 1828513775, 1744930460, 2041290518], 1.0], \"expected\": [[238199717, 8753041, 431298261, 268535474, 497068074], [238199717, 8753041, 431298261, 268535474, 497068074], 1.0], \"passed\": false}, {\"check\": \"large values\", \"actual\": [[1873839250, 988826535, 1579219518, 1803382265], [651916080, 988826535, 661849663, 1803382265], 0.5], \"expected\": [[651916080, 56169922, 661849663, 1208059556], [238199717, 480984718, 431298261, 1073841830], 0.0], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.198,"exit_code":1,"observations":[{"actual":[[416840246,618166001,1828513775,268535474],[416840246,618166001,1828513775,268535474],1.0],"check":"overlapping sets k=4","expected":[[139386205,618166001,69675629,268535474],[51964590,359609062,69675629,268535474],0.5],"passed":false},{"actual":[[1341714962,145934324,2095823278,939624104,1491141548,1210277829],[595480775,755347284,1078245642,1610712765,1881953819,1257332004],0.0],"check":"overlapping sets k=6","expected":[[321824033,87781176,406660754,805406688,307613469,235695117],[146980803,87781176,509981506,134317810,307613469,97986032],0.3333],"passed":false},{"actual":[[146980803,161739951,1673532647,939624166,1066243684,1932840060,2831830,930514560],[146980803,161739951,1673532647,939624166,1066243684,1932840060,2831830,930514560],1.0],"check":"overlapping sets k=8","expected":[[111511433,27093348,898627007,100332,76137897,413810294,2831830,930514560],[143183504,27093348,898627007,100332,110223490,114735638,2831830,417105257],0.5],"passed":false},{"actual":[[],[],null],"check":"both empty","expected":[[],[],null],"passed":true},{"actual":[[178652874,1151085506,1397215521],[],0.0],"check":"one empty","expected":[[178652874,145934324,1397215521],[],0.0],"passed":false},{"actual":[[1163074433,8753041,698607764,1744930460,497068074],[1163074433,8753041,698607764,1744930460,497068074],1.0],"check":"identical sets","expected":[[238199717,8753041,431298261,268535474,497068074],[238199717,8753041,431298261,268535474,497068074],1.0],"passed":false},{"actual":[[1282168119,816035112,914256891,1208059556],[238199717,480984718,431298261,1073841830],0.0],"check":"large values","expected":[[651916080,56169922,661849663,1208059556],[238199717,480984718,431298261,1073841830],0.0],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"overlapping sets k=4\", \"actual\": [[416840246, 618166001, 1828513775, 268535474], [416840246, 618166001, 1828513775, 268535474], 1.0], \"expected\": [[139386205, 618166001, 69675629, 268535474], [51964590, 359609062, 69675629, 268535474], 0.5], \"passed\": false}, {\"check\": \"overlapping sets k=6\", \"actual\": [[1341714962, 145934324, 2095823278, 939624104, 1491141548, 1210277829], [595480775, 755347284, 1078245642, 1610712765, 1881953819, 1257332004], 0.0], \"expected\": [[321824033, 87781176, 406660754, 805406688, 307613469, 235695117], [146980803, 87781176, 509981506, 134317810, 307613469, 97986032], 0.3333], \"passed\": false}, {\"check\": \"overlapping sets k=8\", \"actual\": [[146980803, 161739951, 1673532647, 939624166, 1066243684, 1932840060, 2831830, 930514560], [146980803, 161739951, 1673532647, 939624166, 1066243684, 1932840060, 2831830, 930514560], 1.0], \"expected\": [[111511433, 27093348, 898627007, 100332, 76137897, 413810294, 2831830, 930514560], [143183504, 27093348, 898627007, 100332, 110223490, 114735638, 2831830, 417105257], 0.5], \"passed\": false}, {\"check\": \"both empty\", \"actual\": [[], [], null], \"expected\": [[], [], null], \"passed\": true}, {\"check\": \"one empty\", \"actual\": [[178652874, 1151085506, 1397215521], [], 0.0], \"expected\": [[178652874, 145934324, 1397215521], [], 0.0], \"passed\": false}, {\"check\": \"identical sets\", \"actual\": [[1163074433, 8753041, 698607764, 1744930460, 497068074], [1163074433, 8753041, 698607764, 1744930460, 497068074], 1.0], \"expected\": [[238199717, 8753041, 431298261, 268535474, 497068074], [238199717, 8753041, 431298261, 268535474, 497068074], 1.0], \"passed\": false}, {\"check\": \"large values\", \"actual\": [[1282168119, 816035112, 914256891, 1208059556], [238199717, 480984718, 431298261, 1073841830], 0.0], \"expected\": [[651916080, 56169922, 661849663, 1208059556], [238199717, 480984718, 431298261, 1073841830], 0.0], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.17,"exit_code":0,"observations":[{"actual":[[139386205,618166001,69675629,268535474],[51964590,359609062,69675629,268535474],0.5],"check":"overlapping sets k=4","expected":[[139386205,618166001,69675629,268535474],[51964590,359609062,69675629,268535474],0.5],"passed":true},{"actual":[[321824033,87781176,406660754,805406688,307613469,235695117],[146980803,87781176,509981506,134317810,307613469,97986032],0.3333],"check":"overlapping sets k=6","expected":[[321824033,87781176,406660754,805406688,307613469,235695117],[146980803,87781176,509981506,134317810,307613469,97986032],0.3333],"passed":true},{"actual":[[111511433,27093348,898627007,100332,76137897,413810294,2831830,930514560],[143183504,27093348,898627007,100332,110223490,114735638,2831830,417105257],0.5],"check":"overlapping sets k=8","expected":[[111511433,27093348,898627007,100332,76137897,413810294,2831830,930514560],[143183504,27093348,898627007,100332,110223490,114735638,2831830,417105257],0.5],"passed":true},{"actual":[[],[],null],"check":"both empty","expected":[[],[],null],"passed":true},{"actual":[[178652874,145934324,1397215521],[],0.0],"check":"one empty","expected":[[178652874,145934324,1397215521],[],0.0],"passed":true},{"actual":[[238199717,8753041,431298261,268535474,497068074],[238199717,8753041,431298261,268535474,497068074],1.0],"check":"identical sets","expected":[[238199717,8753041,431298261,268535474,497068074],[238199717,8753041,431298261,268535474,497068074],1.0],"passed":true},{"actual":[[651916080,56169922,661849663,1208059556],[238199717,480984718,431298261,1073841830],0.0],"check":"large values","expected":[[651916080,56169922,661849663,1208059556],[238199717,480984718,431298261,1073841830],0.0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"overlapping sets k=4\", \"actual\": [[139386205, 618166001, 69675629, 268535474], [51964590, 359609062, 69675629, 268535474], 0.5], \"expected\": [[139386205, 618166001, 69675629, 268535474], [51964590, 359609062, 69675629, 268535474], 0.5], \"passed\": true}, {\"check\": \"overlapping sets k=6\", \"actual\": [[321824033, 87781176, 406660754, 805406688, 307613469, 235695117], [146980803, 87781176, 509981506, 134317810, 307613469, 97986032], 0.3333], \"expected\": [[321824033, 87781176, 406660754, 805406688, 307613469, 235695117], [146980803, 87781176, 509981506, 134317810, 307613469, 97986032], 0.3333], \"passed\": true}, {\"check\": \"overlapping sets k=8\", \"actual\": [[111511433, 27093348, 898627007, 100332, 76137897, 413810294, 2831830, 930514560], [143183504, 27093348, 898627007, 100332, 110223490, 114735638, 2831830, 417105257], 0.5], \"expected\": [[111511433, 27093348, 898627007, 100332, 76137897, 413810294, 2831830, 930514560], [143183504, 27093348, 898627007, 100332, 110223490, 114735638, 2831830, 417105257], 0.5], \"passed\": true}, {\"check\": \"both empty\", \"actual\": [[], [], null], \"expected\": [[], [], null], \"passed\": true}, {\"check\": \"one empty\", \"actual\": [[178652874, 145934324, 1397215521], [], 0.0], \"expected\": [[178652874, 145934324, 1397215521], [], 0.0], \"passed\": true}, {\"check\": \"identical sets\", \"actual\": [[238199717, 8753041, 431298261, 268535474, 497068074], [238199717, 8753041, 431298261, 268535474, 497068074], 1.0], \"expected\": [[238199717, 8753041, 431298261, 268535474, 497068074], [238199717, 8753041, 431298261, 268535474, 497068074], 1.0], \"passed\": true}, {\"check\": \"large values\", \"actual\": [[651916080, 56169922, 661849663, 1208059556], [238199717, 480984718, 431298261, 1073841830], 0.0], \"expected\": [[651916080, 56169922, 661849663, 1208059556], [238199717, 480984718, 431298261, 1073841830], 0.0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}