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

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

?? ssprob.cpp

?? 遺傳算法的源程序
?? CPP
字號:
// Copyright Andy Singleton, 1993,1994
// This code is released for non-commercial use only
// For questions or upgrades contact:
// Andy Singleton, Creation Mechanics Inc.
// PO Box 248, Peterborough, NH 03458
// Internet: p00396@psilink.com
// Compuserve 73313,757
// Phone: (603) 563-7757


// GPQUICK
// sample GP problem file
// Compatible with problem DLL's for the GP-GIM professional GP system
// SSRProb = Simple Symbolic regression problem.
// Includes main function

#include "pch.h"
#include "chrome.h"
#include "primitiv.h"

extern char scratch[100];
#ifdef FASTEVAL
	extern evalnode* IpGlobal;
	extern Chrome* ChromeGlobal;
#endif


//**************************************************************************
// Define your Problem class

class SSRProb : public Problem {
public:
	SSRProb(ChromeParams* p=NULL);  // Initialize primitives, parameters, and data
	float fitness(Chrome* chrome);  // Driving ingredient - GP fitness function

	//virtual FitnessValue* GetFitnessObj(); // Optional new behavior
};

//**************************************************************************
// static variables that make up the evaluation environment
// Build your environment here as statics
// where the evaluation functions can get to the data
retval john, paul, george, ringo, elvis;


//**************************************************************************
/////////////////// Problem specific functions and terminals
// Use the OPDEF,EVAL,IP and CURCHROME defines
// and the code will recompile for different eval methods

				// A terminal named "John" that returns a data value
OPDEF(JohnEval) {return john;}

				// A terminal named "Paul" that returns a data value
OPDEF(PaulEval) {return paul;}

				// A terminal named "George" that returns a data value
OPDEF(GeorgeEval) {return george;}

				// A terminal named "Ringo" that returns a data value
OPDEF(RingoEval) {return ringo;}

				// A terminal named "Elvis" that returns a data value
OPDEF(ElvisEval) {return elvis;}



//**************************************************************************
///////////////////////// PROBLEM definition


SSRProb::SSRProb(ChromeParams* p) : Problem()
{
	AddF(new ConstFunc(300));    // REQUIRED as function 0

	// Add some standard primitives
	AddF(new AddFunc(100));
	AddF(new SubFunc(100));
	AddF(new MulFunc(100));
	AddF(new DivFunc(100));

	// These are not used for SSPROB, but are available
	//AddF(new Add4Func(100));
	//AddF(new Prog4Func(100));
    //AddF(new SineFunc(100));
	//AddF(new AbsFunc(100));
	//AddF(new BoolFunc(100));
	//AddF(new NotFunc(100));
	//AddF(new AndFunc(100));
	//AddF(new OrFunc(100));
	//AddF(new IfFunc(100));
	//AddF(new IflteFunc(100));

	// Add the problem specific primitives
	AddF(new Function(0,0,100,JohnEval,"John"));
	AddF(new Function(0,0,100,PaulEval,"Paul"));
	AddF(new Function(0,0,100,GeorgeEval,"George"));
	AddF(new Function(0,0,100,RingoEval,"Ringo"));
	AddF(new Function(0,0,100,ElvisEval,"Elvis"));

	// Set some parameters
	p->params[pRepeatEval]=1;               // repeat evaluation with new case on copy
	p->params[pMuteShrinkWt]=30;    // population tends to collapse toward 0 average value.  Reduce shrinkage
	p->params[pMuteWt]=20;                  // standard settings
	p->params[pCrossWt]=70;
	p->params[pMuteRate]=60;
	// compensate for small population (typically 1000)
	p->params[pAnnealCrossWt]=50;           // add some annealing
	p->params[pAnnealMuteWt]=100;
	p->params[pTournSize]=6;                        //reduce greediness from 7

	// If you need to load problem specific data for evaluation
	// Or load an environment (a map, a scenario)
	// Do it here
}


// This is the value we want to discover
// Change the formula to experiment with difficulty
// Put a data field here for regression against actual data
#define REGRESSIONVALUE john*(george-paul)+2.5*ringo



float SSRProb::fitness(Chrome* chrome)
// Regression type fitness function.
// Calculate a sum squared error over some number of cases

{
	int i;
	float f = 0;
	retval answer,diff;

	// Check some number of cases (20 here)
	for (i=0;i<20;i++)
	{
		// Set up the evaluation environment
		// for a specific case
		john=rnd(1000);
		paul=rnd(1000);
		george=rnd(1000);
		ringo=rnd(1000);
		elvis=rnd(1000);

		// Evaluate the expression
		answer=chrome->evalAll();

		// Sum up the squared error
		diff = (REGRESSIONVALUE) - answer;
		f-=diff*diff;
	}

	chrome->nfitness->fvalue=f;
	return f;
}



//**************************************************************************
///////////////////////////////  MAIN

int main(int, char **)
// Run SSRProb (the Simple Symbolic Regression Problem)
// With a population of size 2000
// Run for 80,000 evals, or until it finds the answer
// DOS version will exit on keyboard hit
// Every 5 seconds or 1000 evals, print the best answer so far

{
	ChromeParams* params = new ChromeParams();
	Problem* prob=new SSRProb(params);
	Pop* pop;

	cout << "\nGPQUICK Sample Problem - Simple Symbolic Regression\n";

	rndomize();
	pop = new Pop(prob,params,1000);             // population of size 2000

	int done = 0;


	// Do for 80,000 iterations, or until we find the right answer
	//while (pop->gencount<80000l && !done)  // Portable version - not interruptible
	while (pop->gencount<80000l && !done && !kbhit())  // kbhit IS NOT PORTABLE (Borland specific)
	{
		// go for 5 seconds, 1000 evals, or until we get to less than 4 error
		pop->go_until(time(NULL)+5,1000,-4);

		// Display the best so far
		cout << "\n\nAfter " << pop->gencount << " generates, error = " << pop->BestFitness->fvalue << "\n";
		pop->pop[pop->BestMember]->write(PRETTY_NONE,cout);
		cout.flush();

		done = (pop->BestFitness->fvalue >=-4);
	}


	// Display the best
	cout << "\n\nFINAL RESULTS...";
	cout << "\nAfter " << pop->gencount << " generates, error = " << pop->BestFitness->fvalue << "\n";
	pop->pop[pop->BestMember]->write(PRETTY_NONE,cout);
	cout.flush();

	delete pop;
	delete prob;
	delete params;
	return done? 1 : 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久| 日本不卡视频一二三区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲欧美另类综合偷拍| 亚洲午夜av在线| 美女一区二区三区| 成人免费视频播放| 欧美欧美欧美欧美| 久久精品一区二区| 亚洲成人一区二区| 国产一区二区导航在线播放| 91网站黄www| 中文字幕一区在线| 一区二区三国产精华液| 一区二区在线观看免费视频播放| 色噜噜夜夜夜综合网| 欧美日韩精品免费| 国产欧美日韩亚州综合| 一区二区三区日韩欧美精品| 全国精品久久少妇| 色综合天天综合色综合av| 欧美电影一区二区三区| 国产欧美日韩在线视频| 日韩不卡一二三区| 国产99一区视频免费| 欧美无砖专区一中文字| www国产精品av| 一区二区三区四区不卡在线 | 95精品视频在线| 日韩视频免费观看高清完整版在线观看 | 亚洲乱码国产乱码精品精小说| 欧美a一区二区| 在线观看视频欧美| 亚洲国产精品国自产拍av| 日韩精品成人一区二区在线| 99久久免费视频.com| 精品国产第一区二区三区观看体验| 亚洲女同一区二区| 国产成人免费高清| 日韩欧美国产三级| 亚洲成人av一区二区| 成人黄色一级视频| 2023国产精品自拍| 麻豆精品一区二区综合av| 在线视频综合导航| 国产精品久久久久三级| 国产成人免费视频精品含羞草妖精 | 欧美色精品在线视频| 久久精品夜色噜噜亚洲a∨| 婷婷中文字幕综合| 成人av免费在线| 精品嫩草影院久久| 亚洲国产成人tv| 欧美在线影院一区二区| 国产欧美一区二区三区网站| 久久国产成人午夜av影院| 色偷偷久久一区二区三区| 成人欧美一区二区三区小说| 国模套图日韩精品一区二区| 精品国产乱码久久久久久闺蜜| 午夜精品爽啪视频| 欧美三级三级三级| 亚洲同性同志一二三专区| caoporn国产一区二区| 久久免费电影网| 国产精品18久久久久久久久久久久| 在线播放日韩导航| 亚洲风情在线资源站| 色av成人天堂桃色av| 亚洲伦在线观看| 99在线精品一区二区三区| 国产精品国产精品国产专区不片| 黑人巨大精品欧美一区| 精品欧美久久久| 久久福利资源站| 久久青草欧美一区二区三区| 久久狠狠亚洲综合| 精品av久久707| 老司机一区二区| 精品久久人人做人人爽| 麻豆精品一区二区三区| 久久影视一区二区| 麻豆精品国产传媒mv男同| 精品电影一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 国产婷婷色一区二区三区在线| 国产九色sp调教91| 亚洲国产高清在线观看视频| 波多野结衣在线一区| 亚洲视频在线一区| 色噜噜夜夜夜综合网| 首页国产丝袜综合| 91精品婷婷国产综合久久竹菊| 蜜臀av一区二区在线免费观看 | 国产亚洲福利社区一区| 国产suv一区二区三区88区| 1区2区3区国产精品| 99精品欧美一区二区三区小说 | 99精品1区2区| 最新国产成人在线观看| 91久久久免费一区二区| 亚洲高清不卡在线观看| 日韩精品一区在线| 国产一二精品视频| 亚洲天堂精品在线观看| 91伊人久久大香线蕉| 亚洲高清视频中文字幕| 91精品麻豆日日躁夜夜躁| 国产成人免费网站| 亚洲图片激情小说| 日韩免费高清视频| 久久国产剧场电影| 亚洲欧美一区二区三区国产精品 | 久久精品二区亚洲w码| 精品福利一二区| 国产jizzjizz一区二区| 亚洲综合在线免费观看| 91精品婷婷国产综合久久竹菊| 国产成人免费在线| 亚洲黄网站在线观看| 日韩欧美国产一区二区三区| 国产成人啪免费观看软件| 性做久久久久久免费观看欧美| 日韩欧美成人午夜| 成人91在线观看| 天堂影院一区二区| 国产精品久久久久aaaa樱花| 欧美午夜精品久久久| 国产东北露脸精品视频| 一区二区三区蜜桃网| xf在线a精品一区二区视频网站| 成人av电影在线观看| 免费成人av在线| 国产精品另类一区| 日韩三区在线观看| 成年人午夜久久久| 激情深爱一区二区| 亚洲欧美二区三区| 国产午夜精品久久久久久久| 在线免费观看一区| 国产精品一区二区在线播放| 亚洲欧洲日韩av| 欧美精品一区二区蜜臀亚洲| av网站一区二区三区| 极品尤物av久久免费看| 国产亚洲综合性久久久影院| 欧美另类变人与禽xxxxx| 成人深夜视频在线观看| 毛片不卡一区二区| 亚洲人成在线观看一区二区| 欧美tk—视频vk| 制服丝袜亚洲网站| 99久久精品费精品国产一区二区| 国产精品自拍av| 无码av中文一区二区三区桃花岛| 亚洲免费观看高清| 久久蜜桃一区二区| 91精品一区二区三区在线观看| 不卡视频一二三四| 日韩av一区二区三区四区| 亚洲国产精品视频| 亚洲精品一二三四区| 国产日产欧美一区二区视频| 久久爱www久久做| 99视频一区二区三区| 日韩一级完整毛片| 日本免费在线视频不卡一不卡二| 久久伊人中文字幕| 日韩午夜电影av| 91精品在线免费观看| 在线看日本不卡| 欧美性xxxxxx少妇| 一本大道久久a久久精二百| 91色婷婷久久久久合中文| 国产成人亚洲综合a∨婷婷| 国产一级精品在线| 看片的网站亚洲| 久久av中文字幕片| 亚洲国产精品天堂| 视频在线观看一区| 日韩精品每日更新| 亚洲一区中文在线| 午夜精品在线视频一区| 亚洲综合无码一区二区| 亚洲成人资源网| 亚洲国产一区二区a毛片| 一区二区三区免费网站| 依依成人精品视频| 国产女人aaa级久久久级| 久久亚洲二区三区| 国产欧美一区二区三区网站 | 亚洲综合色网站| 亚洲欧洲精品一区二区精品久久久 | 中文字幕一区三区| 亚洲精品在线电影| 国产在线精品免费av| 国产精品888| 国产精品99久久久久久有的能看| 粉嫩av一区二区三区粉嫩| 91一区二区在线|