У меня есть массив numpy, заполненный -1 и 1.
Как выполнить случайные мутации с заданной вероятностью мутации (от -1 до 1 или от 1 до -1)?
Вот пример того, чего я хочу достичь:
>>> arr
array([[-1, 1, 1],
[-1, -1, -1],
[ 1, -1, 1]])
>>> mutation(arr, p=0.2)
array([[-1, -1, 1],
[-1, -1, 1],
[ 1, -1, 1]])
Здесь значения в индексах [0, 1] и [1, 2] были изменены.
При p =1, каждое значение должно быть изменено.