From d7c47ec16dd0c3ae596be88977a344ca8ec87add Mon Sep 17 00:00:00 2001 From: Alan Kerstjens Date: Wed, 15 Mar 2023 10:23:52 +0100 Subject: [PATCH] Fixed division by 0 issue when all scores are zero --- graph_ga/goal_directed_generation.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/graph_ga/goal_directed_generation.py b/graph_ga/goal_directed_generation.py index 09a7a8b..e1bebba 100644 --- a/graph_ga/goal_directed_generation.py +++ b/graph_ga/goal_directed_generation.py @@ -37,8 +37,11 @@ def make_mating_pool(population_mol: List[Mol], population_scores, offspring_siz """ # scores -> probs sum_scores = sum(population_scores) - population_probs = [p / sum_scores for p in population_scores] - mating_pool = np.random.choice(population_mol, p=population_probs, size=offspring_size, replace=True) + if sum_scores > 0.0: + population_probs = [p / sum_scores for p in population_scores] + mating_pool = np.random.choice(population_mol, p=population_probs, size=offspring_size, replace=True) + else: + mating_pool = np.random.choice(population_mol, size=offspring_size, replace=True) return mating_pool