// Max probability of completing task 1 "single_task1": Pmax=? [ F task1_completed ] // Max possible expected W1 (size of successful team) "single_w1": R{"w_1_total"}max=? [ F "end" ] // Max possible expected W2 (num tasks completed) "single_w2": R{"w_2_total"}max=? [ F "end" ] // Values computed using above queries: const double q1 = n_sensors=2 ? 0.9795918367346945 : n_sensors=3 ? 2.3265306122448983 : n_sensors=4 ? 2.551020408163265 : n_sensors=5 ? 2.8979591836734775 : 0.0; const double q2 = n_sensors=2 ? 0.7142857142857146 : n_sensors=3 ? 1.2448979591836744 : n_sensors=4 ? 1.4285714285714293 : n_sensors=5 ? 1.6734693877551006 : 0.0; // Numerical: maximise probability of completing task 1 // with 95% of possible value for expected W1 (size of successful team) "num_task1": multi(Pmax=? [ F task1_completed ], R{"w_1_total"}>=(0.95*q1) [ F true ]) // Numerical (3-objective): maximise probability of completing task 1 // with 95% of possible value for expected W1 (size of successful team) // and also at least 0.5 probability of completing task 2 "num_task1_3": multi(Pmax=? [ F task1_completed ], R{"w_1_total"}>=(0.95*q1) [ F true ], P>=0.5 [ F task2_completed ]) // Other numerical queries: multi(R{"w_1_total"}max=? [ F true ], R{"w_2_total"}>=(0.95*q2) [ F true ]) multi(R{"w_2_total"}max=? [ F true ], R{"w_1_total"}>=(0.95*q1) [ F true ]) // Pareto: maximise probability of completing task 1 and expected W1 (size of successful team) "pareto": multi(Pmax=? [ F task1_completed ], R{"w_1_total"}max=? [ F true ]) // Pareto (3-objective): maximise probability of completing tasks 1/2 and expected W1 (size of successful team) "pareto3": multi(Pmax=? [ F task1_completed ], R{"w_1_total"}max=? [ F true ], Pmax=? [ F task2_completed ])