Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб |
Требуется на языке Python реализовать алгоритм Stochastic universal sampling.
Функция должна иметь следующий интерфейс
import numpy as np
def sus(fitness: np.ndarray, n: int, start: float) -> list:
"""Selects exactly `n` indices of `fitness` using Stochastic universal sampling alpgorithm.
Args:
fitness: one-dimensional array, fitness values of the population, sorted in descending order
n: number of individuals to keep
start: minimal cumulative fitness value
Return:
Indices of the new population"""
raise NotImplementedError()
Параметрами функции являются:
fitness
— одномерный массив значений функции приспособленности, отсортированный по убыванию,n
— количество особей, которых нужно оставить,start
— минимальное кумулятивное значение функции приспособленности.Функция возвращает список индексов выбранных особей
Код решения должен содержать импортируемые модули, определение и реализацию функции.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
fitness = np.array([10, 4, 3, 2, 1])
print(*fitness[sus(fitness, 3, 6)])
|
|