Pular para o conteúdo principal

_evaluator

Módulo para avaliar o desempenho de um solucionador.

Este módulo fornece funções para avaliar o desempenho de um solucionador em um conjunto de dados. Inclui funções para avaliar a eficiência da busca e o desempenho temporal de um solucionador.

NOTA: A funcionalidade neste módulo requer dependências opcionais. Para usá-las, instale o AlphaCube com o extra 'eval': pip install 'alphacube[eval]'

get_dataset

def get_dataset(
filename="deepcubea-dataset--cube3.json",
cache_dir=os.path.expanduser("~/.cache/alphacube")
)

Obtém um conjunto de dados de um arquivo ou faz o download se ele não existir.

Argumentos:

  • filename str - O nome do arquivo do conjunto de dados.

Retorna:

  • dict - O conjunto de dados.

evaluate_search_efficiency

def evaluate_search_efficiency(
solver,
num_samples=1000,
beam_width=2**10 if device.type == "cpu" else 2**13,
verbose=False
)

Avalia a eficiência de busca do modelo. (Também disponível como solver.benchmark)

Esta função resolve um conjunto de embaralhamentos e relata métricas de desempenho chave, fornecendo um panorama da eficiência do solucionador sob condições específicas.

Argumentos:

  • solver - A instância do solucionador a ser avaliada.
  • num_samples int - O número de embaralhamentos a serem resolvidos para a avaliação.
  • beam_width int - A largura do feixe (beam width) a ser usada para a busca.
  • verbose bool - Se deve exibir uma barra de progresso.

Retorna:

  • dict - Um dicionário contendo os resultados médios para o tempo de resolução (t), comprimento da solução (lmd) e nós expandidos (nodes).

evaluate_temporal_performance

def evaluate_temporal_performance(
solver,
num_samples=1000,
t_standard=1.0,
beam_width_space=2 ** np.arange(6 if device.type == "cpu" else 10, 16 + 1),
verbose=False
)

Avalia o desempenho do modelo em uma performance temporal downstream.

Esta função avalia o desempenho do modelo resolvendo um conjunto de embaralhamentos usando diferentes larguras de feixe. Em seguida, ajusta um preditor para modelar a relação entre o comprimento da solução e o tempo, e prevê o comprimento da solução em t=1.

Argumentos:

  • solver - O solucionador a ser avaliado.
  • num_samples int - O número de amostras a serem usadas para a avaliação.
  • t_standard float - O tempo padrão.
  • beam_width_space array - As larguras de feixe a serem usadas para a avaliação.
  • verbose bool - Se deve exibir uma barra de progresso.

Retorna:

  • float - O comprimento da solução previsto em t=1.