资源简介
实验一 掌握符号主义推理原理,编程实现置换合一
实验二 状态空间搜索:传教士与野人问题求解
实验三 启发式搜索算法:斑马属谁问题求解
实验四 ID3算法:客户分类与预测
实验一 掌握符号主义推理原理,编程实现置换合一
实验二 状态空间搜索:传教士与野人问题求解
实验三 启发式搜索算法:斑马属谁问题求解
实验四 ID3算法:客户分类与预测

代码片段和文件信息
#include
#include
#include
#include
#include
#include
using namespace std;
const int maxn=3002;
set se1se2;
int IBV[8]={01234567};
int FPV[120]fnum;
int LPV[25]lnum;
struct Example{
int IB;
int FP;
int LP;
int res;
Example(int IB=0int FP=0int LP=0int res=0):
IB(IB)FP(FP)LP(LP)res(res){}
}example[maxn];
int num;
struct Node{
bool isleaf; /**是否是叶子节点**/
int responded; /**类别**/
int property; /**属性**/
struct Node* son; /**属性值对应的孩子节点**/
int Size; /**包含孩子节点数大小**/
};
class ID3{
private:
Node *root; /**根节点**/
int record[maxn]vis[3]; /**record标记每条记录vis标记每种属性**/
int PE[120]NE[120]; /**PE记录正例个数NE记录反例个数**/
public:
ID3(){
root=(Node *)malloc(sizeof(Node));
root->son=NULL;
root->Size=0;
memset(record0sizeof(record));
memset(vis0sizeof(vis));
}
void Destroy(Node* r){
if(r->son!=NULL){
for(int i=0;iSize;i++) Destroy(&(r->son[i]));
free(r->son);
}
}
~ID3(){
Destroy(root);
free(root);
}
/**============================================**/
/**计算正例和反例的个数**/
void CalExample(int stepint& aint& b){
for(int i=0;i if(record[i]!=step) continue;
if(example[i].res==0) a++;
else b++;
}
}
/**设置标记**/
void SetRecord(int chooseint iint d){
for(int j=0;j if(choose==0&&example[j].IB==IBV[i]) record[j]+=d;
else if(choose==1&&example[j].FP==FPV[i]) record[j]+=d;
else if(choose==2&&example[j].LP==LPV[i]) record[j]+=d;
}
}
/**计算熵值**/
double CalQ(int pint n){
if(p==0||n==0) return 0;
double a=p*1.0/(p+n);
double b=n*1.0/(p+n);
return -a*log2(a)-b*log2(b);
}
/**二分查找属性值对应的下标**/
int BIS(int keyint *Aint n){
int x=0y=n-1mid;
while(x<=y){
mid=(x+y)/2;
if(key==A[mid]) return mid;
else if(key else x=mid+1;
}
return -1;
}
/**计算E(pini)之和**/
double CalE(int chooseint stepint aint b){
memset(PE0sizeof(PE));
memset(NE0sizeof(NE));
for(int j=0;j if(record[j]!=step) continue;
int pos;
if(choose==0) pos=BIS(example[j].IBIBV8);
else if(choose==1) pos=BIS(example[j].FPFPVfnum);
else pos=BIS(example[j].LPLPVlnum);
if(pos!=-1&&example[j].res==1) PE[pos]++;
else if(pos!=-1&&example[j].res==0) NE[pos]++;
}
int Size;
if(choose==0) Size=8;
else if(choose==1) Size=fnum;
else Size=lnum;
double ret=0;
for(int i=0;i ret+=1.0*(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-12 09:43 人工智能实验\
文件 475342 2018-05-27 19:30 人工智能实验\2016 《人工智能导论_实验指导》.doc
目录 0 2018-06-20 22:25 人工智能实验\Debug\
文件 66560 2018-06-20 22:27 人工智能实验\Debug\vc60.idb
文件 53248 2018-06-20 22:25 人工智能实验\Debug\vc60.pdb
文件 184413 2018-06-20 22:27 人工智能实验\Debug\斑马归谁问题.exe
文件 183264 2018-06-20 22:27 人工智能实验\Debug\斑马归谁问题.ilk
文件 10473 2018-06-20 22:27 人工智能实验\Debug\斑马归谁问题.obj
文件 1140588 2018-06-20 22:25 人工智能实验\Debug\斑马归谁问题.pch
文件 361472 2018-06-20 22:25 人工智能实验\Debug\斑马归谁问题.pdb
文件 6331 2017-05-24 18:47 人工智能实验\ID3.cpp
文件 220943 2018-06-21 09:03 人工智能实验\ID3.exe
文件 31101 2018-06-21 09:03 人工智能实验\ID3.o
文件 57000 2017-05-21 21:49 人工智能实验\in.txt
文件 3973 2002-11-02 06:49 人工智能实验\river.CPP
文件 2339 2017-05-20 14:56 人工智能实验\传教士与野人.cpp
文件 28803 2018-06-20 21:26 人工智能实验\传教士与野人.exe
文件 2705 2018-06-20 21:26 人工智能实验\传教士与野人.o
文件 3326 2015-05-26 17:19 人工智能实验\国籍房子宠物.cpp
文件 75719 2018-06-21 09:26 人工智能实验\截图.docx
文件 46514 2018-06-21 09:27 人工智能实验\截图.pdf
文件 4225 2017-05-23 22:38 人工智能实验\斑马归谁问题 - 副本.cpp
文件 4248 2017-05-28 22:11 人工智能实验\斑马归谁问题.cpp
文件 3475 2017-05-28 22:08 人工智能实验\斑马归谁问题.dsp
文件 532 2017-05-28 22:09 人工智能实验\斑马归谁问题.dsw
文件 29685 2017-05-24 18:46 人工智能实验\斑马归谁问题.exe
文件 41984 2018-06-21 09:41 人工智能实验\斑马归谁问题.ncb
文件 3209 2017-05-24 18:46 人工智能实验\斑马归谁问题.o
文件 48640 2018-06-21 09:41 人工智能实验\斑马归谁问题.opt
文件 780 2018-06-20 22:27 人工智能实验\斑马归谁问题.plg
文件 5315 2017-05-23 22:36 人工智能实验\置换合一.cpp
............此处省略2个文件信息
相关资源
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
评论
共有 条评论