亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? evotsc.java~

?? Java遺傳算法庫
?? JAVA~
?? 第 1 頁 / 共 5 頁
字號:
package jaga.pj.circuits.control;
import jaga.control.*;import jaga.deploy.*;import jaga.evolve.*;import jaga.experiment.*;import jaga.*;
import jaga.pj.circuits.*;import jaga.pj.circuits.experiment.*;import jaga.pj.circuits.fpgaft.*;import jaga.pj.gral.*;
import islandev.IslandsEvolutionServer;import debug.DebugLib;import distrit.*;
import java.util.Vector;import java.rmi.*;import java.io.*;import java.util.ArrayList;

public class EvoTSC implements InteractiveTaskServer
{
    // Configuration constants
    protected final String BENCHMARK_DIR = "/home/mmg20/eh/benchmarks/";
    
    // Working
    protected Vector taskQ = new Vector(), taskQNames = new Vector(), taskQDescr = new Vector();
    protected Vector taskQBestIndID = new Vector(), taskQEffort = new Vector();
    protected String logDir, logFileName;    protected IslandsEvolutionServer ies;    
    
    // Defaults Config Constants
    protected final int IX_LOG_SQL = 0;
    protected final int IX_LOG_TOP = 1;
    protected final int IX_DESCR = 2;
    protected final int IX_BEST_HD = 3;
    protected final int IX_LUT_INS = 4;
    protected final int IX_SPACE_FOR_VOTER = 5;
    protected final int IX_LOCKED = 6;
    protected final int IX_MIGRATION_RATE = 7;
    protected final int IX_MODE = 8;
    protected final int IX_GRAPH_REFRESH_MIN = 9;
    protected final int IX_DUMP_POP_EVERY = 10;
    
    // Configuration
    protected String[] config = new String[ 11 ];
    protected String[] configOption = new String[ 11 ];
    
    // Default setup configuration
    protected void setupConfig()
    {
        config[ IX_LOG_SQL ] = "false";     configOption[ IX_LOG_SQL ] = "logSQL";
        config[ IX_LOG_TOP ] = "false";     configOption[ IX_LOG_TOP ] = "logTop";
        config[ IX_DESCR ] = "Evolving_TSC";configOption[ IX_DESCR ] = "descr";
        config[ IX_BEST_HD ] = "0";         configOption[ IX_BEST_HD ] = "bestHD";
        config[ IX_LUT_INS ] = "2";         configOption[ IX_LUT_INS ] = "lutIns";
        config[ IX_SPACE_FOR_VOTER ] = "true";   configOption[ IX_SPACE_FOR_VOTER ] = "v";
        config[ IX_LOCKED ] = "false";      configOption[ IX_LOCKED ] = "l";
        config[ IX_MIGRATION_RATE ] = "1";  configOption[ IX_MIGRATION_RATE ] = "m";
        config[ IX_MODE ] = "ff";           configOption[ IX_MODE ] = "mode";
        config[ IX_GRAPH_REFRESH_MIN ] = "720";  configOption[ IX_GRAPH_REFRESH_MIN ] = "grm";
        config[ IX_DUMP_POP_EVERY ] = "2000";   configOption[ IX_DUMP_POP_EVERY ] = "popdump";
    }
    
    protected void updateConfig( ArrayList args )
    {   for( int alp = 0; alp < args.size(); alp++ )
        {   
            String withoutFirst = ( ( String ) args.get( alp ) ).substring( 1 );
            int ix = ESLib.equalsIndexOf( withoutFirst, configOption );
            if( ix >= 0 ) config[ ix ] = args.get( ++alp ) + "";
    }   }
    
    protected int getIntConfig( int ix ){   return Integer.parseInt( config[ ix ] );    }
    protected double getDoubleConfig( int ix ){   return Double.parseDouble( config[ ix ] );    }
    protected boolean getBooleanConfig( int ix ){   return config[ ix ].equals( "true" );  }
    
    
    public EvoTSC(ArrayList extraArgs) throws IOException
    {
        logDir = ( String ) extraArgs.get( 0 );
        logFileName = ( String ) extraArgs.get( 1 );
        String benchmarkName = ( String ) extraArgs.get( 2 );
        String dirName = ( String ) extraArgs.get( 3 );
        setupConfig();
        updateConfig( extraArgs );
        
        int LUTInputs = getIntConfig( IX_LUT_INS );
        String descr = config[ IX_DESCR ].replace( '_', ' ' );
        boolean spaceForVoter = getBooleanConfig( IX_SPACE_FOR_VOTER );
        boolean locking = getBooleanConfig( IX_LOCKED );
        int bestHD = getIntConfig( IX_BEST_HD );
        double migrationRate = getDoubleConfig( IX_MIGRATION_RATE );
        String blifFN = BENCHMARK_DIR + benchmarkName + ".blif";
        String sisQFN = BENCHMARK_DIR + benchmarkName;
        if( LUTInputs == 4 )
        {
            sisQFN += "L4";
        }
        sisQFN += ".sout";
        
        if( config[ IX_MODE ].equals( "recurrent" ) )
        {
            oldAddCombBLIFBenchmark( blifFN, sisQFN, dirName, descr, bestHD, LUTInputs, spaceForVoter, locking );
        }else
        {
            addCombBLIFBenchmark( blifFN, sisQFN, dirName, descr, bestHD, LUTInputs, spaceForVoter, locking );
        }
        
        boolean logToDatabase = getBooleanConfig( IX_LOG_SQL );
        boolean logTopology = getBooleanConfig( IX_LOG_TOP );
        ies = new IslandsEvolutionServer( taskQ, taskQNames, logDir, logFileName, migrationRate, logToDatabase, taskQDescr, taskQBestIndID, taskQEffort, logTopology );
    }
    
    
    
    
    // -------------- FROM HERE ON METHODS TO ADD TASKS TO THE QUEUE --------------
    
    
    
    protected void addCM42() throws IOException
    {
        String blifFN = "/home/mmg20/eh/benchmarks/cm42a.blif";
        String sisQFN = "/home/mmg20/eh/benchmarks/cm42a.sout";
        String dirName = "CM42TSC";
        String descr = "Benchmark CM42 (18 gates)";
        int bestHD = 549;
        int LUTInputs = 2;
        boolean spaceForVoter = true;
        boolean locking = false;
        addCombBLIFBenchmark( blifFN, sisQFN, dirName, descr, bestHD, LUTInputs, spaceForVoter, locking );
    }
    

    protected void addBWL4() throws IOException
    {
        String blifFN = "/home/mmg20/eh/benchmarks/bw.blif";
        String sisQFN = "/home/mmg20/eh/benchmarks/bwL4.sout";
        String dirName = "BWL4BPV8";
        String descr = "Locked Benchmark: BW (144 four-input LUTs)";
        int bestHD = 2370;
        int LUTInputs = 4;
        boolean voter = false;
        boolean locking = false;
        addCombBLIFBenchmark( blifFN, sisQFN, dirName, descr, bestHD, LUTInputs, voter, locking );
    }    
    
    protected void addCombBLIFBenchmark( String blifFileName, String sisOutputFileName, String dirName, String descr, int bestIndID ) throws IOException
    {
        int defaultLUTInputs = 2;
        boolean defaultVoter = true;
        boolean defaultLocking = true;
        addCombBLIFBenchmark( blifFileName, sisOutputFileName, dirName, descr, bestIndID, defaultLUTInputs,defaultVoter,defaultLocking );
    }
    
    protected void addCombBLIFBenchmark( String blifFileName, String sisOutputFileName, String dirName, String descr, int bestIndID, int LUTInputs, boolean spaceForVoter, boolean locking ) throws IOException
    {
        final int INPUT_SAMPLE_SEP = 1;    final int SAMPLE_WINDOW_START = 0;
        final int DUMP_POP_EVERY = 2000;     final int E_LINES = 2;
        final int NO_EVALS = 1;
        final int E_SIZE = INPUT_SAMPLE_SEP - SAMPLE_WINDOW_START;
        final int E_START_AT = SAMPLE_WINDOW_START;
        
        FitnessFunction corrFF = new CorrelationFitnessFunction();
        FitnessFunction tSetupFF = new SampleWindowFitnessFunction( corrFF, SAMPLE_WINDOW_START );
        TestPatternGenerator tpg = new CompleteShuffledTPG();
        CombinationalBLIFExperiment experiment = new CombinationalBLIFExperiment( blifFileName, tSetupFF, tpg );
        
        final boolean FPGA = false;
        SisOutputReader sor = new SisOutputReader( new File( sisOutputFileName ), E_LINES, LUTInputs, FPGA, spaceForVoter );
        FullOrderGenotype seed = new FullOrderGenotype ( sor.getVassilevGenotype() );
        int bitsPerVar = sor.getBitsPerVar();        int usedEls = sor.getTotalEls();
        int nrAddUnits = ( 1 << bitsPerVar ) - experiment.getNumOfInputs();

        int lutSize = 1 << LUTInputs;
        int blockSize = lutSize + LUTInputs * bitsPerVar;
        int qDefSize = ( experiment.getNumOfOutputs() + E_LINES ) * bitsPerVar;
        int genotypeLength = qDefSize + nrAddUnits * blockSize;
        
        
        //ElementDelayModel delayModel = new CoinDelayModel( );
        ElementDelayModel delayModel = new ConstantDelayModel( 0 );
        CircuitMapping inMapping = new LUTAbsoluteMapping( experiment.getNumOfInputs(), experiment.getNumOfOutputs() + E_LINES, bitsPerVar, LUTInputs, delayModel );
        CircuitMapping circuitMapping = new VassilevMapping( inMapping, experiment.getNumOfOutputs() + E_LINES, bitsPerVar );
        int[] inputDefWithinGene = new int[ LUTInputs ];
        for( int il = 0; il < LUTInputs; il++ )
        {
            inputDefWithinGene[ il ] = lutSize + il * bitsPerVar;
        }
        //circuitMapping = new FeedForwardMapping( circuitMapping, bitsPerVar, blockSize, inputDefWithinGene, qDefSize, -1 );
        circuitMapping = new DynamicFeedForwardMapping( circuitMapping, bitsPerVar, blockSize, inputDefWithinGene, qDefSize );
        circuitMapping = new FaultyFeedForwardOptimizedMapping( circuitMapping );
        SimulatorFaultyCircuit circuit = new SimulatorFaultyCircuitAsynchronous( circuitMapping );
        //SimulatorFaultyCircuit circuit = new SimulatorFaultyCircuit( circuitMapping );
        SimulatorDeployment deployment = new SimulatorDeployment( circuit );
        
        SingleFaultModel faultModel = new SingleUsedFaultModel( circuit );

        final int POP_SIZE = 32;   final int NUM_OF_ELITES = 2;
        

        Genotype[] seeds = new Genotype[ POP_SIZE ];
        //seeds[ 0 ] = seed;
        for( int pl = 0; pl < POP_SIZE; pl++ )
        {
            seeds[ pl ] = ( FullOrderGenotype ) seed.clone();
            for( int bl = qDefSize + usedEls * blockSize; bl < seeds[ pl ].length(); bl++ )
                if( Math.random() < 0.5 ) seeds[ pl ].set( bl );
        }
        
        int fixedAlignments = locking ? usedEls : 0;
        int minMutationRate = Math.max( 1, genotypeLength / 500 );
        int maxMutationRate = genotypeLength / 25 + 1;
        // was 1000, 50
        int SAGAFitnessIndex = 1;        int howManyBunches = 1;
        GeneticOperator m = new SAGAMutator( minMutationRate, maxMutationRate, SAGAFitnessIndex, fixedAlignments * blockSize, -1 );
        //ExactGenotypeMutator m = new ExactGenotypeMutator( ( int ) ( genotypeLength / 500 ) + 1 ); // For real biggies
        //m.setRange( fixedAlignments * blockSize, -1 );
        GeneticOperator spxo = new SinglePointXOver();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩中文一区| 久久婷婷色综合| 欧美视频一二三区| 国产成人精品一区二| 欧美精品免费视频| 日本精品一区二区三区高清| 国产成人在线视频网站| 麻豆精品一区二区综合av| 亚洲综合视频网| 亚洲精品国产一区二区精华液| 久久色中文字幕| 亚洲精品在线免费观看视频| 欧美一区二区网站| 欧美精品免费视频| 日韩欧美亚洲一区二区| 91精品国产一区二区| 欧美不卡视频一区| 精品99一区二区三区| 久久久久国产成人精品亚洲午夜| 精品日韩成人av| 欧美国产禁国产网站cc| 国产精品高潮呻吟久久| 亚洲欧美偷拍三级| 亚洲国产精品尤物yw在线观看| 亚洲 欧美综合在线网络| 亚洲国产另类av| 精品一区免费av| 国产99久久久国产精品潘金网站| 丁香五精品蜜臀久久久久99网站| 不卡视频在线看| 91麻豆精品国产无毒不卡在线观看| 欧美一级艳片视频免费观看| 国产亚洲精品免费| 日韩一区二区三区在线视频| 欧美性感一类影片在线播放| 成人免费观看视频| 亚洲午夜精品在线| 国产精品二三区| 欧美大片一区二区| 欧美电影免费观看高清完整版在线 | 色诱亚洲精品久久久久久| 久久精品视频一区| 国产精品1024| 国产精品久久久久久久午夜片| 国产精品亚洲第一区在线暖暖韩国 | 欧美性大战久久久久久久| 亚洲精品网站在线观看| 在线免费一区三区| 偷拍一区二区三区| 日韩一区二区三区四区五区六区| 欧美a级一区二区| 久久久久久麻豆| voyeur盗摄精品| 亚洲国产视频a| 欧美草草影院在线视频| 成人午夜免费视频| 一区二区三区产品免费精品久久75| 欧美在线播放高清精品| 看电影不卡的网站| 国产精品网站在线播放| 欧美性猛片xxxx免费看久爱| 卡一卡二国产精品| 综合电影一区二区三区| 欧美日韩aaaaa| 国产乱码精品一区二区三区av| 国产精品成人免费精品自在线观看| 欧美在线观看视频一区二区三区| 日本不卡123| 国产蜜臀97一区二区三区| 在线精品视频免费观看| 精品一区二区三区免费| 亚洲欧美国产三级| 精品福利一区二区三区 | 亚洲免费观看高清完整版在线观看 | 欧美日韩中文国产| 国产乱淫av一区二区三区 | 国产欧美精品一区二区色综合| 99精品热视频| 日本成人在线看| 亚洲免费在线观看视频| 欧美tk—视频vk| 欧美三级日本三级少妇99| 国产福利精品导航| 日本在线不卡视频一二三区| 国产精品久久久久影院亚瑟| 日韩视频一区二区三区在线播放| 91麻豆免费视频| 国产美女在线精品| 亚洲18影院在线观看| 日本一区二区不卡视频| 日韩午夜精品视频| 色成年激情久久综合| 国产乱码精品一区二区三区忘忧草 | 久久99这里只有精品| 亚洲午夜羞羞片| 最新成人av在线| 久久精品人人做人人综合| 欧美一区二区视频观看视频 | 91精品国产色综合久久ai换脸 | 成人免费视频网站在线观看| 久久国产精品99久久人人澡| 婷婷综合另类小说色区| 一区二区三区在线看| 国产精品美女一区二区三区| 久久亚洲免费视频| 精品三级在线看| 欧美大片日本大片免费观看| 欧美一区二区大片| 欧美人与z0zoxxxx视频| 欧美美女直播网站| 欧美日韩国产一级二级| 欧洲一区二区三区免费视频| 91国产免费看| 欧美日韩午夜在线视频| 欧美日韩黄色影视| 欧美日韩国产天堂| 欧美日韩国产首页| 这里是久久伊人| 日韩一区二区精品在线观看| 91.com在线观看| 欧美电影免费提供在线观看| 久久夜色精品国产噜噜av| 久久免费电影网| 中文字幕免费一区| 亚洲欧美日韩在线播放| 亚洲在线视频网站| 亚洲电影视频在线| 日韩成人午夜精品| 九色综合狠狠综合久久| 国产福利精品一区| 日本久久电影网| 717成人午夜免费福利电影| 日韩三级av在线播放| 久久丝袜美腿综合| 国产精品理伦片| 一区二区免费在线| 裸体一区二区三区| 成人免费视频网站在线观看| 色综合久久久久| 日韩美女视频一区二区在线观看| 国产亚洲视频系列| 亚洲精品日韩综合观看成人91| 亚洲国产精品尤物yw在线观看| 九九视频精品免费| 粉嫩av一区二区三区在线播放| 色综合久久久久综合| 日韩亚洲欧美成人一区| 国产欧美日韩亚州综合| 亚洲成人av一区| 国产精品中文字幕日韩精品 | 欧美成人一区二区三区| 久久久噜噜噜久久中文字幕色伊伊| 国产精品久久久久久久久久久免费看 | 色偷偷一区二区三区| 日韩女同互慰一区二区| 最新成人av在线| 老司机一区二区| 91福利在线观看| 久久久av毛片精品| 亚洲电影第三页| 高清久久久久久| 91精品国产综合久久小美女| 国产精品蜜臀av| 美女精品一区二区| 一本一本大道香蕉久在线精品 | 九九在线精品视频| 在线视频国产一区| 欧美激情在线观看视频免费| 亚洲第一av色| av一区二区三区在线| 日韩免费高清av| 亚洲第一福利视频在线| av电影天堂一区二区在线| 日韩欧美电影一区| 一二三四区精品视频| 福利视频网站一区二区三区| 正在播放亚洲一区| 国产精品福利一区| 国产成人免费高清| 26uuu欧美| 蜜乳av一区二区| 欧美精品乱人伦久久久久久| 亚洲欧洲国产专区| 国产mv日韩mv欧美| 久久久久久久av麻豆果冻| 美国十次了思思久久精品导航| 欧美日韩视频第一区| 亚洲日穴在线视频| 成人三级在线视频| 久久免费偷拍视频| 美女免费视频一区| 91精品国产欧美一区二区18| 一区二区三区精密机械公司| 99精品欧美一区| 国产精品欧美久久久久一区二区| 高清国产一区二区| 日本一区二区免费在线观看视频| 国产一区美女在线| 亚洲精品一线二线三线无人区| 蜜桃精品在线观看|