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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? extrema.cpp

?? Implementation of genetic algorithm, to search for desired extreme n-variable function.
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
//---------------------------------------------------------------------------
#include <Dialogs.hpp>
#pragma hdrstop
#include "extrema.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)

//---------------------------------------------------------------------------
using std::random;
using namespace EXTR;

/////// TLOSOWANIE //////////////////////////////////////////////////////////
void __fastcall TGenerator::Generuj(TZakres register const* Zakres)
{
	register double Begin = Zakres->Begin;
	register double End   = Zakres->End;

	register int A = Begin * PRZEDZIAL;
	register int B = End * PRZEDZIAL;

	register double Value = (double)(random(B - A));
	Value /= PRZEDZIAL;
	Value += Begin;

	Znak = 1; if(Value < 0) Znak = -1;
	Value = sqrt(Value * Value);
	ValueC = (int) (Value);
	ValueU = (int) ((Value - ValueC) * PRZEDZIAL);
}

//---------------------------------------------------------------------------
int __fastcall TGenerator::Get_CzescC(void) {return ValueC;}

//---------------------------------------------------------------------------
int __fastcall TGenerator::Get_CzescU(void) {return ValueU;}

//---------------------------------------------------------------------------
int __fastcall TGenerator::Get_Znak(void) {return Znak;}

/////// TCHROMOSOM /////////////////////////////////////////////////////////
void __fastcall TChromosom::IntToBinary(register int Value, TBinary& Binary)
{
	Binary = "";
	while(Value / 2)
	{
		Binary.insert(0, IntToString(Value % 2));
		Value /= 2;
	}
	Binary.insert(0, IntToString(Value));
}

//---------------------------------------------------------------------------
int __fastcall TChromosom::BinaryToInt(register TBinary const& Binary)
{
	 register int Count = Binary.size();
	 register int Wartosc = 0;
	 register bool Zero = true;
	 for(register int i = 0; i < Count; i++)
	 {
		if(Binary[i] == '1')
		{
			Wartosc += pow(2, Count - i - 1);
			Zero = false;
		}
	 }
	 if(Zero) Wartosc = 0;
	 return Wartosc;
}

//---------------------------------------------------------------------------
double __fastcall TChromosom::BinaryToFenotyp(void)
{
	return IntToFenotyp(BinaryToInt(BinaryC), BinaryToInt(BinaryU));
}

//---------------------------------------------------------------------------
double __fastcall TChromosom::IntToFenotyp(register int CzescC, register int CzescU)
{
	return (Znak * (((double)CzescC) + ((double)CzescU) / PRZEDZIAL));
}

//---------------------------------------------------------------------------
__fastcall TChromosom::TChromosom(TZakres register const* Zakres)
{
	Geny = new TGeny();

	boost::scoped_ptr<TGenerator> Generator(new TGenerator());
	Generator->Generuj(Zakres);
	register int CzescC = Generator->Get_CzescC();
	register int CzescU = Generator->Get_CzescU();
	Znak = Generator->Get_Znak();
	Sign = Zakres->Sign;

	IntToBinary(CzescC, BinaryC);
	IntToBinary(CzescU, BinaryU);

	Fenotyp = IntToFenotyp(CzescC, CzescU);
}

//---------------------------------------------------------------------------
__fastcall TChromosom::TChromosom(TGeny register const* Geny_)
{
	Geny = new TGeny();

	BinaryC = Geny_->BinaryC;
	BinaryU = Geny_->BinaryU;
	Znak = Geny_->Znak;
	Sign = Geny_->Sign;

	Fenotyp = BinaryToFenotyp();
}

//---------------------------------------------------------------------------
__fastcall TChromosom::~TChromosom(void) { delete Geny;}

//---------------------------------------------------------------------------
char __fastcall TChromosom::Get_Sign(void) {return Sign;}

//---------------------------------------------------------------------------
double __fastcall TChromosom::Get_Fenotyp(void) {return Fenotyp;}

//---------------------------------------------------------------------------
TGeny* __fastcall TChromosom::Get_Geny(void)
{
	Geny->BinaryC = BinaryC;
	Geny->BinaryU = BinaryU;
	Geny->Znak    = Znak;
	Geny->Sign    = Sign;

	return Geny;
}

//---------------------------------------------------------------------------
TGeny* __fastcall TChromosom::Mutacja(register int Pozycja)
{
	register TBinary BinaryBisC = BinaryC;
	register TBinary BinaryBisU = BinaryU;
	register int    ZnakBis    = Znak;

	register int Numer;
	if(Pozycja) Numer = 3;
	else
	{
		Numer = random(10) + 1;
		if(Numer > 3) Numer = 3;
	}

	register int Locus;
	switch(Numer)
	{
		case 1:
		{
			if(ZnakBis == -1) ZnakBis = 1;
			else              ZnakBis = -1;
		} break;
		case 2:
		{
			Locus = random(BinaryBisC.size());
			if(BinaryBisC[Locus] == '0') BinaryBisC[Locus] = '1';
			else                         BinaryBisC[Locus] = '0';
		} break;
		case 3:
		{
			if(Pozycja)
			{
				switch(Pozycja)
				{
					case 1: Locus = 4; break;
					case 2: Locus = 8; break;
					case 3: Locus = 12; break;
					case 4: Locus = 16; break;
					case 5: Locus = 20; break;
					case 6: Locus = 24; break;
					default: Locus = 24;
				}
			}
			else
				Locus = random(BinaryBisU.size());

			if(BinaryBisU[Locus] == '0') BinaryBisU[Locus] = '1';
			else                         BinaryBisU[Locus] = '0';

		} break;
	}

	Geny->BinaryC = BinaryBisC;
	Geny->BinaryU = BinaryBisU;
	Geny->Znak    = ZnakBis;
	Geny->Sign    = Sign;

	return Geny;
}

/////// TGENOTYP ////////////////////////////////////////////////////////////
void __fastcall TGenotyp::Formatuj(double& Value)
{
     double Temp = pow(10, (int)PRECYZJA);
     Value = (double)(((int)(Value * Temp + 0.5)) / Temp);
}

//---------------------------------------------------------------------------
__fastcall TGenotyp::TGenotyp(TWektorZakresow register const* WektorZakresow,
                              register TPFuncOceny PFuncOceny, TPRECYZJA PREC)
						:
                        PRECYZJA(PREC),
						ArrayOfCh(new TArrayOfCh()),
						WektorGenow(new TWektorGenow())
{
	boost::scoped_ptr<TWektorOfWsp> WektorOfWsp(new TWektorOfWsp());

	register int Count = WektorZakresow->count();
	for(register int i = 0; i < Count; i++)
	{
		ArrayOfCh->add(new TChromosom(WektorZakresow->item(i)));

		TWspolrzedna* Wsp = new TWspolrzedna(ArrayOfCh->item(i)->Get_Sign(),
								  ArrayOfCh->item(i)->Get_Fenotyp());
		WektorOfWsp->add(Wsp);
	}

	if(Count)
     {
		Fitnes = PFuncOceny(WektorOfWsp.get());
          Formatuj(Fitnes);
     }
}

//---------------------------------------------------------------------------
__fastcall TGenotyp::TGenotyp(TPFuncOceny register PFuncOceny,
                              TWektorGenow register const* WektorGenow_, TPRECYZJA PREC)
						:
                              PRECYZJA(PREC),
						ArrayOfCh(new TArrayOfCh()),
						WektorGenow(new TWektorGenow())
{
	boost::scoped_ptr<TWektorOfWsp> WektorOfWsp(new TWektorOfWsp());

	register int Count = WektorGenow_->count();
	for(register int i = 0; i < Count; i++)
	{
		ArrayOfCh->add(new TChromosom(WektorGenow_->item(i)));

		TWspolrzedna* Wsp = new TWspolrzedna(ArrayOfCh->item(i)->Get_Sign(),
								  ArrayOfCh->item(i)->Get_Fenotyp());
		WektorOfWsp->add(Wsp);
	}

	if(Count)
     {
		Fitnes = PFuncOceny(WektorOfWsp.get());
          Formatuj(Fitnes);
     }
}

//---------------------------------------------------------------------------
__fastcall TGenotyp::~TGenotyp(void) {}

//---------------------------------------------------------------------------
TWektorGenow const* __fastcall TGenotyp::Get_Geny(void)
{
	register int LiczbaGenow = ArrayOfCh->count();
	WektorGenow->clear();
	for(register int i = 0; i < LiczbaGenow; i++)
		WektorGenow->add(new TGeny(ArrayOfCh->item(i)->Get_Geny()));

	return WektorGenow.get();
}

//---------------------------------------------------------------------------
double __fastcall TGenotyp::Get_Fenotyp(register int Index) const
{
	return ArrayOfCh->item(Index)->Get_Fenotyp();
}

//---------------------------------------------------------------------------
double __fastcall TGenotyp::Get_Fitnes(void) const {return Fitnes;}


//---------------------------------------------------------------------------
TWektorGenow const* __fastcall TGenotyp::Mutacja(register char Sign, register unsigned Pozycja)
{
	WektorGenow->clear();

	register int Count = ArrayOfCh->count();
	for(register int i = 0; i < Count; i++)
	{
		if(Sign == ArrayOfCh->item(i)->Get_Sign())
			WektorGenow->add(new TGeny(ArrayOfCh->item(i)->Mutacja(Pozycja)));
		else
			WektorGenow->add(new TGeny(ArrayOfCh->item(i)->Get_Geny()));
	}

	return WektorGenow.get();
}

/////// TPOPULACJA //////////////////////////////////////////////////////////
void __fastcall TPopulacja::Algorytm(void)
{
     UtworzPopulacje();

     int LiczbaCykli = (int) (Precyzja);
     for(int i = 0; i < LiczbaCykli; i++)
     {
          WykonajCykle();
          Wysegreguj();
          PozycjaLocus = i;
     }
     Selekcja();
}

//--------------------------------------------------------------------------
void __fastcall TPopulacja::UtworzPopulacje(void)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩日欧美一区二区三区| 91精品婷婷国产综合久久性色| 久久超碰97中文字幕| 亚洲成人自拍网| 亚洲成人激情综合网| 午夜不卡av免费| 天天av天天翘天天综合网| 婷婷中文字幕综合| 日本女人一区二区三区| 免费在线看成人av| 久久99九九99精品| 国产精品1区2区| 丰满少妇在线播放bd日韩电影| 久久精品人人做人人综合| 日韩精品中文字幕在线不卡尤物 | 一区二区三区蜜桃| 亚洲综合视频网| 香蕉成人伊视频在线观看| 奇米色一区二区三区四区| 久久电影网站中文字幕| 国产麻豆91精品| 不卡高清视频专区| 在线观看三级视频欧美| 欧美日韩黄色影视| 精品奇米国产一区二区三区| 久久午夜色播影院免费高清| 久久久国产精品麻豆| 中文字幕一区二区三区不卡| 一区二区久久久久| 久久成人久久鬼色| 成人黄色av电影| 欧美色图激情小说| 精品久久久久久久人人人人传媒| 欧美精品一区二区蜜臀亚洲| 中文字幕精品一区二区精品绿巨人 | 午夜电影网一区| 精品综合免费视频观看| 不卡一二三区首页| 欧美日韩国产一二三| 久久综合狠狠综合| 亚洲免费在线观看| 轻轻草成人在线| 成人在线视频一区| 精品视频一区三区九区| 久久久亚洲欧洲日产国码αv| 国产精品理论片| 日韩精品一二三四| 成人性生交大片免费看中文 | 欧美一区二区三区性视频| 久久久久久夜精品精品免费| 一区二区三区精密机械公司| 久久精品国产成人一区二区三区 | 欧美视频一区二区三区| 精品三级在线观看| 亚洲码国产岛国毛片在线| 男人的j进女人的j一区| av一二三不卡影片| 日韩三级电影网址| 99久久99精品久久久久久| 欧美日韩国产成人在线91| 中文字幕欧美区| 日韩精品亚洲专区| 91在线视频网址| 久久先锋影音av| 亚洲成a人片在线不卡一二三区| 国产盗摄女厕一区二区三区 | 国产精品久久毛片a| 日本视频一区二区| 91免费小视频| 久久久久久久久久久电影| 亚洲3atv精品一区二区三区| av一二三不卡影片| 久久久精品综合| 蜜臀久久99精品久久久久久9| 色婷婷av久久久久久久| 国产三级久久久| 免费看欧美美女黄的网站| 91国在线观看| 中文一区二区完整视频在线观看| 麻豆精品国产91久久久久久| 91福利国产精品| 国产精品天天摸av网| 久草精品在线观看| 欧美久久高跟鞋激| 亚洲国产视频在线| 色成人在线视频| 亚洲色图视频免费播放| 国产v综合v亚洲欧| 久久久久99精品国产片| 久久超级碰视频| 日韩欧美专区在线| 日韩激情一区二区| 欧美乱熟臀69xxxxxx| 亚洲一区二区三区影院| 色播五月激情综合网| 中文字幕日韩精品一区| 99久久精品免费看| 国产精品传媒入口麻豆| a在线播放不卡| 国产精品第五页| 97se亚洲国产综合自在线 | 韩国午夜理伦三级不卡影院| 制服丝袜中文字幕一区| 秋霞av亚洲一区二区三| 91精品国产欧美一区二区成人| 五月婷婷综合在线| 欧美三级日本三级少妇99| 亚洲线精品一区二区三区八戒| 日本精品一区二区三区高清 | 国产精品88av| 国产日产精品一区| 成人黄色一级视频| 亚洲免费视频中文字幕| 在线观看成人免费视频| 亚洲午夜国产一区99re久久| 欧美日韩国产高清一区| 蜜臀久久久99精品久久久久久| 日韩亚洲欧美中文三级| 国内精品伊人久久久久av一坑| 久久影院电视剧免费观看| 国产盗摄精品一区二区三区在线| 欧美国产欧美综合| 色综合天天性综合| 亚洲国产精品视频| 日韩一级高清毛片| 国产在线精品一区二区不卡了| 中文字幕精品一区二区三区精品| 99久久久国产精品| 亚洲成人激情社区| 日韩亚洲欧美一区| 国产91精品精华液一区二区三区 | 亚洲精品一区在线观看| 国产黄人亚洲片| 亚洲图片你懂的| 欧美高清精品3d| 韩日av一区二区| 日韩美女精品在线| 欧美老肥妇做.爰bbww| 久久精品国产免费看久久精品| 国产欧美一区二区三区网站| 在线视频国产一区| 麻豆一区二区三| **性色生活片久久毛片| 91精品国产一区二区三区| 国产成人亚洲综合a∨猫咪| 亚洲精品videosex极品| 日韩精品一区二区三区swag | 国产亚洲美州欧州综合国| 91视频.com| 精品一区二区三区久久久| 中文字幕在线观看不卡视频| 这里只有精品免费| av亚洲精华国产精华| 麻豆极品一区二区三区| 亚洲女厕所小便bbb| 精品日本一线二线三线不卡| 91老师国产黑色丝袜在线| 麻豆成人免费电影| 亚洲美女视频一区| 26uuu久久天堂性欧美| 欧美三级中文字| 成人免费毛片高清视频| 日韩精品一区第一页| 国产精品久久久久久福利一牛影视| 91精品婷婷国产综合久久性色 | 在线观看免费视频综合| 国产精品一区免费在线观看| 午夜视频一区二区| 中文字幕日韩欧美一区二区三区| 欧美成人免费网站| 欧美在线观看一区| 粉嫩av亚洲一区二区图片| 日本亚洲三级在线| 一区av在线播放| 国产精品卡一卡二| 精品sm捆绑视频| 在线成人高清不卡| 一本久道中文字幕精品亚洲嫩| 国产乱国产乱300精品| 日本在线不卡视频| 亚洲综合久久久| 国产精品国产a级| 国产亚洲欧美在线| 日本不卡一二三| 一区二区三区四区激情 | 成人妖精视频yjsp地址| 久久成人免费日本黄色| 日本美女视频一区二区| 亚洲一区二区三区国产| 自拍视频在线观看一区二区| 中文字幕第一区综合| 久久综合色婷婷| 日韩免费观看高清完整版| 91精品欧美福利在线观看| 欧美日韩一区在线观看| 欧美性一区二区| 欧美在线色视频| 精品视频一区 二区 三区| 欧洲亚洲国产日韩| 一本一道久久a久久精品|