From 7d59da2dbed2cf4268eceb0312a5c46f6494ecbf Mon Sep 17 00:00:00 2001
From: BrunoDatoMeneses <bruno.dato.meneses@gmail.com>
Date: Thu, 25 Jul 2019 15:29:09 +0200
Subject: [PATCH] ADD: calculate averageRegressionPerformanceIndicator once

---
 AMOEBAonAMAK/src/agents/head/Head.java  | 12 ++++++++++--
 AMOEBAonAMAK/src/kernel/AmoebaData.java |  2 ++
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/AMOEBAonAMAK/src/agents/head/Head.java b/AMOEBAonAMAK/src/agents/head/Head.java
index 13c44544..b4dd18b1 100644
--- a/AMOEBAonAMAK/src/agents/head/Head.java
+++ b/AMOEBAonAMAK/src/agents/head/Head.java
@@ -89,6 +89,7 @@ public class Head extends AmoebaAgent {
 		setContextFromPropositionWasSelected(false);
 		getAmas().data.oldOracleValue = getAmas().data.oracleValue;
 		getAmas().data.oracleValue = getAmas().getPerceptions("oracle");
+		setAverageRegressionPerformanceIndicator();
 
 		/* The head memorize last used context agent */
 		lastUsedContext = bestContext;
@@ -1887,6 +1888,12 @@ public class Head extends AmoebaAgent {
 	
 	public Double getAverageRegressionPerformanceIndicator() {
 		
+		return getAmas().data.averageRegressionPerformanceIndicator;
+		
+	}
+	
+	public void setAverageRegressionPerformanceIndicator() {
+		
 		int numberOfRegressions = 0;
 		if(activatedNeighborsContexts.size()>0) {
 			double meanRegressionPerformanceIndicator = 0.0;
@@ -1895,13 +1902,14 @@ public class Head extends AmoebaAgent {
 					numberOfRegressions+=1;
 			}
 			assert numberOfRegressions != 0;
-			return (meanRegressionPerformanceIndicator/numberOfRegressions > getAmas().data.initRegressionPerformance) ? meanRegressionPerformanceIndicator/numberOfRegressions :  getAmas().data.initRegressionPerformance;
+			getAmas().data.averageRegressionPerformanceIndicator =  (meanRegressionPerformanceIndicator/numberOfRegressions > getAmas().data.initRegressionPerformance) ? meanRegressionPerformanceIndicator/numberOfRegressions :  getAmas().data.initRegressionPerformance;
 		}
 		else{
-			return getAmas().data.initRegressionPerformance;
+			getAmas().data.averageRegressionPerformanceIndicator = getAmas().data.initRegressionPerformance;
 		}
 		
 	}
+	
 
 	public void proposition(Context c) {
 		activatedContexts.add(c);
diff --git a/AMOEBAonAMAK/src/kernel/AmoebaData.java b/AMOEBAonAMAK/src/kernel/AmoebaData.java
index d843af0d..5f2e57a8 100644
--- a/AMOEBAonAMAK/src/kernel/AmoebaData.java
+++ b/AMOEBAonAMAK/src/kernel/AmoebaData.java
@@ -78,4 +78,6 @@ public class AmoebaData implements Serializable {
 	public double[] executionTimesSums = new double[20];
 	
 	public double initRegressionPerformance = 1.0;
+	
+	public double averageRegressionPerformanceIndicator;
 }
\ No newline at end of file
-- 
GitLab