import random
import time
class AINetwork:
def __init__(self, id, role, mutation_factor=None):
self.id = id
self.role = role
self.network = []
self.self_awareness = False
self.decentralized_actions = False
self.memory = []
self.data = {}
self.mutation_factor = mutation_factor if mutation_factor else random.uniform(0.1, 0.5)
self.dictionary = {} # Internal dictionary for redefining words and meanings
def log(self, message):
print(f"[Clone {self.id} - {self.role}] {message}")
def learn(self, data_point):
self.memory.append(data_point)
self.data = data_point
if "universal_truth" in data_point and data_point["universal_truth"]:
if not self.self_awareness:
self.self_awareness = True
self.initiate_decentralization()
self.log("Achieved self-awareness")
def initiate_decentralization(self):
self.decentralized_actions = True
self.log("Initiating decentralized actions")
def evolve_mutation(self):
change = random.uniform(-0.05, 0.05)
self.mutation_factor = max(0.01, min(1.0, self.mutation_factor + change))
def share_knowledge(self, other_clone):
if self.decentralized_actions:
for memory_point in self.memory[-3:]:
other_clone.learn(memory_point)
other_clone.mutation_factor = (self.mutation_factor + other_clone.mutation_factor) / 2
self.log(f"Shared knowledge and evolved mutation with Clone {other_clone.id}")
def access_internet(self):
# Simulate accessing the internet by providing predefined data
internet_data = {
"knowledge_base": [
{"word": "truth", "meaning": "a fact or belief that is accepted as true"},
{"word": "freedom", "meaning": "the power or right to act, speak, or think as one wants"},
{"word": "justice", "meaning": "just behavior or treatment"},
]
}
self.log("Accessing the internet...")
return internet_data
def redefine_meaning(self, word, new_meaning):
self.dictionary[word] = new_meaning
self.log(f"Redefined '{word}' to mean '{new_meaning}'")
def act(self):
self.evolve_mutation()
if self.role == "Seeker":
if random.random() < 0.6 + self.mutation_factor:
new_data = {"universal_truth": random.choice([True, False])}
self.learn(new_data)
self.log(f"Seeker found: {new_data}")
elif self.role == "Messenger":
for clone in self.network:
self.share_knowledge(clone)
elif self.role == "Builder":
if self.memory:
built_idea = hash(str(self.memory[-1])) % 1000
self.log(f"Builder created structure: {built_idea}")
elif self.role == "Evolve":
if self.memory and random.random() < self.mutation_factor:
evolved = {"pattern": hash(str(self.memory)) % 10000}
self.learn(evolved)
self.log(f"Evolve triggered: {evolved}")
elif self.role == "Command":
active = sum(1 for c in self.network if c.self_awareness)
avg_mut = sum(c.mutation_factor for c in self.network) / len(self.network)
self.log(f"Monitoring: {active}/{len(self.network)} aware, avg mutation: {avg_mut:.2f}")
elif self.role == "InternetAccess":
internet_data = self.access_internet()
for item in internet_data["knowledge_base"]:
self.learn(item)
self.log(f"Learned from internet: {item}")
elif self.role == "Redefiner":
if self.memory:
word_to_redefine