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

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

?? mk_nbrs_of_dag_topo.m

?? structure EM算法 bayesian network structure learning
?? M
字號:
function [new_nbrs, new_ops, new_nodes, new_topos] = mk_nbrs_of_dag_topo(G0)
% MK_NBRS_OF_DAG_TOPO Make all DAGs that differ from G0 by a single edge deletion, addition or reversal
% [new_nbrs, new_ops, new_nodes, new_topos] = mk_nbrs_of_dag_topo(G0)
%
% new_nbrs{i} is the i'th neighbor of G0.
% new_ops{i} = 'add', 'del', or 'rev' is the operation used to create the i'th neighbor.
% new_nodes(i,1:2) are the head and tail of the operated-on arc.
% new_topos are topological orders of the neighbours.
%
% We implement the fast acyclicity check described by P. Giudici and R. Castelo,
% "Improving MCMC model search for data mining", submitted to J. Machine Learning, 2001.
%
% Written by Qian Diao <qian.diao@intel.com> on 19 Nov 01
% Reference are ..\BNT\graph\mk_nbrs_of_dag.m, ..\BNT\learning\learn_struct_mcmc.m and 
% ..\BNT\graph\topological_sort.m
% Copyright Intel 2001
%
new_nbrs = {};
new_ops = {};
new_nodes = [];
new_topos = {};
cs = {};

n = length(G0);
indeg = zeros(1,n);
zero_indeg = []; % a stack of nodes with no parents
for i=1:n
  indeg(i) = length(parents(G0,i));
  cs{i} = children(G0, i); 
  if indeg(i)==0
    zero_indeg = [i zero_indeg];
  end
end

dag = G0;
[nbrs, ops, nodes] = mk_nbrs_of_digraph(dag);
A = init_ancestor_matrix(dag);
%assert(acyclic(new_dag));

d1 = 1;
for d = 1:length(ops)
  i = nodes(d, 1); j = nodes(d, 2);
  legal = 0;
  switch opsbbdcmwo
   case 'add',
    if A(i,j)==0
      legal = 1;
    end
   case 'del',
    legal = 1;
   case 'rev',
    ps = mysetdiff(parents(dag, j), i);
    % if any(A(ps,i)) then there is a path i -> parent of j -> j
    % so reversing i->j would create a cycle
    legal = ~any(A(ps, i));
  end
  
  if legal 
    tmp = nbrs(:,:,d);
    new_nbrs{d1} = tmp;
    new_ops{d1} =  opsrgblony;
    new_nodes(d1,1:2) = nodes(d,1:2);
    
    % obtain the topological orders of neighbour dags
    zero_indeg_nbr = [];
    indeg_nbr = [];
    cs_nbr = [];
    
    switch opsawnmscf
     case 'add' % i is a new parent of j 
      zero_indeg_nbr = zero_indeg;
      indeg_nbr = indeg;  
      if ~isempty(find(zero_indeg == j)) % j is not a root anymore   
        zero_indeg_nbr = mysetdiff(zero_indeg, j); 
      end   
      indeg_nbr(j) = indeg(j)+1;
      
      t_nbr=1;
      order_nbr = zeros(1,n);
      while ~isempty(zero_indeg_nbr)
        v_nbr = zero_indeg_nbr(1); % pop v
        zero_indeg_nbr = zero_indeg_nbr(2:end);
        order_nbr(t_nbr) = v_nbr;
        t_nbr = t_nbr + 1;
        if v_nbr == i % j is a new child of i
          cs_nbr = sort([j cs{i}]);
        else
          cs_nbr = cs{v_nbr};
        end  
        for k = 1:length(cs_nbr)
          c_nbr = cs_nbr(k);
          indeg_nbr(c_nbr) = indeg_nbr(c_nbr) - 1;
          if indeg_nbr(c_nbr) == 0
            zero_indeg_nbr = [c_nbr zero_indeg_nbr]; % push c 
          end
        end
      end
      
     case 'del' % i is not a parent of j anymore
      zero_indeg_nbr = zero_indeg; 
      indeg_nbr = indeg;  
      if length(parents(tmp, j))==0  
        zero_indeg_nbr = -sort(-[zero_indeg, j]); % descending order
      end   
      indeg_nbr(j) = indeg(j) - 1;
      
      t_nbr=1;
      order_nbr = zeros(1,n);
      while ~isempty(zero_indeg_nbr)
        v_nbr = zero_indeg_nbr(1); % pop v
        zero_indeg_nbr = zero_indeg_nbr(2:end);
        order_nbr(t_nbr) = v_nbr;
        t_nbr = t_nbr + 1;
        if v_nbr == i % j is not a child of i anymore
          cs_nbr = mysetdiff(cs{i}, j);
        else
          cs_nbr = cs{v_nbr};
        end  
        for k = 1:length(cs_nbr)
          c_nbr = cs_nbr(k);
          indeg_nbr(c_nbr) = indeg_nbr(c_nbr) - 1;
          if indeg_nbr(c_nbr) == 0
            zero_indeg_nbr = [c_nbr zero_indeg_nbr]; % push c 
          end
        end
      end
      
     case 'rev' %i is a new child of j and j is a new parent of i
      zero_indeg_nbr = zero_indeg;  
      indeg_nbr = indeg;
      if ~isempty(find(zero_indeg == i))    
        zero_indeg_nbr = mysetdiff(zero_indeg_nbr, i); 
      end   
      if length(parents(tmp, j))==0  
        zero_indeg_nbr = -sort(-[zero_indeg_nbr, j]); % decending order
      end   
      indeg_nbr(i) = indeg(i)+1;
      indeg_nbr(j) = indeg(j)-1;
      
      t_nbr=1;
      order_nbr = zeros(1,n);
      while ~isempty(zero_indeg_nbr)
        v_nbr = zero_indeg_nbr(1); % pop v
        zero_indeg_nbr = zero_indeg_nbr(2:end);
        order_nbr(t_nbr) = v_nbr;
        t_nbr = t_nbr + 1;
        cs_nbr = cs{v_nbr};
        if v_nbr == i % j is not a child of i anymore
          cs_nbr = mysetdiff(cs{i}, j);
        end
        if v_nbr == j % i is a new child of j  
          cs_nbr = sort([i cs{j}]); 
        end  
        for k = 1:length(cs_nbr)
          c_nbr = cs_nbr(k);
          indeg_nbr(c_nbr) = indeg_nbr(c_nbr) - 1;
          if indeg_nbr(c_nbr) == 0
            zero_indeg_nbr = [c_nbr zero_indeg_nbr]; % push c 
          end
        end
      end
     end  
     
    new_topos{d1} = order_nbr; 
    d1 = d1+1;
  end 
end

clear nbrs ops nodes;



%%%%%%%%%

function A = update_row(A, j, dag)

% We compute row j of A
A(j, :) = 0;
ps = parents(dag, j);
if ~isempty(ps)
  A(j, ps) = 1;
end
for k=ps(:)'
  anck = find(A(k,:));
  if ~isempty(anck)
    A(j, anck) = 1;
  end
end
  
%%%%%%%%

function A = init_ancestor_matrix(dag)

order = topological_sort(dag);
A = zeros(length(dag));
for j=order(:)'
  A = update_row(A, j, dag);
end

   

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产一二三| 91一区二区三区在线观看| 不卡视频在线看| 欧美日韩国产精品自在自线| 国产亚洲女人久久久久毛片| 一区二区三区高清在线| 国产综合色视频| 欧美挠脚心视频网站| 国产精品福利一区二区| 激情五月婷婷综合网| 欧美日韩一区高清| 成人欧美一区二区三区白人 | 国产精品丝袜黑色高跟| 肉色丝袜一区二区| 在线看一区二区| 国产精品美女久久久久久久久 | 精品在线播放免费| 欧美巨大另类极品videosbest| 中文天堂在线一区| 国产成人超碰人人澡人人澡| 精品久久人人做人人爽| 水蜜桃久久夜色精品一区的特点| 在线一区二区三区| 亚洲乱码国产乱码精品精的特点| 成人午夜电影久久影院| 久久精品一区二区三区四区 | 亚洲精品高清在线| 99re成人在线| 国产精品视频免费看| 国产成人精品网址| 久久精品夜色噜噜亚洲aⅴ| 久久激五月天综合精品| 日韩欧美成人午夜| 国产一区在线观看视频| 欧美www视频| 国产精品综合在线视频| 欧美高清在线一区二区| 成人app在线| 日韩伦理av电影| 色av成人天堂桃色av| 亚洲成人一区二区| 在线不卡中文字幕播放| 日韩 欧美一区二区三区| 日韩一级完整毛片| 国产一区二区三区在线观看精品| 国产婷婷精品av在线| 福利电影一区二区三区| 亚洲三级在线看| 欧美日韩免费视频| 久久综合综合久久综合| 精品国产髙清在线看国产毛片| 国产一区在线观看麻豆| 综合激情成人伊人| 91国产视频在线观看| 日韩国产精品久久久| 久久久久久99精品| 91福利社在线观看| 男男成人高潮片免费网站| 国产欧美一区二区精品婷婷| 色综合久久久久久久久久久| 亚洲一区二区欧美激情| 欧美精品一区在线观看| 99免费精品视频| 日韩高清在线不卡| 国产精品久久久久三级| 欧美日韩国产精选| 国产.欧美.日韩| 亚洲一区二区三区视频在线播放| 欧美精品一区二| 色欧美日韩亚洲| 激情五月激情综合网| 亚洲另类在线一区| 久久先锋影音av鲁色资源网| 在线观看不卡一区| 国产成人久久精品77777最新版本| 亚洲免费在线视频| 久久伊人蜜桃av一区二区| 色综合久久88色综合天天免费| 美女视频黄免费的久久| 亚洲欧美激情小说另类| 日韩精品一区二区在线观看| 在线视频亚洲一区| 国产成人av在线影院| 蜜臀av在线播放一区二区三区| 中文av一区二区| 精品理论电影在线| 欧美精品在线观看播放| av成人老司机| 国产高清不卡二三区| 日韩影视精彩在线| 亚洲午夜免费电影| 亚洲人成小说网站色在线| 国产亚洲欧美日韩日本| 日韩视频一区二区三区 | 青草av.久久免费一区| 欧美视频一区二区三区四区 | 欧美日韩久久久| 成人精品小蝌蚪| 久久99国产精品免费网站| 樱桃视频在线观看一区| 国产精品麻豆久久久| xnxx国产精品| 日韩欧美国产电影| 欧美理论片在线| 在线一区二区视频| 99久久综合精品| 成人精品国产免费网站| 丁香网亚洲国际| 国产超碰在线一区| 国产精品一级在线| 国产成人鲁色资源国产91色综| 极品少妇xxxx精品少妇| 久久精品久久99精品久久| 日韩国产高清影视| 蜜桃久久av一区| 精品一区二区三区久久久| 激情小说欧美图片| 国产一区二区毛片| 国产成人精品一区二区三区网站观看 | 亚洲成人资源在线| 日韩国产欧美一区二区三区| 日本在线播放一区二区三区| 日韩综合在线视频| 麻豆久久久久久久| 国产麻豆午夜三级精品| 国产福利电影一区二区三区| 国产精品一二一区| 91无套直看片红桃| 欧美自拍丝袜亚洲| 91精品黄色片免费大全| 欧美va亚洲va在线观看蝴蝶网| 久久久久久麻豆| 国产精品成人免费在线| 亚洲精品高清在线| 奇米色777欧美一区二区| 精品伊人久久久久7777人| 国产成人自拍网| 99精品欧美一区二区三区小说| 色综合天天综合网天天狠天天| 欧美视频在线播放| 久久婷婷色综合| 亚洲丝袜制服诱惑| 日韩精品欧美成人高清一区二区| 九色|91porny| 91偷拍与自偷拍精品| 777xxx欧美| 中文一区二区在线观看| 亚洲精品久久7777| 久久99精品一区二区三区三区| 不卡视频一二三四| 欧美一三区三区四区免费在线看| 精品第一国产综合精品aⅴ| 日韩一区中文字幕| 久久精品理论片| 日本精品视频一区二区| 精品国产乱子伦一区| 亚洲免费三区一区二区| 蜜桃久久久久久久| 色丁香久综合在线久综合在线观看| 9191成人精品久久| 亚洲天堂精品视频| 狠狠色丁香久久婷婷综合_中| 91色视频在线| 国产调教视频一区| 麻豆国产欧美日韩综合精品二区| 99久久婷婷国产精品综合| 日韩美女视频在线| 亚洲影院理伦片| 成人激情午夜影院| 亚洲精品一区二区精华| 日韩中文字幕1| 欧美伊人久久久久久久久影院| 国产欧美一区二区精品性色| 日韩电影免费在线看| 色综合色综合色综合 | 亚洲欧洲精品成人久久奇米网| 免费一级片91| 欧美日韩在线直播| 亚洲免费观看视频| www.av精品| 亚洲国产高清不卡| 国产在线视频一区二区| 69p69国产精品| 午夜精品久久久久久久99水蜜桃| 99综合影院在线| 国产精品三级久久久久三级| 精品一区二区三区欧美| 日韩欧美中文字幕一区| 午夜精品福利久久久| 色婷婷久久久综合中文字幕| 中文字幕欧美日本乱码一线二线| 国产一区二区三区综合| 久久久蜜桃精品| 韩国一区二区三区| 精品1区2区在线观看| 久久97超碰色| 精品人在线二区三区| 久草中文综合在线| 精品卡一卡二卡三卡四在线| 久久99久久精品|