| import json |
|
|
| |
| with open("graphs/prime_perfect_data.json", "r") as f: |
| data = json.load(f) |
|
|
| |
| inferred_relationships = [] |
|
|
| |
| for link in data["relationships"]: |
| source = link["source"] |
| target = link["target"] |
| relationship = link["relationship"] |
|
|
| |
| if relationship == "multiplied_to_generate": |
| factor = target / source |
| if factor.is_integer(): |
| inferred_relationships.append({ |
| "source": source, |
| "target": target, |
| "relationship": f"multiplied_by_{int(factor)}" |
| }) |
|
|
| |
| elif relationship == "next_in_sequence": |
| diff = target - source |
| inferred_relationships.append({ |
| "source": source, |
| "target": target, |
| "relationship": f"add_{int(diff)}" |
| }) |
|
|
| |
| elif relationship == "generates_Mersenne_prime": |
| if (source > 1) and (target == 2**source - 1): |
| inferred_relationships.append({ |
| "source": source, |
| "target": target, |
| "relationship": "mersenne_equation" |
| }) |
|
|
| |
| elif relationship == "generates_perfect_number": |
| if (source > 1) and (target == 2**(source - 1) * (2**source - 1)): |
| inferred_relationships.append({ |
| "source": source, |
| "target": target, |
| "relationship": "perfect_equation" |
| }) |
|
|
| |
| combined_data = { |
| "nodes": data["nodes"], |
| "relationships": data["relationships"] + inferred_relationships |
| } |
|
|
| |
| with open("graphs/inferred_prime_perfect_data.json", "w") as f: |
| json.dump(combined_data, f, indent=4) |
|
|
| print("Inferred relationships added to graphs/inferred_prime_perfect_data.json") |