0

nゲノムのセットと、n対応するフィットネス値があります。に比例する適合度の値に従って、置換されたゲノムをサンプリングしたいと思いますP(genome) = fitness(genome) / sum(fitness(genomes))。Matlabにこのようなサンプリングのための組み込みメカニズムはありますか?

4

3 に答える 3

1

適合度がそれぞれ0.4、0.3、0.2、0.1である4つの母集団から10個のサンプルを取得する場合は、次のように実行できます。

>> fitness = [0.4 0.3 0.2 0.1];
>> mnrnd(10,fitness)
ans =
     3     5     1     1
于 2012-04-25T07:51:38.183 に答える
0

Matlabには、多項乱数ジェネレーターが組み込まれています。mnrndあなたはあなたの目的のために使うことができます。

于 2012-04-25T00:17:45.727 に答える
0

randsampleこの目的で使用できます。

>> f = [2 5 7 8 1]; %# fitness values (not normalized)
>> g = {'g1', 'g2', 'g3', 'g4', 'g5'}; %# genome names
>> gSampled = randsample(g,100,true,f) %# sample 100 genomes with replacement
于 2012-04-25T08:13:46.333 に答える