?? evothreemults.java~
字號(hào):
String dirName = "2MultPostParsimonyP100M50X50-" + id;
monica.setName( dirName );
taskQ.add( monica );
taskQNames.add( dirName );
writeGNUPlotScript( dirName, 1 );
}
private static void add2MultParsimonyP100M50X50( int id )
{
// A - Genetic Algorithms Properties
// Standard
final int POP_SIZE = 103;
final int TP_POP_SIZE = 7;
final double BIT_MUTATION_PROB = 0.05;
final int GENOTYPE_MUT = 1;
final double XOVER_PROB = 0.45;
final double ALIEN_PROB = 0;
final double WIRE_SWAP_PROB = 0.7;
final double MUTATION_PROB = 0.45;
final int NUM_OF_ELITES = 2;
final double CHOP_PROB = 0.05;
final double STRETCH_PROB = 0.05;
final double TP_XOVER_PROB = 0.5;
final double TP_MUTATION_PROB = 0.5;
final int TP_NUM_OF_ELITES = 2;
final double[] TP_RANK_PROBS = { 8d, 4d, 2d, 1d };
//
// D - Circuit Structure Properties
final int BITS_PER_VARIABLE = 5;
final int LUT_INPUTS = 2;
// D - Simulator Properties
final int SIMULATOR_GATE_DELAY = 1;
final double T_SETUP = 0.45;
// final int INPUT_SAMPLE_SEPARATION = 1;
// E - Experiment Properties
final int TEST_LENGTH = 50;
// M - Log Properties
int DUMP_POP_EVERY = 1;
int GENERATIONS = 20000;
// E - EXPERIMENT set up
Experiment inExperiment = new MultiplierExperiment( 2, T_SETUP );
Experiment tpexp = new TestPattern4EvolvingExperiment( inExperiment );
// D - DEPLOYMENT set up
// SimulatorCircuit circuit = new SimulatorLUTCircuit( SIMULATOR_GATE_DELAY, BITS_PER_VARIABLE , LUT_INPUTS, experiment.getNumOfInputs(), experiment.getNumOfOutputs() );
ElementDelayModel delayModel = new ConstantDelayModel( SIMULATOR_GATE_DELAY );
CircuitMapping circuitMapping = new LUTAbsoluteMapping( inExperiment.getNumOfInputs(), inExperiment.getNumOfOutputs(), BITS_PER_VARIABLE, LUT_INPUTS, delayModel );
SimulatorSimpleCircuit circuit = new SimulatorSimpleCircuit( circuitMapping );
SimulatorDeployment deployment = new SimulatorDeployment( circuit );
// E - For Parsimony Experiment
final int TARGET_GATES = 6;
Experiment experiment = new ElementParsimonyExperiment( inExperiment, circuit, TARGET_GATES );
// A - Genetic Operators Set up
int lutSize = 1 << LUT_INPUTS;
int blockSize = lutSize + LUT_INPUTS * BITS_PER_VARIABLE;
int genotypeLength = ( ( 1 << BITS_PER_VARIABLE ) - experiment.getNumOfInputs() ) * blockSize;
int blockLength = BITS_PER_VARIABLE * LUT_INPUTS + 1 << LUT_INPUTS;
int testPatLength = ( 1 << experiment.getNumOfInputs() ) * 2;
int tpGenLength = testPatLength * experiment.getNumOfInputs();
final Genotype[] SEEDS = { };
final Genotype[] TP_SEEDS = { };
GeneticOperator m = new ExactGenotypeMutator( GENOTYPE_MUT );
GeneticOperator bmin0 = new BunchMutator( BITS_PER_VARIABLE, 1, blockSize, lutSize );
GeneticOperator bmin1 = new BunchMutator( BITS_PER_VARIABLE, 1, blockSize, lutSize + BITS_PER_VARIABLE );
GeneticOperator bmf = new BunchMutator( lutSize, 1, blockSize );
GeneticOperator bc = new BlockCopy ( blockSize, blockSize );
GeneticOperator chop = new Chopper( 1 );
GeneticOperator stretch = new Stretcher( 1, 0 );
GeneticOperator tpm = new ExactGenotypeMutator( GENOTYPE_MUT );
GeneticOperator spxo = new TracingSinglePointXOver();
GeneticOperator tpspxo = new SinglePointXOver();
// 1+1
GeneticOperator[] geneticOps = { bmin0, bmin1, bmf, bc, spxo };
GeneticOperator[] tpGeneticOps = { tpm };
double[] opsProbs = { 0.2,0.2,0.2,0.1,0.3 };
double[] tpOpsProbs = { TP_MUTATION_PROB };
//
// Selector selector = new FitnessProportionateSelector();
//Selector selector = new RankSelector( RANK_PROBS );
Selector selector = new RankSelector( );
// Selector tpSelector = new FitnessProportionateSelector();
// Selector tpSelector = new RankSelector( TP_RANK_PROBS );
Selector tpSelector = new RankSelector( TP_RANK_PROBS );
Evolver evolver = new StandardEvolver( POP_SIZE, genotypeLength, geneticOps, opsProbs, selector, NUM_OF_ELITES, SEEDS );
Evolver tpEvolver = new StandardEvolver( TP_POP_SIZE, tpGenLength, tpGeneticOps, tpOpsProbs, tpSelector, TP_NUM_OF_ELITES, TP_SEEDS );
Evolver[] evolvers = { evolver, tpEvolver };
Experiment[] experiments = { experiment, tpexp };
InteractionModel interactionModel = new StandardInteractionModel( evolver, deployment, experiment );
int[] evolutionFrequency = { 1 , 4 };
// InteractionModel interactionModel = new CircuitTestPatternIM( evolvers, deployment, experiments, evolutionFrequency );
Monica monica = new Monica( interactionModel, DUMP_POP_EVERY, GENERATIONS );
String dirName = "2MultParsimonyP100M50X50-" + id;
monica.setName( dirName );
taskQ.add( monica );
taskQNames.add( dirName );
writeGNUPlotScript( dirName, 1 );
}
static void writeGNUPlotScript( String dir, int nrPops )
{
try{
String thisDirName = logDir + dir + "\\";
new File( thisDirName ).mkdir();
BufferedWriter bw = new BufferedWriter( new FileWriter( thisDirName + "GNUPlotIt.plt" ) );
bw.write( "set yrange [0:1]\nset nokey\n" );
bw.write( "plot '" + thisDirName + logFileName + "' using 0:4 '(%lf, %lf) - P0:G=%lf,T=%lf*100[^\\n]', '" + thisDirName + logFileName + "' using 0:5 '(%lf, %lf) - P0:G=%lf,T=%lf,A=%lf%*40[^\\n]'\n" );
bw.write( "pause -1\n" );
bw.flush();
bw.close();
bw = new BufferedWriter( new FileWriter( thisDirName + "GNUPlotIt.bat" ) );
bw.write( "\"C:\\Program Files\\GNUPlot\\wgnupl32.exe\" GNUPlotIt.plt" );
bw.flush();
bw.close();
}catch( IOException e )
{
System.out.println( e );
}
}
static protected String[] getFinalPopA( )
{
String[] rv = {
"G_hUuT_INE7r]69TDp5YaOUP[VmCjDne6eE4XcAHmj_VZrnriIEevDqe3\\apjGZl7G",
"G_hEuT_JNE7r]6PTdp5YaOD9[VuCjDne6fE4XcBHmj_VZrlriIEevDqe3[apjGZl7G",
"G_hUUT_INE7r]6PTdp5YaOF9[Vu8jDne6fE4XcBHmjaFZj^riIEevDqe0fapjGZl7G",
"G_hEuT_INE7r]6PTdp5YaOD9[VuCjTne6fE4XcBHmj_VZrlriIEevDqe3[apjGZl7G",
"G_pUuT_INE7r]6PTdp5YaOf9[VuCjE^e6eE4Xc3Hmj_VZrnQiIEevDqe3\\apjGZl7G",
"G_hUuT`INE7r]69Tdp5YaOD9[VuCjDne6fE4XcBHmjaFZr^riIEevDae0fapjGZl7G",
"G_hEuTcINE7b]69Tdp5Ya8F9[Vu8jF^e6eE4XcAHmj_VZrnrYQEevDqe3^aPjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOUP[VmCjDne6eECXcAHmj_VZrnriIEevDqe3\\apjGZl7G",
"G_hUuT_INE7r]6PTdp5YaOF9[VuCjDne6aE5XcAHmj_vZrnriIEevDqe0fapjGZl7G",
"G_hUuT_INE7r]6PTdp\\YaOD9[VuCjDne6fE4XcBHmj_VZrlriIEevDqe3[apjGZl7G",
"G_hUuD_INE7r]69Tdp5YaOD9[VuCjDne6fE4XcBHmj_VZrnrjQEevDqe3\\apjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOD9kVmSjB7e6eE4XcAHmj`VZrnriIEevDqe0fapjGZl7G",
"G_hEut_INE7r]6PTdp5YaOD9[VuCjDne6fE4XcBHmj_VZrlriIEevDqe3[apjGZl7G",
"G_hUuT_INE7r]]9Tdp5YaOUP[VmCjDne6eE4XcAHmj`VZrnriQEevDqeJ7a9jGZl7G",
"K_hUUT_INE7r]6PTdp5YaOF9[Vu8jF^e6eE4XcAHmj_VZrnrjQEevDqe3\\apjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOF9[VuCjDne6aE4XcAHmj`VZrnriIEevDqe0fapjGZl70",
"G_hUUT_IN67r]69Tdp5YaOf9[VmSjD^e6eE4XdBHmj_VZrnriIEevDqe3fapjGZl7G",
"G_hUuT_INE7r]69Tdp5YaQF9[VuCjB7e6eF4Xc2Hmn_VZrnrjQEuvDqe3^aPjOZt7G",
"G_hUUT_INE7j]69Tdp5YaOD9[VuCjF^e6cE4XcB1mj_VZrnriIEevDqe3lapjGZl6G",
"G_hEuT_INE7r]6PTdp5YaOE9[NuCjDne6fE4XcBHmj_VZrlriIEevDqe3\\apjGZl7G",
"GahUuT_INE7r]69Tdp5YaOD9[VmSjB7e6eE4XcAHmj`VZrnriIEevDqe0fapjGZl7G",
"G_hEuT_INE7r]69TdpDYaOF9[VuCjDne6eE4XcBHmj_VZrjriQEevDqe3^aPjGZl7G",
"G_hUUT_INEFr]6PTdp5YaOF9[Vu8jF^e6eE4XcAHmj_VZrnrjQEevDqe3\\apjGZl7G",
"G_hEuT_INE7r]69Tdp5YaoF9[VuCjDne6aF4XcBHkj_VZrnriIEevDqe0fqpjGZl7G",
"G_hUUT_INE7j]69Tdp5YaOD9[Vu8jF^e6eE4XcAHmj_vZrnriIEevDqf0fapjGZl7G",
"G_hEuT_INE7r]6PTdp5YaOD9[VuCjDne6fE4XcBHmj_VZrlriIEevDqf3[apjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOD9[VuCjB7e6eE4XcAHgj_VZq^riQEevDqe3fapjGZl7G",
"G_hUuT_INE7r]6PTdp5YaOD9[VuCjDne6fE4XcBHmh_VZrlriIEevDqe3[apjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOD9[VuCjDne6aE4XcBHmj_VZrlriIEevDqc7\\apjGZl7G",
"G_hUuT_INE7r]6PTdp5YaOD9[VuCjF^]6cE4XcB1mj_vZrnriIEevDqe0fapjGZl7G",
"G_hUuT_INE7r]6PTdp5YaOD9[VuCjDne6vE4XcBHmj_VZrlriIEevDqe3[apjGZl7G",
"G_hUuT_INE7r]69Tdp7YaOD9[VmSjB7e6eE4XcAHmj_vZrnriIEevDqe0farjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOD9[VuCjDne6fE4XcBHmjaFZr^riIEevDaE0fapjGZl7G",
"G_hUUT_INE7r]6PTdp5YaOf9[VmSjD^e7eE4XcAHmj`VZrnriIEevDqe0fa`jGZl7G",
"G_hUuT_INE7r]69Tdp5YaOD9[VuCjB7e6eE4XcAHij_VZq^riQEevDqe3[apjGZl7G",
"G_hUQT_INE7r]69Tdp5YaQD9[VuCjF^e6cE4XcB1mj_vZrNriIEevDqe0fapjGZl7G",
"G_hUQT_INE7r]6PTdp5YaOF9[VuCjDne6aE4XcAHmj_vZrnriIEevDqe0fapjGZl7G",
"G_hEuT_INE7b]69Tdp5YaOB9[VuCjDne6bE4XcAHmj_vZrnqiIEevDqe0faPjOZl7G",
"G_hUuT_INE7r]69Tdp5YaPB9[Vu4jB7e6eE4XcAHmj_NZr^bYIEevDqe3earjKZl7G",
"G_hEuT_INE7r]6PTdp5YaOE9[VuCjFne6eE4XcAHmj_VZrnri2EevDqe3\\apjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOF9[VuCjB7e6eE4XcAHmj_VZqnriQEevDqe3fepj0Zl7G",
"G_hUuT_INE7j]6PTdp5YaOD9[VuCjDne6fE4XcBHmj_VZrlriIEevDqeZ\\apjGZl7G",
"G_hEuT_INE7r]6PTdp5YaOD9[VuCjDne6fE4XcBHmj_VZrlriIEevDqe3[apjGXl7G",
"G_hUuT_INE7j]69Tdp5YaOD9[VuCjDne6eE4XcAHmj_VZrnrjQEevDqe3^aPjGZl7G",
"G_hEuT_INC7r]6PTdp5Ya8F9[Vu8jF^e6eE4XcBHmj_VZrnriIEevDqe3\\apjGZl7G",
"G_hUUT_INE7j]69Tdp5YaOf9[VuCjE^e6eE4Xc3Hmj_VZrnQiIEevDqe3\\apjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOD9[VuCjF^e6fE4XcAHmj_vZrnriIEevDqe3^a`jGbl7G",
"G_hUuT_INE7j]69Tdp5YaOD9[VuCjFne6eE4XcAHmj_VZrnriIEevDqe0fapjGZl7G",
"G_hUuT_INE7j]69Tdp5YaOD9[Vu8jF^e6eE4XcAHmj_vZrnriIEevDqe0fapjGZl7G",
"G_hUuT_INE7j]6PTdp5YaOD9[VuCjDne6fE4XcBHmj_VZrlriIEevDqe3^a`jGbl7G",
"G_hUuT_INE7r]6PTdp5YaIF9[VmSjD^e6eE4XcAHmj_VZq^riqEevDqe3fapjGZl7G",
"G_hUuT_INE7j]69Tdp5YaOD9[VuCjFne6eE4XcAHmj_VZrnriIEevDqe3^a`jGbl7G",
"G_hUuT_INE7r]6PTdp5YaOF9[VuCjF^e6cE4XcB1mj_vZrnriIEevDqe0fapjGZl7G",
"G_hUUT_INE7r]6PTdp5YaOF9[Vu8jDNe6fE4XcBHmjaFZr^riIEevDqe0fapjGZl7G",
"G_hEuT_INE7r]69Tdp5YaQD9[VuCjF^e6cE4Xc31mj_vZrnriIEevDqe0fapjGZl7G",
"G_jUuT_INE7r]69Tdp5YaOF9[VuCjDne6aE4XcAHmj_vZrnriIEevDqe0farjGZl7G",
"G_hEuT_INE7r]6PTdp5YaOf9[VmSjD^e6eE4XcAHmj_vZrnrgIEevDqe0fapjGZl7G",
"G_hEuT_INE7r]6PTdp5Ya8F9[Vu8jF^e6eE4X[BHmj_VZrnriIEevDqe3\\apjGZl7G",
"G_hUuT_INE7r]6PTdp5YaIF9[VmSjD^e6fE4XcBHmj_VZrnriIEevDqe3\\apjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOD9[VuCjDne6fE4XcBHmjaFZr^RiIEevDae0fapjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOF9[VuCjDne6aE4XcAHmj_vZrnjiIEevDqe0fapjGZl7G",
"G_hUUT_INE7r]69Tdp5YaQD9[VuCjF^e6cE4XcB1mj_vZrnriQEevDqe0^apjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOD9[VuCjB7e6eE4XcAHmj_VZqnriQEevDqe3fapjGZl7G",
"G_hEuT_INE7r]69Tdp5YaOF9[VuCjDne6fE4XcBHmjaFZr^viIEevDqe0fa`jGZl7G",
"G_hEuT_INE7r]6PTdp5YaOD9[VuCjDne6eE4XcAHmj_VZrnrjQEevDqe3\\apjGZl7G",
"G_hEuT_INE7r]6PTdp5YaOE9[VuCjDne6fE4XcBHmj_VZrlriIEevDqe3^aPjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOD9[Vu8jDne6fE4XcBHmj_VZrlriIEevDqe3[apjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOUP[VmCjDne6eE4XcB1mj_vZrnriIEevDqe0fapjGZl7G",
"G_hUUT_INE7r]69Tdp5YaQD9[VuCjF^e6cE4XcAHmj`VZrnriQEevDqeJ7a9jGZl7G",
"G_hEuT_INE7r]69Tdp5YaQD9[VuCjF^e6cE4XcB1mj_vZrnriIEevDqe0fapjGZl7G",
"G_hUUT_INE7r]69Tdp5YaOD9[VuCjDne6fE4XcAHmj_vZrnriIEevDqe0fapjGZl7G",
"G_hEuT_INE7r]69Tdp5YaOF9[VuCjDne6eE4XcAHmj_VZrnrjQEevDqe3^aPjGZl7G",
"G_hEuT_INE7r]6PTdp5YaOD9[VuCjDne6eE4XcBHmj_VZrjriQEevDqe3^aPjGZl7G",
"G_hUuT_INE7r]6PTdp5YaOD9[VuCjDne6fE4XcBHmj_VZrlriIEevDqe3[apjGZl7G",
"G_hEuT_INE7r]6PTdp5YaOD9[VuCjDne6fE4XcBHmj_VZrlriIEevDqe3[apjGZl7G",
"G_hUuT_INE7r]69Tdp5YaQD9[VuCjF^e6cE4XcB1mj_vZrnriIEevDqe0fapjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOD9[VuCjDne6fE4XcBHmjaFZr^riIEevDqe3[apjGZl7G",
"G_hUuT_INE7r]6PTdp5YaOD9[VuCjDne6fE4XcBHmj_VZrlriIEevDae0fapjGZl7G",
"G_hUuT_INE7r]6PTdp5YaOD9[VuCjF^e6cE4XcB1mj_VZrnriIEevDqe3lapjGZl7G",
"G_hUuT_INE7r]69Tdp5YaOf9[VmSjD^e6eE4XcAHmj`VZrnriIEevDqe0fa`jGZl7G",
"G_hUUT_INE7r]6PTdp5YaOF9[VuCjDne6aE4XcAHmj_vZrnriIEevDqe0fapjGZl7G",
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -