-
大小: 26KB文件類(lèi)型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-06-03
- 語(yǔ)言: C/C++
- 標(biāo)簽: 神經(jīng)網(wǎng)絡(luò)??專(zhuān)家系統(tǒng)??
資源簡(jiǎn)介
用C語(yǔ)言編寫(xiě)的基于神經(jīng)網(wǎng)絡(luò)的專(zhuān)家系統(tǒng)代碼

代碼片段和文件信息
//?ExpertSystem.cpp?:?Defines?the?entry?point?for?the?console?application.
//模擬一個(gè)專(zhuān)家系統(tǒng),由外提供規(guī)則庫(kù),自行生成事實(shí)庫(kù)(文件)和解釋系統(tǒng)(輸出);
//人機(jī)交互方式
#include?“stdafx.h“
#include?“Stack.h“
#include?
#include?
#include
#include
#include
#include
#include
using?namespace?std;
double?reason(char?conclusion[]vector?&rules
??Stack?&rulenumberStack?&jielundouble?gailv[]ofstream?&factvector?&xuliehaoint?&size);
double?combination(double?orarray[]int?c);//求并集
double?min(double?andarr[]int?size);//求交集
void?charToDouble(vector?&rulesdouble?gailv[]);//將讀到的字符串轉(zhuǎn)化為DOUBLE型
void?interpretation(char?outfile[]);//解釋系統(tǒng)
void?main()
{
int?i;
int?j;
int?kp;
int?findnumber;//用于保存查找的位置
bool?mark;
int?goalnumber=0;
/////////////////讀取規(guī)則庫(kù)(前提是規(guī)則文件是正確的)////////////////////////
vector?rules;//引入容器類(lèi)模板
vector?xuliehao;
Stack?rulenumber;//存放壓入規(guī)則棧的規(guī)則號(hào)
Stack?jielun;//存放壓入規(guī)則棧的結(jié)論
rulenumber.MakeEmpty();
jielun.MakeEmpty();
//////////////////////////////////////////////////////////////////
//打開(kāi)文件讀取
char?outfile[20]=“shishiku.txt“;
char?filename[20];
cout<<“請(qǐng)輸入規(guī)則庫(kù)文件名:“;
cin>>filename;
????
ifstream?ku(filenameios::in);
if(!ku){
cerr<<“file?can?not?open“< exit(1);
}
string?rule;//用于讀取文件中的字符串
while(ku>>rule){
rules.push_back(rule);//將文件中的字符串壓入容器類(lèi)中
xuliehao.push_back(rule);
}
int?size=rules.size();//規(guī)則類(lèi)的長(zhǎng)度
double?*gailv=new?double[size/2];//用于存放規(guī)則的概率
///////////////////////////////////////////////////////////////
//建立事實(shí)數(shù)據(jù)庫(kù)
ofstream?fact(outfileios::out);
if(!fact){
cerr<<“file?can?not?open“< exit(1);
}
fact<
/////////////////////////////////////////////////////////////////
//test
//for(i=0;i ? //cout<
char*?conclusion=new?char[size/2];//存放結(jié)論的動(dòng)態(tài)數(shù)組
char*?ptr;//指針
bool?in;//用于判斷
int?*?number=new?int?[size/2];//用于判斷最終目標(biāo)即結(jié)論
int?*finalGoalNumber=new?int?[size/2];//總目標(biāo)對(duì)應(yīng)的規(guī)則號(hào)
double?*result=new?double[size/2];
int?jishu;
double?finalResult;
int?*pass=new?int?[size/2];
if(rules.empty()||(size%2!=0))
cout<<“規(guī)則庫(kù)不完備“< else{
for(i=0;i number[i]=0;//初始化數(shù)組
for(i=0j=0;i ptr=rules[i].begin();//字符串的起始指針
findnumber=rules[i].find(“→“);//用于查找結(jié)論在字符串里的位置
conclusion[j]=*(ptr+findnumber+2);//將結(jié)論存入數(shù)組里
rules[i].erase(findnumber);//將“→”和結(jié)論從數(shù)組中刪去
????????????findnumber=rules[i].find(“∧“);
while(findnumber!=string::npos){
rules[i].replace(findnumber2““);//將“∧”從數(shù)組中刪去
findnumber=rules[i].find(“∧“);
}
findnumber=rules[i].find(“:“);
while(findnumber!=string::npos){
rules[i].replace(0findnumber+1““);//將規(guī)則序列號(hào)從數(shù)組中刪去
findnumber=rules[i].find(“:“);
}
findnumber=rules[i+1
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件????????912??2005-01-11?10:09??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\shishiku.txt
?????文件???????1351??2004-12-28?09:06??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\Stack.h
?????文件???????4662??2004-12-27?11:37??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\ExpertSystem.dsp
?????文件????????667??2004-12-27?09:55??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\StdAfx.h
?????文件????????299??2004-12-27?09:55??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\StdAfx.cpp
?????文件???????1244??2004-12-27?09:55??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\ReadMe.txt
?????文件????????549??2004-12-27?09:55??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\ExpertSystem.dsw
?????文件??????50176??2005-01-13?14:58??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\ExpertSystem.ncb
?????文件????????258??2005-01-11?08:41??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\ExpertSystem.plg
?????文件????????149??2004-12-30?09:09??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\rules.txt
?????文件??????11743??2005-01-11?08:38??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\ExpertSystem.cpp
?????文件??????81920??2005-01-13?14:58??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\ExpertSystem.opt
?????目錄??????????0??2005-03-31?13:21??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼\Debug
?????目錄??????????0??2005-03-31?13:21??基于神經(jīng)網(wǎng)絡(luò)方法的專(zhuān)家系統(tǒng)源代碼
-----------?---------??----------?-----??----
???????????????154148????????????????????15
評(píng)論
共有 條評(píng)論