GEP程式(C 語言描述)分析(二)

2021-05-05 01:43:55 字數 1028 閱讀 7670

以下我們將完成第二步!這一部分會涉及到一些資料結構的相關知識

「2、確定基因結構與種群結構」

gep基因可能是由一些符號、常量、變數等組成的乙個字串,稱為k表示式。乙個k表示式稱為乙個基因。

我們說乙個染色體是我們的乙個個體,他可能是由乙個基因組成,也可能是多基因的或者說是乙個基因組。

我們對基因或基因組的表示使用string型別。仍然使用乙個類去處理這個問題。

首先定義一些標準介面。

/*** 染色體 (遺傳空間的樣本)

*/public inte***ce chromosome

這個介面中沒有任何東西,完全是為了相容性和擴充套件需要。以下是gep的染色體類

/*** gep的染色體

*/public class gepchromosome : chromosome

public string getgenes()

public string getstructuregene()

public string tostring()

}在gepchromosome類中,包含了內容基因,基因結構(暫時沒有設定),以及一些基本操作。以下是種群的設定:

/*** 種群 (每乙個個體用其染色體表示)

*/public class population

/*** 取得第i個染色體

* @param i

* @return

*/public chromosome get(int i)

/*** 返回種群大小

* @return

*/public int size()

/*** 設定第i個染色體

* @param i

* @param chromosome

*/public void set(int i, chromosome chromosome)

}在類population中,首先定義了乙個染色體容器,是arraylist資料型別。並且定義了add操作。用於向種群中增加新的個體。以及一些相關的操作。

這樣我們完成了第二步。

GEP程式(C 語言描述)分析(四)

以上我們做了乙個基本的工作,將函式集合,終結符集合,和適應性函式構造起來了。以下的工作就是如何實現遺傳操作。當然一些細節上的工作我們也將處理。我們再回想一下,我們在前三部分都做了什麼工作!一 總結 1 建築材料 在第一部分中,我們設定了函式集合和終結符集合。這些是我們gep演算法操作的基本元素。這稱...

二分查詢(C語言描述)

二分查詢是比較簡單的一種搜尋方式,但是它必須基於乙個已排序的陣列,換句話說的話,也就是二分查詢是需要乙個比較來判斷是往哪一方縮小查詢區間 建議查詢益於比較的資料 例如數字 上 對分查詢 includeint binarysearch const int a,int x,int n 定義對分查詢函式 ...

C語言 weak alias描述

macro weak alias define weak alias name,aliasname mweak alias name,aliasname define weak alias name,aliasname extern typeof name aliasname attribute w...