Генератор на числа
Научният и технологичен прогрес на 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% от случаите, което абсолютно не отговаря на изискваните критерии за произволност на резултатите от генератора.
Проблемът с генерирането на случайни числа в момента е един от най-актуалните и обещаващи в научната общност. В същото време тази тема е интересна най-вече за хора, които са далеч от света на науката. Запознайте се с най-известните алгоритми за генериране на псевдослучайни числа и техните области на използване.