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

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

?? evobist.java~

?? Java遺傳算法庫
?? JAVA~
?? 第 1 頁 / 共 4 頁
字號:
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 EvoBIST implements InteractiveTaskServer
{
    // Configuration constants
    protected final double MIGRATION_RATE = 1;

    // 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;
        
    public EvoBIST( ArrayList extraArgs ) throws IOException
    {
        logDir = ( String ) extraArgs.get( 0 ); logFileName = ( String ) extraArgs.get( 1 );
        
        boolean logToDatabase = true, logTopology = true;
        
        if( extraArgs.size() >= 3 )
        {
            if( ( ( String ) extraArgs.get( 2 ) ).equalsIgnoreCase( "-L" ) )
            {
                logToDatabase = false;
            }else if( ( ( String ) extraArgs.get( 2 ) ).equalsIgnoreCase( "-T" ) )
            {
                logTopology = false;
            }
        }
        
        //addTTC17();
        addBWL4();
        
        ies = new IslandsEvolutionServer( taskQ, taskQNames, logDir, logFileName, MIGRATION_RATE, logToDatabase, taskQDescr, taskQBestIndID, taskQEffort, logTopology );
    }
    
    
    
    // -------------- FROM HERE ON METHODS TO ADD TASKS TO THE QUEUE --------------
    
    

    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 = 30;    final int SAMPLE_WINDOW_START = 20;
        final int DUMP_POP_EVERY = 500;     final int E_LINES = 1;
        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.getGenotype() );
        int bitsPerVar = sor.getBitsPerVar();        int usedEls = sor.getTotalEls();
        int nrAddUnits = ( 1 << bitsPerVar ) - experiment.getNumOfInputs();
        SingleFaultModel faultModel = new SingleFullFaultModel( nrAddUnits );
        
        ElementDelayModel delayModel = new CoinDelayModel( );
        CircuitMapping circuitMapping = new FaultyOptimizedMapping( new LUTAbsoluteMapping( experiment.getNumOfInputs(), experiment.getNumOfOutputs() + E_LINES, bitsPerVar, LUTInputs, delayModel ) );
        SimulatorFaultyCircuit circuit = new SimulatorFaultyCircuit( circuitMapping );
        SimulatorDeployment deployment = new SimulatorDeployment( circuit );

        final int POP_SIZE = 32;   final int NUM_OF_ELITES = 2;
        
        int lutSize = 1 << LUTInputs;
        int blockSize = lutSize + LUTInputs * bitsPerVar;
        int genotypeLength = nrAddUnits * blockSize;

        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 = usedEls * blockSize; bl < seeds[ pl ].length(); bl++ )
                if( Math.random() < 0.5 ) seeds[ pl ].set( bl );
        }
        
        int fixedAlignments = locking ? usedEls : 0;
        int minMutationRate = genotypeLength / 1000 + 1;    int maxMutationRate = genotypeLength / 50 + 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();
        GeneticOperator bmin0 = new BunchMutator( bitsPerVar, howManyBunches, blockSize, lutSize, fixedAlignments );
        GeneticOperator bmin1 = new BunchMutator( bitsPerVar, howManyBunches, blockSize, lutSize + bitsPerVar, fixedAlignments );
        GeneticOperator bmin2 = new BunchMutator( bitsPerVar, howManyBunches, blockSize, lutSize + bitsPerVar * 2, fixedAlignments );
        GeneticOperator bmin3 = new BunchMutator( bitsPerVar, howManyBunches, blockSize, lutSize + bitsPerVar * 3, fixedAlignments );
        GeneticOperator bc = new BlockCopy ( blockSize, blockSize, 0, fixedAlignments );
        GeneticOperator[] geneticOps = { m, spxo, bmin0, bmin1, bmin2, bmin3, bc };
        double[] opsProbs = { 0.2, 0.3, 0.1, 0.1, 0.1, 0.1, 0.1 };
        if( LUTInputs == 2 )
        {
            geneticOps[ 4 ] = bmin0;
            geneticOps[ 5 ] = bmin1;
        }
        Selector selector = new RankSelector(  );
        Evolver evolver = new StandardEvolver( POP_SIZE, genotypeLength, geneticOps, opsProbs, selector, NUM_OF_ELITES, seeds );
        
        PopulationLogReader.fullOrderGenotypes = true;  int[] numProps = { 2 }; double maxSize = nrAddUnits;
        final boolean OVERDETECTING = true;
        CircuitPainterObject painter = new CircuitPainterObject( new CircuitPainter(), new LUTAbsoluteMapping( experiment.getNumOfInputs(), experiment.getNumOfOutputs() + E_LINES, bitsPerVar, LUTInputs, new ConstantDelayModel( 0 ) ) ); 
        BISTPIM inIm = new BISTPIM( evolver, deployment, circuit, experiment, faultModel, E_SIZE, E_START_AT, OVERDETECTING, INPUT_SAMPLE_SEP, painter );
        InteractionModel noisyIM = new NoisyPIM( inIm, deployment, experiment, numProps, NO_EVALS );
        InteractionModel interactionModel = new CircuitParsimonyPIM( noisyIM, circuit, maxSize );
        Monica monica = new Monica( interactionModel, DUMP_POP_EVERY, java.lang.Integer.MAX_VALUE );
        painter.setEvoTask( monica );   monica.setName( dirName );
        taskQ.add( monica );    taskQNames.add( dirName );  taskQDescr.add( descr );    taskQBestIndID.add( new Integer( bestIndID ) );
        int avgSize = ( int )( usedEls * 1.45 );
        int effort = NO_EVALS * INPUT_SAMPLE_SEP * avgSize * avgSize * ( 1 << experiment.getNumOfInputs() );
        taskQEffort.add( new Integer( effort ) );        
        ControlLib.writeGNUPlotScript( dirName, logDir, logFileName, 3, false );
        ControlLib.writeWebGraphDaemon( dirName, logDir, logFileName, 3, false, new File(".").getCanonicalPath() + File.separator, 60 * 12 );
    }    
    
    
    protected  void addTTC17() throws IOException
    {
        String blifFN = "/home/mmg20/eh/benchmarks/C17.blif";
        String sisQFN = "/home/mmg20/eh/benchmarks/C17L4.sout";
        String dirName = "TTC17L4OM4SBPV5";
        String descr = "Benchmark C17 (2 four-input LUTs) under multiple faults (Osc.)";
        int bestHD = 1530;
        addCombBLIFBenchmarkNoLockingTT( blifFN, sisQFN, dirName, descr, bestHD );
    }

    protected  void addTTCM42() throws IOException
    {
        String blifFN = "/home/mmg20/eh/benchmarks/cm42a.blif";
        String sisQFN = "/home/mmg20/eh/benchmarks/cm42a.sout";
        String dirName = "TTCM42AD";
        String descr = "Benchmark CM42A (22 gates) under multiple faults (Ass. A, Dual Rail)";
        int bestHD = 1661;
        addCombBLIFBenchmarkNoLockingTT( blifFN, sisQFN, dirName, descr, bestHD );
    }
    
    
    protected  void addCombBLIFBenchmarkNoLockingTT( String blifFileName, String sisOutputFileName, String dirName, String descr, int bestIndID ) throws IOException
    {
        final double T_SETUP = 0.45;
        final int INPUT_SAMPLE_SEP = 30;
        // D -  Circuit Structure Properties
         final int LUT_INPUTS = 4;
        
        // B - BENCHMARK STUFF
         FitnessFunction corrFF = new CorrelationFitnessFunction();
         FitnessFunction tSetupFF = new SampleWindowFitnessFunction( corrFF, 15 );
         TestPatternGenerator tpg = new CompleteShuffledTPG();
        CombinationalBLIFExperiment experiment = new CombinationalBLIFExperiment( blifFileName, tSetupFF, tpg );
        final int E_LINES = 1;
        final boolean FPGA = false;
        final boolean VOTER = true;
        final int EXTRA_BPV = 1;
        final boolean VARSIZED = false;
        SisOutputReader sor = new SisOutputReader( new File( sisOutputFileName ), E_LINES, LUT_INPUTS, FPGA, VOTER, EXTRA_BPV, VARSIZED );
        FullOrderGenotype seed = new FullOrderGenotype ( sor.getGenotype() );
        int bitsPerVar = sor.getBitsPerVar();   
        int usedEls = sor.getTotalEls();        
        // A - Genetic Algorithms Properties
        // Standard
        final int POP_SIZE = 32;
        final int GENOTYPE_MUT = 1;
        final int NUM_OF_ELITES = 2;
        // M - Log Properties
        int DUMP_POP_EVERY = 1000;
        // D - DEPLOYMENT set up
        ElementDelayModel delayModel = new CoinDelayModel( );
        //ElementDelayModel delayModel = new GaussianDelayModel( 0.3, 0.3 );
        CircuitMapping circuitMapping = new LUTAbsoluteMapping( experiment.getNumOfInputs(), experiment.getNumOfOutputs() + E_LINES, bitsPerVar, LUT_INPUTS, delayModel );
        SimulatorFaultyCircuit circuit = new SimulatorFaultyCircuitAsynchronous( circuitMapping );
        boolean randomResetBeforeEveryEval = true;  SimulatorDeployment deployment = new SimulatorDeployment( circuit, randomResetBeforeEveryEval );
        SingleFaultModel faultModel = new SingleUsedFaultModel( circuit, experiment.getNumOfOutputs() );
        
        // A - Genetic Operators Set up
        int nrAddUnits = ( 1 << bitsPerVar ) - experiment.getNumOfInputs();
        int lutSize = 1 << LUT_INPUTS;
        int blockSize = lutSize + LUT_INPUTS * bitsPerVar;
        int genotypeLength = nrAddUnits * blockSize;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区黑丝| 亚洲乱码国产乱码精品精的特点 | 欧美极品美女视频| 日韩码欧中文字| 日韩电影一二三区| 国产剧情一区在线| 色综合一个色综合亚洲| 制服丝袜亚洲播放| 国产三级一区二区三区| 一区二区三区在线视频免费观看| 美女mm1313爽爽久久久蜜臀| 91在线一区二区| 欧美一区中文字幕| 国产精品嫩草影院av蜜臀| 日欧美一区二区| 99麻豆久久久国产精品免费优播| 欧美精品久久天天躁| 国产精品你懂的在线| 蜜臀av在线播放一区二区三区| 99久久精品国产麻豆演员表| 日韩一级黄色片| 亚洲另类色综合网站| 国产乱人伦偷精品视频免下载| 在线观看不卡一区| 国产精品天天看| 免费观看成人鲁鲁鲁鲁鲁视频| 91丨九色丨黑人外教| 精品国产一区久久| 亚洲午夜久久久久久久久久久| 国产精品主播直播| 日韩一区国产二区欧美三区| 亚洲欧美韩国综合色| 国产在线国偷精品产拍免费yy| 欧美三级日韩在线| 中文字幕一区二区三区精华液 | 欧美一区二区三区人| 中文字幕一区二区在线播放| 激情亚洲综合在线| 欧美精品xxxxbbbb| 亚洲一区二区在线观看视频| 国产不卡高清在线观看视频| 欧美va亚洲va国产综合| 亚洲国产精品久久久久秋霞影院 | 中文字幕一区二区三区色视频| 免费成人深夜小野草| 欧美在线制服丝袜| 1000部国产精品成人观看| 久久97超碰色| 欧美一区二区免费视频| 亚洲一区免费观看| 在线影院国内精品| 亚洲人成网站影音先锋播放| 成人午夜激情视频| 久久精品夜色噜噜亚洲a∨| 另类小说色综合网站| 欧美日韩精品欧美日韩精品一 | 欧美精品一二三| 亚洲图片一区二区| 日本精品视频一区二区| 亚洲乱码国产乱码精品精可以看| 99久久综合国产精品| 国产精品系列在线| 成人黄色电影在线 | 日本道精品一区二区三区| 中文字幕av一区二区三区| 国产一区二区不卡| 久久综合九色欧美综合狠狠 | 久久久久久亚洲综合| 精品无人区卡一卡二卡三乱码免费卡| 欧美一区午夜精品| 美女视频黄频大全不卡视频在线播放| 欧美一卡二卡三卡| 免费成人你懂的| 精品88久久久久88久久久| 极品尤物av久久免费看| 精品国产1区二区| 国产曰批免费观看久久久| 久久九九久久九九| 国产 日韩 欧美大片| 国产精品高潮久久久久无| 不卡视频在线观看| 亚洲男同1069视频| 在线亚洲欧美专区二区| 午夜精品视频在线观看| 91精品黄色片免费大全| 久久国产视频网| 久久久久综合网| av动漫一区二区| 樱桃国产成人精品视频| 欧美区在线观看| 九九视频精品免费| 欧美国产1区2区| 91免费版在线| 午夜电影久久久| 精品国产一区二区三区忘忧草 | 久久久久久免费| 成人免费观看视频| 一区二区三区久久久| 91精品国产色综合久久ai换脸| 久久国内精品视频| 国产精品传媒入口麻豆| 色天天综合色天天久久| 天使萌一区二区三区免费观看| 日韩欧美一级二级三级久久久| 国产精品资源在线观看| 亚洲男人天堂av网| 日韩免费视频一区| 成人美女在线视频| 亚洲成精国产精品女| 日韩欧美电影一区| av亚洲精华国产精华精| 日韩经典中文字幕一区| 国产亚洲制服色| 在线观看日韩精品| 久久99久国产精品黄毛片色诱| 国产精品美女久久久久aⅴ国产馆| 一本大道久久精品懂色aⅴ| 秋霞电影网一区二区| 中文天堂在线一区| 欧美日韩国产一二三| 国产盗摄精品一区二区三区在线 | 日本韩国欧美国产| 六月婷婷色综合| 亚洲精品免费看| 精品福利在线导航| 在线一区二区三区四区五区| 国产一区二三区好的| 亚洲欧美国产高清| 久久精品一区八戒影视| 欧美日韩小视频| av影院午夜一区| 久久成人18免费观看| 樱桃国产成人精品视频| 久久久www免费人成精品| 欧美日韩一区中文字幕| 高清不卡在线观看| 看片的网站亚洲| 亚洲精品一二三区| 欧美激情艳妇裸体舞| 欧美一区二区三区在线看| 91亚洲午夜精品久久久久久| 国产一区二区三区免费看 | 在线播放91灌醉迷j高跟美女 | 国产精品无人区| 日韩亚洲欧美在线观看| 在线欧美一区二区| 波多野结衣一区二区三区| 理论电影国产精品| 亚洲成人av免费| 亚洲嫩草精品久久| 国产精品理论片| 久久久久久久性| 日韩一级在线观看| 欧美日本国产一区| 日本久久一区二区| 91亚洲国产成人精品一区二三 | 中文字幕精品一区二区精品绿巨人| 91.xcao| 欧美亚洲精品一区| 91亚洲男人天堂| av不卡一区二区三区| 国产盗摄一区二区| 国产高清在线精品| 国产在线观看一区二区| 精品一区二区影视| 美女久久久精品| 五月天婷婷综合| 亚洲va国产va欧美va观看| 亚洲精品自拍动漫在线| 亚洲图片欧美激情| 中文字幕在线不卡国产视频| 欧美激情在线一区二区三区| 日本一区二区三区国色天香| 久久亚洲综合色| 久久亚洲一区二区三区四区| 精品国产乱码久久久久久影片| 欧美一二三四区在线| 日韩午夜在线影院| 日韩精品自拍偷拍| 日韩欧美你懂的| 久久综合色播五月| 久久综合色天天久久综合图片| 久久伊人蜜桃av一区二区| 精品对白一区国产伦| 精品欧美久久久| 久久蜜桃一区二区| 欧美极品少妇xxxxⅹ高跟鞋| 国产精品色在线| 中文字幕一区在线观看| 亚洲精品美腿丝袜| 首页国产丝袜综合| 美国精品在线观看| 国内精品国产成人国产三级粉色 | 国产视频一区在线播放| 欧美高清在线视频| 亚洲欧美色图小说| 视频一区二区中文字幕| 美腿丝袜亚洲综合| 国产精品一二一区| 波多野结衣一区二区三区|