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

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

?? ssprob.cpp

?? 一個GP遺傳編程的源程序
?? 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一区二区三区免费野_久草精品视频
亚洲卡通动漫在线| 五月激情综合婷婷| 亚洲曰韩产成在线| 国产一区二区按摩在线观看| 在线这里只有精品| 国产欧美日韩中文久久| 六月丁香综合在线视频| 色屁屁一区二区| 国产嫩草影院久久久久| 亚洲成人一区二区| 96av麻豆蜜桃一区二区| 久久久蜜桃精品| 蜜臀av性久久久久蜜臀av麻豆| 91婷婷韩国欧美一区二区| 久久青草欧美一区二区三区| 麻豆精品在线播放| 51精品视频一区二区三区| 亚洲激情校园春色| 色婷婷综合在线| 中文字幕一区av| 国产成人一级电影| 久久久影视传媒| 国产自产高清不卡| 精品国精品自拍自在线| 免费在线一区观看| 欧美精品777| 日韩av电影天堂| 日韩一区二区视频| 日韩影院免费视频| 日韩三区在线观看| 人禽交欧美网站| 欧美va亚洲va在线观看蝴蝶网| 午夜国产精品一区| 日韩免费电影网站| 精品一区二区三区在线观看| 日韩欧美一区二区久久婷婷| 久久国产三级精品| 2021中文字幕一区亚洲| 岛国av在线一区| 国产精品福利在线播放| 色欧美片视频在线观看在线视频| 亚洲另类中文字| 欧美日韩午夜在线| 免费三级欧美电影| 久久久国际精品| www.视频一区| 午夜亚洲福利老司机| 欧美一区二区在线观看| 精品一区二区三区免费毛片爱| 国产三级久久久| www.激情成人| 天天操天天综合网| 久久综合999| 97se亚洲国产综合自在线观| 亚洲成av人片一区二区三区| 日韩午夜激情电影| 99久久婷婷国产综合精品电影| 一区二区三区四区在线播放 | 欧美日韩国产另类一区| 婷婷开心久久网| 久久久一区二区| 色香色香欲天天天影视综合网| 日韩av一区二| 国产精品看片你懂得| 欧美日韩成人一区| 大美女一区二区三区| 亚洲一区二区不卡免费| 精品国产乱码久久久久久牛牛 | 午夜欧美电影在线观看| 欧美草草影院在线视频| 99re成人精品视频| 蜜臀av一区二区在线免费观看| 国产精品美女久久久久高潮| 欧美日韩在线亚洲一区蜜芽| 精品一区二区三区久久久| 亚洲欧洲日产国产综合网| 91精品国产综合久久福利软件| 国产成人av电影在线| 手机精品视频在线观看| 国产精品女人毛片| 91精品国产综合久久精品图片| 懂色av一区二区三区免费看| 日韩电影免费一区| 一区在线中文字幕| 久久综合精品国产一区二区三区| 91久久人澡人人添人人爽欧美| 国产福利不卡视频| 日韩电影在线免费| 亚洲一区在线免费观看| 亚洲欧洲av在线| 久久久影视传媒| 日韩午夜激情免费电影| 欧美日韩一二三区| 91久久精品午夜一区二区| 国产一区二区三区免费| 男人的天堂久久精品| 亚洲高清中文字幕| 亚洲精品视频自拍| 国产精品久久免费看| 久久日韩粉嫩一区二区三区| 欧美一区中文字幕| 欧美亚洲禁片免费| 在线观看91视频| 色婷婷国产精品| 色综合av在线| 99热这里都是精品| 成人av资源在线观看| 国产黑丝在线一区二区三区| 日本vs亚洲vs韩国一区三区二区 | 国产精品麻豆久久久| 久久精品这里都是精品| 久久久久久久久久久99999| 精品少妇一区二区三区视频免付费 | 欧美一区二区三区白人| 欧美色视频在线| 欧美性感一类影片在线播放| 91日韩一区二区三区| 成人精品免费视频| 成人a免费在线看| www.欧美色图| 91浏览器打开| 欧美综合视频在线观看| 欧美日韩在线电影| 欧美日本一区二区| 欧美一级黄色录像| 日韩女优av电影| 久久婷婷国产综合精品青草| 26uuuu精品一区二区| 国产蜜臀av在线一区二区三区| 国产欧美综合在线观看第十页| 国产精品福利影院| 亚洲午夜av在线| 肉色丝袜一区二区| 久久99精品视频| 高清国产午夜精品久久久久久| fc2成人免费人成在线观看播放| 色香色香欲天天天影视综合网| 欧美色综合网站| 日韩欧美高清dvd碟片| 中文字幕乱码日本亚洲一区二区 | 日本va欧美va欧美va精品| 国产一区二区视频在线播放| www.欧美精品一二区| 欧美日韩激情一区| 欧美va日韩va| 亚洲男人天堂av网| 麻豆高清免费国产一区| 成人免费高清在线观看| 91精彩视频在线| 日韩欧美的一区| 国产精品高潮呻吟久久| 亚洲成人av一区| 粉嫩aⅴ一区二区三区四区五区 | 91麻豆精品一区二区三区| 欧美日韩亚洲高清一区二区| 精品美女一区二区| 亚洲欧美日韩成人高清在线一区| 天天色综合天天| 97国产一区二区| 精品欧美一区二区在线观看| 亚洲裸体在线观看| 国产在线不卡一区| 欧美日韩精品电影| 国产精品久久久久久久午夜片| 日韩激情视频在线观看| 99精品国产视频| 久久免费偷拍视频| 三级一区在线视频先锋 | 国产福利91精品一区| 欧美日韩国产美女| 亚洲男人天堂av网| 成人一级视频在线观看| 日韩一区二区免费高清| 亚洲美女精品一区| 成人免费视频播放| 欧美精品一区二区久久婷婷| 亚洲高清不卡在线观看| 色综合久久中文字幕| 亚洲国产精品国自产拍av| 日本怡春院一区二区| 精品视频在线视频| 一区二区三区日韩欧美| 成人精品gif动图一区| 久久久久久久综合狠狠综合| 轻轻草成人在线| 欧美日韩国产综合视频在线观看| 国产精品久久久一本精品| 国内精品在线播放| 欧美成人猛片aaaaaaa| 日本美女视频一区二区| 欧美日韩成人在线| 亚洲成在线观看| 在线观看日韩一区| 亚洲精品欧美激情| 91网站最新地址| 亚洲人成网站在线| 色婷婷综合久久久中文一区二区| 中文成人综合网| www.欧美日韩国产在线| 中文字幕不卡在线|