Как я должен проверить генетический алгоритм

Я сделал довольно мало генетических алгоритмов; они работают (они быстро находят разумное решение). Но я теперь обнаружилTDD, Есть ли способ написатьгенетический алгоритм (который в значительной степени опирается на случайные числа) в смысле TDD?

Чтобы поставить вопрос в более общем виде, как вы тестируете недетерминированный метод / функцию. Вот что я подумала:

Use a specific seed. Which wont help if I make a mistake in the code in the first place but will help finding bugs when refactoring.

Use a known list of numbers. Similar to the above but I could follow the code through by hand (which would be very tedious).

Use a constant number. At least I know what to expect. It would be good to ensure that a dice always reads 6 when RandomFloat(0,1) always returns 1.

Try to move as much of the non-deterministic code out of the GA as possible. which seems silly as that is the core of it's purpose.

Ссылки на очень хорошие книги по тестированию также приветствуются.

Ответы на вопрос(10)

Ваш ответ на вопрос