// system parameter double L,tau,D; // units double R_target; // radius of the target double dt; // other parameters double Pe,v,ell,D_theta,mu; // ABP parameters int N_runs,N_agents; // RL and evironmental parameters double Dr,R_max; double time_single_episode; double pBP,pABP; int Nt_single_episode; int Nphi,Na,Ns,M,Nomegas; double counter_initial_policy,counter_avg_policy,counter_single_policies; double r_ini; // arrays initialization double * target_times; double * initial_radii; double * initial_thetas; double ** H; double ** Havg; double * H2; double * vBP; double * vABP; double ** visited_radii_initial_policy; double ** visited_radii_avg_policy; double ** visited_radii_single_policies; // functions void Dynamics_initial_policy(int i); void Dynamics_avg_policy(int i); void Dynamics_single_policies(int i); void read_parameters(); void array_initialization(); void print_data (); void print_target_times_initial_policy (); void print_target_times_learned_policy (); int rindex(double r); // to parallelize and restart int N_bunchs,N_runs0,N_episodes0; double *** H_restart; void read_H_restart_bunches();