⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 liedoc.cpp

📁 某个实验事编写粗糙集智能信息处理的程序
💻 CPP
📖 第 1 页 / 共 5 页
字号:
			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 + -