软件老化
课程:软件质量分析
作业
解答
Python代码如下:
python">n = int(input("类别数:"))
theta = list(map(float, input("各个类别的权重:").split()))
m = list(map(int, input("各个类别的度量元数量:").split()))
R = []
BETA = []
for i in range(n):beta = list(map(float, input("第{0}个类别-各个度量元的权重:".format(i + 1)).split()))r = list(map(float, input("第{0}个类别-各个度量元的该时刻最大风险值:".format(i + 1)).split()))BETA.append(beta)R.append(r)import math
Hs = []
Us = []
for i in range(n):H = 0for j in range(m[i]):H += BETA[i][j] * math.log10(R[i][j])U = max(10 * math.exp(-H), 1)Hs.append(H)Us.append(U)print("各类别的熵:{0}".format(Hs))
print("各类别的可信值:{0}".format(Us))
T = 1
for i in range(n):T *= math.pow(Us[i], theta[i])
print("可信值:{0}".format(T))
运行结果如下:
python"># 当t=0时
类别数: 5
各个类别的权重: 0.539 0.125 0.238 0.049 0.049
各个类别的度量元数量: 15 4 7 2 2
第1个类别-各个度量元的权重: 0.0506 0.1845 0.0238 0.0238 0.0774 0.0774 0.0774 0.0238 0.0238 0.0506 0.0506 0.0238 0.0238 0.1042 0.1845
第1个类别-各个度量元的该时刻最大风险值: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
第2个类别-各个度量元的权重: 0.25 0.25 0.25 0.25
第2个类别-各个度量元的该时刻最大风险值: 1 1 1 1
第3个类别-各个度量元的权重: 0.2340 0.1064 0.1064 0.2340 0.1064 0.1064 0.1064
第3个类别-各个度量元的该时刻最大风险值: 1 1 1 1 1 1 1
第4个类别-各个度量元的权重: 0.2 0.8
第4个类别-各个度量元的该时刻最大风险值: 1 1
第5个类别-各个度量元的权重: 0.1 0.9
第5个类别-各个度量元的该时刻最大风险值: 1 1
各类别的熵:[0.0, 0.0, 0.0, 0.0, 0.0]
各类别的可信值:[10.0, 10.0, 10.0, 10.0, 10.0]
可信值: 10.0# 当t=10时
类别数: 5
各个类别的权重: 0.539 0.125 0.238 0.049 0.049
各个类别的度量元数量: 15 4 7 2 2
第1个类别-各个度量元的权重: 0.0506 0.1845 0.0238 0.0238 0.0774 0.0774 0.0774 0.0238 0.0238 0.0506 0.0506 0.0238 0.0238 0.1042 0.1845
第1个类别-各个度量元的该时刻最大风险值: 7 7 9 7 7 4 7 9 7 1 7 9 1 4 7
第2个类别-各个度量元的权重: 0.25 0.25 0.25 0.25
第2个类别-各个度量元的该时刻最大风险值: 7 7 7 9
第3个类别-各个度量元的权重: 0.2340 0.1064 0.1064 0.2340 0.1064 0.1064 0.1064
第3个类别-各个度量元的该时刻最大风险值: 7 10 7 9 4 10 4
第4个类别-各个度量元的权重: 0.2 0.8
第4个类别-各个度量元的该时刻最大风险值: 9 7
第5个类别-各个度量元的权重: 0.1 0.9
第5个类别-各个度量元的该时刻最大风险值: 7 9
各类别的熵: [0.7458799513127149, 0.8723841573705238, 0.8518824861842456, 0.8669269338992704, 0.9433280624968181]
各类别的可信值: [4.743167406123722, 4.1795389258142865, 4.266110860961348, 4.20240995313211, 3.893299624085329]
可信值: 4.481945667961918