项目简介
本项目提出DConBN,这是一种基于优化IDA星的贝叶斯网络学习研究方法。它通过逆序图构建搜索树,采用位向量和位操作提高变量修改效率,使用线性表存储搜索节点以减少内存占用,还通过分枝剪除减少低效路径上的搜索。实验显示,DConBN算法处理更多变量数据时,能显著提升精确度和运行效率。
项目的主要特性和功能
- 优化IDA星算法:利用逆序图构建搜索树,通过位向量和位操作提高变量修改效率。
- 深度优先搜索:拓展时进行深度优先搜索,忽略不符合估计函数的节点,降低无效搜索开销。
- 线性表存储:以线性表作为搜索节点存储结构,保存节点唯一标志信息,减少内存占用。
- 分枝剪除:依据贝叶斯网络特点对搜索图进行分枝剪除,减少低效路径搜索。
- 多线程计算:采用多线程方式计算每个cliques的分数,提高计算效率。
- 评分缓存:处理贝叶斯网络的评分信息,包括读取和写入评分缓存、处理变量及评分等任务。
安装使用步骤
环境配置
- 操作系统:Ubuntu 18.04 x64
- 编译器:gcc - 4.8.5 和 g++ - 4.8.5
- 库:Boost 1.63.0
- 构建工具:Bazel 0.4.5
安装依赖
bash
sudo apt-get install -y gcc-4.8 g++-4.8
sudo apt-get install libboost1.63-all-dev
sudo apt-get install bazel
编译项目
bash
cd DConBN
make
运行项目
bash
./astar-debug asia_s500_v1.pss
获取PSS成绩文件
bash
score asia_s500_v1.csv asia_s500_v1.pss
生成贝叶斯网络
bash
./astar-debug asia_s500_v1.pss
生成混淆矩阵
bash
gcc Cmatrix.cpp -lstdc++ -o Cmatrix
./Cmatrix asiagraph.txt asia_s500_v1_network.txt
通过上述步骤,可成功安装并运行本系统,进行贝叶斯网络的构建、评分计算和性能评估。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】