Skip to content

Commit 1d0d766

Browse files
committed
Algunos cambios de vete a saber cuando
1 parent fd32b20 commit 1d0d766

File tree

7 files changed

+69
-16
lines changed

7 files changed

+69
-16
lines changed

PlanetWars/META-INF/MANIFEST.MF

+8
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,16 @@ Import-Package: es.ugr.osgiliath,
1010
es.ugr.osgiliath.evolutionary.basiccomponents.individuals,
1111
es.ugr.osgiliath.evolutionary.elements,
1212
es.ugr.osgiliath.evolutionary.individual,
13+
es.ugr.osgiliath.planetwars,
14+
es.ugr.osgiliath.planetwars.agent,
15+
es.ugr.osgiliath.planetwars.components,
16+
es.ugr.osgiliath.planetwars.fitness,
1317
es.ugr.osgiliath.problem,
1418
es.ugr.osgiliath.util.impl,
1519
es.ugr.osgiliath.utils
1620
Bundle-ClassPath: lib/com.springsource.javassist-3.15.0.GA.jar,
1721
.
22+
Export-Package: es.ugr.osgiliath.planetwars,
23+
es.ugr.osgiliath.planetwars.agent,
24+
es.ugr.osgiliath.planetwars.components,
25+
es.ugr.osgiliath.planetwars.fitness

PlanetWars/environment/launch.sh

100755100644
File mode changed.

PlanetWars/src/es/ugr/osgiliath/planetwars/PlanetWarsLogger.java

+10-1
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,16 @@ public void setup(Properties props) {
169169
}
170170
@Override
171171
public void statsX(String message, String appendix) {
172-
// TODO Auto-generated method stub
172+
173+
try{
174+
FileWriter fstream = new FileWriter(filename,true); //EXISTENT FILE
175+
BufferedWriter out = new BufferedWriter(fstream);
176+
long time = (System.currentTimeMillis() -initTime) / 1000;
177+
out.write(message);
178+
out.close();
179+
}catch(Exception ex){
180+
ex.printStackTrace();
181+
}
173182

174183
}
175184

PlanetWars/src/es/ugr/osgiliath/planetwars/PlanetWarsParameters.java

+2
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,6 @@ public class PlanetWarsParameters {
2121

2222
public static final String MAX_DEPTH = "planetwars.depth.max";
2323
public static final String INITIAL_DEPTH = "planetwars.depth.initial";
24+
25+
public static final String TEST = "test";
2426
}

PlanetWars/src/es/ugr/osgiliath/planetwars/PlanetWarsReplacer.java

+37-9
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import es.ugr.osgiliath.evolutionary.individual.Fitness;
1313
import es.ugr.osgiliath.evolutionary.individual.Individual;
1414
import es.ugr.osgiliath.planetwars.fitness.PlanetWarsFitnessCalculator;
15+
import es.ugr.osgiliath.planetwars.fitness.PlanetWarsHierarchicalFitness;
1516
import es.ugr.osgiliath.utils.Logger;
1617

1718
public class PlanetWarsReplacer extends OsgiliathService implements Replacer {
@@ -52,7 +53,34 @@ public void select(Population pop, ArrayList<Individual> parents,
5253

5354
System.out.println("BEST FITNESS "+ pop.getNBestIndividuals(1).get(0));
5455

55-
this.analyze(pop);
56+
//this.analyze(pop);
57+
//PRINTING ALL THE POPULATION
58+
List<Individual> all = pop.getAllIndividuals();
59+
Debug debug = new Debug();
60+
for(Individual inda:all){
61+
String message = "";
62+
BasicIndividual ind = (BasicIndividual) inda;
63+
64+
int indSize = ((TreeGenome)ind.getGenome()).getDepth();
65+
int indNodes = ((TreeGenome)ind.getGenome()).getNumberOfNodes();
66+
int age = ((TreeGenome)ind.getGenome()).getNumberOfNodes();
67+
String treeString = debug.resumeTree(inda);
68+
String treelargo = debug.writePlanetWarsTree((TreeGenome)ind.getGenome());
69+
double victories = ((PlanetWarsHierarchicalFitness) ind.getFitness()).getPrimaryFitness();
70+
double turns = ((PlanetWarsHierarchicalFitness) ind.getFitness()).getSecondaryFitness();
71+
//IT,NUM_EVALUATIONS,TIME,SIM,SIZE,DEPTH,AGE,STAMP,TREE,VICTORIES,TURNS
72+
message = currentGeneration+","+
73+
"0"+","+
74+
"0"+","+
75+
indNodes+","+
76+
indSize+","+
77+
age+","+
78+
treeString+","+
79+
treelargo+","+
80+
victories+
81+
turns+"\n";
82+
this.log.statsX(message, "");
83+
}
5684
}
5785

5886

@@ -117,14 +145,14 @@ public void analyze(Population pop){
117145
PlanetWarsFitnessCalculator fc = new PlanetWarsFitnessCalculator(1);
118146
String tree = fc.writePlanetWarsTree((TreeGenome)bestI.getGenome());
119147
log.stats(
120-
bestFitness.toString()+";"+
121-
avgFitness.toString()+";"+
122-
bestSize+";"+
123-
averageSize+";"+
124-
bestNodes+";"+
125-
averageNodes+";"+
126-
bestAge+";"+
127-
averageAge+";"+
148+
bestFitness.toString()+","+
149+
avgFitness.toString()+","+
150+
bestSize+","+
151+
averageSize+","+
152+
bestNodes+","+
153+
averageNodes+","+
154+
bestAge+","+
155+
averageAge+","+
128156
tree+"\n"
129157
);
130158
}

PlanetWars/src/es/ugr/osgiliath/planetwars/fitness/PlanetWarsFitnessCalculator.java

+3-6
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,26 @@
66
import java.io.IOException;
77
import java.io.InputStreamReader;
88
import java.util.ArrayList;
9-
import java.util.List;
109
import java.util.Random;
1110

12-
import javax.swing.plaf.basic.BasicInternalFrameTitlePane.MaximizeAction;
13-
1411
import es.ugr.osgiliath.OsgiliathService;
1512
import es.ugr.osgiliath.evolutionary.basiccomponents.genomes.GenericTreeNode;
1613
import es.ugr.osgiliath.evolutionary.basiccomponents.genomes.TreeGenome;
1714
import es.ugr.osgiliath.evolutionary.basiccomponents.individuals.BasicIndividual;
1815
import es.ugr.osgiliath.evolutionary.elements.FitnessCalculator;
19-
import es.ugr.osgiliath.evolutionary.elements.StopCriterion;
2016
import es.ugr.osgiliath.evolutionary.individual.Fitness;
2117
import es.ugr.osgiliath.evolutionary.individual.Individual;
18+
import es.ugr.osgiliath.planetwars.Debug;
2219
import es.ugr.osgiliath.planetwars.PlanetWarsParameters;
23-
import es.ugr.osgiliath.evolutionary.basicimplementations.stopcriterions.MaxEvaluationsStopCriterionNoOSGi;
24-
20+
2521
public class PlanetWarsFitnessCalculator extends OsgiliathService implements
2622
FitnessCalculator{
2723

2824
int logFile = 0;
2925

3026
public PlanetWarsFitnessCalculator(int logFile) {
3127
this.logFile = logFile;
28+
Debug d = new Debug();
3229
}
3330

3431

PlanetWars/src/es/ugr/osgiliath/planetwars/fitness/PlanetWarsHierarchicalFitness.java

+9
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ public class PlanetWarsHierarchicalFitness implements Fitness{
66

77
protected double primaryFitness;
88
protected double secondaryFitness;
9+
protected double optional;
910

1011
public double getPrimaryFitness() {
1112
return primaryFitness;
@@ -22,6 +23,14 @@ public double getSecondaryFitness() {
2223
public void setSecondaryFitness(double totalTurns) {
2324
this.secondaryFitness = totalTurns;
2425
}
26+
27+
public double getOptional() {
28+
return optional;
29+
}
30+
31+
public void setOptional(double totalTurns) {
32+
this.optional = totalTurns;
33+
}
2534

2635
public PlanetWarsHierarchicalFitness(double wins, double turns){
2736
this.secondaryFitness = turns;

0 commit comments

Comments
 (0)