replicate_pattern.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:CA-NEAT 作者: mathiasose 项目源码 文件源码
def find_pattern_partial_matches(grid: CellGrid2D, pattern: PATTERN_T) -> Iterator[float]:
    (x_min, y_min), (x_max, y_max) = grid.get_extreme_coords(pad=1)

    pattern_h, pattern_w = len(pattern), len(pattern[0])
    pattern_area = pattern_h * pattern_w

    for y in range(y_min, y_max):
        for x in range(x_min, x_max):
            rectangle = grid.get_rectangle(
                x_range=(x, x + pattern_w),
                y_range=(y, y + pattern_h),
            )

            if all(all(x == grid.dead_cell for x in row) for row in rectangle):
                yield 0.0

            correct_count = count_correct_cells(test_pattern=rectangle, target_pattern=pattern)

            yield (correct_count / pattern_area)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号