import numpy as np

# --- 2. ORÁCULO TÉRMICO (SIMULAÇÃO DE HARDWARE) ---
def get_active_blocks(Matrix, block_size):
    """
    Simula o componente 'Look-Ahead'. Retorna coordenadas dos blocos que
    possuem energia (Soma > 0).
    """
    n_blocks = Matrix.shape[0] // block_size
    # Redução dimensional rápida para detecção de atividade
    view = Matrix.reshape(n_blocks, block_size, n_blocks, block_size)
    block_sums = view.sum(axis=(1, 3))
    active_indices = np.argwhere(block_sums > 0)
    return active_indices
