JJ / 2016-ea-languages-wcci

Updating the paper for WCCI
Artistic License 2.0
2 stars 3 forks source link

Mighty C# implementation. #4

Closed mariosky closed 8 years ago

mariosky commented 8 years ago

Please do.

JJ commented 8 years ago

Great!

mariosky commented 8 years ago

La implementación de xover de https://github.com/JJ/2016-ea-languages-wcci/blob/master/c/xover.c intercambia los genes de manera aleatoria, digamos unas length/2 veces en promedio. Pero recorre todo el array.

Pero la de php https://github.com/JJ/2016-ea-languages-wcci/blob/master/php/bxover.php Intercambia a partir de un punto aleatorio, digamos también unas length/2 veces en promedio. Pero no recorre todo el arreglo siempre, solo recorre un length/2 en promedio.

Esta puede ser otra razón por la que C y C++ son más lentos. En el caso de C#, si es más lento.

On Fri, Nov 27, 2015 at 11:37 PM, Juan Julián Merelo Guervós < notifications@github.com> wrote:

Great!

— Reply to this email directly or view it on GitHub https://github.com/JJ/2016-ea-languages-wcci/issues/4#issuecomment-160257678 .

vrivas commented 8 years ago

Hola. En realidad, me fijé en la implementación que había hecha en Java. Esta es la de Java: int initial_point = r.nextInt(length); int final_point = r.nextInt(length); if (initial_point > final_point) { int t = initial_point; initial_point = final_point; final_point = t; }

Y esta la de PHP: // Initial point for xover $p1=rand(0,$l-2); // Final point for xover $p2=rand($p1+1, $l-1); $tmpB1=$b1; // INterchanging information: values at positions $p1 and $p2 are also interchanged $b1=substr_replace ( $b1, substr($b2, $p1, $p2-$p1+1), $p1, $p2-$p1+1 ); $b2=substr_replace ( $b2, substr($tmpB1, $p1, $p2-$p1+1), $p1, $p2-$p1+1 );

Avisadme si tengo que cambiar la versión PHP. Saludos

El 28 de noviembre de 2015, 22:47, Mario Garcia Valdez < notifications@github.com> escribió:

La implementación de xover de https://github.com/JJ/2016-ea-languages-wcci/blob/master/c/xover.c intercambia los genes de manera aleatoria, digamos unas length/2 veces en promedio. Pero recorre todo el array.

Pero la de php https://github.com/JJ/2016-ea-languages-wcci/blob/master/php/bxover.php Intercambia a partir de un punto aleatorio, digamos también unas length/2 veces en promedio. Pero no recorre todo el arreglo siempre, solo recorre un length/2 en promedio.

Esta puede ser otra razón por la que C y C++ son más lentos. En el caso de C#, si es más lento.

On Fri, Nov 27, 2015 at 11:37 PM, Juan Julián Merelo Guervós < notifications@github.com> wrote:

Great!

— Reply to this email directly or view it on GitHub < https://github.com/JJ/2016-ea-languages-wcci/issues/4#issuecomment-160257678

.

— Reply to this email directly or view it on GitHub https://github.com/JJ/2016-ea-languages-wcci/issues/4#issuecomment-160338563 .

Victor Manuel Rivas Santos

JJ commented 8 years ago

Impleméntalo de la forma que veas más conveniente en cada lenguaje, no hay problema.