📄 liedoc.cpp
字号:
delete redu;
break;
}
case 3004: //归纳属性约简
{
pApp->WriteLogAlg("属性约简:归纳属性约简",TmpFileNameIn);
IndAttRed indatt;
if(!indatt.GetInfo(TmpFileNameIn))
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
break;
}
if(!indatt.InitTable())
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
break;
}
if(!indatt.DelOverlap())
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
break;
}
indatt.PosCD();
if(!indatt.CoreCD())
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
break;
}
if(!indatt.mRedCD())
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
break;
}
if(!indatt.SaveFile(TmpFileNameOut))
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
break;
}
break;
}
case 3005: //信息熵属性约简1
{
pApp->WriteLogAlg("属性约简:信息熵约简1",TmpFileNameIn);
CAttEntropyReduce EntOne;
if(!EntOne.GetData(TmpFileNameIn))
AfxMessageBox("发生错误!");
if(!EntOne.AttEntropyReduce())
AfxMessageBox("发生错误!");
if(!EntOne.SaveFile(TmpFileNameOut))
AfxMessageBox("发生错误!");
break;
}
case 3006: //信息熵属性约简2
{
pApp->WriteLogAlg("属性约简:信息熵约简2",TmpFileNameIn);
CAttEntropyReduceTwo Enttwo;
if(!Enttwo.GetData(TmpFileNameIn))
AfxMessageBox("发生错误!");
if(!Enttwo.AttEntropyTwo())
AfxMessageBox("发生错误!");
if(!Enttwo.SaveFile(TmpFileNameOut))
AfxMessageBox("发生错误!");
break;
}
case 3007: //信息熵属性约简3 MIBARK
{
pApp->WriteLogAlg("属性约简:MIBARK约简",TmpFileNameIn);
CMIBARK Entthree;
Entthree.GetData(TmpFileNameIn);
Entthree.MIBARK();
Entthree.SaveFile(TmpFileNameOut);
break;
}
case 3008: //动态约简
{
pApp->WriteLogAlg("属性约简:动态约简",TmpFileNameIn);
CTable *redu= new CLieDynamicReduct;
if(! redu->Perform(TmpFileNameIn,TmpFileNameOut))
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
delete redu;
break;
}
delete redu;
break;
}
case 3009: //手工约简
{
pApp->WriteLogAlg("属性约简:手工约简",TmpFileNameIn);
CTable *redu= new CLieManualReduct;
if(! redu->Perform(TmpFileNameIn,TmpFileNameOut))
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
delete redu;
break;
}
delete redu;
break;
}
case 3010:
{
pApp->WriteLogAlg("属性约简:遗传算法1",TmpFileNameIn);
CTable *redu= new CLieGeneticReduct1;
if(! redu->Perform(TmpFileNameIn,TmpFileNameOut))
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
delete redu;
break;
}
delete redu;
break;
}
case 3011:
{
pApp->WriteLogAlg("属性约简:遗传算法2",TmpFileNameIn);
CTable *redu= new CLieGeneticReduct2;
if(! redu->Perform(TmpFileNameIn,TmpFileNameOut))
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
delete redu;
break;
}
delete redu;
break;
}
case 3012:
{
pApp->WriteLogAlg("属性约简:遗传算法3",TmpFileNameIn);
CTable *redu= new CLieGeneticReduct3;
if(! redu->Perform(TmpFileNameIn,TmpFileNameOut))
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
delete redu;
break;
}
delete redu;
break;
}
//---------------------------------------值约简--------------------------------------------
case 4001: //一般值约简
{
pApp->WriteLogAlg("值约简:一般值约简",TmpFileNameIn);
ValReductionOne indval;
if(!indval.Run(TmpFileNameIn,TmpFileNameOut))
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
}
break;
}
case 4002: //启发式值约简
{
pApp->WriteLogAlg("值约简:启发式值约简",TmpFileNameIn);
ValReductionTwo indval;
if(!indval.Run(TmpFileNameIn,TmpFileNameOut))
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
}
break;
}
case 4003: //决策矩阵值约简
{
pApp->WriteLogAlg("值约简:决策矩阵值约简",TmpFileNameIn);
ValReductionThree indval;
if(!indval.Run(TmpFileNameIn,TmpFileNameOut))
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
}
break;
}
case 4004: //归纳值约简
{
pApp->WriteLogAlg("值约简:归纳值约简",TmpFileNameIn);
IndValRed indval;
indval.GetInfo(TmpFileNameIn);
indval.myindvalred();
if(!indval.SaveFile(TmpFileNameOut))
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
}
break;
}
case 4005: //skowron 算法
{
pApp->WriteLogAlg("skowron 算法",TmpFileNameIn);
CSkowron Sample1;
Sample1.T=1;
if(Sample1.OpenFile(TmpFileNameIn))
{
if(!Sample1.SkowronArithmetic())
{
AfxMessageBox("操作取消!");
bErrorOccured=true;
break;
}
Sample1.SaveFile(TmpFileNameOut);
Sample1.DeleteContents();
}
else
{
AfxMessageBox("Can't open file!");
bErrorOccured=true;
break;
}
break;
}
//---------------------------------不完备数据特殊处理算法-----------------------------
case 5001: //余英泽不完备数据处理——容差关系
{
pApp->WriteLogAlg("不完备数据处理——容差关系",TmpFileNameIn);
CYyzIncompleteIS1 indval;
indval.InitIS(TmpFileNameIn);
if(!indval.perform())
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
break;
}
indval.WriteFile(TmpFileNameOut);
break;
}
case 5002: //余英泽不完备数据处理——限制容差关系
{
pApp->WriteLogAlg("不完备数据处理——限制容差关系",TmpFileNameIn);
CYyzIncompleteIS2 indval;
indval.InitIS(TmpFileNameIn);
if(!indval.perform())
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
break;
}
indval.WriteFile(TmpFileNameOut);
/* Rtr a;
if(!a.ReadTable(TmpFileNameIn))//从上面选择的文件读取信息
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
break;
}
a.Performance(); // 规则的生成
a.WriteTable(TmpFileNameOut);//用户指定文件名保存规则
*/
break;
}
case 5003: //余英泽不完备数据处理——相似关系
{
pApp->WriteLogAlg("不完备数据处理——相似关系",TmpFileNameIn);
CYyzIncompleteIS3 indval;
indval.InitIS(TmpFileNameIn);
if(!indval.perform())
{
AfxMessageBox("发生错误!");
bErrorOccured=true;
break;
}
indval.WriteFile(TmpFileNameOut);
break;
}
//--------------------------- 样本测试 --------------------------------
case 10001: //sample test ,file test
{
pApp->WriteLogAlg("样本测试",TmpFileNameIn,g_strTestInputFile);
CLieSampleRecognise aa;
aa.bTest=true;
if(!aa.LoadRuleFile(TmpFileNameIn) || ! aa.LoadTestFile(g_strTestInputFile))
{
bErrorOccured=true;
break;
}
if(g_bTestFew)
aa.SampleRecogniseFew();
else
aa.SampleRecogniseMany(); //perform
aa.SaveRecogniseResult(TmpFileNameOut); //save files
break;
}
case 10002: //sample test 容差 ,file test
{
pApp->WriteLogAlg("容差关系样本测试",TmpFileNameIn,g_strTestInputFile);
// CLieSampleRecogniseYyz1 aa; //原有
CLieSampleRecognise aa; //2004.5.11 denny修改
aa.bTest=true;
if(!aa.LoadRuleFile(TmpFileNameIn) || ! aa.LoadTestFile(g_strTestInputFile))
{
bErrorOccured=true;
break;
}
if(g_bTestFew)
aa.SampleRecogniseFew();
else
aa.SampleRecogniseMany(); //perform
aa.SaveRecogniseResult(TmpFileNameOut); //save files
break;
}
case 10003: //sample test 限制容差 ,file test
{
pApp->WriteLogAlg("限制容差样本测试",TmpFileNameIn,g_strTestInputFile);
CLieSampleRecogniseYyz2 aa;
aa.bTest=true;
if(!aa.LoadRuleFile(TmpFileNameIn) || ! aa.LoadTestFile(g_strTestInputFile))
{
bErrorOccured=true;
break;
}
if(g_bTestFew)
aa.SampleRecogniseFew();
else
aa.SampleRecogniseMany(); //perform
aa.SaveRecogniseResult(TmpFileNameOut); //save files
/*
Rtr a;
if(!a.ReadRule(TmpFileNameIn))
{
bErrorOccured=true;
break;
}
CFileDialog dlg(TRUE);
if(dlg.DoModal()==IDOK )
{
CString filename=dlg.GetPathName();
if(!a.TestData(filename)) // 注意此处的文件是规则文件,测试
{
bErrorOccured=true;
break;
}
}
a.WriteTable1(TmpFileNameOut);
*/
break;
}
case 10004: //sample test 相似关系 ,file test
{
pApp->WriteLogAlg("相似关系样本测试",TmpFileNameIn,g_strTestInputFile);
// CLieSampleRecogniseYyz3 aa;
CLieSampleRecognise aa;
aa.bTest=true;
if(!aa.LoadRuleFile(TmpFileNameIn) || ! aa.LoadTestFile(g_strTestInputFile))
{
bErrorOccured=true;
break;
}
if(g_bTestFew)
aa.SampleRecogniseFew();
else
aa.SampleRecogniseMany(); //perform
aa.SaveRecogniseResult(TmpFileNameOut); //save files
break;
}
//-------------------------------------样本识别-------------------------------------
case 20001: //sample recognise ,file input
{
pApp->WriteLogAlg("样本识别",TmpFileNameIn,g_strTestInputFile);
CLieSampleRecognise aa;
aa.bTest=false;
if(!aa.LoadRuleFile(TmpFileNameIn) || ! aa.LoadInputFile(g_strTestInputFile))
{
bErrorOccured=true;
break;
}
if(g_bTestFew)
aa.SampleRecogniseFew();
else
aa.SampleRecogniseMany(); //perform
aa.SaveRecogniseResult(TmpFileNameOut); //save files
break;
}
case 20002: //sample recognise 容差关系
{
pApp->WriteLogAlg("容差关系样本识别",TmpFileNameIn,g_strTestInputFile);
// CLieSampleRecogniseYyz1 aa;
CLieSampleRecognise aa;
aa.bTest=false;
if(!aa.LoadRuleFile(TmpFileNameIn) || ! aa.LoadInputFile(g_strTestInputFile))
{
bErrorOccured=true;
break;
}
if(g_bTestFew)
aa.SampleRecogniseFew();
else
aa.SampleRecogniseMany(); //perform
aa.SaveRecogniseResult(TmpFileNameOut); //save files
break;
}
case 20003: //sample recognise 限制容差关系
{
pApp->WriteLogAlg("限制容差关系样本识别",TmpFileNameIn,g_strTestInputFile);
CLieSampleRecogniseYyz2 aa;
aa.bTest=false;
if(!aa.LoadRuleFile(TmpFileNameIn) || ! aa.LoadInputFile(g_strTestInputFile))
{
bErrorOccured=true;
break;
}
if(g_bTestFew)
aa.SampleRecogniseFew();
else
aa.SampleRecogniseMany(); //perform
aa.SaveRecogniseResult(TmpFileNameOut); //save files
break;
/*/
Rtr a;
if(!a.ReadRule(TmpFileNameIn))
{
bErrorOccured=true;
break;
}
CFileDialog dlg(TRUE);
if(dlg.DoModal()==IDOK )
{
CString filename=dlg.GetPathName();
if(!a.DisData(filename)) //注意此处的文件是识别文件
{
bErrorOccured=true;
break;
}
}
a.WriteTable2(TmpFileNameOut);
break;
*/
}
case 20004: //sample recognise 相似关系
{
pApp->WriteLogAlg("相似关系样本识别",TmpFileNameIn,g_strTestInputFile);
// CLieSampleRecogniseYyz3 aa;
CLieSampleRecognise aa;
aa.bTest=false;
if(!aa.LoadRuleFile(TmpFileNameIn) || ! aa.LoadInputFile(g_strTestInputFile))
{
bErrorOccured=true;
break;
}
if(g_bTestFew)
aa.SampleRecogniseFew();
else
aa.SampleRecogniseMany(); //perform
aa.SaveRecogniseResult(TmpFileNameOut); //save files
break;
}
case 30001:
{
pApp->WriteLogAlg("不确定性自主学习",TmpFileNameIn);
CSkowron Sample1;
Sample1.T=0;
if(Sample1.OpenFile(TmpFileNameIn))
{
Sample1.fAlpha =Sample1. CountCut();
//m_pSkowron->fAlpha =m_pSkowron->CountCertain();
// CString str;
// str.Format("%.6f",Sample1.fAlpha);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -