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

Добавяне към уебсайт Метаданни

Други инструменти

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

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

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

Случайните числа са числа, които могат да се интерпретират като резултати от прилагането на някаква случайна променлива - основната концепция на теорията на вероятностите. Концепцията за случайност в този контекст предполага непредсказуемостта на стойността на дадено количество преди началото на експеримента.

История на произволни числа

Потребността на човечеството да използва произволни числа е възникнала много преди изобретяването на устройства от учените, които позволяват получаването на произволни масиви. Дълго време хората използваха импровизирани средства за генериране на произволни числа, включително обекти от жива и нежива природа.

Един от най-ярките примери за най-простите генератори на случайни числа са познатите зарове, които се използват широко днес. В елементарни и тренировъчни експерименти зависимостите на закона за движение на зара от неговата среда, началните условия и човешкия фактор могат да бъдат напълно пренебрегнати, така че броят на точките на зара може, с известни резерви, да се счита за случаен променлива. Заровете изиграха значителна роля в развитието на теорията на вероятностите: през 1890 г. английският изследовател Франсис Галтън предложи метод за генериране на случайни числа с помощта на зарове.

Малко по-сложен в устройството е друг генератор на числа, широко използван в ежедневието - лотарийният барабан. Това устройство е барабан с номерирани топки, които се смесват вътре в него по време на въртене. Основната област на приложение на лотарийните барабани са лотарии и лото. Лесно е да се досетите, че лототронът е неподходящ за използване в сериозни научни експерименти поради ниската степен на произволност и скорост на работа.

Първият генератор на произволни числа, който ви позволява да получавате големи количества данни и е подходящ за решаване на приложни проблеми, е изобретен през 1939 г. Морис Джордж Кендъл и Бърнард Бабингтън-Смит създадоха устройство, което може да генерира таблица, съдържаща 100 000 произволни числа. И само 16 години по-късно американската стратегическа компания RAND подобрява резултатите на английските академици 10 пъти - с помощта на специални машини е създадена таблица от милион произволни числа. Табличният метод за генериране на произволни числа получи значително развитие благодарение на Джордж Марсалия, който получи 650 MB произволни числа през 1996 г. Въпреки това, поради стеснеността на обхвата, този метод в момента не е широко приет.

Машините, които генерират произволни числа в реално време, имат редица предимства пред устройствата, които създават таблици с произволни числа. Една от първите такива машини беше компютърът Ferranti Mark 1, който през 1951 г. включваше програма, която генерира произволни числа въз основа на входния шумов поток на резистор. Интересното е, че идеята за създаване на такава програма беше на великия английски математик Алън Тюринг. Също така иновативно в областта на генерирането на произволни числа беше изобретението през 1957 г. на ERNIE (Electronic Random Number Indicator Equipment), първоначално предназначено за генериране на печеливши числа в британската лотария.

Псевдослучайни числа

Изобретяването на генератори на случайни числа несъмнено значително ускори научния и технологичен процес. Тези устройства обаче имаха критично важен недостатък, който значително ограничи възможността за тяхното приложение. Още в средата на 20-ти век унгарско-американският математик Джон фон Нойман отбелязва непригодността на физическите генератори на произволни числа в изчисленията, поради невъзможността за повторение на случаен експеримент и, в резултат на това, невъзможността за възпроизвеждане на произволно число за тестване на работата на машината. Ето как научната общност се нуждаеше от псевдослучайни числа - числа, които имат редица важни свойства на случайните числа, но получени не в резултат на случаен експеримент, а на базата на някакъв алгоритъм. Самият Джон фон Нойман стана автор на метода "средата на квадрата", който ви позволява да получите десетцифрени псевдослучайни числа на изхода.

Основният недостатък на псевдослучайните числа е, разбира се, липсата на произволност на данните, което е толкова важно в много области на науката и живота. В допълнение, всички генератори на псевдослучайни числа имат свойството да се зациклят, тоест от определен момент да повтарят последователността от изходни числа, много алгоритми са обратими, а някои дори имат неравномерно едномерно разпределение. Ето защо в момента тази област привлича много изследователи, които се стремят да разработят съществуващи или да създадат нови ефективни генератори на псевдослучайни числа.

Интересни факти

  • Според някои историци първите опити за генериране на произволни числа датират от 3500 г. пр.н.е. Колкото и да е странно, те са свързани с древната египетска настолна игра „Сенет“, която се състои в преместване на чипове около дъската.
  • Дълго време резултатите от преброяванията на населението и други таблици с данни, получени експериментално, служеха като източници на произволни числа за някои реални практически проблеми.
  • Уязвимост в алгоритмите за генериране на псевдослучайни числа беше използвана в началото на 2010 г. от бившия директор по сигурността на Асоциацията на многощатските лотарии. Нарушителят е имал достъп до софтуер, използван за определяне на печелившите числа на лотарийни билети, с който е можел да определя печелившите комбинации няколко дни в годината. Той беше обвинен през 2015 г., след като спечели 16,5 милиона долара.
  • Генератор на псевдослучайни числа, инсталиран на бордовия компютър на един космически кораб Аполо, веднъж причини неизправност в движението му и сериозно отклонение от планираната му траектория. Както установиха учените, изходните данни на генератора, използван за изчисляване на ъгловите скорости, попадат в долната полуравнина в 80% от случаите, което абсолютно не отговаря на изискваните критерии за произволност на резултатите от генератора.

Проблемът с генерирането на случайни числа в момента е един от най-актуалните и обещаващи в научната общност. В същото време тази тема е интересна най-вече за хора, които са далеч от света на науката. Запознайте се с най-известните алгоритми за генериране на псевдослучайни числа и техните области на използване.

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

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

Всеки ден милиони хора използват онлайн услуги за генериране на произволни числа, но малко хора се замислят какво се крие зад този процес. Как работят генераторите на случайни числа и случайни ли са изобщо тези числа?

Как се получават произволни числа

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

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

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

Малко хора знаят, но повечето съвременни устройства всъщност генерират псевдослучайни числа. Това е името на поредици от числа, чиито свойства са в много отношения подобни на произволните, но механизмът за тяхното изграждане е значително различен. Истинските генератори на произволни числа използват резултатите от малки случайни физически процеси в работата си, като термичен и изстрелен шум, фотоелектричен ефект или някои квантови явления. Изходната последователност на такъв генератор не може да бъде предвидена, което е основното предимство на генераторите на случайни числа пред псевдослучайните. Това свойство на произволните числа е най-важно в области, където се изискват поверителност и сигурност на данните, като например криптография.

За разлика от истинските случайни числа, поредиците от псевдослучайни числа се генерират въз основа на някакъв алгоритъм, така че са предвидими и фиксирани. Резултатите от генератора на псевдо-случайни числа могат да бъдат подобрени чрез въвеждане на някои параметри в системата, които усложняват зависимостите между числата, но всички съществуващи в момента генератори на псевдо-случайни числа рано или късно зациклят и следователно не са в състояние да произведат истински произволни числа.

Разбира се, поради високата сложност на устройството и цената на генераторите на произволни числа, в момента учените обръщат много внимание на намирането и оптимизирането на най-ефективните алгоритми за генериране на псевдослучайни числа. Изобретени са дори "криптографски силни генератори на псевдо-случайни числа" (CSPRNGS), които се използват в областите на криптиране и осигуряване на целостта на предаваната информация.

Къде се използват произволни и псевдослучайни числа

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

Генерирането на произволни числа е времеемък и в много отношения мистериозен процес, но затова е още по-интересен. Гмурнете се по-дълбоко в тази тема и не забравяйте да откриете нещо ново за себе си.