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

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

?? genericmodel.java

?? dragontoolkit用于機器學習
?? JAVA
字號:
package dragon.ml.seqmodel.model;

import dragon.ml.seqmodel.data.DataSequence;
import java.util.*;

/**
 * <p>Generic model graph </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: IST, Drexel University</p>
 * @author Davis Zhou
 * @version 1.0
 */


public class GenericModel extends AbstractModel {
    private int _numStates;
    private Edge _edges[];  // edges have to be sorted by their starting node id.
    private int edgeStart[]; // the index in the edges array where edges out of node i start.
    private int startStates[];
    private int endStates[];
    private int myLabel;

    public GenericModel(String spec, int thisLabel) throws Exception {
        super(1,spec);
        myLabel = thisLabel;

        if (spec.endsWith("-chain") || spec.endsWith("-long")) {
            StringTokenizer tok = new StringTokenizer(spec,"-");
            int len = Integer.parseInt(tok.nextToken());
            _numStates = len;
            startStates = new int[1];
            startStates[0] = 0;
            edgeStart = new int[_numStates];
            if (len == 1) {
                _edges = new Edge[1];
                _edges[0] = new Edge(0,0);
                endStates = new int[1];
                endStates[0] = 0;
                edgeStart[0] = 0;
            } else {
                _edges = new Edge[2*(len-1)];
                for (int i = 0; i < len-1; i++) {
                    _edges[2*i] = new Edge(i,i+1);
                    _edges[2*i+1] = new Edge(i,len-1);
                    edgeStart[i] = 2*i;
                }
                _edges[_edges.length-1] = new Edge(len-2,len-2);
                endStates = new int[2];
                endStates[0] = 0; // to allow one word entities.
                endStates[1] = len-1;
            }
        }
        else if (spec.endsWith("parallel")) {
            StringTokenizer tok = new StringTokenizer(spec,"-");
            int len = Integer.parseInt(tok.nextToken());
            _numStates = len*(len+1)/2;
            _edges = new Edge[len*(len-1)/2 + 1];
            edgeStart = new int[_numStates];
            startStates = new int[len];
            endStates = new int[len];
            int node = 0;
            int e = 0;
            for (int i = 0; i < len; i++) {
                node += i;
                for (int j = 0; j < i; j++) {
                    _edges[e++] = new Edge(node+j,node+j+1);
                    edgeStart[node+j] = e-1;
                }
                startStates[i] = node;
                endStates[i] = node + i;
            }
            node += len;
            _edges[e++] = new Edge(_numStates-2, _numStates-2);
        }
        else if (spec.equals("boundary")) {
            // this implements a model where each label is either of a
            // Unique word (state 0) or broken into a Start state
            // (state 1) with a single token, Continuation state
            // (state 2) with multiple tokens (only state with
            // self-loop) and end state (state 3) with a single token.
            // The number of states is thus 4, and number of edges 4
            _numStates = 4;
            _edges = new Edge[4];
            _edges[0] = new Edge(1,2);
            _edges[1] = new Edge(1,3);
            _edges[2] = new Edge(2,2);
            _edges[3] = new Edge(2,3);
            startStates = new int[2];
            startStates[0] = 0;
            startStates[1] = 1;
            endStates = new int[2];
            endStates[0] = 0;
            endStates[1] = 3;
            edgeStart = new int[_numStates];
            edgeStart[0] = 4;
            edgeStart[1] = 0;
            edgeStart[2] = 2;
            edgeStart[3] = 4;
        }
        else {
            throw new Exception("Unknown graph type: " + spec);
        }
    }

    public int getLabel(int s) {
        return (myLabel == -1)?s:myLabel;
    }

    public GenericModel(int numNodes, int numEdges) throws Exception {
        super(numNodes,"");
        _numStates = numNodes;
        _edges = new Edge[numEdges];
    }

    public int getStateNum() {
        return _numStates;
    }

    public int getEdgeNum() {
        return _edges.length;
    }

    public int getStartStateNum() {
        return startStates.length;
    }

    public int getStartState(int i) {
        return (i < getStartStateNum())?startStates[i]:-1;
    }

    public int getEndStateNum() {
        return endStates.length;
    }

    public int getEndState(int i) {
        return (i < getEndStateNum())?endStates[i]:-1;
    }

    public boolean isEndState(int i) {
        // TODO -- convert this to binary search
        for (int k = 0; k < endStates.length; k++)
            if (endStates[k] == i)
                return true;
        return false;
    }

    public boolean isStartState(int i) {
        // TODO -- convert this to binary search
        for (int k = 0; k < startStates.length; k++)
            if (startStates[k] == i)
                return true;
        return false;
    }

    public EdgeIterator getEdgeIterator() {
        return new GenericEdgeIterator(_edges);
    }

    public boolean mapLabelToState(DataSequence data, int len, int start){
        for (int i = 0; i < getStartStateNum(); i++) {
            if (pathToEnd(data,getStartState(i),len-1,start+1)) {
                data.setLabel(start,getStartState(i));
                return true;
            }
        }
        return false;
    }

    private boolean pathToEnd(DataSequence data, int s, int lenLeft, int start) {
        int e, child;

        if (lenLeft == 0) {
            return isEndState(s);
        }
        for (e = edgeStart[s]; (e < getEdgeNum()) && (_edges[e].getStart() == s); e++) {
            child = _edges[e].getEnd();
            if (pathToEnd(data,child,lenLeft-1,start+1)) {
                data.setLabel(start,child);
                return true;
            }
        }
        return false;
    }

    private class GenericEdgeIterator implements EdgeIterator {
        private int edgeNum;
        private Edge edges[];

        public GenericEdgeIterator(Edge[] e) {
            edges = e;
            start();
        }

        public void start() {
            edgeNum = 0;
        }

        public boolean hasNext() {
            return (edgeNum < edges.length);
        }

        public Edge next() {
            edgeNum++;
            return edges[edgeNum-1];
        }

        public boolean nextIsOuter() {
            return true;
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久综合精品| 91精品福利在线一区二区三区 | 亚洲免费在线视频| 久久无码av三级| 精品久久久网站| 精品免费日韩av| ww久久中文字幕| 精品久久久久av影院| 精品国产乱码久久久久久闺蜜 | 亚洲一区二区三区中文字幕在线 | 成人性生交大片| 成人中文字幕电影| 粉嫩av一区二区三区| 波多野结衣欧美| 99国产精品国产精品毛片| 成人永久aaa| 不卡影院免费观看| 在线观看免费亚洲| 欧美日本韩国一区二区三区视频| 欧美日韩成人在线一区| 欧美电视剧免费全集观看| 久久久噜噜噜久久人人看| 国产精品久99| 午夜精品在线看| 国内精品国产成人国产三级粉色 | 久久亚洲私人国产精品va媚药| www激情久久| 亚洲色图欧美在线| 亚洲国产欧美一区二区三区丁香婷| 五月天一区二区| 韩国欧美国产1区| 成人国产精品视频| 欧美色欧美亚洲另类二区| 欧美一级理论性理论a| 国产亚洲精品精华液| 亚洲综合无码一区二区| 麻豆精品一区二区三区| 国产不卡在线播放| 欧美亚洲自拍偷拍| 精品国产污网站| 亚洲欧美偷拍卡通变态| 蜜桃视频一区二区| 93久久精品日日躁夜夜躁欧美| 欧美日韩成人激情| 国产欧美精品一区| 亚洲动漫第一页| 丰满白嫩尤物一区二区| 欧美日韩在线精品一区二区三区激情| 26uuu亚洲综合色欧美| 日韩伦理电影网| 精品一区二区三区久久| 色欧美片视频在线观看在线视频| 91精品国产一区二区三区| 欧美激情在线一区二区三区| 五月婷婷久久综合| 菠萝蜜视频在线观看一区| 91.麻豆视频| ...中文天堂在线一区| 丝袜美腿一区二区三区| 成人av网站在线| 日韩免费观看高清完整版在线观看| 国产精品国产三级国产有无不卡| 日韩中文欧美在线| 色综合久久久久久久久久久| 精品福利一二区| 五月婷婷综合激情| 99精品热视频| 久久久久久久久久久久久女国产乱| 夜夜精品视频一区二区| 粉嫩欧美一区二区三区高清影视| 欧美肥大bbwbbw高潮| 亚洲视频在线一区| 国产精品资源站在线| 欧美一区二区三区思思人| 亚洲欧美精品午睡沙发| 国产精品羞羞答答xxdd| 欧美一级二级在线观看| 亚洲国产综合视频在线观看| 91免费看片在线观看| 国产日韩一级二级三级| 国精产品一区一区三区mba视频| 欧美日韩在线免费视频| 亚洲制服丝袜一区| 91亚洲精品久久久蜜桃| 欧美国产激情一区二区三区蜜月| 日韩av中文字幕一区二区三区| 欧洲国产伦久久久久久久| 国产精品国产三级国产aⅴ入口| 国产综合久久久久久久久久久久| 欧美伦理视频网站| 图片区日韩欧美亚洲| 欧美午夜一区二区三区| 亚洲精品国产无天堂网2021| eeuss鲁片一区二区三区在线看| 久久综合久久综合久久| 久久国产免费看| 日韩精品一区二区三区四区| 男女性色大片免费观看一区二区| 9191国产精品| 日韩国产欧美在线播放| 欧美久久久久免费| 男女性色大片免费观看一区二区| 7777精品伊人久久久大香线蕉完整版 | 久久久亚洲午夜电影| 国产美女精品在线| 久久亚洲私人国产精品va媚药| 国产一区二区三区黄视频 | 狠狠色综合色综合网络| 久久综合色天天久久综合图片| 国产自产视频一区二区三区| 亚洲精品一区二区三区99| 国产一区二区不卡| 国产色产综合色产在线视频| 成人国产一区二区三区精品| 成人免费在线观看入口| 在线免费观看日本一区| 亚洲高清免费观看| 日韩午夜中文字幕| 精品一二三四区| 中文字幕成人在线观看| 91网站黄www| 天天色综合成人网| 欧美成人在线直播| 国产成人在线视频网站| 亚洲欧美偷拍卡通变态| 欧美高清性hdvideosex| 久久99精品久久久久| 国产精品人人做人人爽人人添| 97精品电影院| 日韩avvvv在线播放| 欧美精品一区二区高清在线观看| 国产高清久久久久| 亚洲黄色小视频| 91麻豆精品国产自产在线 | 欧美成人性福生活免费看| 国产高清一区日本| 亚洲精品你懂的| 日韩欧美电影在线| 成人网页在线观看| 亚洲午夜在线视频| 欧美va亚洲va国产综合| zzijzzij亚洲日本少妇熟睡| 亚洲va国产天堂va久久en| 精品免费日韩av| 一本久道久久综合中文字幕| 青青草成人在线观看| 国产精品三级av在线播放| 欧美色电影在线| 国产成人午夜片在线观看高清观看| 亚洲欧美日韩系列| 精品久久人人做人人爱| 色婷婷综合久久久久中文一区二区 | 精品国产电影一区二区| aaa亚洲精品| 裸体在线国模精品偷拍| 亚洲男同性视频| 精品捆绑美女sm三区| 91麻豆国产香蕉久久精品| 久久精品国产久精国产| 亚洲乱码国产乱码精品精小说| 日韩欧美久久一区| 色婷婷久久久综合中文字幕| 精品在线观看视频| 亚洲综合男人的天堂| 国产亚洲综合色| 色偷偷久久人人79超碰人人澡| 国精产品一区一区三区mba桃花 | 亚洲大片一区二区三区| 久久九九99视频| 欧美一区日本一区韩国一区| 91天堂素人约啪| 国内精品伊人久久久久影院对白| 亚洲一区二区在线免费观看视频 | 国产一区二区三区国产| 亚洲国产你懂的| 最新中文字幕一区二区三区 | 奇米一区二区三区| 一区二区三区免费看视频| 久久综合久色欧美综合狠狠| 91麻豆精品国产无毒不卡在线观看| 91久久人澡人人添人人爽欧美| 国产激情一区二区三区| 裸体一区二区三区| 香蕉久久夜色精品国产使用方法 | 亚洲一区在线观看网站| 亚洲欧洲国产日韩| 亚洲欧美激情视频在线观看一区二区三区 | 日本在线不卡一区| 亚洲午夜久久久久久久久久久| 国产精品久久看| 亚洲国产精品传媒在线观看| 26uuu久久综合| 日韩一区二区三免费高清| 欧美片在线播放| 欧美影院精品一区| 在线亚洲一区二区| 一本到高清视频免费精品| 91在线观看免费视频| www.欧美日韩| 92精品国产成人观看免费|