作者Murphy提出了综合平均法来组合多个BOE,大体的步骤如下:

(1):将给定的BOE进行平均,获得各个BPA的平均质量averageMass。
(2):利用Dempster的组合规则将(1)求得的平均质量进行组合,并且组合(n-1)次。n为BOE的个数。

代码注解:因为当时没有足够的时间,所以aberageMass平均质量是直接给出的,例子就是采用的该Paper上的例子

#1、先写出结果的形式
x_result={"A":0,"A|B":0,"B":0,"Ω":0,"empty":0}
#2、输入平均值,为了节省时间,就直接给出average
#average={"A":0.58,"A|B":0,"B":0.4,"Ω":0.02,"empty":0}#3 抽取每一个证据源中的焦元,返回一个集合
def focal_Element(m_dict):key_m=[];m_key=m_dict.keys();for item in m_key:key_m.append(item)keym_set=set(key_m);return keym_set;
#4、计算m_empty,直接返回值
def computeEmpty(m_1,m_2):F1=focal_Element(m_1);F2=focal_Element(m_2);# 构造空集合theta_set1 = set();theta_set2 = set();empty = set();m_empty = 0.00for item1 in F1:theta_set1.update(item1);for item2 in F2:theta_set2.update(item2);if (theta_set1.intersection(theta_set2) == empty):m_empty += m_1[item1] * m_2[item2];theta_set2.clear();theta_set1.clear();return m_empty;
#5、计算 m_intersection,返回计算好的。
def computeInter(m_1,m_2):F1=focal_Element(m_1);F2=focal_Element(m_2);#thetaSet=F2;thetaSet=focal_Element({"A": 0, "AB": 0, "C": 0, "BC":0,"B":0})#空集合f1_set=set();f2_set=set();strSet=set();inter=dict();for item0 in thetaSet:strSet.update(item0);sum=0.00for item1 in F1:f1_set.update(item1);for item2 in F2:f2_set.update(item2);if(f1_set.intersection(f2_set)==strSet):sum+=m_1[item1]*m_2[item2];f2_set.clear();f1_set.clear();if item0 in inter:inter[item0]=sum;else:inter[item0] = sum;#inter.update(dict.fromkeys(item0,sum));strSet.clear();return inter;
# n:迭代次数
# avgSet:初始的average
def weightAvg(n,avgSet):for i in range(1,n):if(i==1):diedai=computeInter(avgSet,avgSet);#返回没有归一化的交集k=computeEmpty(avgSet,avgSet);#冲突质量k=1/(1-k);#归一化处理for item in diedai.keys():if item in diedai:value_=round(diedai[item]*k,4);diedai[item]=value_;diedai_0 = diedai;print("第 {0} 次迭代结果:{1}".format(i,diedai));else:diedai_1=computeInter(diedai_0,avgSet);k=computeEmpty(diedai_0,avgSet);k=1/(1-k);#归一化处理for item in diedai_1:if item in diedai_1:value_=round(diedai_1[item]*k,4);diedai_1[item]=value_;#diedai_0.clear();print("第 {0} 次迭代结果:{1}".format(i, diedai_1));diedai_0=diedai_1;#diedai_1.clear();
if __name__ == '__main__':n=2;#average_ = {"A": 0.58, "A|B": 0, "B": 0.4, "Ω": 0.02, "empty": 0}# average_ = {"A": 0.7, "A|B": 0, "B": 0.25, "Ω": 0.05, "empty": 0}average_ = {"A": 0.25, "AB": 0.25, "C": 0.25, "BC":0.25,"B":0}weightAvg(n,average_);

入门文献复现——Murphy C K——Combining belief functions when evidence conflicts相关推荐

  1. 文献记录(part27)--A distance for belief functions of orderable set

    学习笔记,仅供参考,有错必纠 关键词:信念函数:距离度量:有序集:犹豫模糊语言集 不是研究领域,也看不懂,仅仅是记录一下- A distance for belief functions of ord ...

  2. Linux pwn入门教程,i春秋linux_pwn入门教程复现之栈溢出基础

    i春秋linux_pwn入门教程复现之栈溢出基础 演示进程总览 1: main函数 2: hello函数 3: getShell函数 函数的入栈和出栈 1: F2断点于call hello 启动IDA ...

  3. 【文献复现】-氧还原反应塔菲尔斜率绘制(文献阅读)

    氧还原反应塔菲尔斜率绘制 氧还原反应模型 模型复现 本文主要是记录文献阅读与文献复现的内容,所阅读的文献为:Shinagawa_2015_Nature_Insight on Tafel slopes ...

  4. Seurat-单细胞文献复现第二弹-01

    A single-cell map of intratumoral changes during anti-PD1 treatment of patients with breast cancer h ...

  5. Seurat-单细胞文献复现第二弹-02

    A single-cell map of intratumoral changes during anti-PD1 treatment of patients with breast cancer h ...

  6. 一级化学反应多步骤Fluent仿真文献复现(三维、多孔介质催化剂表面反应)

    个人觉得化学反应在COMSOL里面的设置是比较简单直接的,但在Fluent里面就显得复杂挺多,在此记录下本人在文献复现的思路和软件的设置过程,关于文献中的方程组,在此先不做深入的考究. 参考文献:10 ...

  7. flexlm破解入门文献列表

    flexlm破解入门文献列表 许可证管理(License manager)实现软件保护是一种软保护,不象dongle 那样需要硬设备,这样其维护和升级都很方便,比如要实现试用版.演示版.正版的转换,只 ...

  8. 多模态机器学习入门——文献阅读(一)Multimodal Machine Learning: A Survey and Taxonomy

    文章目录 说明 论文阅读 Abstract Introduction Introduction总结 Applications:A Historical Perspective 补充与总结 3 MULT ...

  9. 算法入门刷题笔记 Day2 K - Coat of Anticubism L - Five-In-a-Row M - Island Puzzl......

    写在前面 好久没更新公众号和博客了,因为最近在研究新的方向,所以很少发文. 笔者接触编程只有一年,这一年间主要研究启发式算法在运筹学中的应用.但是由于编程基础薄弱,在进一步研究复杂运筹学问题时发现基础 ...

最新文章

  1. 模型优化的风向标:偏差与方差
  2. r k-means 分类结果_机器学习-Kmeans均值聚类算法(贪心学院)
  3. matlab打开figure2,matlab figure2无法输出图形
  4. Arcgis 10.1安装
  5. 用 Windows Live Writer [最新版本] 发布 51CTO 博客
  6. java web 局部刷新页面_如何实现页面局部刷新(Java)
  7. 机器学习-联合概率分布笔记
  8. isis宣告网络_ISIS协议及其配置
  9. Linux 中的TAB键名字补全使用方法
  10. 如何自动执行Excel的多次替换--Excel批量替换工具
  11. Flowable 数据库表结构 ACT_GE_BYTEARRAY
  12. Darknet 轻量级深度学习训练框架
  13. 红豆集团推出首家无人服装零售店,跟无人便利店有何不同?
  14. Adobe Flash Builder 4.5的安装
  15. python lxf
  16. caffe中layer的一些特殊操作,比如split
  17. 企业与员工间的相互认同
  18. 开放·凝聚·激励 :云和恩墨2019年中团建圆满结束
  19. 【运维技术面试】nginx调优你都做过哪些?
  20. Carbide 破解ARM编译器方法

热门文章

  1. Java中找出缺失的数字
  2. 以太坊Ropsten测试网合并意味着什么?
  3. 学习通考试刷题(ocs网课助手)
  4. 导出excel工具类
  5. 自己封装的poi操作Excel工具类
  6. 大数据入门之分布式计算框架Spark(2) -- Spark SQL
  7. 多路径路由算法选择(2)——回顾传统的动态路由协议(RIP、OSPF、BGP、IGRP、EIGRP、IS-IS)
  8. 软碟通(UltraISO)刻录光盘以及制作U盘启动盘教程
  9. 在深圳办理计划生育服务证的过程
  10. 全球与中国PMN-PT单晶市场深度研究分析报告