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

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

Смята се, че първият опит за създаване на физически генератор на случайни числа датира от 3500 г. пр. Н. Е. и е свързана с настолната игра senet, древно египетско светско забавление. Според съвременните реконструкции на правилата на играта, четири плоски пръчки са били използвани за определяне на броя точки, спечелени от всеки играч и последователността на ходовете в тази игра, едната страна на която е бяла, а другата - черна. Пръчките бяха хвърляни едновременно и в зависимост от комбинацията от цветове те определяха допълнителни възможности за играчите. В началото на ХХ век. последователностите на случайни числа се симулират ръчно - чрез хвърляне на монета или зарове, излагане на карти за игра, рулетка, премахване на топки от урна и др. Съвременните физически (хардуерни) сензори са специални устройства, които генерират произволни числа, базирани на преобразуването на случайни шумове от естествен или изкуствен произход (топлинен шум, ефект на изстрел във вакуумни тръби, радиоактивно разпадане и др.). Например кола ERNIE 4 (електронно оборудване за индикация на произволни числа),

  • 1 Понякога, макар и рядко, разпределението, дадено от таблицата, се нарича стандартно 0 1 ... 8 9
  • 0,1 0,1 ... 0,1 0,1 / използва се за определяне на печелившите числа в месечната Британска лотария, използва топлинния шум на транзисторите като източник на случайни променливи. Физическият метод за получаване на последователност от случайни числа има характеристики, които са недостатъци за симулационен модел. Те включват, на първо място, необходимостта от специални мерки за осигуряване на стабилността на източника на сигнал, преобразуван в случайни числа, и невъзможността за възпроизвеждане на получената последователност от случайни числа.

Таблиците с произволни числа не съдържат тези недостатъци. Нека обясним какво се разбира под таблица на случайни числа. Да предположим, че сме изпълнили н независими експерименти, които доведоха до случайни числа a, a 2, osdr. Записването на тези числа (в реда на появата и под формата на правоъгълна таблица) ще даде това, което се нарича таблица с произволни числа. Използва се както следва. В хода на изчисленията може да се нуждаем или от произволно число, или от произволно число. Ако се изисква произволно число, тогава можем да вземем всяко число от тази таблица. Същото се отнася и за случая на произволно цяло число - можете да изберете всяка цифра за всяка цифра. Ако се нуждаем от произволно число 0 k последователни цифри cc, a 2, ao /, и приемем, че 8 \u003d (Hoco ^ .-. O ^. В този случай, в случай на "идеална" таблица на произволни цифри, цифрите от него могат да бъдат избрани произволно, могат да бъдат в ред, можете да използвате всеки алгоритъм за избор, който не зависи от стойностите на цифрите в таблицата, започнете от всяко място в таблицата, четете във всяка посока.

Първите таблици с произволни числа бяха получени с помощта на рулетки. Такива таблици са публикувани няколко пъти под формата на книги. Една от най-известните таблици, публикувана през 1927 г., съдържа над 40 000 случайни числа, „произволно извлечени от доклади от преброяването“.

Справка за историята

Леонард Типет (Леонард Хенри Калеб Типет, 1902-1985) - английски статистик, ученик на К. Пиърсън и Р. Фишър. През 1965-1966г. - президент на Кралското статистическо дружество. Някои важни резултати в теорията на екстремните стойности са свързани с неговото име, например разпределението на Фишер - Типет и теоремата на Фишър - Типет - Гнеденко.

По-късно са проектирани специални устройства (машини), които механично генерират произволни числа. Първата такава машина е използвана през 1939 г. от М. Дж. Кендъл и Б. Бабингтън-Смит за създаване на таблици, съдържащи 100 000 произволни цифри. През 1955 г. компанията RAND Corporation публикува добре познати таблици с милион произволни цифри, получени от друга машина от този тип. Понастоящем практическото приложение на таблици с произволни числа по правило е ограничено до проблеми, които използват методи за произволен подбор

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

Интересно е

В Русия е в сила GOST 18321-73 (ST SEV 1934-79), който установява правилата за избор на единици продукти в проба по време на статистически контрол на качеството на приемане, статистически методи за анализ и регулиране на технологичните процеси за всички видове парчета продукти за промишлени и технически цели и потребителски стоки. В него, по-специално, е посочено, че при избора на производствени единици в извадката „използвайте таблици с произволни числа съгласно ST SEV 546-77“.

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

Има много алгоритми за получаване на последователности от псевдослучайни числа; внедряванията на такива алгоритми, наречени сензори (генератори) на псевдослучайни числа, са описани подробно в специалната литература. Ето някои от най-известните алгоритми.

  • Tippett L. Случайни числа за вземане на проби. Лондон: Cambridge University Press, 1927.
  • Вижте: Д. Е. Кнут, Изкуството на програмирането. 3-то изд. М .: Уилямс, 2000. Т. 2. Гл. 3. Случайни числа.

19.09.2017 г., вторник, 13:18, московско време , Текст: Валерия Шмирова

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

Получаване на патент

Кодът за сигурност получи патент за технология за биологични сензорни произволни числа. Според разработчиците технологията е създадена с помощта на „нов подход за решаване на проблема за генериране на случайни числа с помощта на компютър и човек“. Разработката вече се използва в редица продукти, включително Continent-AP, Secret Net Studio, Continent TLS и Jinn, както и в криптографската библиотека SCrypt.

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

Технологични възможности

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

Както е обяснено Алиса Коренева, системен анализатор на "Кода за сигурност", създаден от компанията сензор генерира произволни последователности въз основа на скоростта и точността на реакцията на ръката на потребителя на промяна в изображението на екрана на компютъра или таблета. За въвеждане се използва мишка или сензорен екран. Изглежда така: кръговете се движат хаотично по екрана, някои от техните параметри се променят с течение на времето. В някои моменти от време потребителят реагира на промени в изображението. Като се имат предвид моторните му умения, това се отразява в произволна маса битове.

Можете да генерирате последователности от произволни числа въз основа на спонтанни човешки реакции

Извън криптографията сензорът може да се използва за генериране на произволни числа в компютърни игри или за избор на победители в състезанието.

Научна новост

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

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

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

Продукти, използващи технология

"Континент" е хардуерно-софтуерен комплекс, предназначен за криптиране на данни. Използва се в руския публичен сектор, например в Министерството на финансите. Състои се от защитна стена и VPN набор от инструменти. Създаден е от NIP "Informzashita", сега се разработва от "Код за сигурност" LLC.

По-конкретно, сървърът за достъп на Continent и системата за криптиране на информация Continent-AP са защитен модул за отдалечен достъп, използващ GOST алгоритми, а Continent TLS VPN е система за осигуряване на защитен отдалечен достъп до уеб приложения, използващи алгоритмите за GOST криптиране.

Secret Net Studio е цялостно решение за защита на работни станции и сървъри на ниво данни, приложения, мрежа, операционна система и периферно ниво, което също разработва "Кода за сигурност". Jinn-Client е предназначен за криптографска защита на информацията за създаване на електронни подписи и доверена визуализация на документи, а Jinn-Server е софтуерен и хардуерен комплекс за изграждане на правно значими системи за електронно управление на документи.

Криптографската библиотека SCrypt, която също използва нов сензор, е разработена от "Кода за сигурност", за да улесни прилагането на криптографски алгоритми в различни продукти. Това е единичен програмен код, който е преминал проверка на грешки. Библиотеката поддържа криптографски алгоритми за хеширане, електронен подпис, криптиране.

Какво прави Кодът за сигурност

Кодът за сигурност е руска компания, която разработва софтуер и хардуер. Основана е през 2008 г. Обхватът на продуктите е защита на информационните системи и привеждането им в съответствие с международните и индустриални стандарти, включително защита на поверителна информация, до държавна тайна. Кодексът за сигурност има девет лиценза от Федералната служба за технически и експортен контрол (FSTEC) на Русия, Федералната служба за сигурност (FSB) на Русия и Министерството на отбраната.

В компанията работят около 300 специалисти; 900 оторизирани партньори във всички региони на Русия и страните от ОНД са ангажирани в продажбата на продукти. Клиентската база на Кодекса за сигурност наброява около 32 хиляди правителствени и търговски организации.

Детерминистични PRNG

Нито един детерминиран алгоритъм не може да генерира напълно случайни числа, той може да приближава само някои свойства на случайни числа. Както каза Джон фон Нойман, „ всеки, който има слабост към аритметичните методи за получаване на случайни числа, е грешен без съмнение».

Всеки PRNG с ограничени ресурси рано или късно се забива в цикъл - той започва да повтаря същата последователност от числа. Дължината на циклите на PRNG зависи от самия генератор и е средно около 2 n / 2, където n е размерът на вътрешното състояние в битове, въпреки че линейните конгруентни и LFSR генераторите имат максимални цикли от порядъка на 2 n. Ако PRNG може да се сближи с твърде кратки цикли, PRNG става предсказуем и неизползваем.

Повечето прости аритметични генератори, макар и бързи, страдат от много сериозни недостатъци:

  • Периодът / периодите са твърде кратки.
  • Последователните стойности не са независими.
  • Някои битове са "по-малко случайни" от други.
  • Неравномерно едномерно разпределение.
  • Обратимост.

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

PRNG с източник на ентропия или RNG

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

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

В персоналните компютри авторите на софтуер RNG използват много по-бързи източници на ентропия, като шум от звукова карта или брояч на процесорния часовник. Преди да стане възможно разчитането на стойностите на брояча на часовника, събирането на ентропия беше най-уязвимата точка на RNG. Този проблем все още не е напълно разрешен в много устройства (например смарт карти), които по този начин остават уязвими. Много RNG все още използват традиционни (остарели) методи за събиране на ентропия, като измерване на реакцията на потребителя (движение на мишката и т.н.), като например в или взаимодействия между нишки, като например в Java secure random.

Примери за източници на RNG и ентропия

Няколко примера за RNG с техните ентропийни източници и генератори:

Източник на ентропията PRNG Предимства недостатъци
/ dev / random на Linux Брояч на цикъла на процесора, но се събира само по време на хардуерни прекъсвания LFSR, с хеширане на изходаТой се „загрява“ много дълго време, може да „заседне“ дълго време или работи като PRNG ( / dev / urandom)
Бял равнец от Брус Шнайер Традиционни (наследени) методи AES -256 иГъвкав криптографски дизайн „Загрява“ за дълго време, много малко вътрешно състояние, зависи твърде много от криптографската сила на избраните алгоритми, бавно, приложимо изключително за генериране на ключове
Генератор Леонид Юриев Шум на звуковата карта ? Най-вероятно добър и бърз източник на ентропия Няма независим, известен като криптографски силен PRNG, наличен изключително като Windows
Microsoft Вграден в Windows, не „засяда“ Малко вътрешно състояние, лесно предвидимо
Взаимодействие между нишки Java все още няма друг избор, голямо вътрешно състояние Бавно събиране на ентропия
Хаос от Руптор Брояч на цикъла на процесора, събран непрекъснато Хеширане на 4096-битово вътрешно състояние въз основа на нелинеен вариант на генератора Marsaglia Докато най-бързото от всички, великото вътрешно състояние, не „заседне“
RRAND от Ruptor Брояч на цикъла на процесора Криптиране на вътрешното състояние с поточен шифърМного бързо, вътрешно състояние с произволен размер по избор, не "засяда"

PRNG в криптографията

Един вид PRNG са PRBG - генератори на псевдослучайни битове, както и различни поточни шифри. PRNG, подобно на поточните шифри, се състои от вътрешно състояние (обикновено от 16 бита до няколко мегабайта по размер), функция за инициализиране на вътрешното състояние с ключ или семе (англ. семе), вътрешни функции за актуализиране на състоянието и изходни функции. PRNG се разделят на прости аритметични, счупени криптографски и криптографски. Общата им цел е да генерират последователности от числа, които не могат да бъдат разграничени от случайни чрез изчислителни методи.

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

За военни цели и на полето се използват само класифицирани синхронни криптографски силни PRNG (поточни шифри), блокови шифри не се използват. Примери за добре познати криптографски силни PRNG са ISAAC, SEAL, Snow, много бавният теоретичен алгоритъм на Blum, Blum и Shub, както и броячи с криптографски хеш функции или криптографски силни блокови шифри вместо изходна функция.

Хардуерен PRNG

Освен остарелите, добре познати генератори на LFSR, които бяха широко използвани като хардуерни PRNG през 20-ти век, за съжаление, много малко се знае за съвременните хардуерни PRNG (поточни шифри), тъй като повечето от тях са предназначени за военни цели и се пазят в тайна . Почти всички съществуващи търговски PRNG за хардуер са патентовани и също пазени в тайна. Хардуерните PRNG са ограничени от строги изисквания за консумираната памет (най-често използването на памет е забранено), скоростта (1-2 тактови цикъла) и площта (няколкостотин FPGA - или

Поради липсата на добри хардуерни PRNG, производителите са принудени да използват много по-бавните, но широко известни блокови шифри на разположение (Computer Review # 29 (2003)

  • Юрий Лифшиц. Курс "Съвременни проблеми на криптографията" Лекция 9: Псевдослучайни генератори
  • Л. Бараш. AKS алгоритъм за проверка на числата за простота и намиране на константи на генераторите на псевдослучайни числа
  • Желников Владимир. Псевдослучайни последователности от числа // Криптография от папирус към компютър М.: ABF, 1996.
  • random.org (англ.) - онлайн услуга за генериране на произволни числа
  • Криптографски случайни числа (англ.)
  • Теория и практика на генерацията на случайни числа (англ.)
  • Zvi Gutterman, Benny Pinkas, Tzachy Reinman. Анализ на генератора на произволни числа на Linux (англ.)
  • Статистически тестов пакет за генератори на произволни и псевдослучайни числа за криптографски приложения NIST SP 800-22
  • Детерминистични PRNG

    Нито един детерминиран алгоритъм не може да генерира напълно случайни числа, той може да приближава само някои свойства на случайни числа. Както каза Джон фон Нойман, „ всеки, който има слабост към аритметичните методи за получаване на случайни числа, е грешен без съмнение».

    Всеки PRNG с ограничени ресурси рано или късно се забива в цикъл - той започва да повтаря същата последователност от числа. Дължината на циклите на PRNG зависи от самия генератор и е средно около 2 n / 2, където n е размерът на вътрешното състояние в битове, въпреки че линейните конгруентни и LFSR генераторите имат максимални цикли от порядъка на 2 n. Ако PRNG може да се сближи с твърде кратки цикли, PRNG става предсказуем и неизползваем.

    Повечето прости аритметични генератори, макар и бързи, страдат от много сериозни недостатъци:

    • Периодът / периодите са твърде кратки.
    • Последователните стойности не са независими.
    • Някои битове са "по-малко случайни" от други.
    • Неравномерно едномерно разпределение.
    • Обратимост.

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

    PRNG с източник на ентропия или RNG

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

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

    В персоналните компютри авторите на софтуер RNG използват много по-бързи източници на ентропия, като шум от звукова карта или брояч на процесорния часовник. Преди да стане възможно разчитането на стойностите на брояча на часовника, събирането на ентропия беше най-уязвимата точка на RNG. Този проблем все още не е напълно разрешен в много устройства (например смарт карти), които по този начин остават уязвими. Много RNG все още използват традиционни (остарели) методи за събиране на ентропия, като измерване на реакцията на потребителя (движение на мишката и т.н.), като например в или взаимодействия между нишки, като например в Java secure random.

    Примери за източници на RNG и ентропия

    Няколко примера за RNG с техните ентропийни източници и генератори:

    Източник на ентропията PRNG Предимства недостатъци
    / dev / random на Linux Брояч на цикъла на процесора, но се събира само по време на хардуерни прекъсвания LFSR, с хеширане на изходаТой се „загрява“ много дълго време, може да „заседне“ дълго време или работи като PRNG ( / dev / urandom)
    Бял равнец от Брус Шнайер Традиционни (наследени) методи AES -256 иГъвкав криптографски дизайн „Загрява“ за дълго време, много малко вътрешно състояние, зависи твърде много от криптографската сила на избраните алгоритми, бавно, приложимо изключително за генериране на ключове
    Генератор Леонид Юриев Шум на звуковата карта ? Най-вероятно добър и бърз източник на ентропия Няма независим, известен като криптографски силен PRNG, наличен изключително като Windows
    Microsoft Вграден в Windows, не „засяда“ Малко вътрешно състояние, лесно предвидимо
    Взаимодействие между нишки Java все още няма друг избор, голямо вътрешно състояние Бавно събиране на ентропия
    Хаос от Руптор Брояч на цикъла на процесора, събран непрекъснато Хеширане на 4096-битово вътрешно състояние въз основа на нелинеен вариант на генератора Marsaglia Докато най-бързото от всички, великото вътрешно състояние, не „заседне“
    RRAND от Ruptor Брояч на цикъла на процесора Криптиране на вътрешното състояние с поточен шифърМного бързо, вътрешно състояние с произволен размер по избор, не "засяда"

    PRNG в криптографията

    Един вид PRNG са PRBG - генератори на псевдослучайни битове, както и различни поточни шифри. PRNG, подобно на поточните шифри, се състои от вътрешно състояние (обикновено от 16 бита до няколко мегабайта по размер), функция за инициализиране на вътрешното състояние с ключ или семе (англ. семе), вътрешни функции за актуализиране на състоянието и изходни функции. PRNG се разделят на прости аритметични, счупени криптографски и криптографски. Общата им цел е да генерират последователности от числа, които не могат да бъдат разграничени от случайни чрез изчислителни методи.

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

    За военни цели и на полето се използват само класифицирани синхронни криптографски силни PRNG (поточни шифри), блокови шифри не се използват. Примери за добре познати криптографски силни PRNG са ISAAC, SEAL, Snow, много бавният теоретичен алгоритъм на Blum, Blum и Shub, както и броячи с криптографски хеш функции или криптографски силни блокови шифри вместо изходна функция.

    Хардуерен PRNG

    Освен остарелите, добре познати генератори на LFSR, които бяха широко използвани като хардуерни PRNG през 20-ти век, за съжаление, много малко се знае за съвременните хардуерни PRNG (поточни шифри), тъй като повечето от тях са предназначени за военни цели и се пазят в тайна . Почти всички съществуващи търговски PRNG за хардуер са патентовани и също пазени в тайна. Хардуерните PRNG са ограничени от строги изисквания за консумираната памет (най-често използването на памет е забранено), скоростта (1-2 тактови цикъла) и площта (няколкостотин FPGA - или

    Поради липсата на добри хардуерни PRNG, производителите са принудени да използват много по-бавните, но широко известни блокови шифри на разположение (Computer Review # 29 (2003)

  • Юрий Лифшиц. Курс "Съвременни проблеми на криптографията" Лекция 9: Псевдослучайни генератори
  • Л. Бараш. AKS алгоритъм за проверка на числата за простота и намиране на константи на генераторите на псевдослучайни числа
  • Желников Владимир. Псевдослучайни последователности от числа // Криптография от папирус към компютър М.: ABF, 1996.
  • random.org (англ.) - онлайн услуга за генериране на произволни числа
  • Криптографски случайни числа (англ.)
  • Теория и практика на генерацията на случайни числа (англ.)
  • Zvi Gutterman, Benny Pinkas, Tzachy Reinman. Анализ на генератора на произволни числа на Linux (англ.)
  • Статистически тестов пакет за генератори на произволни и псевдослучайни числа за криптографски приложения NIST SP 800-22
  • Софтуерът на почти всички компютри има вградена функция за генериране на последователност от псевдослучайни квази-равномерно разпределени числа. За статистическо моделиране обаче се налагат повишени изисквания за генериране на случайни числа. Качеството на резултатите от такова моделиране пряко зависи от качеството на генератора на равномерно разпределени случайни числа, тъй като тези числа са и източници (изходни данни) за получаване на други случайни променливи с даден закон на разпределение.

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

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

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

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

    Критерият за достатъчната дължина на псевдослучайната последователност е избран от следните съображения. Методът Монте Карло се състои в многократни повторения на изчисленията на изходните параметри на моделираната система, което е под влиянието на входните параметри, които се колебаят с дадените закони на разпределение. Методът се основава на генерирането на случайни числа с униформаразпределение в интервала, от който се формират случайни числа с дадени закони на разпределение. След това се изчислява вероятността от моделирано събитие като съотношението между броя повторения на експерименти с модел с успешен резултат към броя на общите повторения на експериментите при дадените начални условия (параметри) на модела.

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

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

    Следователно, така че грешката да не надхвърля доверителния интервал с ниво на доверие, например \u003d 0,95 е необходимо броят на повторенията на експеримента да не е по-малък:

    (2.2)

    Например, за 10% грешка ( \u003d 0,1) получаваме
    , и за 3% грешка ( \u003d 0,03) вече получаваме
    .

    За други начални условия на модела трябва да се извърши нова серия от повторения на експерименти върху различна псевдослучайна последователност. Следователно, или функцията за генериране на псевдослучайна последователност трябва да има параметър, който я променя (например R 0 ), или дължината му трябва да бъде поне:

    където К - броя на началните условия (точки на кривата, определени по метода на Монте Карло), н е броят на повторенията на моделния експеримент при дадени начални условия, L е дължината на псевдослучайната последователност.

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

      Възпроизводимост. Както е посочено по-горе, желателно е да има параметър, който променя генерирането на псевдослучайни числа. Обикновено това е R 0 . Ето защо е много важно промяната в R 0 не разваля качеството (т.е. статистически параметри) на генератора на случайни числа.

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

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

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



     


    Прочети:



    Как да се отървем от липсата на пари, за да станем богати

    Как да се отървем от липсата на пари, за да станем богати

    Не е тайна, че много хора смятат бедността за присъда. Всъщност за мнозинството бедността е омагьосан кръг, от който години наред ...

    „Защо има месец в съня?

    „Защо има месец в съня?

    Да видиш месец означава цар, или кралски везир, или велик учен, или смирен роб, или измамен човек, или красива жена. Ако някой ...

    Защо да мечтаете, какво е дало кучето Защо мечтаете за кученце подарък

    Защо да мечтаете, какво е дало кучето Защо мечтаете за кученце подарък

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

    Кога е най-дългият ден и най-краткият ден в годината

    Кога е най-дългият ден и най-краткият ден в годината

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

    feed-image Rss