File size: 523 Bytes
3052d0f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import numpy as np
from typing import List, Tuple
from Node import Node

def evaluate_fitness(program: Node, input_output_pairs: List[Tuple[np.ndarray, np.ndarray]]) -> int:
    fitness = 0
    for input_grid, expected_output in input_output_pairs:
        try:
            output = program.evaluate(input_grid)
            if np.array_equal(output, expected_output):
                fitness += 1
        except Exception as e:
            print(f"Error during fitness evaluation: {e}")
            pass
    return fitness