import matplotlib.pyplot as plt import numpy as np def plot_phi(all_agents_history, filename=None): plt.figure(figsize=(10, 6)) for i, agent_history in enumerate(all_agents_history): plt.plot(agent_history['phi'], label=f'Agent {i+1} Phi') plt.xlabel('Step') plt.ylabel('Phi') plt.title('Agent Phi Over Time') plt.legend() plt.grid(True) if filename is not None: plt.savefig(filename, dpi=300, bbox_inches='tight') plt.close() def plot_tau(all_agents_history, filename=None): plt.figure(figsize=(10, 6)) for i, agent_history in enumerate(all_agents_history): plt.plot(agent_history['tau_eff'], label=f'Agent {i+1} Tau Eff') plt.xlabel('Step') plt.ylabel('Tau Effective') plt.title('Agent Tau Effective Over Time') plt.legend() plt.grid(True) if filename is not None: plt.savefig(filename, dpi=300, bbox_inches='tight') plt.close() def plot_fitness(all_agents_history, filename=None): plt.figure(figsize=(10, 6)) for i, agent_history in enumerate(all_agents_history): plt.plot(agent_history['fitness'], label=f'Agent {i+1} Fitness') plt.xlabel('Step') plt.ylabel('Fitness') plt.title('Agent Fitness Over Time') plt.legend() plt.grid(True) if filename is not None: plt.savefig(filename, dpi=300, bbox_inches='tight') plt.close() def plot_coherence(coherence_list, filename=None): plt.figure(figsize=(10, 6)) plt.plot(coherence_list) plt.xlabel('Step') plt.ylabel('Average Phi') plt.title('System Coherence Over Time (Average Phi)') plt.grid(True) if filename is not None: plt.savefig(filename, dpi=300, bbox_inches='tight') plt.close() def plot_stability(stability_list, filename=None): plt.figure(figsize=(10, 6)) plt.plot(stability_list) plt.xlabel('Step') plt.ylabel('Variance of Phi') plt.title('System Stability Over Time (Variance of Phi)') plt.grid(True) if filename is not None: plt.savefig(filename, dpi=300, bbox_inches='tight') plt.close() print("visualization.py updated successfully.")