Golangを使用した遺伝的アルゴリズムでのルーレットホイールの選択

zuma89:

遺伝的アルゴリズムのための模擬ルーレットホイール選択関数を作成しています。まずの、私は追加したいと思うsumのがfitnessScore主な機能で。合計した後、Go パッケージfitnessScoresum使用して、値をランダム化したかったのmath/randです。このシナリオでrandパッケージをどのように使用すればよいspin_wheel := rand.sumですか?値をランダムにするためにどのように修正しますか?

package main

import(
    "fmt"
    "time"
    "math/rand"
)

func rouletteWheel(fitnessScore []float64) []float64{
    sum := 0.0
    for i := 0; i < len(fitnessScore); i++ {
        sum += fitnessScore[i]
    }

    rand.Seed(time.Now().UnixNano())
    spin_wheel := rand.sum
    partial_sum := 0.0
    for i := 0; i < len(fitnessScore); i++{
        partial_sum += fitnessScore[i]
        if(partial_sum >= spin_wheel){
            return fitnessScore
        }
    }
    return fitnessScore
}

func main(){
    fitnessScore := []float64{0.1, 0.2, 0.3, 0.4}
    fmt.Println(rouletteWheel(fitnessScore))
}
peterSO:

例えば、

package main

import (
    "fmt"
    "math/rand"
    "time"
)

// Returns the selected weight based on the weights(probabilities)
// Fitness proportionate selection:
// https://en.wikipedia.org/wiki/Fitness_proportionate_selection
func rouletteSelect(weights []float64) float64 {
    // calculate the total weights
    sum := 0.0
    for _, weight := range weights {
        sum += weight
    }
    // get a random value
    value := rand.Float64() * sum
    // locate the random value based on the weights
    for _, weight := range weights {
        value -= weight
        if value <= 0 {
            return weight
        }
    }
    // only when rounding errors occur
    return weights[len(weights)-1]
}

func main() {
    rand.Seed(time.Now().UnixNano())
    weights := []float64{0.1, 0.2, 0.3, 0.4}
    fmt.Println(rouletteSelect(weights))
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

遺伝的アルゴリズム-どのデータ構造が必要ですか?

分類Dev

遺伝的アルゴリズムとPYTHONの多目的最適化:使用するライブラリ/ツール?

分類Dev

遺伝的アルゴリズムとPYTHONの多目的最適化:使用するライブラリ/ツール?

分類Dev

遺伝的アルゴリズムトーナメントの選択

分類Dev

ルーレットホイール選択を使用した遺伝的アルゴリズム

分類Dev

ニューラルネットワークはどのように遺伝的アルゴリズムとバックプロパゲーションを使用してゲームをプレイしますか?

分類Dev

ランダムなサブセットを選択するための遺伝的アルゴリズムの実装

分類Dev

遺伝的アルゴリズム:ランガーマンの機能とトーナメントの選択

分類Dev

遺伝的アルゴリズムでゆるい鳥を演じるためのニューラルネットワークのトレーニング-なぜそれは学習できないのですか?

分類Dev

遺伝的アルゴリズムでのフィットネス比例選択(ルーレットホイール)の確率リストを生成します

分類Dev

遺伝的アルゴリズム-親の選択とクロスオーバーの確率

分類Dev

遺伝的アルゴリズムでブリーダーを選ぶ

分類Dev

訓練されたニューラルネットワークの混合-遺伝的アルゴリズム

分類Dev

遺伝的アルゴリズムを使用して、最適なネットワークモデルとパラメーターを選択できますか?

分類Dev

遺伝的アルゴリズムに部分的に一致したクロスオーバーを使用する場合の重複の処理

分類Dev

MlroseTSPOpt遺伝的アルゴリズム独自のコスト関数

分類Dev

データセット機能で遺伝的アルゴリズムを変更する方法

分類Dev

univeristyタイムテーブルの遺伝的アルゴリズム

分類Dev

選択アルゴリズムを使用したコンパイル時の再帰的ソート

分類Dev

遺伝的アルゴリズム:大きな解空間を解くためのパラメーターを選択するための経験則

分類Dev

Java:遺伝的アルゴリズムのクロスオーバーのために2つのダブルビットストリングを混合する

分類Dev

Matlabの遺伝的アルゴリズムを使用した画像再構成アルゴリズムの最適化

分類Dev

MATLABの最適化ツールボックスで遺伝的アルゴリズムを使用して多目的関数を解く

分類Dev

非遺伝的ケースのMatlab遺伝的アルゴリズム

分類Dev

構造体/遺伝的アルゴリズムの使用

分類Dev

Rで遺伝的アルゴリズムを使用してCARTのパラメーターを最適化する方法

分類Dev

Rの遺伝的アルゴリズム

分類Dev

リストの位置で囲まれた項目を使用して計算する(遺伝的アルゴリズムの適合性)

分類Dev

mlr遺伝的アルゴリズムの初期集団の選択

Related 関連記事

  1. 1

    遺伝的アルゴリズム-どのデータ構造が必要ですか?

  2. 2

    遺伝的アルゴリズムとPYTHONの多目的最適化:使用するライブラリ/ツール?

  3. 3

    遺伝的アルゴリズムとPYTHONの多目的最適化:使用するライブラリ/ツール?

  4. 4

    遺伝的アルゴリズムトーナメントの選択

  5. 5

    ルーレットホイール選択を使用した遺伝的アルゴリズム

  6. 6

    ニューラルネットワークはどのように遺伝的アルゴリズムとバックプロパゲーションを使用してゲームをプレイしますか?

  7. 7

    ランダムなサブセットを選択するための遺伝的アルゴリズムの実装

  8. 8

    遺伝的アルゴリズム:ランガーマンの機能とトーナメントの選択

  9. 9

    遺伝的アルゴリズムでゆるい鳥を演じるためのニューラルネットワークのトレーニング-なぜそれは学習できないのですか?

  10. 10

    遺伝的アルゴリズムでのフィットネス比例選択(ルーレットホイール)の確率リストを生成します

  11. 11

    遺伝的アルゴリズム-親の選択とクロスオーバーの確率

  12. 12

    遺伝的アルゴリズムでブリーダーを選ぶ

  13. 13

    訓練されたニューラルネットワークの混合-遺伝的アルゴリズム

  14. 14

    遺伝的アルゴリズムを使用して、最適なネットワークモデルとパラメーターを選択できますか?

  15. 15

    遺伝的アルゴリズムに部分的に一致したクロスオーバーを使用する場合の重複の処理

  16. 16

    MlroseTSPOpt遺伝的アルゴリズム独自のコスト関数

  17. 17

    データセット機能で遺伝的アルゴリズムを変更する方法

  18. 18

    univeristyタイムテーブルの遺伝的アルゴリズム

  19. 19

    選択アルゴリズムを使用したコンパイル時の再帰的ソート

  20. 20

    遺伝的アルゴリズム:大きな解空間を解くためのパラメーターを選択するための経験則

  21. 21

    Java:遺伝的アルゴリズムのクロスオーバーのために2つのダブルビットストリングを混合する

  22. 22

    Matlabの遺伝的アルゴリズムを使用した画像再構成アルゴリズムの最適化

  23. 23

    MATLABの最適化ツールボックスで遺伝的アルゴリズムを使用して多目的関数を解く

  24. 24

    非遺伝的ケースのMatlab遺伝的アルゴリズム

  25. 25

    構造体/遺伝的アルゴリズムの使用

  26. 26

    Rで遺伝的アルゴリズムを使用してCARTのパラメーターを最適化する方法

  27. 27

    Rの遺伝的アルゴリズム

  28. 28

    リストの位置で囲まれた項目を使用して計算する(遺伝的アルゴリズムの適合性)

  29. 29

    mlr遺伝的アルゴリズムの初期集団の選択

ホットタグ

アーカイブ