¿Cómo debo probar un algoritmo genético

He hecho unos pocos algoritmos genéticos; funcionan (encuentran rápidamente una solución razonable). Pero ahora he descubiertoTDD. ¿Hay una manera de escribir unalgoritmo genético (que depende en gran medida de los números aleatorios) de una manera TDD?

Para plantear la pregunta de manera más general, ¿Cómo se prueba un método / función no determinista? Esto es lo que he pensado:

Utilice una semilla específica. Lo que no ayudará si me equivoco en el código en primer lugar, pero ayudará a encontrar errores al refactorizar.

Use una lista conocida de números. Similar al anterior, pero podría seguir el código manualmente (lo que sería muy tedioso).

Usa un número constante. Al menos sé qué esperar. Sería bueno asegurarse de que un dado siempre lea 6 cuando RandomFloat (0,1) siempre devuelva 1.

Intente mover la mayor cantidad posible de código no determinista de la Asamblea General. lo que parece tonto ya que es el núcleo de su propósito.

Los enlaces a muy buenos libros sobre pruebas también serían apreciados.

Respuestas a la pregunta(10)

Su respuesta a la pregunta