Un algorithme génétique en Julia - partie 1
Pour continuer d’apprendre le langage Julia, je vais coder un algorithme génétique simple.
Tout d’abord un chromosome, qui va contenir 10 valeurs, chaque valeur pouvant être soit zéro, soit un:
julia> chromosome() = rand(0:1, 10)
La fonction rand
prend un range en premier paramêtre.
On teste cette fonction:
julia> chromosome()
10-element Array{Int32,1}:
0
1
1
1
1
1
1
0
1
1
Maintenant je veux une population:
julia> population(size) = [ chromosome() for _ in 1:size ]
Il s’agit d’une compréhension de liste. Pour chaque valeur (symbolisée
par le _
) du range de 1 à size
, on applique la fonction chromosome
.
Je peux donc avoir une population:
julia> population(8)
8-element Array{Array{Int32,1},1}:
[1,0,1,0,1,0,0,1,1,0]
[1,1,0,1,0,1,0,1,0,0]
[1,0,1,1,0,1,1,1,1,1]
[0,0,1,0,0,1,0,0,1,1]
[1,0,0,1,0,1,1,1,1,0]
[0,1,0,0,1,1,1,0,1,1]
[0,0,0,1,0,1,0,1,1,1]
[0,1,0,0,0,1,0,1,1,0]
À demain.
/ / / / / / / / / /