Генератор на случайни числа

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

Генератор на случайни числа е изчислително или физическо устройство предназначено да генерира поредица от числа или символи, в която липсва каквато и да е зависимост, т.е. да са случайни. Широко използвани са компютърно базирани системи за генериране на случайни числа. Въпреки че те не постигат тази цел да са наистина случайни, те удовлетворяват някои статистически тестове за "случайност" в смисъла, че генерираните числа нямат по между си лесно забележима зависимост. Методи за генериране на случайни числа съществуват отдавна. Това са хвърляне на зарове, хвърляне на монета, разбъркване на карти за игра, и др.

Физически методи[редактиране | edit source]

Най-ранните методи за генериране на случайни числа, като зарове, монети, карти за игра и рулетки, се използват и днес предимно в хазартните игри, но са твърде тромави за приложения в статистиката и криптографията.

Някои физични явления, като топлинния шум в ценеровия диод изглежда, че са наистина случайни и могат да се използват, като основа на хардуерните генератори на случайни числа.

Изчислителни методи[редактиране | edit source]

Генераторите на псевдослучайни числа са алгоритми, които могат автоматично да създават дълги поредици от числа (дори и с милиони членове), които изглеждат случайни на хората, но всъщност са резултат от някаква математическа зависимост. Такава поредица рано или късно започва да се повтаря или изчисляването на следващия ѝ член надхвърля наличната памет на системата. Един от най - известните алгоритми е линейният конгруентен метод, който използва следната рекурентна формула:

X_{n+1} = (a X_n + b)\, \textrm{mod}\, m

Максималният брой числа, които се получават по тази формула е равен на числото m.

Приложение[редактиране | edit source]

Генерирането на случайни числа намира приложение в хазарта, компютърните симулации, криптографията и други места, където е нужен непредвидим резултат. Тъй като за някои приложения (например в криптографията) са необходими наистина непредвидими поредици от числа, при тях се предпочитат хардуерни генератори на случайни числа вместо генератори на псевдослучайни числа.

Вижте също[редактиране | edit source]