成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

軟考程序員:標準的遺傳算法求函數最大值

企業動態 算法
以下是軟考程序員:標準的遺傳算法求函數最大值。

 Dim N2(30) As Long  用來保存2的N次方的數據

Dim Script As Object   調用其Eval函數

Public Enum CrossOver

OnePointCrossOver單點交叉

TwoPointCrossOver兩點交叉

UniformCrossOver 平均交叉

End Enum

Public Enum Selection

RouletteWheelSelection輪盤賭選擇

StochasticTourament   隨機競爭選擇

RandomLeagueMatches   隨機聯賽選擇

StochasticUniversalSampleing  隨機遍歷取樣

End Enum

Public Enum EnCoding

Binary  標準二進制編碼

Gray格雷碼

End Enum

Private Type GAinfo

Max As Double

Cordinate() As Double

End Type

***********************************  二進制碼轉格雷碼  ***********************************

函 數 名: BinaryToGray

參數: Value  -  要轉換的二進制數的實值

說明:如3對應的二進制表示為0011,而用格雷碼表示為0010,這個函數的value為0011代表的實數

而返回的是0010所代表的實數(2)

返 回 值: 返回格雷碼對應的二進制數的實值

***********************************  二進制碼轉格雷碼  ***********************************

Public Function BinaryToGray(Value As Long) As Long

Dim V As Long, Max As Long

Dim start As Long, mEnd As Long, Temp As Long, Counter As Long

Dim Flag As Boolean

V = Value: Max = 1

While V > 0

V = V / 2

Max = Max * 2

Wend

If Max = 0 Then Exit Function

Flag = True

mEnd = Max - 1

While start < mEnd

Temp = (mEnd + start - 1) / 2

If Value <= Temp Then

If Not Flag Then

Counter = Counter + (mEnd - start + 1) / 2

End If

mEnd = Temp

Flag = True

Else

If Flag Then

Counter = Counter + (mEnd - start + 1) / 2

End If

Temp = Temp + 1

start = Temp

Flag = False

End If

Wend

BinaryToGray = Counter

End Function

***********************************  格雷碼轉二進制碼  ***********************************

函 數 名: BinaryToGray

參數: Value  -  要轉換的二進制數的實值

說明:如3對應的二進制表示為0011,而用格雷碼表示為0010,這個函數的value為0010代表的實數

而返回的是0010所代表的實數(2)

返 回 值: 返回格雷碼對應的二進制數的實值

***********************************  格雷碼轉二進制碼  ***********************************

Public Function GrayToBinary(Value As Long) As Long

Dim V As Long, Max As Long

Dim start As Long, mEnd As Long, Temp As Long, Counter As Long

Dim Flag As Boolean

V = Value: Max = 1

While V > 0

V = V / 2

Max = Max * 2

Wend

Flag = True

mEnd = Max - 1

While start < mEnd

Temp = Counter + (mEnd - start + 1) / 2

If Flag Xor (Value < Temp) Then

If Flag Then Counter = Temp

start = (start + mEnd + 1) / 2

Flag = False

Else

If Not Flag Then Counter = Temp

mEnd = (start + mEnd - 1) / 2

Flag = True

End If

Wend

GrayToBinary = start

End Function

***********************************  十進制轉轉二進制碼  ***********************************

函 數 名: DecToBinary

參數: Value  -  要轉換的十進制數

返 回 值: 返回對應的二進制數

***********************************  十進制轉轉二進制碼  ***********************************

Private Function DecToBinary(ByVal Value As Long) As String

Dim StrTemp As String

Dim ModNum As Integer

Do While Value > 0

ModNum = Value Mod 2

Value = Value \ 2

StrTemp = ModNum & StrTemp

Loop

DecToBinary = StrTemp

End Function

************************************* 二十進制轉換  **********************************

函 數 名: BinToDec

參數: BinCode  -  二進制字符串

返 回 值: 轉換后的十進制數

說明:二進制字符串轉換位十進制數

************************************* 二十進制轉換  **********************************

Public Function BinToDec(BinCode As String) As Long

Dim i As Integer, Dec As Long, Length As Integer

Length = Len(BinCode)

For i = 1 To Length

If Mid(BinCode, i, 1) = “1” Then

Dec = Dec + N2(Length - i)

End If

Next

BinToDec = Dec

End Function

***********************************  編碼  ***********************************

過 程 名: Coding

參數: Bits -  需要編碼的位數

BinGroup -  保存群體編碼數據的數組

說明:編碼,準確的說應該是初始化種群,對于二進制碼和格雷碼這個過程一樣的

***********************************  編碼  ***********************************

Public Sub Coding(Bits As Integer, BinGroup() As String)

Dim i As Integer, j As Integer

Dim Temp As String

Randomize

For i = 1 To UBound(BinGroup, 1)

Temp = “”

For j = 1 To Bits

If Rnd >= 0.5 Then

Temp = Temp & “1”

Else

Temp = Temp & “0”

End If

Next

BinGroup(i) = Temp

Next

End Sub

【編輯推薦】

  1. 程序員之程序設計知識點三(1)
  2. 程序員之程序設計知識點三
  3. 程序員之程序設計知識點五
  4. 更多軟考資料請點擊51CTO軟考專題
責任編輯:張攀 來源: sawin網
相關推薦

2017-09-22 14:12:04

AI

2013-08-27 09:56:51

程序員

2021-03-10 15:49:20

人工智能遺傳算法

2016-04-12 13:58:48

答案面試程序員

2016-04-12 14:28:16

程序員面試標準

2017-11-16 15:25:54

Go語言算法代碼

2025-01-16 07:10:00

2014-12-08 10:08:33

程序員

2014-12-08 09:44:01

程序員

2010-11-24 16:42:40

mysql命令行求最小

2009-08-14 09:41:03

C#遺傳算法

2014-11-03 14:43:38

程序員

2018-06-04 12:41:50

程序員貪心算法分析

2012-08-20 09:26:17

程序員算法排列算法

2014-11-28 16:08:33

射頻識別RFID

2013-08-20 09:33:59

程序員

2019-01-21 14:13:51

程序員技能開發者

2021-05-09 22:41:43

Python數據統計

2011-05-13 14:34:02

程序員

2021-01-19 15:59:14

程序員算法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一级黄色 | 久久精品视频亚洲 | 精品视频一区二区三区 | 亚洲一区二区三区在线播放 | av在线电影网站 | 色综合色综合 | 久久精品亚洲精品国产欧美 | 欧美黑人一级爽快片淫片高清 | 伊人久操 | 在线观看国产视频 | 91超碰caoporn97人人 | 97伦理最新伦理 | 91麻豆产精品久久久久久夏晴子 | 国产成人综合久久 | 国产一区二区高清在线 | 欧美在线一区二区三区 | 正在播放一区二区 | 中文字幕av一区二区三区 | 日本欧美视频 | 中文字幕一区二区三区日韩精品 | 天天干天天草 | caoporn地址| 国产精品99久久久久久大便 | 一区二区三区视频在线 | 精品小视频 | 日韩手机视频 | 日韩欧美在线免费观看视频 | 91在线视频在线观看 | 国产精品资源在线 | 色天堂影院 | 久久精品女人天堂av | 伊人一区 | 三级视频在线观看电影 | 偷派自拍 | 亚洲 欧美 日韩在线 | 成人美女免费网站视频 | 美女久久 | 久久久精品 | 天堂久久久久久久 | 久久成人精品视频 | 97精品国产手机 |