成人免费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網
相關推薦

2013-08-27 09:56:51

程序員

2017-09-22 14:12:04

AI

2021-03-10 15:49:20

人工智能遺傳算法

2016-04-12 14:28:16

程序員面試標準

2016-04-12 13:58:48

答案面試程序員

2025-01-16 07:10:00

2017-11-16 15:25:54

Go語言算法代碼

2014-12-08 10:08:33

程序員

2014-12-08 09:44:01

程序員

2014-11-03 14:43:38

程序員

2010-11-24 16:42:40

mysql命令行求最小

2009-08-14 09:41:03

C#遺傳算法

2018-06-04 12:41:50

程序員貪心算法分析

2012-08-20 09:26:17

程序員算法排列算法

2013-08-20 09:33:59

程序員

2014-11-28 16:08:33

射頻識別RFID

2019-01-21 14:13:51

程序員技能開發者

2021-01-19 15:59:14

程序員算法

2024-07-03 08:00:00

2011-05-13 14:34:02

程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产综合第一页 | 91精品国产综合久久久久久丝袜 | 羞视频在线观看 | 成人在线中文 | 亚洲精品久久久久avwww潮水 | 免费久久99精品国产婷婷六月 | 91精品国产91 | 九一国产精品 | 精品一区二区视频 | a级毛片毛片免费观看久潮喷 | 久久久91精品国产一区二区三区 | 国产欧美日韩综合精品一 | 精品亚洲一区二区三区 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 亚洲久久久 | 亚洲不卡| 国产精品久久久久一区二区三区 | aaaa网站 | 日产久久 | 亚洲精品久久久一区二区三区 | 羞羞视频免费在线观看 | 福利av在线| 91精品国产乱码久久久 | 午夜影院在线免费观看视频 | 一区二区国产在线 | 男女免费观看在线爽爽爽视频 | 国产一区91精品张津瑜 | 日本一区二区视频 | 青青久在线视频 | 精品一区二区免费视频 | 青青久久久 | 高清黄色毛片 | 国产一区二区三区亚洲 | 日韩一区二区三区视频在线播放 | 久草院线| 四虎成人精品永久免费av九九 | 九色网址| 日本粉嫩一区二区三区视频 | 精品一区二区三区四区视频 | 日本精品一区二区三区视频 | 日韩伦理一区二区三区 |