| | 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") |