亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fence.cpp

?? 模糊K近鄰分類器
?? CPP
字號:
//該函數實現對exemplar部分的訓練
/*
   輸入參數:
   prototype -- 指向prototype部分的指針
   N -- prototype部分的結點個數
   exemplar -- 指向exemplar部分指針的指針
   M -- exemplar部分結點的個數
   sample -- 輸入模式
   L -- 輸入模式的維數
   classnum -- 輸入模式屬于的類號
   輸出參數:
   經過更新以后exemplar部分的結點個數
*/

#include <math.h>
#include <iostream.h>
#include <assert.h>
#include <stdio.h>
#include "FuzzyNN.h"
#include "tools.h"

int fence(ProtoNode *prototype,int N,ExemNode **exemplar,int M,FuzzyNum *sample,int L,int classnum)
{
	double rou; //結點大小指定參數限制
	
	int *candidate; //用來標記每個exemplar結點是否滿足候選條件
	candidate=new int[M+1];
	mcheck(candidate);

	int i,j,k;
	for(i=1;i<=M;i++)
		candidate[i]=0;

	//cout<<"請輸入對exemplar結點大小進行限制的參數:"<<endl;
	//cin>>rou;
	rou=0.3;

	//計算對當前輸入模式,哪個結點勝出
	int pmark;
	int emark;

    //-計算s1,s2,...,sN,并求其最大值
	double *s;
	s=new double[N+1];
	mcheck(s);
	
	for(j=1;j<=N;j++)
	{
		s[j]=0;
		for(i=1;i<=L;i++)
			s[j]+=(coa(sample[i])-coa((prototype[j].w)[i]))*(coa(sample[i])-coa((prototype[j].w)[i]));
		s[j]=s[j]/L;
		s[j]=sqrt(s[j]);
		s[j]=1-s[j];
	}

	double pmax; //s1,s2,...,sN中的最大值
	int pindex; //最大值對應的下標

	pmax=s[1];
	pindex=1;
	for(i=2;i<=N;i++)
		if(s[i]>pmax)
		{
			pmax=s[i];
			pindex=i;
		}

	//-如果*exemplar不為空的話,計算r1,r2,...,rM,并求其最大值
    double emax=0; //r1,r2,...,rM中的最大值
	int eindex=0; //最大值對應的下標

	if((*exemplar)!=NULL)
	{
		double *r;
		r=new double[M+1];
		mcheck(r);

		j=0;
		ExemNode *p=*exemplar;
		int flag;
		while(p!=NULL)
		{
			j++;
			r[j]=0;
			flag=1;
			for(i=1;i<=L;i++)
				if(!((p->v)[i].w1<=sample[i].w1 && (p->v)[i].w2>=sample[i].w2))
					flag=0;
			if(flag)
			{
				for(i=1;i<=L;i++)
					r[j]+=(sample[i].w1-(p->v)[i].w1)*(sample[i].w1-(p->v)[i].w1)+(sample[i].w2-(p->v)[i].w2)*(sample[i].w2-(p->v)[i].w2);
				r[j]=r[j]/L;
				r[j]=sqrt(r[j]);
				r[j]=2-r[j];
			}
			p=p->next;
		}

        emax=r[1];
	    eindex=1;
	    for(i=2;i<=M;i++)
		   if(r[i]>emax)
		   {
			  emax=r[i];
			  eindex=i;
		   }
		delete []r;
	}
	
	if((*exemplar)==NULL)
	{
		pmark=pindex;
		emark=0;
	}
	else
	{
		if(pmax>emax)
		{
			pmark=pindex;
			emark=0;
		}
		else
		{
			pmark=0;
			emark=eindex;
		}
	}

	ExemNode *p,*q;
	k=0;
	int flag;
	p=*exemplar;
	while(p!=NULL)
	{
		k++; //記錄exemplar結點當前的索引號
		if(p->classnum==classnum)
		{
			ExemNode E;
			E.classnum=classnum;
			E.v=new FuzzyNum[L+1];
			mcheck(E.v);
			E.h=NULL;
			E.next=NULL;
			for(i=1;i<=L;i++)
			{
				if((p->v)[i].w1<sample[i].w1)
				{
					(E.v)[i].w1=(p->v)[i].w1;
					(E.v)[i].a=(p->v)[i].a;
				}
				else
				{
					(E.v)[i].w1=sample[i].w1;
					(E.v)[i].a=sample[i].a;
				}

				if((p->v)[i].w2>sample[i].w2)
				{
					(E.v)[i].w2=(p->v)[i].w2;
					(E.v)[i].b=(p->v)[i].b;
				}
				else
				{
					(E.v)[i].w2=sample[i].w2;
					(E.v)[i].b=sample[i].b;
				}
			}
			flag=1;//假設E結點滿足候選條件

			//檢查E結點是否和其他的結點重疊
			q=*exemplar;
			while(q!=NULL)
			{
				int *overlap;
				overlap=new int[L+1];
				mcheck(overlap);
				int flag0=0; // 檢查是否出現零
				for(i=1;i<=L;i++)
				{
					overlap[i]=0;
					if((E.v)[i].w1<=(q->v)[i].w1 && (q->v)[i].w1<(E.v)[i].w2 && (E.v)[i].w2<=(q->v)[i].w2)overlap[i]=1;
					if((q->v)[i].w1<=(E.v)[i].w1 && (E.v)[i].w1<(q->v)[i].w2 && (q->v)[i].w2<=(E.v)[i].w2)overlap[i]=2;
					if((E.v)[i].w1<(q->v)[i].w1 && (q->v)[i].w1<=(q->v)[i].w2 && (q->v)[i].w2<(E.v)[i].w2)overlap[i]=3;
					if((q->v)[i].w1<(E.v)[i].w1 && (E.v)[i].w1<=(E.v)[i].w2 && (E.v)[i].w2<(q->v)[i].w2)overlap[i]=4;
				}
				for(i=1;i<=L;i++)
					if(overlap[i]==0)
					{
						flag0=1;
						break;
					}
				if(!(q->classnum==E.classnum || sum(overlap,L)==3*L || sum(overlap,L)==4*L || flag0))flag=0;
				assert(overlap);
				delete []overlap;
				q=q->next;
			}

			//檢查E結點的大小是否滿足要求
			if(flag)
			{
			if(emark==0)
			{
				if(!(size(E,L)<=rou))flag=0;
			}
			else
			{
				q=*exemplar;
			    for(i=1;i<emark;i++)//這里將q移動到exemplar第emark個結點
				  q=q->next;
			    if(!(size(E,L)<=rou*size(*q,L)))flag=0;
			}
			q=*exemplar;
			while(q!=NULL)
			{
				int *overlap;
				overlap=new int[L+1];
				mcheck(overlap);
	
				for(i=1;i<=L;i++)
				{
					overlap[i]=0;
					if((E.v)[i].w1<=(q->v)[i].w1 && (q->v)[i].w1<(E.v)[i].w2 && (E.v)[i].w2<=(q->v)[i].w2)overlap[i]=1;
					if((q->v)[i].w1<=(E.v)[i].w1 && (E.v)[i].w1<(q->v)[i].w2 && (q->v)[i].w2<=(E.v)[i].w2)overlap[i]=2;
					if((E.v)[i].w1<(q->v)[i].w1 && (q->v)[i].w1<=(q->v)[i].w2 && (q->v)[i].w2<(E.v)[i].w2)overlap[i]=3;
					if((q->v)[i].w1<(E.v)[i].w1 && (E.v)[i].w1<=(E.v)[i].w2 && (E.v)[i].w2<(q->v)[i].w2)overlap[i]=4;
				}
			 
			    if(sum(overlap,L)==3*L)
				{
					if(!(size(*q,L)<=rou*size(E,L)))flag=0;
				}
				delete []overlap;
				q=q->next;
			}
			}
			//將滿足候選條件的加入candidate
			if(flag)
			{
				candidate[k]=1;
			}
		}
     p=p->next;	
     }

	 if(sum(candidate,M)==0) //沒有滿足候選條件,要新建一個exemplar結點
	 {
		    ExemNode* Enew;
			Enew=new ExemNode;
			mcheck(Enew);
			Enew->classnum=classnum;
			Enew->v=new FuzzyNum[L+1];
			mcheck(Enew->v);
			Enew->h=NULL;
			Enew->next=NULL;
			for(i=1;i<=L;i++)
			{
				(Enew->v)[i].w1=sample[i].w1;
				(Enew->v)[i].w2=sample[i].w2;
				(Enew->v)[i].a=sample[i].a;
				(Enew->v)[i].b=sample[i].b;
			}
			p=*exemplar;
			if(p==NULL)*exemplar=Enew;
			else
			{
				while((p->next)!=NULL)
					p=p->next;
				p->next=Enew;
			}
	 }
	 else
	 {
		  double max;
		  int index;

		  max=-100;
		  index=0;
		  for(j=1;j<=M;j++)
		  {
			  if(candidate[j]==1)
			  {
				  //計算第i個exemplar結點和輸入模式的相似性
				  p=*exemplar;
			    for(i=1;i<j;i++)
				  p=p->next;

				double s=0;
	         	for(i=1;i<=L;i++)
		        	s+=(coa(sample[i])-coa((p->v)[i]))*(coa(sample[i])-coa((p->v)[i]));
	        	s=s/L;
	        	s=sqrt(s);
	        	s=1-s;
				if(s>max)
				{
					max=s;
					index=j;
				}
			  }
		  }

            p=*exemplar;
			for(j=1;j<index;j++)
				p=p->next;
		  	for(i=1;i<=L;i++)
			{
				if((p->v)[i].w1<sample[i].w1)
				{
					(p->v)[i].w1=(p->v)[i].w1;
					(p->v)[i].a=(p->v)[i].a;
				}
				else
				{
					(p->v)[i].w1=sample[i].w1;
					(p->v)[i].a=sample[i].a;
				}

				if((p->v)[i].w2>sample[i].w2)
				{
					(p->v)[i].w2=(p->v)[i].w2;
					(p->v)[i].b=(p->v)[i].b;
				}
				else
				{
					(p->v)[i].w2=sample[i].w2;
					(p->v)[i].b=sample[i].b;
				}
			}
	 }
     
	 delete []s;
     int temp=sum(candidate,M);
	 delete [] candidate;
	 if(temp==0)return(M+1);
	 else return M;
}

		 





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜久久久久久久久久久| 欧美综合视频在线观看| 午夜精品久久久久久久久| 26uuu亚洲综合色欧美 | 老司机精品视频在线| 亚洲免费av观看| 综合av第一页| 国产欧美日韩不卡免费| 久久夜色精品一区| 国产亚洲精久久久久久| 26uuu国产日韩综合| 久久久午夜精品| 亚洲国产精品99久久久久久久久 | www国产成人| 欧美一级片在线看| 日韩精品中文字幕在线一区| 欧美丰满少妇xxxxx高潮对白 | 青青国产91久久久久久| 五月激情综合网| 韩国三级在线一区| 成人一级视频在线观看| 99精品国产视频| 欧美日韩国产小视频| 欧美成人激情免费网| 91麻豆精品国产91久久久久| 91精品国产综合久久香蕉的特点 | 亚洲影视在线播放| 麻豆成人av在线| www.综合网.com| 欧美欧美午夜aⅴ在线观看| 精品国产乱码久久久久久久久| 日韩一级二级三级精品视频| 久久精品一区四区| 一区二区三区日韩在线观看| 男人操女人的视频在线观看欧美| 国产精品系列在线播放| 在线亚洲一区观看| 久久精品在线免费观看| 亚洲一区二区在线免费观看视频| 久久精品99久久久| 91丨九色丨国产丨porny| 欧美一级高清片在线观看| 国产精品网站在线播放| 日韩电影免费在线| 91在线云播放| 国产日产欧产精品推荐色 | 69堂成人精品免费视频| 国产精品欧美极品| 男人的j进女人的j一区| 色综合色综合色综合色综合色综合| 日韩欧美精品在线| 亚洲午夜三级在线| 99久久er热在这里只有精品66| 日韩欧美视频一区| 亚洲国产一二三| 91视频国产观看| 中文字幕av免费专区久久| 蜜臀精品久久久久久蜜臀| 欧美专区在线观看一区| 中文字幕中文字幕一区| 久久99九九99精品| 日韩一区二区免费在线电影| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美日韩一区二区三区四区| 亚洲少妇30p| av一区二区三区黑人| 中文幕一区二区三区久久蜜桃| 久久精品理论片| 日韩欧美一区二区免费| 视频在线观看一区| 欧美日韩国产系列| 午夜精品一区二区三区三上悠亚| 91在线观看一区二区| 国产精品国产三级国产三级人妇| 福利一区在线观看| 中文字幕免费不卡在线| 国产成人免费视频网站高清观看视频 | 欧美日韩一区二区三区四区五区| 亚洲激情男女视频| 91福利资源站| 亚洲地区一二三色| 欧美日韩国产色站一区二区三区| 亚洲成人av福利| 6080午夜不卡| 国产一区二区在线免费观看| 久久亚洲春色中文字幕久久久| 国产主播一区二区三区| 国产日韩精品一区二区三区| 成人激情视频网站| 亚洲精品一二三四区| 欧美视频一区二区三区四区| 日韩高清在线一区| 久久理论电影网| 成人开心网精品视频| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品免费网站在线观看| 成人av网站大全| 一区二区三区四区av| 91精品国产综合久久久蜜臀图片| 久久精品二区亚洲w码| 国产精品视频看| 欧美日韩亚洲综合| 黄网站免费久久| 亚洲免费在线看| 欧美大尺度电影在线| 不卡欧美aaaaa| 日韩综合小视频| 国产欧美日韩精品a在线观看| 色综合天天综合网国产成人综合天| 午夜电影一区二区| 久久精品欧美一区二区三区不卡 | 久久精品人人做人人爽人人| 色综合色综合色综合色综合色综合| 日韩在线一区二区三区| 欧美国产综合一区二区| 欧美色国产精品| 粉嫩高潮美女一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 精品国产乱码久久久久久影片| 波多野结衣精品在线| 免费成人小视频| 一区二区三区影院| 欧美激情一二三区| 日韩一卡二卡三卡四卡| 日本道精品一区二区三区| 久久国产剧场电影| 亚洲va中文字幕| 国产精品国产a级| 久久久久久久久久久久久夜| 欧美日韩国产另类不卡| 91视频com| 成人午夜精品在线| 激情欧美一区二区三区在线观看| 一区二区三区日韩精品| 国产精品丝袜一区| 欧美精品一区二区三区在线播放 | 青青草伊人久久| 夜夜嗨av一区二区三区中文字幕 | 日韩一卡二卡三卡四卡| 欧美性高清videossexo| 91小视频在线| 91丨porny丨户外露出| 豆国产96在线|亚洲| 国产在线不卡视频| 精品亚洲成a人| 国模套图日韩精品一区二区| 喷白浆一区二区| 青青草国产精品亚洲专区无| 日精品一区二区| 免费观看日韩av| 久久se精品一区精品二区| 蜜臀av一区二区在线免费观看| 亚洲va在线va天堂| 秋霞电影一区二区| 精品一区二区三区视频| 蜜桃一区二区三区在线观看| 奇米综合一区二区三区精品视频| 亚洲一区在线免费观看| 亚洲成av人在线观看| 日韩中文字幕1| 久久99热99| 成人性生交大片免费| jlzzjlzz亚洲女人18| 色狠狠桃花综合| 91麻豆精品国产91久久久久久 | 午夜影院在线观看欧美| 日韩综合在线视频| 国产一区在线精品| 成人小视频免费观看| 一本到一区二区三区| 欧美日韩久久久一区| 日韩欧美国产综合| 久久九九久久九九| 亚洲免费观看高清| 日韩黄色一级片| 国产乱码精品一区二区三区av| jvid福利写真一区二区三区| 在线看不卡av| 日韩一二在线观看| 国产欧美久久久精品影院| 亚洲精品免费在线播放| 蜜乳av一区二区| av高清久久久| 日韩视频一区二区在线观看| 中文字幕 久热精品 视频在线| 夜夜精品视频一区二区| 国内精品国产成人| 色一区在线观看| 精品国产91洋老外米糕| 亚洲丝袜精品丝袜在线| 日韩va亚洲va欧美va久久| 成人午夜激情在线| 日韩免费观看2025年上映的电影| 国产精品欧美综合在线| 日韩va欧美va亚洲va久久| 成人手机电影网| 欧美一区二区三区影视| 亚洲视频你懂的| 国产成人激情av| 日韩欧美久久一区|