
Cambiar un bit de 0 a 1 usando números digitales
Publicado por Marco Antonio (61 intervenciones) el 30/09/2017 14:45:24
Estoy haciendo un pequeño programa de algoritmos geneticos y estoy usando solo valores digitales el cruce ya lo tengo listo de esta forma
ahora al hijo necesito cambiarle un bit de 0 a 1 o de 1 a 0 de forma aleatoria ahora mis palabras son de 42 bits pongo un ejemplo de hijo
Gracias de Antemano
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
x10 =1.0e+12 *
0.849712753174819 4.219400418437600 0.849712753174819 0.849712753174819 4.219400418437600 4.155203938680990 0.849712753174819 4.155203938680990 0.849712753174819 0.849712753174819Max_Number_of_Bits =42
Ptc = ceil(Max_Number_of_Bits*0.8)
Ma1 = 2^Ptc-1
Ma2 = 2^Max_Number_of_Bits-1-Ma1
for n=1:10
x11=randsample(x10,2)
k1 = bitand(Ma1,round(x11(1,1)))
p1 = bitand(Ma2,round(x11(2,1)))
Hijo(n,1) = bitor(k1,p1)
end
ahora al hijo necesito cambiarle un bit de 0 a 1 o de 1 a 0 de forma aleatoria ahora mis palabras son de 42 bits pongo un ejemplo de hijo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Hijo =1.0e+12 *
0.849712753175000 0.849712753175000 4.216967113239000 0.856669055353000 0.849712753175000 0.852146058374000 4.150680941702000 4.216967113239000 0.849712753175000 4.148247636503000Gracias de Antemano
Valora esta pregunta


0
