/
objTransNetQuadDeg2.m
63 lines (50 loc) · 993 Bytes
/
objTransNetQuadDeg2.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
function val = objTransNetQuadDeg2(DM,nhubs,aux)
k = nhubs;
% k = 1;
sigma = 0.5;
epsilon = 0.01;
nvert = size(DM,2);
AM = (DM+DM' > 0);
degseq = sum(AM,2);
% AM = (DM > 0);
% degseq = sum(AM,2);
val = 0;
for i=1:nvert
for j=(i+1):nvert
if AM(i,j) == 1
val = val + degseq(i)*degseq(j);
end
end
end
% Esmax = buildSmaxGraph(degrees(AM));
% AMsmax= edgeL2adj(Esmax);
% AMsmax = symmetrize(AMsmax);
% sm = sMetric(AMsmax)/2;
% val = val/sm;
s = sCore(nvert,k);
% s = 171;
val = exp(-abs(val-s)/s);
% val = val/s;
% val = 1 - abs(val-s)/s;
if ~isempty(aux)
val = (val - aux(1))/(3*aux(2));
val = (val + 1)/2;
end
% val = val/(nvert*(nvert-1)/2);
% s = s/(nvert*(nvert-1)/2);
% if val <= s
% val = exp((val-s)/s);
% else
% val = 0;
% end
% val = 10*abs(val-s)/s;
% p = normcdf([val-epsilon val+epsilon]);
% val = p(2)-p(1);
% possK = 1:(2*k-1);
% l = 3;
% step = 2*l/(2*k-1);
% inter = -l:step:l;
%
% for i = 1:(2*k-1)
%
% end