{"abstract":"The sample favours the lightest items.","category":"Probabilistic sketches","checks":7,"contract":"Input {k, items} where each item is [id, weight, num, den] with u = num/den in (0,1). Items with weight <= 0 are ineligible. Each eligible item gets key u^(1/weight), compared as ln(u)/weight. Return the ids of the k largest keys, largest first, ties broken by smaller id.","evaluation_group":"w2-probabilistic_sketches-weighted-reservoir-ares","failed_approach":"Ranking by the magnitude of the log key selects the smallest keys again.","family":"w2-probabilistic_sketches-weighted-reservoir-ares-select-largest","id":"FA-73171","implementations":{"attempt":{"sha256":"83137e6e4f52356d623d23f1875b327eeeab73e03c15ac6bae93c4ace2bc54c2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    k = x['k']\n    keyed = []\n    for ident, wt, num, den in x['items']:\n        if wt <= 0:\n            continue\n        key = math.log(num / den) / wt\n        keyed.append((key, -ident))\n    keyed.sort(key=lambda kv: abs(kv[0]), reverse=True)\n    return [-negid for key, negid in keyed[:k]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[['weighted sample 0 k=2',\n   {'items': [[0, 0.5, 91, 99],\n              [1, 1, 42, 99],\n              [2, 5, 91, 99],\n              [3, 0.5, 48, 99],\n              [4, 0.5, 13, 99],\n              [5, 3, 4, 99],\n              [6, 3, 63, 99],\n              [7, 2, 87, 99]],\n    'k': 2},\n   [2, 7]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 1, 65, 99],\n              [1, 0.5, 34, 99],\n              [2, 2, 22, 99],\n              [3, 1, 43, 99],\n              [4, 1, 77, 99],\n              [5, 0.5, 50, 99],\n              [6, 5, 2, 99],\n              [7, 3, 76, 99]],\n    'k': 3},\n   [7, 4, 0]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 1, 74, 99],\n              [1, 3, 25, 99],\n              [2, 3, 5, 99],\n              [3, 0.5, 53, 99],\n              [4, 1, 61, 99],\n              [5, 1, 6, 99],\n              [6, 5, 34, 99],\n              [7, 3, 56, 99]],\n    'k': 4},\n   [7, 6, 0, 1]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 41, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 11, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 21, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 31, 100], [3, 1, 70, 100]], 'k': 2},\n   [3, 2]]],\n [['weighted sample 0 k=2',\n   {'items': [[0, 1, 8, 99],\n              [1, 5, 66, 99],\n              [2, 5, 27, 99],\n              [3, 5, 16, 99],\n              [4, 0.5, 70, 99],\n              [5, 3, 4, 99],\n              [6, 0.5, 5, 99],\n              [7, 0.5, 32, 99]],\n    'k': 2},\n   [1, 2]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 0.5, 34, 99],\n              [1, 0.5, 41, 99],\n              [2, 5, 97, 99],\n              [3, 3, 35, 99],\n              [4, 3, 98, 99],\n              [5, 3, 86, 99],\n              [6, 0.5, 26, 99],\n              [7, 1, 66, 99]],\n    'k': 3},\n   [4, 2, 5]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 2, 63, 99],\n              [1, 5, 82, 99],\n              [2, 0.5, 17, 99],\n              [3, 3, 50, 99],\n              [4, 3, 90, 99],\n              [5, 5, 18, 99],\n              [6, 1, 85, 99],\n              [7, 1, 8, 99]],\n    'k': 4},\n   [4, 1, 6, 0]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 42, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 12, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 22, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 32, 100], [3, 1, 70, 100]], 'k': 2},\n   [3, 2]]],\n [['weighted sample 0 k=2',\n   {'items': [[0, 2, 38, 99],\n              [1, 2, 4, 99],\n              [2, 5, 4, 99],\n              [3, 5, 92, 99],\n              [4, 5, 71, 99],\n              [5, 1, 36, 99],\n              [6, 2, 24, 99],\n              [7, 3, 79, 99]],\n    'k': 2},\n   [3, 4]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 1, 74, 99],\n              [1, 5, 71, 99],\n              [2, 3, 25, 99],\n              [3, 0.5, 97, 99],\n              [4, 5, 51, 99],\n              [5, 1, 86, 99],\n              [6, 1, 82, 99],\n              [7, 5, 81, 99]],\n    'k': 3},\n   [7, 3, 1]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 5, 98, 99],\n              [1, 2, 23, 99],\n              [2, 5, 17, 99],\n              [3, 2, 35, 99],\n              [4, 0.5, 16, 99],\n              [5, 3, 77, 99],\n              [6, 3, 56, 99],\n              [7, 0.5, 87, 99]],\n    'k': 4},\n   [0, 5, 6, 7]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 43, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 13, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 23, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 33, 100], [3, 1, 70, 100]], 'k': 2},\n   [3, 2]]],\n [['weighted sample 0 k=2',\n   {'items': [[0, 5, 55, 99],\n              [1, 2, 83, 99],\n              [2, 2, 87, 99],\n              [3, 3, 17, 99],\n              [4, 1, 74, 99],\n              [5, 0.5, 82, 99],\n              [6, 2, 71, 99],\n              [7, 1, 7, 99]],\n    'k': 2},\n   [2, 1]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 1, 55, 99],\n              [1, 1, 50, 99],\n              [2, 2, 55, 99],\n              [3, 1, 34, 99],\n              [4, 1, 58, 99],\n              [5, 3, 47, 99],\n              [6, 0.5, 66, 99],\n              [7, 2, 69, 99]],\n    'k': 3},\n   [7, 5, 2]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 3, 42, 99],\n              [1, 0.5, 69, 99],\n              [2, 3, 41, 99],\n              [3, 0.5, 42, 99],\n              [4, 2, 48, 99],\n              [5, 5, 91, 99],\n              [6, 5, 74, 99],\n              [7, 3, 31, 99]],\n    'k': 4},\n   [5, 6, 0, 2]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 44, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 14, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 24, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 34, 100], [3, 1, 70, 100]], 'k': 2},\n   [3, 2]]],\n [['weighted sample 0 k=2',\n   {'items': [[0, 1, 87, 99],\n              [1, 1, 1, 99],\n              [2, 2, 6, 99],\n              [3, 5, 67, 99],\n              [4, 1, 66, 99],\n              [5, 3, 45, 99],\n              [6, 0.5, 25, 99],\n              [7, 1, 41, 99]],\n    'k': 2},\n   [3, 0]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 1, 25, 99],\n              [1, 3, 18, 99],\n              [2, 5, 2, 99],\n              [3, 2, 65, 99],\n              [4, 3, 14, 99],\n              [5, 3, 89, 99],\n              [6, 3, 10, 99],\n              [7, 1, 78, 99]],\n    'k': 3},\n   [5, 3, 7]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 2, 49, 99],\n              [1, 2, 66, 99],\n              [2, 0.5, 24, 99],\n              [3, 0.5, 88, 99],\n              [4, 1, 6, 99],\n              [5, 1, 8, 99],\n              [6, 1, 93, 99],\n              [7, 0.5, 41, 99]],\n    'k': 4},\n   [6, 1, 3, 0]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 45, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 15, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 25, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 35, 100], [3, 1, 70, 100]], 'k': 2},\n   [2, 3]]]]\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":"bec4411978783004dc2c5c1c0d209cbbd16504fa56c955dc1ddd60d921a2b951","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    k = x['k']\n    keyed = []\n    for ident, wt, num, den in x['items']:\n        if wt <= 0:\n            continue\n        key = math.log(num / den) / wt\n        keyed.append((key, -ident))\n    keyed.sort()\n    return [-negid for key, negid in keyed[:k]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[['weighted sample 0 k=2',\n   {'items': [[0, 0.5, 91, 99],\n              [1, 1, 42, 99],\n              [2, 5, 91, 99],\n              [3, 0.5, 48, 99],\n              [4, 0.5, 13, 99],\n              [5, 3, 4, 99],\n              [6, 3, 63, 99],\n              [7, 2, 87, 99]],\n    'k': 2},\n   [2, 7]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 1, 65, 99],\n              [1, 0.5, 34, 99],\n              [2, 2, 22, 99],\n              [3, 1, 43, 99],\n              [4, 1, 77, 99],\n              [5, 0.5, 50, 99],\n              [6, 5, 2, 99],\n              [7, 3, 76, 99]],\n    'k': 3},\n   [7, 4, 0]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 1, 74, 99],\n              [1, 3, 25, 99],\n              [2, 3, 5, 99],\n              [3, 0.5, 53, 99],\n              [4, 1, 61, 99],\n              [5, 1, 6, 99],\n              [6, 5, 34, 99],\n              [7, 3, 56, 99]],\n    'k': 4},\n   [7, 6, 0, 1]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 41, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 11, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 21, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 31, 100], [3, 1, 70, 100]], 'k': 2},\n   [3, 2]]],\n [['weighted sample 0 k=2',\n   {'items': [[0, 1, 8, 99],\n              [1, 5, 66, 99],\n              [2, 5, 27, 99],\n              [3, 5, 16, 99],\n              [4, 0.5, 70, 99],\n              [5, 3, 4, 99],\n              [6, 0.5, 5, 99],\n              [7, 0.5, 32, 99]],\n    'k': 2},\n   [1, 2]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 0.5, 34, 99],\n              [1, 0.5, 41, 99],\n              [2, 5, 97, 99],\n              [3, 3, 35, 99],\n              [4, 3, 98, 99],\n              [5, 3, 86, 99],\n              [6, 0.5, 26, 99],\n              [7, 1, 66, 99]],\n    'k': 3},\n   [4, 2, 5]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 2, 63, 99],\n              [1, 5, 82, 99],\n              [2, 0.5, 17, 99],\n              [3, 3, 50, 99],\n              [4, 3, 90, 99],\n              [5, 5, 18, 99],\n              [6, 1, 85, 99],\n              [7, 1, 8, 99]],\n    'k': 4},\n   [4, 1, 6, 0]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 42, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 12, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 22, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 32, 100], [3, 1, 70, 100]], 'k': 2},\n   [3, 2]]],\n [['weighted sample 0 k=2',\n   {'items': [[0, 2, 38, 99],\n              [1, 2, 4, 99],\n              [2, 5, 4, 99],\n              [3, 5, 92, 99],\n              [4, 5, 71, 99],\n              [5, 1, 36, 99],\n              [6, 2, 24, 99],\n              [7, 3, 79, 99]],\n    'k': 2},\n   [3, 4]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 1, 74, 99],\n              [1, 5, 71, 99],\n              [2, 3, 25, 99],\n              [3, 0.5, 97, 99],\n              [4, 5, 51, 99],\n              [5, 1, 86, 99],\n              [6, 1, 82, 99],\n              [7, 5, 81, 99]],\n    'k': 3},\n   [7, 3, 1]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 5, 98, 99],\n              [1, 2, 23, 99],\n              [2, 5, 17, 99],\n              [3, 2, 35, 99],\n              [4, 0.5, 16, 99],\n              [5, 3, 77, 99],\n              [6, 3, 56, 99],\n              [7, 0.5, 87, 99]],\n    'k': 4},\n   [0, 5, 6, 7]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 43, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 13, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 23, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 33, 100], [3, 1, 70, 100]], 'k': 2},\n   [3, 2]]],\n [['weighted sample 0 k=2',\n   {'items': [[0, 5, 55, 99],\n              [1, 2, 83, 99],\n              [2, 2, 87, 99],\n              [3, 3, 17, 99],\n              [4, 1, 74, 99],\n              [5, 0.5, 82, 99],\n              [6, 2, 71, 99],\n              [7, 1, 7, 99]],\n    'k': 2},\n   [2, 1]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 1, 55, 99],\n              [1, 1, 50, 99],\n              [2, 2, 55, 99],\n              [3, 1, 34, 99],\n              [4, 1, 58, 99],\n              [5, 3, 47, 99],\n              [6, 0.5, 66, 99],\n              [7, 2, 69, 99]],\n    'k': 3},\n   [7, 5, 2]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 3, 42, 99],\n              [1, 0.5, 69, 99],\n              [2, 3, 41, 99],\n              [3, 0.5, 42, 99],\n              [4, 2, 48, 99],\n              [5, 5, 91, 99],\n              [6, 5, 74, 99],\n              [7, 3, 31, 99]],\n    'k': 4},\n   [5, 6, 0, 2]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 44, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 14, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 24, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 34, 100], [3, 1, 70, 100]], 'k': 2},\n   [3, 2]]],\n [['weighted sample 0 k=2',\n   {'items': [[0, 1, 87, 99],\n              [1, 1, 1, 99],\n              [2, 2, 6, 99],\n              [3, 5, 67, 99],\n              [4, 1, 66, 99],\n              [5, 3, 45, 99],\n              [6, 0.5, 25, 99],\n              [7, 1, 41, 99]],\n    'k': 2},\n   [3, 0]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 1, 25, 99],\n              [1, 3, 18, 99],\n              [2, 5, 2, 99],\n              [3, 2, 65, 99],\n              [4, 3, 14, 99],\n              [5, 3, 89, 99],\n              [6, 3, 10, 99],\n              [7, 1, 78, 99]],\n    'k': 3},\n   [5, 3, 7]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 2, 49, 99],\n              [1, 2, 66, 99],\n              [2, 0.5, 24, 99],\n              [3, 0.5, 88, 99],\n              [4, 1, 6, 99],\n              [5, 1, 8, 99],\n              [6, 1, 93, 99],\n              [7, 0.5, 41, 99]],\n    'k': 4},\n   [6, 1, 3, 0]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 45, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 15, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 25, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 35, 100], [3, 1, 70, 100]], 'k': 2},\n   [2, 3]]]]\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":"258ac424db1b6b4e7c70eee463ec0fe659d88534f1c2d31dfd76d70200b5f4ae","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    k = x['k']\n    keyed = []\n    for ident, wt, num, den in x['items']:\n        if wt <= 0:\n            continue\n        key = math.log(num / den) / wt\n        keyed.append((key, -ident))\n    keyed.sort(reverse=True)\n    return [-negid for key, negid in keyed[:k]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[['weighted sample 0 k=2',\n   {'items': [[0, 0.5, 91, 99],\n              [1, 1, 42, 99],\n              [2, 5, 91, 99],\n              [3, 0.5, 48, 99],\n              [4, 0.5, 13, 99],\n              [5, 3, 4, 99],\n              [6, 3, 63, 99],\n              [7, 2, 87, 99]],\n    'k': 2},\n   [2, 7]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 1, 65, 99],\n              [1, 0.5, 34, 99],\n              [2, 2, 22, 99],\n              [3, 1, 43, 99],\n              [4, 1, 77, 99],\n              [5, 0.5, 50, 99],\n              [6, 5, 2, 99],\n              [7, 3, 76, 99]],\n    'k': 3},\n   [7, 4, 0]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 1, 74, 99],\n              [1, 3, 25, 99],\n              [2, 3, 5, 99],\n              [3, 0.5, 53, 99],\n              [4, 1, 61, 99],\n              [5, 1, 6, 99],\n              [6, 5, 34, 99],\n              [7, 3, 56, 99]],\n    'k': 4},\n   [7, 6, 0, 1]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 41, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 11, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 21, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 31, 100], [3, 1, 70, 100]], 'k': 2},\n   [3, 2]]],\n [['weighted sample 0 k=2',\n   {'items': [[0, 1, 8, 99],\n              [1, 5, 66, 99],\n              [2, 5, 27, 99],\n              [3, 5, 16, 99],\n              [4, 0.5, 70, 99],\n              [5, 3, 4, 99],\n              [6, 0.5, 5, 99],\n              [7, 0.5, 32, 99]],\n    'k': 2},\n   [1, 2]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 0.5, 34, 99],\n              [1, 0.5, 41, 99],\n              [2, 5, 97, 99],\n              [3, 3, 35, 99],\n              [4, 3, 98, 99],\n              [5, 3, 86, 99],\n              [6, 0.5, 26, 99],\n              [7, 1, 66, 99]],\n    'k': 3},\n   [4, 2, 5]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 2, 63, 99],\n              [1, 5, 82, 99],\n              [2, 0.5, 17, 99],\n              [3, 3, 50, 99],\n              [4, 3, 90, 99],\n              [5, 5, 18, 99],\n              [6, 1, 85, 99],\n              [7, 1, 8, 99]],\n    'k': 4},\n   [4, 1, 6, 0]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 42, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 12, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 22, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 32, 100], [3, 1, 70, 100]], 'k': 2},\n   [3, 2]]],\n [['weighted sample 0 k=2',\n   {'items': [[0, 2, 38, 99],\n              [1, 2, 4, 99],\n              [2, 5, 4, 99],\n              [3, 5, 92, 99],\n              [4, 5, 71, 99],\n              [5, 1, 36, 99],\n              [6, 2, 24, 99],\n              [7, 3, 79, 99]],\n    'k': 2},\n   [3, 4]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 1, 74, 99],\n              [1, 5, 71, 99],\n              [2, 3, 25, 99],\n              [3, 0.5, 97, 99],\n              [4, 5, 51, 99],\n              [5, 1, 86, 99],\n              [6, 1, 82, 99],\n              [7, 5, 81, 99]],\n    'k': 3},\n   [7, 3, 1]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 5, 98, 99],\n              [1, 2, 23, 99],\n              [2, 5, 17, 99],\n              [3, 2, 35, 99],\n              [4, 0.5, 16, 99],\n              [5, 3, 77, 99],\n              [6, 3, 56, 99],\n              [7, 0.5, 87, 99]],\n    'k': 4},\n   [0, 5, 6, 7]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 43, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 13, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 23, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 33, 100], [3, 1, 70, 100]], 'k': 2},\n   [3, 2]]],\n [['weighted sample 0 k=2',\n   {'items': [[0, 5, 55, 99],\n              [1, 2, 83, 99],\n              [2, 2, 87, 99],\n              [3, 3, 17, 99],\n              [4, 1, 74, 99],\n              [5, 0.5, 82, 99],\n              [6, 2, 71, 99],\n              [7, 1, 7, 99]],\n    'k': 2},\n   [2, 1]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 1, 55, 99],\n              [1, 1, 50, 99],\n              [2, 2, 55, 99],\n              [3, 1, 34, 99],\n              [4, 1, 58, 99],\n              [5, 3, 47, 99],\n              [6, 0.5, 66, 99],\n              [7, 2, 69, 99]],\n    'k': 3},\n   [7, 5, 2]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 3, 42, 99],\n              [1, 0.5, 69, 99],\n              [2, 3, 41, 99],\n              [3, 0.5, 42, 99],\n              [4, 2, 48, 99],\n              [5, 5, 91, 99],\n              [6, 5, 74, 99],\n              [7, 3, 31, 99]],\n    'k': 4},\n   [5, 6, 0, 2]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 44, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 14, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 24, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 34, 100], [3, 1, 70, 100]], 'k': 2},\n   [3, 2]]],\n [['weighted sample 0 k=2',\n   {'items': [[0, 1, 87, 99],\n              [1, 1, 1, 99],\n              [2, 2, 6, 99],\n              [3, 5, 67, 99],\n              [4, 1, 66, 99],\n              [5, 3, 45, 99],\n              [6, 0.5, 25, 99],\n              [7, 1, 41, 99]],\n    'k': 2},\n   [3, 0]],\n  ['weighted sample 1 k=3',\n   {'items': [[0, 1, 25, 99],\n              [1, 3, 18, 99],\n              [2, 5, 2, 99],\n              [3, 2, 65, 99],\n              [4, 3, 14, 99],\n              [5, 3, 89, 99],\n              [6, 3, 10, 99],\n              [7, 1, 78, 99]],\n    'k': 3},\n   [5, 3, 7]],\n  ['weighted sample 2 k=4',\n   {'items': [[0, 2, 49, 99],\n              [1, 2, 66, 99],\n              [2, 0.5, 24, 99],\n              [3, 0.5, 88, 99],\n              [4, 1, 6, 99],\n              [5, 1, 8, 99],\n              [6, 1, 93, 99],\n              [7, 0.5, 41, 99]],\n    'k': 4},\n   [6, 1, 3, 0]],\n  ['zero and negative weights',\n   {'items': [[1, 0, 50, 99], [2, -1, 30, 99], [3, 2, 45, 99], [4, 1, 90, 99]], 'k': 3},\n   [4, 3]],\n  ['equal keys tie',\n   {'items': [[7, 2, 49, 100], [3, 2, 49, 100], [5, 1, 15, 100]], 'k': 2},\n   [3, 7]],\n  ['heavier weight wins', {'items': [[1, 1, 60, 100], [2, 4, 25, 100]], 'k': 1}, [2]],\n  ['light weight small uniform',\n   {'items': [[1, 0.25, 90, 100], [2, 3, 35, 100], [3, 1, 70, 100]], 'k': 2},\n   [2, 3]]]]\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-weighted-reservoir-ares-select-largest","generated_at":"2026-09-29T14:48:45.055218+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Weighted sampling without replacement (A-Res) chooses representative traces or accounts in proportion to traffic; key or eligibility mistakes skew the sample.","repair":"Keep the k largest keys.","root_cause":"The k smallest keys are retained instead of the k largest.","sha256":"c69234ea73e9e8d746a3683b54f2874e3516e160e949de60e46516d8fe2c95c1","title":"Weighted reservoir sampling by exponential keys: keeps the smallest keys · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.15,"exit_code":1,"observations":[{"actual":[4,3],"check":"weighted sample 0 k=2","expected":[2,7],"passed":false},{"actual":[1,5,3],"check":"weighted sample 1 k=3","expected":[7,4,0],"passed":false},{"actual":[5,3,2,4],"check":"weighted sample 2 k=4","expected":[7,6,0,1],"passed":false},{"actual":[3,4],"check":"zero and negative weights","expected":[4,3],"passed":false},{"actual":[5,7],"check":"equal keys tie","expected":[3,7],"passed":false},{"actual":[1],"check":"heavier weight wins","expected":[2],"passed":false},{"actual":[1,2],"check":"light weight small uniform","expected":[3,2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"weighted sample 0 k=2\", \"actual\": [4, 3], \"expected\": [2, 7], \"passed\": false}, {\"check\": \"weighted sample 1 k=3\", \"actual\": [1, 5, 3], \"expected\": [7, 4, 0], \"passed\": false}, {\"check\": \"weighted sample 2 k=4\", \"actual\": [5, 3, 2, 4], \"expected\": [7, 6, 0, 1], \"passed\": false}, {\"check\": \"zero and negative weights\", \"actual\": [3, 4], \"expected\": [4, 3], \"passed\": false}, {\"check\": \"equal keys tie\", \"actual\": [5, 7], \"expected\": [3, 7], \"passed\": false}, {\"check\": \"heavier weight wins\", \"actual\": [1], \"expected\": [2], \"passed\": false}, {\"check\": \"light weight small uniform\", \"actual\": [1, 2], \"expected\": [3, 2], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.331,"exit_code":1,"observations":[{"actual":[4,3],"check":"weighted sample 0 k=2","expected":[2,7],"passed":false},{"actual":[1,5,3],"check":"weighted sample 1 k=3","expected":[7,4,0],"passed":false},{"actual":[5,3,2,4],"check":"weighted sample 2 k=4","expected":[7,6,0,1],"passed":false},{"actual":[3,4],"check":"zero and negative weights","expected":[4,3],"passed":false},{"actual":[5,7],"check":"equal keys tie","expected":[3,7],"passed":false},{"actual":[1],"check":"heavier weight wins","expected":[2],"passed":false},{"actual":[1,2],"check":"light weight small uniform","expected":[3,2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"weighted sample 0 k=2\", \"actual\": [4, 3], \"expected\": [2, 7], \"passed\": false}, {\"check\": \"weighted sample 1 k=3\", \"actual\": [1, 5, 3], \"expected\": [7, 4, 0], \"passed\": false}, {\"check\": \"weighted sample 2 k=4\", \"actual\": [5, 3, 2, 4], \"expected\": [7, 6, 0, 1], \"passed\": false}, {\"check\": \"zero and negative weights\", \"actual\": [3, 4], \"expected\": [4, 3], \"passed\": false}, {\"check\": \"equal keys tie\", \"actual\": [5, 7], \"expected\": [3, 7], \"passed\": false}, {\"check\": \"heavier weight wins\", \"actual\": [1], \"expected\": [2], \"passed\": false}, {\"check\": \"light weight small uniform\", \"actual\": [1, 2], \"expected\": [3, 2], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.357,"exit_code":0,"observations":[{"actual":[2,7],"check":"weighted sample 0 k=2","expected":[2,7],"passed":true},{"actual":[7,4,0],"check":"weighted sample 1 k=3","expected":[7,4,0],"passed":true},{"actual":[7,6,0,1],"check":"weighted sample 2 k=4","expected":[7,6,0,1],"passed":true},{"actual":[4,3],"check":"zero and negative weights","expected":[4,3],"passed":true},{"actual":[3,7],"check":"equal keys tie","expected":[3,7],"passed":true},{"actual":[2],"check":"heavier weight wins","expected":[2],"passed":true},{"actual":[3,2],"check":"light weight small uniform","expected":[3,2],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"weighted sample 0 k=2\", \"actual\": [2, 7], \"expected\": [2, 7], \"passed\": true}, {\"check\": \"weighted sample 1 k=3\", \"actual\": [7, 4, 0], \"expected\": [7, 4, 0], \"passed\": true}, {\"check\": \"weighted sample 2 k=4\", \"actual\": [7, 6, 0, 1], \"expected\": [7, 6, 0, 1], \"passed\": true}, {\"check\": \"zero and negative weights\", \"actual\": [4, 3], \"expected\": [4, 3], \"passed\": true}, {\"check\": \"equal keys tie\", \"actual\": [3, 7], \"expected\": [3, 7], \"passed\": true}, {\"check\": \"heavier weight wins\", \"actual\": [2], \"expected\": [2], \"passed\": true}, {\"check\": \"light weight small uniform\", \"actual\": [3, 2], \"expected\": [3, 2], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}