Un último ajuste de estos algoritmos es evitar los óptimos relativos (es decir, que por el conjunto de valores de entrada inicial no se descubra que con cierta combinación hay un óptimo mejor que el que se conseguiría si sólo se utilizase el mecanismo de la adaptación) así que, siguiendo a la naturaleza de nuevo, incorporaríamos el mecanismo de la mutación que espontáneamente introduciría un conjunto de valores de entrada con fuertes variaciones respecto al resto.
John Resig mencionó hace poco la existencia de una librería Javascript llamada Genetify con la finalidad de utilizar la programación genética en el cliente para, mediante CSS, mostrar disposiciones distintas de los elementos según la visita. Aunque menciona como finalidad la de averiguar la posición idónea para ubicar publicidad en una página, existen multitud de usos en los que una tecnología como ésta puede resultar útil: resultados de un buscador, recomendadores, etc.
Un ejemplo de página que utilice Genetify sería el siguiente:
<html> <head> <script src="genetify.js"></script> <style> .v { display: none; } .genetify_disabled { display: none !important; } .genetify_enabled { display: block !important; } </style> </head> <body> <div class="sentence">One way of saying something</div> <div class="sentence v anotherway">Another way of saying something</div> <input type="button" onclick="continuar()" value="continuar..." /> <script> // cuando el usuario haya realizado las acciones que // comporten suficiente información como para evaluar "esta variación" // se utiliza function continuar() { genetify.record.goal('signup', 100); // donde 100 es la valoración de esta variación location.href="pantallasiguiente.html"; } </script> <script> // la siguiente línea genera la variación "genética" de la página // basada en datos de idoneidad anteriores y en mutaciones aleatorias genetify.vary(); </script> </body> </html>
No hay comentarios:
Publicar un comentario