Случайни от 1 до 12. Генератор на произволни числа



Обърнете внимание, че в идеалния случай кривата на плътността на разпределение на случайни числа ще изглежда като тази, показана на фиг. 22.3. Тоест, в идеалния случай, същият брой точки попадат във всеки интервал: н аз = н/к , Където нобщ брой точки, кброй интервали, аз= 1, ½, к .

Ориз. 22.3. Честотна диаграма на отпадане на случайни числа,
генерирани от идеален генератор теоретично

Трябва да се помни, че генерирането на произволно произволно число се състои от два етапа:

  • генериране на нормализирано произволно число (тоест, равномерно разпределено от 0 до 1);
  • трансформация на нормализирани случайни числа r азв произволни числа х аз, които се разпределят според (произволния) закон за разпределение, изискван от потребителя или в необходимия интервал.

Генераторите на произволни числа според метода за получаване на числа се разделят на:

  • физически;
  • табличен;
  • алгоритмичен.

Физически RNG

Примери за физически RNG са: монета („орел“ 1, „опашки“ 0); зарове; барабан със стрелка, разделен на сектори с числа; хардуерен генератор на шум (GS), който се използва като шумно термично устройство, например транзистор (фиг. 22.422.5).

Ориз. 22.4. Схема на апаратния метод за генериране на случайни числа
Ориз. 22.5. Диаграма за получаване на произволни числа по апаратен метод
Задачата "Генериране на произволни числа с помощта на монета"

Генерирайте произволно 3-цифрено число, равномерно разпределено между 0 и 1, като използвате монета. Точност три знака след десетичната запетая.

Първият начин за решаване на проблема
Хвърлете монета 9 пъти и ако монетата падне с опашки, запишете "0", ако глави, тогава "1". И така, да кажем, че в резултат на експеримента получихме произволна последователност 100110100.

Начертайте интервал от 0 до 1. Четейки числата в последователност отляво надясно, разделете интервала наполовина и всеки път избирайте една от частите на следващия интервал (ако падне 0, тогава наляво, ако падне 1, тогава вдясно). Така можете да стигнете до всяка точка от интервала с произволна точност.

Така, 1 : интервалът се разделя наполовина с и , избира се дясната половина, интервалът се стеснява: . Следващият номер 0 : интервалът се разделя наполовина с и , избира се лявата половина, интервалът се стеснява: . Следващият номер 0 : интервалът се разделя наполовина с и , избира се лявата половина, интервалът се стеснява: . Следващият номер 1 : интервалът се разделя наполовина с и , избира се дясната половина, интервалът се стеснява: .

Според условието за точност на задачата се намира решението: то е произволно число от интервала, например 0,625.

По принцип, ако подходим стриктно, тогава разделянето на интервалите трябва да продължи, докато лявата и дясната граница на намерения интервал не СЪВПАДНАТ една с друга с точност до третия знак след десетичната запетая. Тоест, по отношение на точността, генерираното число вече няма да се различава от нито едно число от интервала, в който се намира.

Вторият начин за решаване на проблема
Нека разделим получената двоична последователност 100110100 на триади: 100, 110, 100. След като преобразуваме тези двоични числа в десетични числа, получаваме: 4, 6, 4. Заменяйки „0.” отпред, получаваме: 0,464. По този метод могат да бъдат получени само числа от 0,000 до 0,777 (тъй като максимумът, който може да бъде „изстискан“ от три двоични цифри, е 111 2 = 7 8), т.е. всъщност тези числа са представени в осмичната бройна система. За превод осмиченчисла в десетичен знакпрезентацията е изпълнима:
0,464 8 = 4 8 1 + 6 8 2 + 4 8 3 = 0,6015625 10 = 0,602 10.
И така, желаното число е: 0,602.

Табличен RNG

Табличната RNG като източник на произволни числа използва специално компилирани таблици, съдържащи проверени некорелирани, тоест числа, които не зависят едно от друго по никакъв начин. В табл. 22.1 показва малък фрагмент от такава таблица. Разхождайки се по таблицата отляво надясно отгоре надолу, можете да получите произволни числа, равномерно разпределени от 0 до 1 с желания брой десетични знаци (в нашия пример използваме три десетични знака за всяко число). Тъй като числата в таблицата не зависят едно от друго, таблицата може да се обхожда по различни начини, например отгоре надолу или отдясно наляво, или, да речем, можете да изберете числа, които са на четни позиции.

Таблица 22.1.
Случайни числа. Равномерно
разпределени от 0 до 1 случайни числа
произволни числа равномерно разпределен
0 до 1 произволни числа
9 2 9 2 0 4 2 6 0.929
9 5 7 3 4 9 0 3 0.204
5 9 1 6 6 5 7 6 0.269
… …

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

Има таблица, съдържаща 500 абсолютно произволни проверени числа (взети от книгата на И. Г. Венецки, В. И. Венецкая „Основни математически и статистически понятия и формули в икономическия анализ“).

Алгоритмичен RNG

Числата, генерирани с помощта на тези RNG, винаги са псевдослучайни (или квазислучайни), т.е. всяко следващо генерирано число зависи от предишното:

r аз + 1 = f(r аз) .

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

Предимството на RNG данните е скоростта; генераторите практически не изискват ресурси на паметта, те са компактни. Недостатъци: числата не могат да се нарекат напълно случайни, тъй като между тях има зависимост, както и наличието на периоди в последователността от квазислучайни числа.

Помислете за няколко алгоритмични метода за получаване на RNG:

  • метод на средните квадрати;
  • метод на средните продукти;
  • метод на смесване;
  • линеен конгруентен метод.

Метод на среден квадрат

Има някакво четирицифрено число Р 0 . Това число се повдига на квадрат и се въвежда Р 1 . Идващи от Р 1 в средата (четири средни цифри) се взема ново произволно число и се записва в него Р 0 . След това процедурата се повтаря (виж Фиг. 22.6). Имайте предвид, че всъщност като случайно число е необходимо да се вземе не ghij, А 0.ghijс нула и десетична точка, добавени отляво. Този факт е отразен на фиг. 22.6 и в следващите подобни фигури.

Ориз. 22.6. Схема на метода на средните квадрати

Недостатъци на метода: 1) ако при някаква итерация числото Р 0 става нула, след което генераторът се изражда, така че правилният избор на началната стойност е важен Р 0; 2) генераторът ще повтори последователността до М нстъпки (в най-добрия случай), къде ндължина на думата Р 0 , Мосновата на бройната система.

За пример на фиг. 22.6 : ако е число Р 0 ще бъде представена в двоичната бройна система, тогава последователността от псевдослучайни числа ще се повтори след 2 4 = 16 стъпки. Обърнете внимание, че повторението на последователността може да се случи дори по-рано, ако първоначалният номер е избран неуспешно.

Методът, описан по-горе, е предложен от Джон фон Нойман и датира от 1946 г. Тъй като този метод се оказа ненадежден, той бързо беше изоставен.

Метод на медианните произведения

Номер Р 0 умножено по Р 1 , от резултата Р 2 средата се отстранява Р 2 * (това е друго произволно число) и умножено по Р 1 . Съгласно тази схема се изчисляват всички следващи произволни числа (виж фиг. 22.7).

Ориз. 22.7. Схема на метода на медианните произведения

Метод на смесване

Методът на разбъркване използва операции за завъртане на съдържанието на клетка наляво и надясно. Идеята на метода е следната. Нека клетката съхранява първоначалното число Р 0 . Циклично премествайки съдържанието на клетката наляво с 1/4 от дължината на клетката, получаваме ново число Р 0*. По същия начин, чрез циклично преместване на съдържанието на клетка Р 0 вдясно с 1/4 от дължината на клетката, получаваме второто число Р 0**. Сума от числа Р 0 * и Р 0** дава ново произволно число Р 1 . По-нататък Р 1 се вписва в Р 0 и цялата последователност от операции се повтаря (виж фиг. 22.8).


Ориз. 22.8. Схема на метода на смесване

Имайте предвид, че числото, получено от сумирането Р 0 * и Р 0 **, може да не се побира изцяло в клетката Р 1 . В този случай допълнителните цифри трябва да бъдат изхвърлени от получения номер. Нека обясним това за фиг. 22.8, където всички клетки са представени с осем двоични цифри. Позволявам Р 0 * = 10010001 2 = 145 10 , Р 0 ** = 10100001 2 = 161 10 , Тогава Р 0 * + Р 0 ** = 100110010 2 = 306 10 . Както можете да видите, числото 306 заема 9 цифри (в двоичната бройна система), а клетката Р 1 (както и Р 0 ) може да съдържа максимум 8 бита. Следователно, преди да въведете стойността в Р 1 е необходимо да се премахне един "допълнителен", най-ляв бит от числото 306, което води до Р 1 вече няма да е 306, а 00110010 2 = 50 10 . Също така имайте предвид, че в езици като Pascal, "отрязването" на допълнителни битове, когато клетката препълва, се извършва автоматично в съответствие с дадения тип променлива.

Линеен конгруентен метод

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

r аз+ 1 = mod( к · r аз + b, М) .

Поредицата от произволни числа, получена с помощта на тази формула, се нарича линейна конгруентна последователност. Много автори наричат ​​линейната конгруентна последователност като b = 0 мултипликативен конгруентен метод, и когато b ≠ 0 — смесен конгруентен метод.

За висококачествен генератор е необходимо да изберете подходящи коефициенти. Необходимо е броят Мбеше доста голям, тъй като периодът не може да има повече Мелементи. От друга страна, разделянето, използвано в този метод, е доста бавна операция, така че за двоичен компютър логичният избор би бил М = 2 н, защото в този случай намирането на остатъка от делението се свежда вътре в компютъра до двоичната логическа операция "И". Също така е обичайно да се избира най-голямото просто число М, по-малко от 2 н: в специалната литература е доказано, че в този случай най-малко значимите цифри на полученото произволно число r аз+ 1 се държат също толкова произволно, колкото и по-старите, което има положителен ефект върху цялата последователност от случайни числа като цяло. Пример е един от Числата на Мерсен, равно на 2 31 1 , и по този начин, М= 2 31 1 .

Едно от изискванията за линейни конгруентни последователности е възможно най-дългият период. Продължителността на периода зависи от стойностите М , кИ b. Теоремата, която представяме по-долу, ни позволява да определим дали е възможно да се постигне период с максимална дължина за конкретни стойности М , кИ b .

Теорема. Линейна конгруентна последователност, дефинирана от числа М , к , bИ r 0 , има период с дължина Мако и само ако:

  • числа bИ Мсъвместен;
  • к 1 x стрза всяка проста стр, което е делител М ;
  • к 1 е кратно на 4 ако Мкратно на 4.

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

Беше установено, че серия от псевдослучайни числа, генерирани въз основа на данните от пример 1, ще се повтаря всеки М/4 броя. Номер рсе задава произволно преди началото на изчисленията, но трябва да се има предвид, че серията създава впечатление за произволна като цяло к(и следователно р). Резултатът може леко да се подобри, ако bстранно и к= 1 + 4 р в този случай серията ще се повтаря на всеки Мчисла. След дълго търсене кизследователите се спират на стойностите 69069 и 71365.

Генераторът на случайни числа, използващ данните от пример 2, ще произведе произволни неповтарящи се числа с период от 7 милиона.

Мултипликативен метод за генериране на псевдослучайни числа е предложен от D. H. Lehmer през 1949 г.

Проверка на качеството на генератора

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

Извършваните проверки са два вида:

  • проверки за равномерно разпределение;
  • тестване за статистическа независимост.

Проверява за равномерно разпределение

1) RNG трябва да дава близки до следните стойности на статистически параметри, характерни за единен случаен закон:

2) Честотен тест

Честотният тест ви позволява да разберете колко числа са попаднали в интервала (м r – σ r ; м r + σ r) , т.е. (0,5 0,2887; 0,5 + 0,2887) или евентуално (0,2113; 0,7887) . Тъй като 0.7887 0.2113 = 0.5774 , ние заключаваме, че в добър RNG около 57.7% от всички произволни изтеглени числа трябва да попадат в този интервал (виж Фиг. 22.9).

Ориз. 22.9. Честотна диаграма на идеален RNG
в случай на проверка за честотен тест

Трябва също така да се има предвид, че броят на числата в интервала (0; 0,5) трябва да бъде приблизително равен на броя на числата в интервала (0,5; 1).

3) Хи-квадрат тест

Тестът хи-квадрат (χ 2 -тест) е един от най-известните статистически тестове; това е основният метод, използван в комбинация с други критерии. Тестът хи-квадрат е предложен през 1900 г. от Карл Пиърсън. Неговата забележителна работа се счита за основа на съвременната математическа статистика.

За нашия случай тестът хи-квадрат ще ни позволи да разберем колко е създаденото от нас истински RNG е близо до референтния RNG, т.е. дали удовлетворява изискването за равномерно разпределение или не.

честотна диаграма справка RNG е показан на фиг. 22.10. Тъй като законът за разпределение на референтния RNG е еднакъв, (теоретичната) вероятност стр азудряне на числа в аз-ти интервал (общо от тези интервали к) е равно на стр аз = 1/к . И по този начин във всяка кинтервалите ще падат гладкаот стр аз · н числа ( нобщ брой генерирани числа).

Ориз. 22.10. Честотна диаграма на еталонния RNG

Истинският RNG ще произведе числа, разпределени (и не непременно равномерно!) кинтервали и всеки интервал ще включва н азчисла (общо н 1 + н 2 + ½ + н к = н ). Как можем да определим колко добър и близък е тестваният RNG до референтния? Съвсем логично е да се вземат предвид квадратите на разликите между получения брой числа н ази "справка" стр аз · н . Нека ги съберем и в резултат получаваме:

χ 2 експ. =( н 1 стр 1 · н) 2 + (н 2 стр 2 · н) 2 + + ( н к – стр к · н) 2 .

От тази формула следва, че колкото по-малка е разликата във всеки от членовете (и следователно колкото по-малка е стойността на χ 2 exp.), толкова по-силен е законът за разпределение на случайни числа, генерирани от реален RNG, има тенденция да бъде еднакъв.

В предишния израз на всеки от термините е присвоено едно и също тегло (равно на 1), което всъщност може да не е вярно; следователно за статистиката хи-квадрат е необходимо да се нормализира всеки азти член, разделяйки го на стр аз · н :

И накрая, нека напишем получения израз по-компактно и го опростим:

Получихме стойността на теста хи-квадрат за експерименталенданни.

В табл. 22.2 са дадени теоретиченхи-квадратни стойности (χ 2 теория), където ν = н 1 е броят на степените на свобода, стре зададено от потребителя ниво на сигурност, което определя доколко RNG трябва да отговаря на изискванията за еднообразно разпространение, или стр — е вероятността експерименталната стойност χ 2 exp. ще бъде по-малко от табличното (теоретично) χ 2 теор. или равен на него.

Таблица 22.2.
Някои процентни точки от χ 2 -разпределението
p = 1% p = 5% p = 25% p = 50% p = 75% p = 95% p = 99%
ν = 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635
ν = 2 0.02010 0.1026 0.5754 1.386 2.773 5.991 9.210
ν = 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34
ν = 4 0.2971 0.7107 1.923 3.357 5.385 9.488 13.28
ν = 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09
ν = 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81
ν = 7 1.239 2.167 4.255 6.346 9.037 14.07 18.48
ν = 8 1.646 2.733 5.071 7.344 10.22 15.51 20.09
ν = 9 2.088 3.325 5.899 8.343 11.39 16.92 21.67
ν = 10 2.558 3.940 6.737 9.342 12.55 18.31 23.21
ν = 11 3.053 4.575 7.584 10.34 13.70 19.68 24.72
ν = 12 3.571 5.226 8.438 11.34 14.85 21.03 26.22
ν = 15 5.229 7.261 11.04 14.34 18.25 25.00 30.58
ν = 20 8.260 10.85 15.45 19.34 23.83 31.41 37.57
ν = 30 14.95 18.49 24.48 29.34 34.80 43.77 50.89
ν = 50 29.71 34.76 42.94 49.33 56.33 67.50 76.15
ν > 30 ν + sqrt(2 ν ) · х стр+ 2/3 х 2 стр 2/3+ О(1/sqrt( ν ))
х стр = 2.33 1.64 0,674 0.00 0.674 1.64 2.33

Считайте за приемливо стр от 10% до 90%.

Ако χ 2 exp. много повече от χ 2 теор. (това е стре голям), тогава генераторът не удовлетворяваизискването за равномерно разпределение, тъй като наблюдаваните стойности н азотидете твърде далеч от теорията стр аз · н и не може да се разглежда като случаен. С други думи, установява се толкова голям доверителен интервал, че ограниченията върху числата стават много разхлабени, изискванията за числата са слаби. В този случай ще се наблюдава много голяма абсолютна грешка.

Дори Д. Кнут в книгата си "Изкуството на програмирането" отбелязва, че имайки χ 2 exp. малък също като цяло не е добър, въпреки че на пръв поглед изглежда забележителен от гледна точка на еднообразието. Наистина, вземете поредица от числа 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, те са идеални по отношение на еднаквост и χ 2 exp. ще бъдат практически нула, но е малко вероятно да ги разпознаете като случайни.

Ако χ 2 exp. много по-малко от χ 2 теор. (това е стрмалък), след това генератора не удовлетворяваизискване за случайно равномерно разпределение, тъй като наблюдаваните стойности н азтвърде близо до теоретичното стр аз · н и не може да се разглежда като случаен.

Но ако χ 2 exp. лежи в определен диапазон, между две стойности на χ 2 теор. , които съответстват напр. стр= 25% и стр= 50%, тогава можем да приемем, че стойностите на произволните числа, генерирани от сензора, са напълно случайни.

Освен това трябва да се има предвид, че всички ценности стр аз · н трябва да е достатъчно голям, например по-голям от 5 (открит емпирично). Само тогава (с достатъчно голяма статистическа извадка) експерименталните условия могат да се считат за задоволителни.

И така, процедурата за проверка е следната.

Тестове за статистическа независимост

1) Проверка на честотата на срещане на цифра в последователност

Помислете за пример. Случайното число 0.2463389991 се състои от цифрите 2463389991, а числото 0.5467766618 се състои от цифрите 5467766618. Комбинирайки последователностите от цифри, имаме: 24633899915467766618.

Ясно е, че теоретичната вероятност стр азизпадам азтата цифра (от 0 до 9) е 0,1.

2) Проверка на появата на серии от еднакви числа

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

В примера "24633899915467766618" са открити 2 серии с дължина 2 (33 и 77), т.е. н 2 = 2 и 2 серии с дължина 3 (999 и 666), т.е. н 3 = 2 .

Вероятността за серия с дължина от Ле равно на: стр Л= 9 10 Л (теоретичен). Тоест вероятността за поява на серия с дължина от един знак е равна на: стр 1 = 0,9 (теоретично). Вероятността да се появи серия от два знака е: стр 2 = 0,09 (теоретично). Вероятността да се появи серия от три знака е: стр 3 = 0,009 (теоретично).

Например вероятността за поява на серия с дължина от един знак е равна на стр Л= 0,9, тъй като може да има само един знак от 10 и само 9 знака (нулата не се брои). И вероятността два еднакви знака "XX" да се срещнат в един ред е 0.1 0.1 9, тоест вероятността 0.1 знакът "X" да се появи на първа позиция се умножава по вероятността 0.1 същият символ ще се появи на втората позиция "X" и ще се умножи по броя на такива комбинации 9.

Честотата на поява на сериите се изчислява съгласно формулата „хи-квадрат“, която преди това анализирахме с помощта на стойностите стр Л .

Забележка: Генераторът може да бъде проверен многократно, но проверките не са пълни и не гарантират, че генераторът произвежда произволни числа. Например, генератор, който произвежда последователността 12345678912345, ще се счита за идеален по време на проверките, което очевидно не е напълно вярно.

В заключение отбелязваме, че третата глава на книгата "Изкуството на програмирането" на Доналд Е. Кнут (том 2) е изцяло посветена на изучаването на случайни числа. Той изследва различни методи за генериране на случайни числа, статистически критерии за случайност и трансформацията на равномерно разпределени случайни числа в други типове случайни променливи. Повече от двеста страници са посветени на представянето на този материал.

Рандомайзерлесен начин за определяне на победителя онлайн. Имате списък с участници. Поставете го в полето за въвеждане едно под друго. Направете едно кликване и нашият рандомизатор ще номерира на случаен принцип всички участници. Този рандомизатор може да се използва в много области:

  • определяне на победителите в тегленията
  • изберете победител от списъка
  • разположение на играчите
  • Кой ще отиде пръв до дъската 🙂

Но нашият рандомизатор използва няколко алгоритъма едновременно. Това гарантира пълна случайност при избора на победител. Списъкът се разбърква няколко пъти произволно. И можете да сте сигурни, че рандомизаторът ще направи истински случаен избор. Простият интерфейс на рандомайзера компенсира сложността на алгоритмите. Използвайте нашия рандомизатор, за да изберете наистина честен победител онлайн!

Трябва да определи победителяза раздаване или онлайн състезание? Няма нищо по-лесно. Поставете списъка с участници в текстовото поле на тази страница. Щракнете върху бутона за генериране по-долу. В резултат на това ще се появи списък с участници с номер.
На всеки участник се дава номер на случаен принцип. Тук броят на числата съответства на броя на участниците в тегленето. Запишете процеса на подбор на видео. По този начин ще определите победителя във всеки онлайн конкурс.

Определени са победителите в състезанието

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

Определете победителя с генератор на произволни числа (RNG)

Генераторът на случайни числа (RNG) върши отлична работа за определяне на победителя. Не можеш да го подкупиш. RNG е сляп избор, защото не го интересува кой ще спечели състезанието. Разбира се, вие сами можете да бръкнете с пръст в списъка и да определите победителя. Но ще работи за тегления с награди с малка материална стойност. Има много по-сериозни равенства. Например рисуване на нов iPhone. Тогава публиката ви ще изисква прозрачно състезание. Това може да стане само с . Или по-скоро рандомизатор на списък. Като заснемете такъв процес на видео, вие ще демонстрирате произволността на избора на победителя. Такива генератори помагат не само в състезания или лотарии. Можете да играете на лотарията с тях. Открийте отговора на въпрос с да или не. А също и за решаване на всякакви проблеми, при които трябва да разчитате на случайността.

Определете победителя на случаен принцип

Напомняме ви отново. Този рандомизатор прави случаен избор на победителя във всички тегления. Може да бъде теглене в социалните мрежи VK, Facebook, Instagram. Или просто състезание в сайта. За да няма съмнения относно честността на състезанието сред участниците, за състезанието е необходим RNG. За това е нашият сайт. Ние генерираме произволни числа, отговори, съвети. Произволно определяне на победителите в състезания и много други.

Други рандомизатори на сайта

Други основни рандомизатори включват:

  • прякори
  • кубчета
  • псевдоними по име

Нашите генератори използват два метода за генериране на произволни числа:

  1. Въз основа на скоростта на ping на ресурси на трети страни
  2. Въз основа на произволно семе с генериране на множество нива.

Ако искате да създадете истинска последователност от произволни числа за вашите нужди. Например за шифър. Което определено не може да бъде възпроизведено. Предлагам да използвате нашия. И всички други рандомизатори ще бъдат полезни за ежедневни задачи.

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

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

За такова определяне организаторите на тегленето почти винаги използват онлайн генератор на случайни числа или предварително инсталиран такъв, който се разпространява безплатно.

Избор

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

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

Много, например, са обвързани с функционалността си към конкретна социална мрежа (например, много генераторни приложения работят само с връзки на това).

Най-простите генератори просто генерират произволно число в даден диапазон.

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

Те всъщност нямат друга употреба.

съвет!При избора на най-подходящия генератор е важно да се вземе предвид целта, за която ще се използва.

Спецификации

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

Таблица 1. Характеристики на функционирането на онлайн приложения за генериране на произволно число
ИмеСоциална мрежаМножество резултатиИзберете от списък с числаОнлайн джаджа за уебсайтИзберете от диапазонИзключете повторенията
разни нещададаНедаНе
Cast LotsОфициален сайт или VKontakteНеНедадада
Случайно числоОфициален сайтНеНеНедада
РандъмъсОфициален сайтдаНеНедаНе
произволни числаОфициален сайтдаНеНеНеНе

Всички приложения, разгледани в таблицата, са описани по-подробно по-долу.

разни неща

Можете да използвате това приложение онлайн, като използвате връзката към официалния му уебсайт http://randstuff.ru/number/.

Това е прост генератор на произволни числа, характеризиращ се с бърза и стабилна работа.

Успешно се изпълнява както във формата на отделно самостоятелно приложение на официалния уебсайт, така и като приложение в .

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

  • Стабилна и бърза работа;
  • Липса на директен линк към социалната мрежа;
  • Можете да изберете едно или повече числа;
  • Можете да избирате само от дадените числа.

Отзивите на потребителите за това приложение са следните: „Ние определяме победителите в групите на VKontakte чрез тази услуга. Благодаря ви”, „Вие сте най-добрият”, „Използвам само тази услуга”.

Cast Lots

Това приложение е прост генератор на функции, реализиран на официалния уебсайт под формата на приложение VKontakte.

Има и джаджа за генериране, която да вградите в сайта си.

Основната разлика от предишното описано приложение е, че това ви позволява да деактивирате повторението на резултата.

Тоест, когато провеждате няколко поколения подред в една сесия, номерът няма да се повтори.

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

Отзивите на потребителите са както следва: „Работи стабилно, доста е удобно за използване“, „Удобна функционалност“, „Използвам само тази услуга“.

Случайно число

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

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

За такова определяне организаторите на тегленето почти винаги използват онлайн генератор на случайни числа или предварително инсталиран такъв, който се разпространява безплатно.

Избор

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

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

Много, например, са обвързани със своята функционалност към определена социална мрежа (например, много генераторни приложения във VKontakte работят само с връзки на тази социална мрежа).

Най-простите генератори просто генерират произволно число в даден диапазон.

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

Те всъщност нямат друга употреба.

<Рис. 1 Генератор>

съвет!При избора на най-подходящия генератор е важно да се вземе предвид целта, за която ще се използва.

Спецификации

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

Таблица 1. Характеристики на функционирането на онлайн приложения за генериране на произволно число
Име Социална мрежа Множество резултати Изберете от списък с числа Онлайн джаджа за уебсайт Изберете от диапазон Изключете повторенията
разни неща да да Не да Не
Cast Lots Официален сайт или VKontakte Не Не да да да
Случайно число Официален сайт Не Не Не да да
Рандъмъс Официален сайт да Не Не да Не
произволни числа Официален сайт да Не Не Не Не

Всички приложения, разгледани в таблицата, са описани по-подробно по-долу.

<Рис. 2 Случайные числа>

разни неща

<Рис. 3 RandStuff>

Можете да използвате това приложение онлайн, като използвате връзката към официалния му уебсайт http://randstuff.ru/number/.

Това е прост генератор на произволни числа, характеризиращ се с бърза и стабилна работа.

Успешно се прилага както във формат на отделно самостоятелно приложение на официалния уебсайт, така и като приложение в социалната мрежа VKontakte.

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

Професионалисти:

  • Стабилна и бърза работа;
  • Липса на директен линк към социалната мрежа;
  • Можете да изберете едно или повече числа;
  • Можете да избирате само от дадените числа.

минуси:

  • Невъзможността за провеждане на теглене във VKontakte (това изисква отделно приложение);
  • Приложенията за VKontakte не работят във всички браузъри;
  • Резултатът понякога изглежда предвидим, тъй като се използва само един алгоритъм за изчисление.

Отзивите на потребителите за това приложение са следните: „Ние определяме победителите в групите на VKontakte чрез тази услуга. Благодаря ви”, „Вие сте най-добрият”, „Използвам само тази услуга”.

Cast Lots

<Рис. 4 Cast Lots>

Това приложение е прост генератор на функции, реализиран на официалния уебсайт под формата на приложение VKontakte.

Има и джаджа за генериране, която да вградите в сайта си.

Основната разлика от предишното описано приложение е, че това ви позволява да деактивирате повторението на резултата.

Тоест, когато провеждате няколко поколения подред в една сесия, номерът няма да се повтори.

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

Отрицателно:

  • Невъзможността за определяне на няколко резултата наведнъж;
  • Невъзможност за избор от определен списък с числа;
  • За да изберете публично победител, трябва да използвате отделна джаджа VKontakte.

Отзивите на потребителите са както следва: „Работи стабилно, доста е удобно за използване“, „Удобна функционалност“, „Използвам само тази услуга“.

Случайно число

<Рис. 5 Случайное число>

Тази услуга се намира на http://random number.rf/.

Прост генератор с минимум функции и допълнителни функции.

Може произволно да генерира числа в даден диапазон (максимум от 1 до 99999).

Сайтът няма графичен дизайн, поради което страницата се зарежда лесно.

Резултатът може да бъде копиран или изтеглен с едно натискане на бутон.

Отрицателно:

  • Няма джаджа за VKontakte;
  • Няма възможност за провеждане на равенства;
  • Няма начин да вмъкнете резултата в блог или уебсайт.

Ето какво казват потребителите за тази услуга: „Добър генератор, но не достатъчно функции“, „Много малко функции“, „Подходящ за бързо генериране на номер без излишни настройки“.

Рандъмъс

<Рис. 6 Рандомус>

Можете да използвате този генератор на произволни числа на http://randomus.ru/.

Друг прост, но функционален генератор на случайни числа.

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

Отрицателно:

  • Невъзможността за провеждане на тегления въз основа на репостове на публикации и др.
  • Няма приложение за VKontakte или джаджа за сайта;
  • Не е възможно да деактивирате повтарящите се резултати.

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

Генератор на произволни числа с помощта на функцията RAND

Функцията RAND е една от двете функции, специално предназначени за генериране на произволни числа в excel. Тази функция връща произволно десетично число (реално число) между 0 и 1.

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

Функцията RAND е налична във всички версии: Excel 2016, Excel 2013, Excel 2010, Excel 2007, Excel 2003.

Тъй като функцията RAND на Excel няма аргументи, просто въвеждате =RAND() в клетка и след това копирате формулата в толкова клетки, колкото искате:

Сега нека да направим още една крачка напред и да напишем някои RAND формули за генериране на произволни числа според определени условия.

Генератор на произволни числа от нула до дадена горна граница на диапазона

За да преминете от нула до произволна стойност на N, изпълнявате функцията RAND няколко пъти с N:

Например, за да генерирате поредица от произволни числа, по-големи или равни на 0, но по-малки от 50, използвайте следната формула:

RAND()*50

Забележка. Стойността на горната граница никога не се включва в върнатата произволна последователност. Например, ако искате да получите произволни числа между 0 и 10, включително 10, правилната формула е =RAND()*11.

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

Да създам произволно число в диапазон, т.е. произволно число между произволни две числа, които посочите, използвайте следната формула RAND:

RAND() * (B - A) + A

Където A е стойността на долната граница (най-ниското число), а B е стойността на горната граница (най-голямото число).

Например, за да направете генератор на произволни числаот 10 до 50, можете да използвате следната формула:

RAND()*(50-10)+10

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

Генератор на произволни цели числа в Excel

За да накарате функцията RAND на Excel да генерира произволни цели числа, вземете една от горните формули и я обвийте във функция INT.

От 0 до 50:

ЦЯЛО ЧИСЛО (RAND()*50)

Да се генериране на случайни цели числаот 10 до 50:

ЦЯЛО ЧИСЛО (RAND()*(50-10)+10)

Генератор на произволни числа в Excel - Генерирайте произволни цели числа

Генератор на произволни числа в Excel в диапазон с помощта на функцията RANDBETWEEN

RANDBETWEEN е друга функция в Excel за създаване генератор на случайни числа.. Връща произволни цели числа в посочения диапазон:

RANDBWEEN (долна граница; горна граница)

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

Подобно на RAND, RANDBETWEEN в Excel е променлива функция и също така връща ново произволно цяло число всеки път, когато вашата таблица бъде преизчислена или променена.

Например, за да направете генератор на произволни цели числаот 10 до 50 (включително 10 и 50) използвайте следната формула RANDBETWEEN:

RANDBETWEEN (10, 50)

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

Функцията RANDBETWEEN в Excel може да генерира както положителни, така и отрицателни произволни числа. Например, за да получите списък с произволни числа между -10 и 10, въведете следната формула в работен лист:

RANDBETWEEN(-10;10)

Функцията RANDBETWEEN се предлага в следните версии: Excel 2016, Excel 2013, Excel 2010И Excel 2007.

В по-ранна версия Excel 2003, можете да използвате формулата RAND, обсъдена по-горе.

Генериране на произволни числа със зададен брой десетични знаци

Въпреки че функцията RANDBETWEEN в Excel е предназначена за генериране на произволни цели числа, можете да я използвате за генериране на произволни десетични числа с колкото искате десетични знаци.

RANDBETWEEN(долна граница*10; горна граница*10)/10

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

Следната формула RANDBETWEEN връща произволни десетични числа между 1 и 50:

СЛУЧАЙНО МЕЖДУ(1*10;50*10)/10

Генератор на произволни числа в Excel - Генерирайте произволни числа с един знак след десетичната запетая

По подобен начин на направете генератор на произволни числаот 1 до 50 с два знака след десетичната запетая, умножавате аргументите на функцията RANDBETWEEN по 100 и след това разделяте резултата на 100:

RANDBWEEN (1*100; 50*100)/100

Генератор на произволни числа в Excel - Генерирайте произволни числа с два знака след десетичната запетая

Генератор на произволни дати в Excel

За да върнете списък с произволни дати между дадените две дати, използвайте функцията RANDBETWEEN във връзка с DATE:

RANDOMBETWEEN(ДАТА(начална дата), ДАТА(крайна дата))

Например, за да получите списък с дати между 1 септември 2017 г. и 20 ноември 2017 г. включително, въведете следната формула в работен лист:

RANDOMBETWEEN(ДАТА(2017;9;1);ДАТА(2017;11;21))

Не забравяйте да приложите формата на датата към клетката(ите) и ще получите списък с произволни дати като този:

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

Генератор на произволно време в Excel

Във вътрешната система на Excel времената се съхраняват като десетични числа и можете да използвате стандартната функция на Excel RAND, за да вмъкнете произволни реални числа и след това просто да приложите формата на часа към клетките:

Генератор на случайни числа в Excel - Генерирайте произволно време с функцията RAND и приложете формат на времето към него

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

Генератор на произволно време в посочения диапазон

За да вмъкнете произволно време между всеки два зададени от вас интервала от време, използвайте функцията TIME във връзка с Excel RAND:

ВРЕМЕ (начален час) + RAND() * (ВРЕМЕ (начален час) - ВРЕМЕ (краен час))

Например, за да вмъкнете случаен час между 5:30 ч. и 18:00 ч., можете да използвате една от следните формули:

ВРЕМЕ(5;30;0)+РАНД()*(ВРЕМЕ(18;0;0)-ВРЕМЕ(5;0;0))

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

Генератор на случайни букви в Excel

За да вмъкнете произволна буква, трябва да се използва комбинация от три различни функции:

CHAR(СЛУЧАЙНО МЕЖДУ(КОД("A");КОД("Z"))))

Където A е първият знак, а Z е последният знак в диапазона от букви, които искате да включите (по азбучен ред).

Нека анализираме функциите в горната формула:

  • CODE връща ANSI цифровите кодове за посочените букви.
  • RANDBETWEEN приема числата, върнати от функциите CODE, като стойности на долния и горния диапазон.
  • CHAR преобразува произволните ANSI кодове, върнати RANDBETWEEN, в съответните букви.

Генератор на произволни числа в Excel - Генериране на произволни букви

Тъй като ANSI кодовете са различни за главни и малки букви, тази формула е чувствителна към главни и малки букви.

Ако някой знае наизуст кодовете на знаците ANSI, нищо не ви пречи да прехвърлите кодовете директно във функцията RANDBETWEEN.

Например, за да получите произволни главни букви между A (код ANSI 65) и Z (код ANSI 90), пишете:

CHAR(RANDOMBETWEEN (65,90))

За да генерирате малки букви между a (код ANSI 97) до z (код ANSI 122), използвате следната формула:

ЧАР(СЛУЧАЙНО МЕЖДУ(97,122))

За да вмъкнете произволен специален знак като ! "#$%&"()*+, -./, използвайте функцията RANDBETWEEN с долния параметър, зададен на 33 (ANSI код за "!") и горния параметър, настроен на 47 (ANSI код за "/").

CHAR(RANDOMBETWEEN(33,47))

Генератор на случайни числа в Excel - Генериране на произволни знаци

Как да предотвратите повторно изчисляване на RAND и RANDBETWEEN

Ако искате да получите постоянен набор от произволни числа, дати или текстови низове, които няма да се променят всеки път, т.е. да коригирате произволните числа, когато листът се преизчислява, използвайте един от следните методи:

  1. За да спрете преизчисляването на функциите RAND или RANDBETWEEN в една клетка, изберете тази клетка, превключете към лентата с формули и натиснете F9, за да замените формулата с нейната стойност.
  2. За да попречите на функцията за произволни числа в Excel автоматично да актуализира стойностите в множество клетки, използвайте функцията Paste. Изберете всички клетки с формула за генериране на произволна стойност, щракнете ctrl+cза да ги копирате, след това щракнете с десния бутон върху избрания диапазон и щракнете върху " Специална паста»--> «Стойности».

Генератор на случайни числа в Excel - Вмъкване на стойности

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

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

Пример за генериране на произволни числа с нормално разпределение

За да генерирате случайни числа с нормално разпределение, отидете в раздела " ДАННИ", В групата" Анализ"Изберете" Анализ на данни».

Генератор на случайни числа в Excel - Анализ на данни

В списъка, който се отваря, изберете " Генериране на случайни числа"и натиснете бутона" OK».

Генератор на случайни числа в Excel - Генериране на произволни числа

В прозореца, който се отваря, в списъка " Разпределение" избирам " нормално ”, въведете броя на променливите, броя на произволните числа, средната стойност и отклонението и мястото, където искате да поставите генерираните произволни числа.

Генератор на произволни числа в Excel - Генериране на произволни числа с нормално разпределение

След като всички данни са въведени, натиснете бутона "OK" и в резултат получаваме генерираните произволни числа на нормалното разпределение.

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

Избор на редакторите
Търсите естествено средство за отслабване? Сега много хора препоръчват да опитате talkan. Използвалите го споделят...

Цели: 1. Разработен е с цел получаване на изходни данни за изчисляване на елементите на строителния план (според максималния брой работници в ...

- Това е един от основните видове противопожарна техника. Пожарната цев е специално устройство, което е предназначено да ...

На 6 декември редица от най-големите руски торент портали, сред които Rutracker.org, Kinozal.tv и Rutor.org решиха да проведат (и направиха)...
Това е обичайният бюлетин на болничния лист, само изпълненият документ не е на хартия, а по нов начин, в електронен вид в ...
Жените след тридесет години трябва да обърнат специално внимание на грижата за кожата, тъй като именно на тази възраст се появяват първите ...
Такова растение като леща се счита за най-древната ценна култура, култивирана от човечеството. Полезен продукт, който...
Материалът е изготвен от: Юрий Зеликович, преподавател в катедрата по геоекология и управление на природата © При използване на материали от сайта (цитати, ...
Чести причини за комплекси при младите момичета и жени са кожните проблеми, като най-водещите от тях са...