Przejdź do głównej zawartości

_evaluator

Moduł do oceny wydajności solvera.

Ten moduł dostarcza funkcje do oceny wydajności solvera na zbiorze danych. Zawiera funkcje do oceny efektywności przeszukiwania i wydajności czasowej solvera.

get_dataset

def get_dataset(filename="deepcubea-dataset--cube3.json")

Pobierz zbiór danych z pliku lub pobierz go, jeśli nie istnieje.

Argumenty:

  • filename str - Nazwa pliku zbioru danych.

Zwraca:

  • dict - Zbiór danych.

evaluate_search_efficiency

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

Oceń wydajność modelu pod kątem wydajności czasowej.

Ta funkcja ocenia wydajność modelu poprzez rozwiązanie zestawu pomieszań przy użyciu różnych szerokości wiązki. Następnie dopasowuje predyktor do modelowania zależności między długością rozwiązania a czasem i przewiduje długość rozwiązania osiągalną w zaledwie sekundę.

Argumenty:

  • solver - Solver do oceny.
  • num_samples int - Liczba próbek do oceny.
  • beam_width int - Szerokość wiązki do oceny.
  • verbose bool - Czy wyświetlać pasek postępu.

Zwraca:

  • dict - Średnie wyniki.

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)

Oceń wydajność modelu pod kątem wydajności czasowej.

Ta funkcja ocenia wydajność modelu poprzez rozwiązanie zestawu pomieszań przy użyciu różnych szerokości wiązki. Następnie dopasowuje predyktor do modelowania zależności między długością rozwiązania a czasem i przewiduje długość rozwiązania dla t=1.

Argumenty:

  • solver - Solver do oceny.
  • num_samples int - Liczba próbek do oceny.
  • t_standard float - Standardowy czas.
  • beam_width_space array - Szerokości wiązki do oceny.
  • verbose bool - Czy wyświetlać pasek postępu.

Zwraca:

  • float - Przewidywana długość rozwiązania dla t=1.