Если вероятность фиксирована, то сделай карту частот для всех элементов или обыграй тем что для части задаёшь частоту сам, а для остальной тем же рандомом в каком-то диапазоне определяешь
Дальше циклически берёшь каждый елемент, смотришь его частоту и вставляешь необходимое количество элементов в результирующий ряд
После прохода по всем элементам ряд встряхиваешь какой-то анти-сортировкой, чтобы значения разбросались