资源简介
首先说一句抱歉,因为这个资源是考试结束后上传的,所以报告弄丢了,但是代码还在,而且经过TA验收,可以正常运行,这个实验是关于贝叶斯网络的问题。
实验内容:
参照课程第五部分讲授的贝叶斯网络完成,给定事件和事件之间的关系,并且给出每个事件的CPT图,根据贝叶斯公式根据上述条件求出目标概率,编写程序实现基于贝叶斯网络的推理。在这里用到的贝叶斯算法是建立在有向无环图和CPT表的技术上实现的。
代码片段和文件信息
package bayes;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
public class Lab3class {
public static void main(String[] args) {
ArrayList arrayList = new ArrayList<>();//人名列表
ArrayList arrayList2 = new ArrayList<>();//问题列表
double [] P;
File f1f2;
System.out.println(“请输入文件名称\n“);
f1 = new File(“carnetwork.txt“);
f2 = new File(“carqueries.txt“);
Note cpt = geteverycpt(f1arrayList);
arrayList2 = getquestion(f2);
double[] pro;//存全概率
pro = allpro(cpt);
// for(int i = 0;i < Math.pow(2 cpt.count);i++){
// System.out.println(pro[i]);
// }
for(int i=0;i < arrayList2.size();i++){
P=getPT(arrayList2.get(i) cptarrayListpro);
System.out.println(“P(“+arrayList2.get(i)+“) = \n : “+P[0]+“ : “+P[1]);
}
}
/*
*查询概率并输出
*/
public static double[] getPT(String questionNote cptArrayList arrayListdouble[] pro){
String[] strings=question.split(“ \\| “);
double[] answer=new double[2];
int count=arrayList.indexOf(strings[0]);//前面的Note序号
if(cpt.q[count]==0){
answer[0]=cpt.t[0][0][count];
answer[1]=cpt.t[0][1][count];
}
else{
String[] strings2=strings[1].split(“ “);
String[] strings3;
int sum=0;
int[] count2=new int[strings2.length];//条件Note序号
int [] TF=new int[strings2.length];//存储是t还是f
for(int i=0;i strings3=strings2[i].split(“=“);
count2[i]=arrayList.indexOf(strings3[0]);
if(strings3[1].contains(“true“)){
TF[i]=1;
}
else{
TF[0]=0;
}
}
double[] p1=compute(pro count2 TF countcpt);
double[] p2=compute(pro count2 TF -1cpt);
answer[0]=p1[0]/p2[0];
answer[1]=p1[1]/p2[0];
//System.out.println(answer[0]+“ “+answer[1]);
}
return answer;
}
/*
* 处理问题文本并返回问题
*/
public static ArrayList getquestion(File file){
ArrayList arrayList=new ArrayList<>();
BufferedReader bfr1;
try {
bfr1=new BufferedReader(new FileReader(file));
String string;
while((string=bfr1.readLine())!=null){
String[] strings=string.split(“P\\(“);
if (strings.length == 0) {
continue;
}
for(int i=1;i arrayList.add(strings[i].substring(0(strings[i].length()-1)));
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println(“未找到文件!\n“);
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println(“read不了\n“);
}
return arrayList;
}
/*
* 处理贝叶斯网络文本并返回概率表
*/
public static Note geteverycpt(File fileArrayList arrayList){
int count;//变量个数
Note xinxi=new Note();
BufferedReader bfr1;
try {
//读取
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-04 10:18 lab3\
文件 232 2018-11-04 09:24 lab3\.classpath
文件 380 2018-11-04 09:24 lab3\.project
目录 0 2018-11-04 09:25 lab3\bin\
目录 0 2018-11-04 09:32 lab3\bin\bayes\
文件 8569 2018-11-04 11:30 lab3\bin\bayes\Lab3class.class
文件 530 2018-11-04 09:33 lab3\bin\bayes\Note.class
文件 216 2013-07-15 12:44 lab3\burglarnetwork.txt
文件 180 2013-07-15 12:44 lab3\burglarqueries.txt
文件 962 2018-11-04 10:20 lab3\carnetwork.txt
文件 172 2018-11-04 11:10 lab3\carqueries.txt
目录 0 2018-11-04 09:25 lab3\src\
目录 0 2018-11-04 10:18 lab3\src\bayes\
文件 216 2013-07-15 12:44 lab3\src\bayes\burglarnetwork.txt
文件 180 2013-07-15 12:44 lab3\src\bayes\burglarqueries.txt
文件 8734 2018-11-04 11:30 lab3\src\bayes\Lab3class.java
文件 281 2018-11-04 09:33 lab3\src\bayes\Note.java
文件 162 2018-10-28 08:40 lab3\~$智能——实验大纲3.docx
文件 66430 2018-10-16 11:38 lab3\人工智能——实验大纲3.docx
相关资源
- AI人工智能学习资料全套
- 超详细课件哈工大第七版理论力学
- 用户网络行为画像 大数据中的用户网
- 中科院自动化所历年模式识别博士题
- 华南理工大学人工智能期末考试卷
- 哈工大威海-嵌入式实验报告答案
- 卫星通信知识点总结不包含计算题
- LabVIEW实现Fuzzy_PID的补充资源
- 哈工大单片机教材课后答案张毅刚编
- 微信小程序Demo/---欧拉蜜自然语言理解
- 微信小程序完整Demo--支持人工智能对
- 艾媒-2017年中国人工智能产业专题研究
- 工信部人工智能产业人才岗位能力标
- AMiner:2018年人工智能之自动驾驶研究
- 艾瑞咨询:2018年中国人工智能+金融行
- 2019技术趋势:人工智能报告
- 法院行业方案宣讲稿-海康
- 哈工大深圳NLP考试参考
- 8.2 心智探奇 人类心智的起源与进化
- 哈工大威海编译原理实验报告和源代
- 哈工大威海-编译原理实验报告和源码
- 哈工大自然语言处理课件及实验
- 人工智能尼尔森,2003,第1版
- 哈工大五个校区校园导航
- 乌镇指数全球人工智能发展报告2017投
- 模式识别之特征选择
- springMVC的学习代码
- 人工智能全部课件和作业题
- 哥德尔、艾舍尔、巴赫——集异璧之
- 西电人工智能课件
评论
共有 条评论