From e025b0bcf1cf0315087970fb88b3505805eed37e Mon Sep 17 00:00:00 2001 From: BrunoDatoMeneses <bruno.dato.meneses@gmail.com> Date: Fri, 26 Jul 2019 15:02:20 +0200 Subject: [PATCH] ADD: execution times for childContext and potentialRequest NCS --- AMOEBAonAMAK/src/agents/head/Head.java | 23 +++++++++++++++++------ AMOEBAonAMAK/src/kernel/AMOEBA.java | 2 ++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/AMOEBAonAMAK/src/agents/head/Head.java b/AMOEBAonAMAK/src/agents/head/Head.java index b4dd18b1..8fe26fa6 100644 --- a/AMOEBAonAMAK/src/agents/head/Head.java +++ b/AMOEBAonAMAK/src/agents/head/Head.java @@ -175,11 +175,18 @@ public class Head extends AmoebaAgent { getAmas().data.executionTimes[6]=System.currentTimeMillis()- getAmas().data.executionTimes[6]; - getAmas().data.executionTimes[7]=System.currentTimeMillis(); + getAmas().data.executionTimes[11]=System.currentTimeMillis(); NCSDetection_ChildContext(); + getAmas().data.executionTimes[11]=System.currentTimeMillis()- getAmas().data.executionTimes[11]; + getAmas().data.executionTimes[12]=System.currentTimeMillis(); NCSDetection_PotentialRequest(); + getAmas().data.executionTimes[12]=System.currentTimeMillis()- getAmas().data.executionTimes[12]; + + + + getAmas().data.executionTimes[7]=System.currentTimeMillis(); criticalities.addCriticality("spatialCriticality", (getMinMaxVolume() - getVolumeOfAllContexts()) / getMinMaxVolume()); @@ -236,12 +243,13 @@ public class Head extends AmoebaAgent { getAmas().data.executionTimes[7]=System.currentTimeMillis()- getAmas().data.executionTimes[7]; - for(int i = 0 ; i<20;i++) { getAmas().data.executionTimesSums[i] += getAmas().data.executionTimes[i]; } + + } public double getMinMaxVolume() { @@ -894,26 +902,28 @@ public class Head extends AmoebaAgent { double minDistanceToOraclePrediction = Double.POSITIVE_INFINITY; for (Context activatedContext : activatedContexts) { - currentDistanceToOraclePrediction = activatedContext.getLocalModel() - .distance(activatedContext.getCurrentExperiment()); - getAmas().data.distanceToRegression = currentDistanceToOraclePrediction; + currentDistanceToOraclePrediction = activatedContext.getLocalModel().distance(activatedContext.getCurrentExperiment()); + getAmas().data.contextNotFinished = false; getEnvironment().trace(TRACE_LEVEL.DEBUG, new ArrayList<String>(Arrays.asList("MODEL DISTANCE", activatedContext.getName(), "" + activatedContext.getLocalModel().distance(activatedContext.getCurrentExperiment())))); if (!activatedContext.getLocalModel().finishedFirstExperiments()) { + activatedContext.getLocalModel().updateModel(activatedContext.getCurrentExperiment(), getAmas().data.learningSpeed); getAmas().data.contextNotFinished = true; + } - else if (currentDistanceToOraclePrediction < getAverageRegressionPerformanceIndicator()) { //else if (currentDistanceToOraclePrediction < regressionPerformance.getPerformanceIndicator()) { + activatedContext.getLocalModel().updateModel(activatedContext.getCurrentExperiment(), getAmas().data.learningSpeed); } if (currentDistanceToOraclePrediction < minDistanceToOraclePrediction) { minDistanceToOraclePrediction = currentDistanceToOraclePrediction; + getAmas().data.distanceToRegression = minDistanceToOraclePrediction; } if (!getAmas().data.contextNotFinished) { @@ -933,6 +943,7 @@ public class Head extends AmoebaAgent { activatedContexts.get(i).criticalities.updateMeans(); if (activatedContexts.get(i).criticalities.getCriticalityMean("distanceToRegression") != null) { + activatedContexts.get(i).regressionPerformance.update(activatedContexts.get(i).criticalities.getCriticalityMean("distanceToRegression")); getEnvironment().trace(TRACE_LEVEL.INFORM, new ArrayList<String>(Arrays.asList("UPDATE REGRESSION PERFORMANCE", activatedContexts.get(i).getName(), ""+activatedContexts.get(i).regressionPerformance.getPerformanceIndicator()))); } diff --git a/AMOEBAonAMAK/src/kernel/AMOEBA.java b/AMOEBAonAMAK/src/kernel/AMOEBA.java index 2ad515d0..dd2b1e7a 100644 --- a/AMOEBAonAMAK/src/kernel/AMOEBA.java +++ b/AMOEBAonAMAK/src/kernel/AMOEBA.java @@ -165,6 +165,8 @@ public class AMOEBA extends Amas<World> implements IAMOEBA { timeExecution.addData("BestContextInNeighbors", cycle, data.executionTimesSums[8], notify); timeExecution.addData("CreateContext", cycle, data.executionTimesSums[9], notify); timeExecution.addData("UpdateStatitics", cycle, data.executionTimesSums[10], notify); + timeExecution.addData("ChildContext", cycle, data.executionTimesSums[11], notify); + timeExecution.addData("PotentialRequest", cycle, data.executionTimesSums[12], notify); criticalities.addData("Prediction", cycle, data.evolutionCriticalityPrediction, notify); criticalities.addData("Mapping", cycle, data.evolutionCriticalityMapping, notify); -- GitLab