diff --git a/AMOEBAonAMAK/src/agents/context/Context.java b/AMOEBAonAMAK/src/agents/context/Context.java index 2a4632fe95b9b884aaf0503014ff493fc76c79f8..fb9f6cd7621d11556c28e6b77e824eb110ba7bb3 100644 --- a/AMOEBAonAMAK/src/agents/context/Context.java +++ b/AMOEBAonAMAK/src/agents/context/Context.java @@ -713,7 +713,7 @@ public class Context extends AmoebaAgent { for (Percept pct : getAmas().getPercepts()) { currentDistance = this.distance(ctxt, pct); - if(currentDistance<-pct.getMappingErrorAllowedMin() && getAmas().getCycle()>1000) { + if(currentDistance<-pct.getMappingErrorAllowedMin() && getAmas().getCycle()>50) { getEnvironment().trace(TRACE_LEVEL.DEBUG,new ArrayList<String>(Arrays.asList("OVERLAP",pct.getName(), ""+this,""+ctxt)) ); overlapCounts+=1; overlapDistances.put(pct, Math.abs(currentDistance)); @@ -723,7 +723,7 @@ public class Context extends AmoebaAgent { } - if (currentDistance > pct.getMappingErrorAllowedMin() && getAmas().getCycle()>2000) { + if (currentDistance > pct.getMappingErrorAllowedMin() && getAmas().getCycle()>50) { getEnvironment().trace(TRACE_LEVEL.DEBUG,new ArrayList<String>(Arrays.asList("VOID",pct.getName(), ""+this,""+ctxt, "distance", ""+currentDistance)) ); voidDistances.put(pct, currentDistance); bounds.put(pct, this.voidBounds(ctxt, pct)); diff --git a/AMOEBAonAMAK/src/agents/head/Head.java b/AMOEBAonAMAK/src/agents/head/Head.java index 90995cdbe2aa62bfcc54dcd72ec4fcb03c0825f7..67ee372989737495fddef7f94a5b661bda635f0d 100644 --- a/AMOEBAonAMAK/src/agents/head/Head.java +++ b/AMOEBAonAMAK/src/agents/head/Head.java @@ -144,9 +144,9 @@ public class Head extends AmoebaAgent { } private void playWithOracle() { - + getEnvironment().trace(TRACE_LEVEL.DEBUG, new ArrayList<String>(Arrays.asList("\n\n"))); getAmas().data.executionTimes[0]=System.currentTimeMillis(); - getEnvironment().trace(TRACE_LEVEL.DEBUG, new ArrayList<String>(Arrays.asList("\n------------------------------------------------------------------------------------" + getEnvironment().trace(TRACE_LEVEL.DEBUG, new ArrayList<String>(Arrays.asList("------------------------------------------------------------------------------------" + "---------------------------------------- PLAY WITH ORACLE"))); if (activatedContexts.size() > 0) { @@ -2394,7 +2394,8 @@ public class Head extends AmoebaAgent { test = true; for(Percept pct : getAmas().getPercepts()) { - test = test && ctxt.getRanges().get(pct).contains2(request.get(pct)); +// test = test && ctxt.getRanges().get(pct).contains2(request.get(pct)); + test = test && ctxt.getRanges().get(pct).contains(request.get(pct), pct.getMappingErrorAllowedMin()); } if(test) { return false; diff --git a/AMOEBAonAMAK/src/experiments/nDimensionsLaunchers/F_N_Launcher.java b/AMOEBAonAMAK/src/experiments/nDimensionsLaunchers/F_N_Launcher.java index 5a9e38b3e7007b38ae8e0c90a8bf84420d1a82eb..603a383547e5e06f82035c77577b7fccd3d5add9 100644 --- a/AMOEBAonAMAK/src/experiments/nDimensionsLaunchers/F_N_Launcher.java +++ b/AMOEBAonAMAK/src/experiments/nDimensionsLaunchers/F_N_Launcher.java @@ -36,7 +36,8 @@ public class F_N_Launcher implements Serializable { public static final int normType = 2 ; public static final boolean randomExploration = true; public static final boolean limitedToSpaceZone = true; - public static final double mappingErrorAllowed = 0.03; + //public static final double mappingErrorAllowed = 0.07; // BIG SQUARE + public static final double mappingErrorAllowed = 0.03; // MULTI public static final double explorationIncrement = 1.0 ; public static final double explorationWidht = 0.5 ; diff --git a/AMOEBAonAMAK/src/experiments/nDimensionsLaunchers/F_N_Manager.java b/AMOEBAonAMAK/src/experiments/nDimensionsLaunchers/F_N_Manager.java index b26d63786fa62affc10ce76456644f65f6a74722..ce809ad6bd79c88649c68651a4afbcdfd958b450 100644 --- a/AMOEBAonAMAK/src/experiments/nDimensionsLaunchers/F_N_Manager.java +++ b/AMOEBAonAMAK/src/experiments/nDimensionsLaunchers/F_N_Manager.java @@ -271,6 +271,7 @@ public class F_N_Manager implements StudiedSystem{ center[0]=0.0; center[1]=0.0; //return gaussianModel(xRequest, center,gaussianCoef, gaussianVariance); + //return squareSimpleModel(xRequest); int subzone = subzone2D(xRequest); @@ -409,6 +410,13 @@ private double[] subZoneCenter3D(int nb) { xRequest[1] < (center[1]+spaceSize/2)) ? model1(xRequest[0],xRequest[1]) : model2(xRequest[0],xRequest[1]) ; } + private double squareSimpleModel(Double[] xRequest) { + return ((-spaceSize) < xRequest[0] && + xRequest[0] < (spaceSize) && + (-spaceSize) < xRequest[1] && + xRequest[1] < (+spaceSize)) ? model1(xRequest[0],xRequest[1]) : model2(xRequest[0],xRequest[1]) ; + } + private double gaussianModel() { double result = 1.0; for(int i=0;i<dimension;i++) { diff --git a/AMOEBAonAMAK/src/kernel/World.java b/AMOEBAonAMAK/src/kernel/World.java index e248a189449055d43fff29bc5ac33ff3d1e90fdf..5fe709fea42dfd30530f773a93033cd64684e139 100644 --- a/AMOEBAonAMAK/src/kernel/World.java +++ b/AMOEBAonAMAK/src/kernel/World.java @@ -34,7 +34,7 @@ public class World extends Environment { - public static TRACE_LEVEL minLevel = TRACE_LEVEL.ERROR; + public static TRACE_LEVEL minLevel = TRACE_LEVEL.DEBUG; private AMOEBA amoeba;