Skip to content
Snippets Groups Projects
Commit 76badd09 authored by BrunoDatoMeneses's avatar BrunoDatoMeneses
Browse files

ADD: selfLearning preparation

parent 8a301f16
No related branches found
No related tags found
1 merge request!4Exp rein
......@@ -1508,18 +1508,18 @@ public class Range implements Serializable, Comparable, Cloneable {
////// " + (Math.abs(newStartValue-this.start)));
}
// if ((Double) newStartValue != null) {
// if (newStartValue < percept.getMin()) {
// this.start = percept.getMin();
//
// } else {
// this.start = newStartValue;
// }
// } else {
// this.start = newStartValue;
// }
if ((Double) newStartValue != null) {
if (newStartValue < percept.getMin()) {
this.start = percept.getMin();
} else {
this.start = newStartValue;
}
} else {
this.start = newStartValue;
}
this.start = newStartValue;
//this.start = newStartValue;
......@@ -1547,17 +1547,17 @@ public class Range implements Serializable, Comparable, Cloneable {
////// System.out.println(context.getName() + " " + percept.getName() + " END "
////// + (Math.abs(newEndValue-this.end)));
}
// if ((Double) newEndValue != null) {
// if (newEndValue > percept.getMax()) {
// this.end = percept.getMax();
// } else {
// this.end = newEndValue;
// }
// } else {
// this.end = newEndValue;
// }
if ((Double) newEndValue != null) {
if (newEndValue > percept.getMax()) {
this.end = percept.getMax();
} else {
this.end = newEndValue;
}
} else {
this.end = newEndValue;
}
this.end = newEndValue;
//this.end = newEndValue;
if (this.context != null) {
......
......@@ -152,7 +152,10 @@ public class Head extends AmoebaAgent {
if(activatedNeighborsContexts.size()>0) {
System.out.println(activatedNeighborsContexts);
getAmas().getEnvironment()
.trace(TRACE_LEVEL.INFORM, new ArrayList<String>(Arrays.asList("NEIGHBORDBOOD", ""+activatedNeighborsContexts)));
for (Context ctxt : activatedNeighborsContexts) {
......
......@@ -42,7 +42,7 @@ public class F_N_Launcher extends Application implements Serializable {
public static final double explorationIncrement = 1.0 ;
public static final double explorationWidht = 0.5 ;
public static final boolean setActiveLearning = true ;
public static final boolean setSelfLearning = false ;
public static final boolean setSelfLearning = true ;
public static final int nbCycle = 1000;
......
......@@ -155,14 +155,14 @@ public class F_N_Manager implements StudiedSystem{
nonRandomExplorationStep();
}
else if(selfLearning) {
for(int i = 0 ; i < dimension ; i++) {
x[i] = selfRequest.get("px" + i);
}
}
else if(activeLearning) {
activeLearning = false;
for(int i = 0 ; i < dimension ; i++) {
x[i] = selfRequest.get("px" + i);
}
......@@ -176,6 +176,8 @@ public class F_N_Manager implements StudiedSystem{
}
}
System.out.println("[PLAY ONE STEP] " + "selfLearning " + selfLearning + " activeLearning " + activeLearning);
return null;
}
......@@ -280,37 +282,20 @@ public class F_N_Manager implements StudiedSystem{
int subzone = subzone2D(xRequest);
/* 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();
//return multiModel(xRequest, subzone);
/* Disc */
//return (y*y + x*x < spaceSize*spaceSize ) ? 2*x + y : 5*x - 8*y;
//return (xRequest[0]*xRequest[0] + xRequest[1]*xRequest[1] < spaceSize*spaceSize ) ? model1(xRequest[0],xRequest[1]) : model2(xRequest[0],xRequest[1]);
/* Square */
//return (xRequest[0] > -spaceSize && xRequest[0] < spaceSize && xRequest[1] < spaceSize && xRequest[1] > -spaceSize) ? model1(xRequest[0],xRequest[1]) : model2(xRequest[0],xRequest[1]) ;
//return model1();
//return (xRequest[0] > -spaceSize && xRequest[0] < spaceSize && xRequest[0] < spaceSize && xRequest[1] > -spaceSize) ? model1(xRequest[0],xRequest[1]) : model2(xRequest[0],xRequest[1]) ;
/* Triangle */
//return (xRequest[0] > xRequest[1]) ? model1(xRequest[0],xRequest[1]) : model2(xRequest[0],xRequest[1]);
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;
//return ( xRequest[0] <= 0 ) ? model1(xRequest[0],xRequest[1]) : model2(xRequest[0],xRequest[1]);
......@@ -324,6 +309,27 @@ public class F_N_Manager implements StudiedSystem{
}
private double multiModel(Double[] xRequest, int subzone) {
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();
}
......@@ -574,8 +580,11 @@ private double[] subZoneCenter3D(int nb) {
}else {
out.put("oracle",result);
}
if(activeLearning) {
activeLearning=false;
}
//out.put("oracle",result);
System.out.println(out);
System.out.println("[GET OUTPUT] " +out);
return out;
}
......@@ -709,6 +718,8 @@ private double[] subZoneCenter3D(int nb) {
public void setSelfRequest(HashMap<Percept, Double> request){
HashMap<String,Double> newRequest = new HashMap<String,Double>();
System.out.println("[SET SELF REQUEST] " +request);
for(Percept pct : request.keySet()) {
newRequest.put(pct.getName(), request.get(pct));
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment