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

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

?? circuitparsimonyim.java

?? Java遺傳算法庫
?? JAVA
字號:
/*
 * CircuitParsimonyIM.java
 *
 * Created on 01 May 2002, 20:35
 */

package jaga.pj.circuits.control;

import jaga.Genotype;
import jaga.SampleData;
import jaga.evolve.Evolver;
import jaga.evolve.Population;
import jaga.deploy.Deployment;
import jaga.experiment.Experiment;
import jaga.control.*;
import jaga.pj.circuits.*;
import jaga.pj.circuits.fpgaft.SimulatorLUT;

import java.util.Vector;

/**
 *
 * @author  Michael Garvie
 * @version 
 */
public class CircuitParsimonyIM extends ShellIM
{
    // Constants
    protected final Genotype EMPTY_GENOTYPE = new Genotype();
    protected final int MAIN_POP = 0;
    protected final int SIZE_PROP = 3;
    protected final double threshold = 0.001;
    
    // Config Vars
    protected boolean stopAtSolution = true;
    protected double maxSize;
    
    // Working Data
    protected SimulatorLogicElement[][] inoutels;
    
    protected Genotype bestInd = EMPTY_GENOTYPE;
    protected double bestFit = -1;
    protected double bestSize = Double.MAX_VALUE;  // min if maximizing
    
    protected Genotype prevInd = EMPTY_GENOTYPE;
    protected double prevFit = -1;
    protected double prevSize = Double.MAX_VALUE;  // min if maximizing
    
    public CircuitParsimonyIM( InteractionModel yokeIM, SimulatorCircuit circuit, double maxSize, boolean stop )
    {
        this( yokeIM, circuit, maxSize );
        stopAtSolution = stop;
    }
    
    public CircuitParsimonyIM( InteractionModel yokeIM, SimulatorCircuit circuit, boolean stop )
    {
        this( yokeIM, circuit );
        stopAtSolution = stop;
    }

    public CircuitParsimonyIM( InteractionModel yokeIM, SimulatorCircuit circuit, double maxSize )
    {
        this( yokeIM, circuit );
        this.maxSize = maxSize;
    }
    
    public CircuitParsimonyIM( InteractionModel yokeIM, SimulatorCircuit circuit )
    {
        super( yokeIM );
        //pop = yokeIM.getPopulations()[ MAIN_POP ];
        inoutels = circuit.getInOutEls();
        circuit.reconfigure( EMPTY_GENOTYPE );
        maxSize = inoutels[ 2 ].length; // doesn't work for varsize!!
    }    
    
    /** Do boxing tournament style, whoever beats champion, is champion
    */
    synchronized public double[] evaluate(Genotype[] inds)
    {
        Genotype ind = inds[ MAIN_POP ];
        
        boolean wasElite = ind.getFitness() > 0;
        
        // 1. Calculate Fitness
        double fitness = yokeIM.evaluate( inds )[ MAIN_POP ];
        if( !stopAtSolution )
        {
            fitness /= 2;
        }
        
        //if( fitness >= bestInd.getFitness() )
        if( fitness >= ( bestFit - threshold ) )
        {
            // 2. Calculate circuit size
            double size = countUnits();
            if( ( size <= bestSize ) || ( fitness > bestFit ) )  // min
            {
                // 3. Replace best!
                bestInd = ind;
                bestSize = size;
                bestFit = fitness;
                bestInd.setProperty( SIZE_PROP, new Double( size / maxSize ) );
            }
        }
        if( wasElite )
        {
            prevInd = ind;
        }//else setFit 0.4!
        ind.setFitness( 0 );
        double[] rv = { fitness };
        return rv;
    }
    
    
    /** This methods counts the number of units in the circuit but is optimized so that in the 
     * case of LUT elements it will recognize one input gates as half a two input gate.
     * Currently only works for 2 input LUTs.
    */
    protected double countUnits()
    {
        Vector units = CircuitsLib.addConnectedGates( inoutels[ 1 ] );
        int size = units.size();
        double rv = size;
        SimulatorLUT slut;
        for( int ul = 0; ul < size; ul++ )
        {
            slut = ( SimulatorLUT ) units.get( ul );
            if( ( slut.table[ 0 ] == slut.table[ 2 ] && slut.table[ 1 ] == slut.table[ 3 ] )
              ||( slut.table[ 0 ] == slut.table[ 1 ] && slut.table[ 2 ] == slut.table[ 3 ] ) )
            {
                rv -= 0.5;
            }
        }
        return rv;
    }
    
    public void evolve()
    {
        if( ( bestFit >= prevFit - threshold ) && ( ( bestSize <= prevSize ) || bestFit > prevFit ) ) // min
        {
            bestInd.setFitness( bestFit );
            prevInd = bestInd;
            prevFit = bestFit;
            prevSize = bestSize;
        }else
        {
            prevInd.setFitness( prevFit );
        }
        yokeIM.evolve();
        bestInd = EMPTY_GENOTYPE;
        bestFit = -1;
        bestSize = Integer.MAX_VALUE; // min
    }
    
    public String toString()
    {
        String narrator = "Circuit Parsimony Interaction Model with:";
        //narrator += "\nExperiment Weight = " + EXP_WEIGHT;
        //narrator += "\nParsimony Weight = " + SIZE_WEIGHT;
        narrator += "\nInteraction Model: " + yokeIM;
        return narrator;
    }
    
    public Genotype[] getFittest()
    {
        Genotype rv0 = ( Genotype ) bestInd.clone();
        rv0.setFitness( bestFit );
        Genotype[] rv = { rv0 };
        return rv;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日韩一区二区三区 | 国产精品久线观看视频| 99精品桃花视频在线观看| 中文字幕一区二区不卡 | 欧美无砖专区一中文字| 婷婷久久综合九色国产成人| 欧美不卡一区二区三区四区| 国产在线不卡一区| 亚洲日本在线a| 欧美精品 国产精品| 国产精品一卡二卡| 亚洲乱码日产精品bd| 91成人在线精品| 免费成人美女在线观看.| 精品精品国产高清a毛片牛牛 | 日韩一区二区三区在线视频| 国产传媒一区在线| 一区二区三区鲁丝不卡| 欧美挠脚心视频网站| 国产成人免费网站| 婷婷久久综合九色国产成人| 欧美一级片在线看| 色综合欧美在线| 青青草成人在线观看| 亚洲国产精华液网站w| 欧美日韩国产综合视频在线观看| 国产成人在线影院| 日欧美一区二区| 1024精品合集| 日韩精品在线看片z| 91福利国产精品| 菠萝蜜视频在线观看一区| 石原莉奈一区二区三区在线观看| 欧美精品一区二区三区四区| 欧美日本在线观看| 91福利国产成人精品照片| jiyouzz国产精品久久| 国产麻豆精品theporn| 日韩av一级电影| 一区二区高清免费观看影视大全| 日本一区二区三区在线观看| 精品久久人人做人人爽| 日韩免费在线观看| 91精品婷婷国产综合久久| 一本大道综合伊人精品热热| 成人精品鲁一区一区二区| 韩国欧美国产一区| 国产一区二区三区黄视频 | 国产欧美视频在线观看| 久久夜色精品一区| 精品国产三级a在线观看| 日韩一级大片在线| 久久久久久夜精品精品免费| 亚洲精品在线电影| 26uuuu精品一区二区| 欧美精品一区二区三区高清aⅴ | 不卡免费追剧大全电视剧网站| 成人欧美一区二区三区黑人麻豆 | 精品一区二区三区在线播放| 免费不卡在线视频| 紧缚捆绑精品一区二区| 成人中文字幕合集| 91麻豆精东视频| 欧美一区二区三区啪啪| 26uuu色噜噜精品一区二区| 欧美激情一区二区三区| 亚洲免费资源在线播放| 日韩av一区二区在线影视| 国产毛片一区二区| 日本乱人伦aⅴ精品| 91精品国产色综合久久不卡蜜臀| 精品国产精品一区二区夜夜嗨| 国产精品三级久久久久三级| 一区二区三区高清不卡| 国产自产v一区二区三区c| 日本久久电影网| 欧美精品一区二区三区很污很色的 | 午夜精品久久久久久| 国产麻豆精品在线观看| 欧洲国产伦久久久久久久| 欧美精品一区二区久久久| 一区二区三区四区在线播放| 韩国av一区二区三区在线观看| 色噜噜狠狠色综合中国| 久久先锋资源网| 日韩经典一区二区| 91啪亚洲精品| 久久久精品人体av艺术| 亚洲成a人v欧美综合天堂| 91日韩在线专区| 亚洲精品日日夜夜| 欧美日韩极品在线观看一区| 婷婷丁香激情综合| 久久综合狠狠综合| 黑人巨大精品欧美一区| 国产拍欧美日韩视频二区| 成人午夜电影久久影院| 亚洲精品视频免费观看| 欧美人xxxx| 国产精品综合av一区二区国产馆| 国产欧美一区二区精品秋霞影院| 99精品久久久久久| 亚洲bt欧美bt精品| 久久青草欧美一区二区三区| av成人动漫在线观看| 午夜天堂影视香蕉久久| 国产一区二区美女| 4438成人网| 蜜桃精品视频在线观看| 日韩欧美色综合| 国产一区二区三区黄视频| 久久精品一区二区三区av| 国产999精品久久久久久绿帽| 久久久亚洲精品一区二区三区| 国产一区欧美日韩| 国产精品久久久久7777按摩| 99国产精品国产精品久久| 一区二区欧美精品| 337p亚洲精品色噜噜狠狠| 日本中文一区二区三区| xf在线a精品一区二区视频网站| 国产一区二区导航在线播放| 国产精品久久久久久久久搜平片| 97久久精品人人爽人人爽蜜臀 | 亚洲高清三级视频| 日韩欧美www| 成人黄色av网站在线| 午夜国产精品一区| 26uuu国产日韩综合| 色婷婷久久久亚洲一区二区三区| 日韩电影在线免费观看| 中文字幕乱码亚洲精品一区| 欧美日韩在线精品一区二区三区激情| 日本不卡一区二区| 国产精品视频yy9299一区| 91久久精品网| 一个色在线综合| 国产精品影视天天线| 国产欧美精品一区二区色综合 | 亚洲电影一级片| 欧美视频在线一区| 日本中文字幕一区| 国产欧美日韩三区| 欧美精品一二三| 99久久精品免费看国产免费软件| 午夜欧美电影在线观看| 国产精品视频yy9299一区| 日韩午夜激情av| 一本色道久久综合亚洲91| 极品少妇xxxx精品少妇| 丝袜诱惑制服诱惑色一区在线观看 | 国产又黄又大久久| 三级欧美在线一区| 一区二区三区波多野结衣在线观看| 日韩美一区二区三区| 欧美日韩亚洲国产综合| 99久久精品情趣| 风间由美一区二区三区在线观看 | 欧美一区日韩一区| 欧美图区在线视频| 欧美色图在线观看| 91免费在线视频观看| 大陆成人av片| 成人综合在线观看| 国产a精品视频| 国产精品一二三| 国产精品一卡二卡| 国产成人在线视频网址| 国产精品 欧美精品| 国产精品一区免费在线观看| 国产精品自产自拍| 国产成人亚洲综合a∨婷婷图片| 国内外成人在线| 国产精品1区2区3区| 成人午夜视频网站| 99国产欧美久久久精品| av不卡在线观看| 在线视频综合导航| 欧美日韩精品电影| 欧美大胆一级视频| 国产午夜精品一区二区三区四区 | 色88888久久久久久影院按摩| 在线国产电影不卡| 在线成人av影院| 欧美va在线播放| 中文字幕一区二区三区乱码在线| 亚洲精品写真福利| 免费欧美在线视频| 国产91精品在线观看| 色综合天天视频在线观看| 欧美丰满嫩嫩电影| 久久人人97超碰com| 亚洲精品老司机| 狂野欧美性猛交blacked| 成人av网站在线| 欧美三级欧美一级| 久久久一区二区三区| 一个色妞综合视频在线观看| 精品一区精品二区高清| 91色综合久久久久婷婷|