diff --git a/AMOEBAonAMAK/src/agents/context/Context.java b/AMOEBAonAMAK/src/agents/context/Context.java index 5d7db655168ec70cdcdb312d7fc5252c9020147b..db891d064107e69ea09917fce4ec6089a0cd504f 100644 --- a/AMOEBAonAMAK/src/agents/context/Context.java +++ b/AMOEBAonAMAK/src/agents/context/Context.java @@ -65,6 +65,8 @@ public class Context extends AmoebaAgent { public static final int successesBeforeDiminution = 5; public static final int errorsBeforeAugmentation = 5; + public boolean fusionned = false; + public Context(AMOEBA amoeba) { super(amoeba); buildContext(); @@ -788,6 +790,7 @@ public class Context extends AmoebaAgent { fusionContext.destroy(); + fusionned = true; getAmas().getHeadAgent().setBadCurrentCriticalityMapping(); } @@ -1210,12 +1213,12 @@ public class Context extends AmoebaAgent { * @param head the head */ public void growRanges() { - + ArrayList<Percept> allPercepts = getAmas().getPercepts(); for (Percept pct : allPercepts) { boolean contain = ranges.get(pct).contains(pct.getValue()) == 0 ; - - if (!contain) { + getEnvironment().trace(TRACE_LEVEL.NCS, new ArrayList<String>(Arrays.asList(this.getName(), "CONTAINED", ""+contain))); + if (!contain && !fusionned) { if(ranges.get(pct).getLenght()<pct.getMappingErrorAllowedMax()) { ranges.get(pct).adapt(pct.getValue()); } @@ -1443,7 +1446,8 @@ public class Context extends AmoebaAgent { public String toStringFull() { String s = ""; s += "Context : " + getName() + "\n"; - s += "creation tick : " + tickCreation +"\n"; + s += "Creation tick : " + tickCreation +"\n"; + s += "Confidence : " + confidence + "\n"; s += "\n"; s += "Model "+this.localModel.getType()+" :"; @@ -1455,6 +1459,9 @@ public class Context extends AmoebaAgent { s += "Ranges :\n"; for(Percept p : getRanges().keySet()) { s += p + " : " + getRangeByPercept(p)+"\n"; + s += p + " : " + getRangeByPercept(p).getStartIncrement()+"\n"; + s += p + " : " + getRangeByPercept(p).getEndIncrement()+"\n"; + } s += "\n"; @@ -1479,7 +1486,7 @@ public class Context extends AmoebaAgent { s += "Action proposed : " + this.getActionProposal() + "\n"; } - s += "Confidence : " + confidence + "\n"; + s += "\n"; diff --git a/AMOEBAonAMAK/src/agents/context/Range.java b/AMOEBAonAMAK/src/agents/context/Range.java index 9a5b5d074c70c536628e211a473aa823c3c37173..a40fd60ba5b5266579d4aa255352f4fccf4d686e 100644 --- a/AMOEBAonAMAK/src/agents/context/Range.java +++ b/AMOEBAonAMAK/src/agents/context/Range.java @@ -128,6 +128,10 @@ public class Range implements Serializable, Comparable, Cloneable { startIncrement = 0.25 * world.getMappingErrorAllowed() * percept.getMinMaxDistance(); endIncrement = startIncrement; + world + .trace(TRACE_LEVEL.INFORM, new ArrayList<String>(Arrays.asList(context.getName(), p.getName(), "Init start increment " + startIncrement))); + world + .trace(TRACE_LEVEL.INFORM, new ArrayList<String>(Arrays.asList(context.getName(), p.getName(), "Init end increment " + endIncrement))); } public Range(Context context, double start, double end, double extendedrangeatcreation, boolean start_inclu, diff --git a/AMOEBAonAMAK/src/agents/head/Head.java b/AMOEBAonAMAK/src/agents/head/Head.java index 3762dee3ef02782f2b1decaaccdda7bd0d7d676f..154f21abaa78a8bc02f36e64dfa7c614decd7a4e 100644 --- a/AMOEBAonAMAK/src/agents/head/Head.java +++ b/AMOEBAonAMAK/src/agents/head/Head.java @@ -267,15 +267,15 @@ public class Head extends AmoebaAgent { getAmas().getEnvironment() - .trace(TRACE_LEVEL.EVENT, new ArrayList<String>(Arrays.asList("NEIGHBORDBOOD", "size", ""+activatedNeighborsContexts.size()))); + .trace(TRACE_LEVEL.INFORM, new ArrayList<String>(Arrays.asList("NEIGHBORDBOOD", "size", ""+activatedNeighborsContexts.size()))); getAmas().getEnvironment() - .trace(TRACE_LEVEL.EVENT, new ArrayList<String>(Arrays.asList("NEIGHBORDBOOD", "meanNeighborhoodVolume", ""+meanNeighborhoodVolume))); + .trace(TRACE_LEVEL.INFORM, new ArrayList<String>(Arrays.asList("NEIGHBORDBOOD", "meanNeighborhoodVolume", ""+meanNeighborhoodVolume))); getAmas().getEnvironment() - .trace(TRACE_LEVEL.EVENT, new ArrayList<String>(Arrays.asList("NEIGHBORDBOOD", "meanNeighborhoodRaduises", ""+meanNeighborhoodRaduises))); + .trace(TRACE_LEVEL.INFORM, new ArrayList<String>(Arrays.asList("NEIGHBORDBOOD", "meanNeighborhoodRaduises", ""+meanNeighborhoodRaduises))); getAmas().getEnvironment() - .trace(TRACE_LEVEL.EVENT, new ArrayList<String>(Arrays.asList("NEIGHBORDBOOD", "meanNeighborhoodStartIncrements", ""+meanNeighborhoodStartIncrements))); + .trace(TRACE_LEVEL.INFORM, new ArrayList<String>(Arrays.asList("NEIGHBORDBOOD", "meanNeighborhoodStartIncrements", ""+meanNeighborhoodStartIncrements))); getAmas().getEnvironment() - .trace(TRACE_LEVEL.EVENT, new ArrayList<String>(Arrays.asList("NEIGHBORDBOOD", "meanNeighborhoodEndIncrements", ""+meanNeighborhoodEndIncrements))); + .trace(TRACE_LEVEL.INFORM, new ArrayList<String>(Arrays.asList("NEIGHBORDBOOD", "meanNeighborhoodEndIncrements", ""+meanNeighborhoodEndIncrements))); } diff --git a/AMOEBAonAMAK/src/agents/percept/Percept.java b/AMOEBAonAMAK/src/agents/percept/Percept.java index 551fef50a1b5d93eaab0f2d3a7d6b6205cb6db43..82493994ac8974392f24deeae46d5e527af5f651 100644 --- a/AMOEBAonAMAK/src/agents/percept/Percept.java +++ b/AMOEBAonAMAK/src/agents/percept/Percept.java @@ -396,11 +396,11 @@ public class Percept extends AmoebaAgent { } public double getMappingErrorAllowedOverMapping() { - return getMinMaxDistance() * getEnvironment().getMappingErrorAllowed() * 0.5; + return getMinMaxDistance() * getEnvironment().getMappingErrorAllowed() * 1.0; } public double getMappingErrorAllowedMax() { - return getMinMaxDistance() * getEnvironment().getMappingErrorAllowed() * 1.5; + return getMinMaxDistance() * getEnvironment().getMappingErrorAllowed() * 2.0; } // ----------------------- diff --git a/AMOEBAonAMAK/src/experiments/nDimensionsLaunchers/F_N_Manager.java b/AMOEBAonAMAK/src/experiments/nDimensionsLaunchers/F_N_Manager.java index 59719e5a759c740e36b6eb6e753c564bb16b7323..df46653e5a7c450b51481e3d00e350b44260d9b5 100644 --- a/AMOEBAonAMAK/src/experiments/nDimensionsLaunchers/F_N_Manager.java +++ b/AMOEBAonAMAK/src/experiments/nDimensionsLaunchers/F_N_Manager.java @@ -278,23 +278,24 @@ public class F_N_Manager implements StudiedSystem{ int subzone = subzone2D(xRequest); - if(subzone == 1) { - /* Disques */ - return modelN(xRequest) ; - }else if (subzone == 2) { - /* Gaussian model */ - return gaussianModel(xRequest, subZoneCenter3D(2), gaussianCoef, gaussianVariance); - - }else if (subzone == 3) { - /* Square */ - return square2DModel(xRequest, subZoneCenter3D(3)); - - }else if (subzone == 4) { - /* Exp */ - return gaussianMapping2D(xRequest); - } - - return model1(); + /* Multi */ +// if(subzone == 1) { +// /* Disques */ +// return modelN(xRequest) ; +// }else if (subzone == 2) { +// /* Gaussian model */ +// return gaussianModel(xRequest, subZoneCenter3D(2), gaussianCoef, gaussianVariance); +// +// }else if (subzone == 3) { +// /* Square */ +// return square2DModel(xRequest, subZoneCenter3D(3)); +// +// }else if (subzone == 4) { +// /* Exp */ +// return gaussianMapping2D(xRequest); +// } +// +// return model1(); /* Disc */ @@ -305,7 +306,7 @@ public class F_N_Manager implements StudiedSystem{ //return model1(); /* Triangle */ - //return (y > x) ? 2*x + y : 5*x - 8*y; + return (xRequest[0] > xRequest[1]) ? model1(xRequest[0],xRequest[1]) : model2(xRequest[0],xRequest[1]); /* Split */ //return ( x <= 0 ) ? 2*x + y : 5*x - 8*y; diff --git a/AMOEBAonAMAK/src/kernel/World.java b/AMOEBAonAMAK/src/kernel/World.java index 0f17d86b8de04ed9e14e5b89b0a437d91918a9a4..c065a4d45e09c4096d630031b43138dc24c51056 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.EVENT; + public static TRACE_LEVEL minLevel = TRACE_LEVEL.INFORM; private AMOEBA amoeba;