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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bistpimseqonlinestochastic_1.java~

?? Java遺傳算法庫(kù)
?? JAVA~
字號(hào):
/*
 * BISTIM.java
 *
 * Created on 19 May 2002, 18:56
 */

package es.pj.circuits.control;

import es.evolve.Evolver;
import es.deploy.Deployment;
import es.experiment.*;
import es.control.StandardInteractionModel;
import es.*;
import es.pj.circuits.fpgaft.*;
import es.pj.circuits.SimulatorLogicElement;
import es.pj.circuits.experiment.ConfigurableSequentialCircuitExperiment;

import java.util.Random;
import java.util.Vector;

import islandev.SnapshotPainter;
import islandev.EmptySnapshotPainter;


/** Like BISTPIM but:
 * <ul><li>Only On-Line BIST evaluated (must report first fault affecting outputs)</li>
 * <li>Optimization in SimulatorFaultyCircuitOpt used for sequenial circuits</li>
 * <li>For combinational circuits use BISTPIM</li>
 * <li>Overdetecting always good.
 * </ul>
 *
 */
public class BISTPIMSeqOnlineStochastic extends StandardInteractionModel
{
    // Config Vars
    
    
    // Variables for finding E
    protected int startAt = 0; // For each input cycle, start at ...
    protected int eSize;
    protected int inputResetLength = 0;
    
    // Variable for extracting value of output (kind of inverse of t_setup)
    protected double threshold = 0.1;
    
    //Working Vars
    protected double currMaxF_e = -1;
    protected SingleFaultModel faultModel;
    protected SingleRandomFaultModel srfm = null; // If its randomness, its randomness will need to be controlled
    protected ConfigurableSequentialCircuitExperiment scexp;
    protected SimulatorFaultyCircuitOpt circuit;
    
    public BISTPIMSeqOnlineStochastic(Evolver evo, Deployment dep, SimulatorFaultyCircuitOpt cir, ConfigurableSequentialCircuitExperiment exp, int iss, SingleFaultModel fm, int es, SnapshotPainter painter, int startAt, int inputResetLength) {
        this( evo, dep, cir, exp, iss, fm, es );
        this.painter = painter;
        this.startAt = startAt;
        this.inputResetLength = inputResetLength;
    }
    
    public BISTPIMSeqOnlineStochastic(Evolver evo, Deployment dep, SimulatorFaultyCircuitOpt cir, ConfigurableSequentialCircuitExperiment exp, int iss, SingleFaultModel fm, int es) {
        super( evo, dep, exp, iss );
        scexp = exp;
        circuit = cir;
        faultModel = fm;
        if( faultModel instanceof SingleRandomFaultModel )
        {
            srfm = ( SingleRandomFaultModel ) fm;
        }        
        eSize = es;
    }
        
    public void evolve()
    {
        super.evolve();
        if( srfm != null )
        {
            srfm.nextRandomSeries(); // Same for all per generation, but != 'tween generations.
        }
        currMaxF_e = -1;
    }
    
    /** Evaluates these individuals using the deployment and experiments and
     * procedure of this model.
     */
    synchronized public double[] evaluate(Genotype[] inds)
    {
        Genotype ind = inds[ 0 ];

        // 1) Evaluate Ind with no faults.
        deployment.program( ind );
        SampleData[] input = experiment.generateInput( inputSampleSeparation );
        int insertFaultAt = scexp.rndStatePos();
        
        //TI//if( !stateNoise )
        //TI//{
            //TI//circuit.reset();
        //TI//}else
        //TI//{
        circuit.randomReset();
        //TI//}
        
        SampleData[] noFQWithE = deployment.run( input );
        int nrOuts = noFQWithE.length - 1;
        SampleData[] noFQNoE = ESLib.getLines( noFQWithE, 0, nrOuts );
        double f_e = experiment.getFitness( input, noFQNoE );
        double f_b = 0;
        boolean mainTaskOK = f_e > currMaxF_e - threshold;

        // 2) Compute f_b now.
        if( mainTaskOK && !getE( noFQWithE ) ) // Check that E low for no faults! If it isn't, then discard.
        {
            currMaxF_e = Math.max( f_e, currMaxF_e );
            
            // 2.1) Init variables.
            boolean[] used = getUsed( nrOuts ); // Skipping faults in unused elements.

            int nrFaults = 1; // how many faults tested for 
            int diagFaults = 1; // how many correctly diagnosed, including no faults.
            int[] rv2 = { 0 };

            // 2) Check if faults are detected at the right moment.  Ie: if
            // at the first moment the circuit gives out a wrong output the
            // error line is high.  
            // 2.2) Iterate through faults
            faultModel.reset();
            while( faultModel.hasMoreElements() )
            {
                java.awt.Point fPosVal = ( java.awt.Point ) faultModel.nextElement();
                if( used[ fPosVal.x ] ) // Skipping faults in unused elements.
                {
                    //circuit.setFault( fPosVal.x, fPosVal.y );// Set it during run so randomize state inserted at

                    //TI//if( !stateNoise )
                    //TI//{
                        //TI//circuit.reset();
                    //TI//}else
                    //TI//{
                    circuit.randomReset();
                    //TI//}

                    // 2.2.2) Run Circuit with Fault.
                    circuit.run( input, noFQWithE, rv2, fPosVal, insertFaultAt );
                    if( rv2[ 0 ] == SimulatorFaultyCircuitOpt.NORMAL )
                    {
                        circuit.run( input, noFQWithE, rv2, insertFaultAt ); // Run again because fault hasn't affected Q
                    }
                    
                    switch( rv2[ 0 ] )
                    {
                        case SimulatorFaultyCircuitOpt.LINE_HIGH:
                        {
                            // Fault detected, score point
                        };
                        case SimulatorFaultyCircuitOpt.NORMAL:
                        {
                            // No Fault, No detection, score point
                            diagFaults++;
                        }
                        case SimulatorFaultyCircuitOpt.OUTPUT_DIFFERENT:
                        {
                            // Undetected Fault, no points
                        };
                    }
                    nrFaults++;
                    circuit.removeFault( fPosVal ); // clear fault
                }
            }
            f_b = 1d / ( ( nrFaults - diagFaults ) / 25d + 1d );
        }       
        ind.setProperty( 0, new Double( f_b ) );
        ind.setProperty( 1, new Double( f_b ) );
        houseWork( ind, f_e );
        double[] rv = { f_e };
        return rv;        
    }
    
    /** Returns the value of E for this segment */
    protected boolean getE( SampleData[] output )
    {
        SampleData E = output[ output.length - 1 ];
        int outLen = E.length();
        int inputCycles = outLen / inputSampleSeparation;
        for( int idl = inputResetLength; idl < inputCycles; idl++ )
        {
            int conc = 0;
            for( int odl = startAt; odl < inputSampleSeparation; odl++ )
            {
                if( E.get( idl * inputSampleSeparation + odl ) )
                {
                    conc++;
                    if( conc == eSize )
                    {
                        return true;
                    }
                }else
                {
                    conc = 0;
                }
            }
        }
        return false;
    }
            
    public String toString()
    {
        String narrator = "BIST Sequential Online Interaction Model with:";
        narrator += "\n  Threshold = " + threshold;
        narrator += "\n  Error Line Start At = " + startAt;
        narrator += "\n  Error High Minimum Size = " + eSize;
        narrator += "\n  Input Reset Pattern Length = " + inputResetLength;
        narrator += "\n  Fault Model: " + faultModel;
        narrator += "\n\nExperiment: " + experiment;
        narrator += "\n\nDeployment: " + deployment;
        narrator += "\n\nEvolver: " + evolver;
        narrator += "\n";
        return narrator;
    }
    
    // Snapshot so far does normal thing
    
    protected boolean[] getUsed( int outs )
    {
        SimulatorLogicElement[] els = circuit.getElements();
        boolean[] rv = new boolean[ els.length ];
        for( int ol = 0; ol < outs; ol++ )
        {
            addConnectedGates( rv, els[ ol ], els );
        }
        return rv;
    }

    protected void addConnectedGates( boolean[] added, SimulatorLogicElement el, SimulatorLogicElement[] els )
    {
        int elinels = es.ESLib.indexOf( el, els );
        if( elinels >= 0 && !added[ elinels ] )
        {
            added[ elinels ] = true;
            SimulatorLogicElement[] ins = el.getInputs();
            if( ins != null )
            {
                for( int il = 0; il < ins.length; il++ )
                {
                    addConnectedGates( added, ins[ il ], els );
                }
            }
        }
    }
    
    public Genotype getMaxFitness()
    {
        Genotype rv = super.getMaxFitness();
        rv.setProperty( 0, new Double( 1 ) );
        rv.setProperty( 1, new Double( 1 ) );
        return rv;
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产激情一区二区三区蜜月 | 狠狠色丁香婷婷综合| av不卡一区二区三区| 91亚洲男人天堂| 91精品黄色片免费大全| 久久久蜜桃精品| 国产精品理论片在线观看| 亚洲国产日韩a在线播放| 久久国产精品99久久人人澡| 成人激情小说网站| 欧美午夜片在线看| 久久精品一区二区三区av| 亚洲自拍偷拍麻豆| 国产精品小仙女| 欧美影片第一页| 久久久久久久综合色一本| 亚洲国产日韩a在线播放性色| 韩国一区二区三区| 91麻豆蜜桃一区二区三区| 日韩欧美三级在线| 悠悠色在线精品| 国产一区二区三区在线观看免费 | 亚洲自拍偷拍综合| 国产福利一区二区三区在线视频| 欧美色图片你懂的| 日本一区二区三区视频视频| 天涯成人国产亚洲精品一区av| 国产黄色成人av| 欧美军同video69gay| 亚洲欧洲美洲综合色网| 久久99精品一区二区三区| 色婷婷一区二区| 中文字幕国产精品一区二区| 男女激情视频一区| 在线观看www91| 国产精品高潮呻吟久久| 另类综合日韩欧美亚洲| 欧美色窝79yyyycom| 成人免费小视频| 国产成人精品免费网站| 日韩欧美中文字幕公布| 亚洲午夜电影在线观看| 99久久久无码国产精品| 国产亚洲制服色| 麻豆精品视频在线观看免费| 欧美日韩高清一区二区三区| 亚洲天堂免费看| 成人免费视频caoporn| 久久综合九色综合久久久精品综合| 亚洲1区2区3区视频| 91福利区一区二区三区| 椎名由奈av一区二区三区| 欧美日韩专区在线| 国产精品欧美久久久久无广告 | 国产欧美日韩综合| 久久97超碰色| 欧美不卡视频一区| 免费人成精品欧美精品| 欧美一区二区私人影院日本| 五月婷婷久久综合| 欧美日韩一区三区四区| 亚洲美女屁股眼交3| 91香蕉视频在线| 亚洲欧洲综合另类在线| 91原创在线视频| 中文字幕在线不卡视频| gogo大胆日本视频一区| 中文字幕中文字幕在线一区 | 国产精品久久一卡二卡| 福利视频网站一区二区三区| 国产午夜亚洲精品不卡| 国产精品一区二区三区四区| 精品久久久久久久久久久久久久久 | 国产精品99久久久久久久女警| 欧美α欧美αv大片| 久久99精品视频| 久久综合给合久久狠狠狠97色69| 激情综合色播五月| 亚洲精品一线二线三线无人区| 麻豆精品在线观看| 久久久久久一二三区| 狠狠色丁香婷综合久久| 国产欧美日韩在线| 岛国精品在线观看| 亚洲欧美一区二区视频| 色综合网站在线| 亚洲二区视频在线| 91精品久久久久久久99蜜桃| 精品亚洲成a人| 中文在线一区二区| 91色综合久久久久婷婷| 一区二区三区精密机械公司| 欧美日韩一级片在线观看| 日本欧美一区二区在线观看| 精品国产免费一区二区三区香蕉| 国产久卡久卡久卡久卡视频精品| 欧美国产精品一区二区| 色av成人天堂桃色av| 日韩av中文在线观看| 视频一区欧美精品| 欧美大片拔萝卜| 夫妻av一区二区| 亚洲综合色丁香婷婷六月图片| 在线不卡欧美精品一区二区三区| 久久精品av麻豆的观看方式| 欧美激情在线一区二区三区| 91黄色激情网站| 蜜臀av亚洲一区中文字幕| 国产日本亚洲高清| 欧美亚洲综合一区| 九一久久久久久| 日韩美女久久久| 91麻豆精品国产自产在线| 国产成人8x视频一区二区| 亚洲人成在线播放网站岛国| 欧美一区三区四区| 成+人+亚洲+综合天堂| 亚洲成人在线观看视频| 久久精品欧美一区二区三区不卡| 欧美中文字幕不卡| 国产剧情一区二区三区| 亚洲国产综合在线| 国产色91在线| 欧美日韩国产精选| 国产成人精品网址| 日韩精品亚洲专区| 成人欧美一区二区三区在线播放| 欧美一区二区三区视频在线观看 | 国产精品青草久久| 欧美日韩高清一区二区不卡| 丰满少妇在线播放bd日韩电影| 午夜久久久久久久久| 国产精品网曝门| 欧美tk—视频vk| 欧美性猛交xxxxxx富婆| 国产福利一区二区三区视频在线| 爽好久久久欧美精品| 亚洲欧美综合在线精品| 精品国产电影一区二区| 欧美视频三区在线播放| 不卡一二三区首页| 蜜臂av日日欢夜夜爽一区| 一区二区日韩av| 欧美国产丝袜视频| 亚洲精品一区二区三区在线观看| 欧美午夜免费电影| 91伊人久久大香线蕉| 国产成人精品午夜视频免费| 久久精品国产久精国产爱| 亚洲国产va精品久久久不卡综合| 中文字幕在线不卡一区| 久久精品亚洲精品国产欧美| 日韩欧美中文字幕精品| 欧美剧情电影在线观看完整版免费励志电影 | 欧美日韩卡一卡二| 99re免费视频精品全部| 国产馆精品极品| 激情综合网激情| 麻豆一区二区三| 97久久人人超碰| 国产露脸91国语对白| 美女免费视频一区| 日本不卡在线视频| 天堂一区二区在线| 午夜视频一区在线观看| 亚洲精品乱码久久久久久久久| 中文久久乱码一区二区| 久久日韩精品一区二区五区| 欧美一区二区性放荡片| 欧美理论片在线| 欧美精品123区| 欧美日韩成人综合天天影院| 在线观看网站黄不卡| 色成人在线视频| 欧美亚洲国产bt| 欧美日韩美女一区二区| 欧美日韩卡一卡二| 欧美精品成人一区二区三区四区| 欧美日韩一区二区三区视频| 91高清在线观看| 欧美日韩一区二区三区高清 | 日本vs亚洲vs韩国一区三区| 亚洲丰满少妇videoshd| 天堂av在线一区| 秋霞电影网一区二区| 久久精品国产网站| 国产主播一区二区| 国产精品综合视频| 国产成a人亚洲精| 粉嫩一区二区三区在线看| youjizz久久| 色哟哟一区二区在线观看| 欧美在线免费观看亚洲| 欧美色图免费看| 欧美一区日韩一区| 精品对白一区国产伦| 国产调教视频一区| 亚洲日本青草视频在线怡红院| 亚洲精选一二三| 日韩黄色免费网站|