Однако приведенное выше формальное определение алгоритма в некоторых случаях может быть слишком строгим. Иногда возникает потребность в использовании случайных величин. Алгоритм, работа которого определяется не только исходными данными, но и значениями, полученными из генератора случайных чисел, называют стохастическим (или рандомизированным, от англ. randomized algorithm). Стохастические алгоритмы часто бывают эффективнее детерминированных, а в отдельных случаях — единственным способом решить задачу.
Как называют алгоритм, работа которого определяется не только исходными данными, но и значениями, полученными из генератора случайных чисел?