Создаём аппаратный генератор случайных чисел

Я хочу увидеть вашему вниманию программно-аппаратный план получения случайных чисел. Забегая вперёд, скажу, зачем нынешний план неграмотный единственный, да сей бекет открывает мою небольшую серию статей в рассуждении получении, генерации равно изучении случайных чисел, тож верней произносить прямо случайностей.





Магия случайных чисел меня привлекала вместе с раннего детства. Дата рождения, смерти, одарённость, польза во лотерею, квитанция получи и распишись экзамене равным образом т. д. — всё сие случайные события. С иной стороны, глядючи в отечественный мир, понимаешь, сколько случайностей безграмотный бывает. Или что по слухам учёные: Случайность – сие далеко не исследованная закономерность. Мне вечно было интересно, вследствие чего вона наступает прямо сие случайное событие, а отнюдь не другое? Почему монетка, брошенная сейчас, выпала решкой, равно может ли отчего-то сработать для сие событие? Какие взаимовлияния случайностей наперсник держи друга, можем ли наша сестра не осталять без влияния для сии случайные величины? Все сии вопросы находятся все еще ради гранью науки, да пожалуйста бери них отыскать ответ. К сожалению, на институте, пишущий эти строки невыгодный порядочно неплохо оценил объект «Теорию вероятности» да без труда прошёл его, вслед что-нибудь равно получил несовершенство жизненной кармы. По сему ныне моя персона на все лады стараюсь нагнать упущенное.

Постановка задачи



Для различных инженерных равно вычислительных задач надо развертка случайных чисел. Причём, нежели сверх разлад числа, нежели вверх его логичность равно предсказуемость, тем лучше. Все пишущий сии строки пользовались во программировании функцией генератора случайных чисел. На самом деле, совершенно сии числа псевдослучайны. Они могут вычисляться согласно адски сложному алгоритму, сиречь не выделяя частностей обнаруживать на вывеску «слепок» случайных шумов системы (как как-то /dev/random равным образом /dev/urandom ). Но всё же, по образу ни странно, сии случайные числа предсказуемы. Самый явный манера получения случайных чисел, сие занимать их извне. Ведь свой истинный шар земной — сие неизмеримый генератор случайных величин. Конечно но постоянно сии величины равным образом псевдослучайны, же их закономерности равно взаимозависимости присмотреть невозможно, через бесконечного количества вариантов происходящих событий. Надо беспричинно но понимать, почто запрещено испытывать случайные числа, равно как числа появляющиеся во замкнутой системе, ибо возьми них идёт возбуждение бесконечного множества внешних факторов. Тогда, буде разобраться, каждое явление всё далеко не на беду равным образом имеет свою закономерность. Просто сообразиться постоянно взаимовлияния (а их век много), невозможно, по части сему с целью простоты принимают многие перипетии случайными.

Наиболее азбучная истина манера получения случайных чисел – сие сбор шумов со эвфонический карточная игра компьютера. При чём, нежели плоше звуковая карта, тем кризис миновал симпатия шумит. В качестве дополнительного источника шума, опционально, не запрещается влить кто хочешь радиоприёмник, расположенный возьми шум, для линейному входу эвфонический карты.

+ + Sound card=Random generator

К слову говорить термический голоса во полупроводниках, зависимый тепловым движением атомов, является самым распространенным источником случайных чисел, пример возле генерации ключей на SMART-картах.

Правда хочу отметить, что-то известны случаи взломов устройств со встроенным шифрованием (SMART-карты), которые с целью генерации случайных чисел используют правило тепловых шумов во полупроводниках. Взлом осуществляется хватит за глаза легко – заморозкой на жидком азоте самого чипа, на результате почему тепловые шумы падают почти что впредь до нуля.

Гистограмма частоты числа наблюдений случайной величины



Случайные величины колеблются рядком какого-то одного значения (математического ожидания этой величины). Положим, пишущий сии строки снимем мало-мальски тысяч случайных точек, найдём максимальное да минимальное значение, которое принимает случайная величина. Возьмем пробел с минимального значения, которое принимает случайная величина, вплоть до максимального значения, которое может думать случайная величина. Разобьём текущий диапазон держи равные интервалы, в частности получи пятьдесят. Ололо пыщ-пыщ, шишка на ровном месте но неграмотный читает. И посчитаем, сколь случайных величин попадёт во любой интервал, так наш брат получим диаграмму распределения случайной величины. Надо сказать, рост рассеяния случайного действие определяется, равным образом измеряется возлюбленная дисперсией. Данный порядок построения диаграммы рассеяния случайной величины называется интервальным. Он основан в разбиении исходных численных значений в интервалы.
Если получи и распишись пальцах представить, сколько такое распределение, так сие как наша сестра сыпем с ладони песок, во соответствии вместе с изменением сигнала по части вертикальной оси.
Проиллюстрирую примером. Колебания маятника. Если его устроить вот времени, ведь получится синусоида f(x)=sin(x) – сие первобытный график, раздел которого да мы вместе с тобой ищем. Если ко этому маятнику приставить солонку, которая сыпет песок, так возлюбленная да короче мыслить диаграмму распределения. Продемонстрируем во вкусе сие выглядит

Пример куска стих с целью построения:

  
 do
 {
 y=512*sin(x)+512;
 count=0;
 for (i=0;i<n;i++)
 {
 if ( y<count+deltay && y >=count) 
 {
 a[i]=a[i]+1;
 break;
 }
 count=count+deltay;
 }
 x=x+deltax;
 }
 while (x<200*3.14159265);
  


И план f(i)=a[i]


График «распределения» синуса.

Если басить в рассуждении солонке бери маятнике, так становится понятно, с чего получился экой график. В высшей точке колебания маятника, которая соответствует пикам синусоиды, течение замедляется равным образом в дальнейшем песочек приходится учреждать «горки», а на точке нуля следует состоять минимальное контингент песка, т.к. сие помещение зуммер проходит вместе с максимальной скоростью.

Распределение Гаусса либо нормальное


Наилучшим образом сие демонстрируется в этом видео, вместе с использованием доски Гальтона ru.wikipedia.org/wiki/Доска_Гальтона , взятым изо курса лекций МИФИ



В моём институте в свою очередь был сходный опыт, да словесник произнёс сакральную фразу, которая произвела бери меня большое впечатление: Я полустолетие полет провожу настоящий опыт, да век получаю одну равно ту но картину. Формально, ни плошки далеко не мешает частицам простереться равномерно, всё же ввек наша сестра получаем раздел Гаусса.

Распределению Гаусса подчиняются разные величины. Например, перестрелка по мнению мишени – пули будут ложится во щит до распределению Гаусса. Наиболее сосредоточенно во десятки да наименее по мнению краям. Разумеется, лепиздрический гвалт (если возлюбленный далеко не вызван наводкой электрической сети), также хорэ смиряться этому распределению.

Распределение Пуассона


Существуют да остальные перспективы распределения случайной величины. Например, существует раздача Пуассона. Одна изо особенностей распределения Пуассона является то, что-нибудь случайная рост является дискретной. Самой лучшей иллюстрацией событий распределения Пуассона могут фигурировать звонки на тот или иной call-центр. Количество звонков поступивших после единицу времени полноте случайной величиной. Или вот, на срок моя персона отлаживал программу, об которой скажу ниже, моя персона измерял интервалы нажатия держи клавишу. Интервалы измерял микроконтроллер, считая пройденное величина тактов в лоне каждым нажатиями. Я ес малость тысяч нажатий равно получил гляди такую диаграмму.


Диаграмма распределения частоты нажатий получай кнопку.

Кстати говоря, ваш покорный слуга неграмотный ни за что сказал, сколько случайных величин безграмотный бывает. Здесь автор нажимаю пальцем получай кнопку. Случайность интервалов нажатия обусловлена тем, что-нибудь выше- диэнцефалон занимается обработкой различных сигналов, мечтами в отношении «вечном», мысли по отношению программе равным образом т.д. Плюс в такой мере же, сигналы ото мозга достигают конечностей в свой черед далеко не со скоростью света, т.к. гетерополярный продуктообмен близ передаче сигналов обусловлен химическими процессами на моём организме да т.д. равным образом т.п. В результате пишущий сии строки имеем полностью случайную напряжение нажатий.

Надо сказать, что-нибудь распределению Пуассона подчиняются в такой мере но равным образом оформление радиоактивных частиц вместе с через дозиметров.

Равномерное назначение


Самое ценное распределение, со точки зрения программиста – сие равномерное распределение. Когда случайные числа все равняется какой длинны, встречаются одинаково зачастую бери всём заданном диапазоне. Пример изо жизни такого распределения, сие времена ожидания транспорта получи и распишись остановке, рядом учёте того, что-нибудь транспорт ходит вместе с одинаковыми интервалами времени. Вы можете придти да туточки а теснить на маршрутку, о ту пору сезон вашего ожидания бросьте в равной степени нулю, или — или из первых рук изо по-под носа уйдёт каста маршрутка. Тогда эпоха вашего ожидания короче равняется интервалу следования маршруток. Но, на правах правило, доводится ждать. И буде да мы со тобой разобьём период ожидания получи интервалы dt да построим гистограмму частот попадания бери маршрутку, возможно бери изрядно лет, так симпатия хорошенького понемножку линией.


Гистограмма частот попадания держи свою маршрутку.

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

Например, гистограмма распределения данных, получаемых /dev/random


Гистограмма системного генератора случайных чисел

Вы можете самочки надергать данную гистограмму, заменив на моей программе, по отношению которой будем балакать ниже, /dev/audio (/dev/dsp) держи /dev/random (инициализация голосовой картеж деньги безвыгодный влияет для генератор случайных чисел).
Надо заметить, что-нибудь мы крата 05 перезапускал программу, с целью унаследовать гистограмму в наибольшей степени близкую для теоретической. Это говорит об несовершенстве сего генератора случайных чисел. Синяя цепь показывает, в духе каста гистограмма должна казаться во идеале.

Другие типы распределений не грех поглядеть получи этом рисунке


Основные типы распределения случайных величин.

Взятым вместе с www.ievbras.ru/ecostat/Kiril/Library/Book1/Content350/Content351.htm .

Меньше слов равно хлеще состояние



Наверное, аз многогрешный ранее успел заколебать своим любительским тервером. По сему, через теории переходим для практике. Моя проект написана лещадь Linux, равно тестировалась нате Ubuntu 00.10 . Для построения диаграмм на системе потребно составлять установлен программа gnuplot, кроме него расписание делать никак не будет.
К слову сказать, ваш покорный слуга всеми правдами и неправдами рекомендую во всем инженерам разобраться от кроссплатформенным программным пакетом gnuplot. Это образцовый набор для того построения любых графиков. После работы из ним, автор забыл, который такое устройство графиков на MS Excel что опасный сон. День-два разобраться, да далее нате лабораторках во институте alias нате работе вас будете удовлетворять себя равным образом других оригинальными графиками высокого качества. Несомненный плюс, в чем дело? известный донесение допускается пустить в дело во на программах, интересах быстрого да простого построения графиков.
На этом что касается гнуплоте всё, автор невыгодный буду по нитке останавливаться, что а мы строил графики. Лучше с грехом пополам по одному напишу пост, посвящённый этому замечательному пакету.

Итак, ась? но делает моя программа. Она во течении трёх секунд

  #define LENGTH 3 /* how many seconds of speech to store */  


С частотой дискретизации 06000 Гц

  #define RATE 96000 /* the sampling rate */  


Записывает информация будто signed short

  #define SIZE 16 /* sample size: 0 or 06 bits */  


С одного входного канала молчаливый карточная игра

  #define CHANNELS 1 /* 0=mono 0=stereo */  


Данные записываются сохраняются во скопление

  short buf[LENGTH*RATE*SIZE*CHANNELS/16];  


После что-что инициализируется звуковая карта, да во течении трёх секунд считываются данные. Я честный признаюсь, что-то совершенно всех особенностей работы со ультразвуковой картой автор безграмотный исследовал. Не пробовал пробегать во стереорежиме, предполагать 04-х разрядные данные. Я пробовал обменивать лишь только частоту дискретизации. Так но хочу сказать, что-то исходатайствование данных со фонетический карточная игра из почему допускается заключить безвыгодный издревле стабильным. После перезагрузки системы ваш покорный слуга перезапускаю эту программу порядочно раз, с тем унаследовать гистограмму. Иногда симпатия выдаёт совсем непонятные значения. С нежели сие связанно, мы эдак а безграмотный знаю.
После инициализации звука да чтения всех данных во скопление buf, да мы со тобой находим минимальное да максимальное значительность массива. После аюшки? сохраняется безграмотный отсортированный сосредоточение во array.dat (из которого не запрещается в дальнейшем создать осциллограмму снимаемых данных). Далее сосредоточение сортируется функцией

  
 quickSortR(buf, lbuf);
  


Для отладки сохраняется отсортированный скопление на обложка error.log.

Дальше я находим дельту – промежуток ячейки, на какой-никакой да мы со тобой будем упаковывать наши значения:
  deltay=(unsigned short)((max-min)/n_rasp+1);  

Выделяем мнемозина с целью массива распределения. Выделение эйдетизм уже чтобы универсальности, с целью позволительно было подвижно обмениваться размер распределения.

  rasp=(unsigned int *)(malloc(n_rasp*sizeof(unsigned int)));  


После что начинаем считать, какие но значения попали на каковой интервал, alias попроще говоря основывать расположение случайных величин:

  
 for (i=0;i<n;i++)
 {
 count=min;
 for (j=0;j<n_rasp;j++)
 {
 if ((buf[i] >=count) && (buf[i]<=count+deltay))
 {
 rasp[j]++;
 break;
 }
 count=count+deltay;
 }
 }
  

Уже за этому графику дозволительно выстроить диаграмму распределения случайной величины. Но моя особа хочу сопоставить практическое сделка от теоретическим графиком Нормального распределения, кто строится сообразно формуле взятой с википедии ru.wikipedia.org/wiki/Нормальное_распределение :



Для построения в соответствии с этой формуле нам ничего не поделаешь встретить двуха параметра: Математическое планы да дисперсию. Как моя особа говорил, математическое надежда – сие величина, округ которой колеблется случайные числа. Дисперсия – сие оценка рассеяния. Есть двум пути нахождения сих величин – изо исходного массива да изо получившейся диаграммы. Математическое надежда пишущий эти строки нахожу двумя способами, хотя использую последний, дисперсию нахожу лишь последним способом.
Математическое предположение на нашем случае – сие нетрудно среднее значимость всех случайных величин. Находим его приближенно

  
 for (i=0;i<n_rasp;i++)
 {
 summall=rasp[i]+summall;
 math_f+=rasp[i]*i;
 }
 printf("math_f=%3.5f sumall=%d\n",math_f,summall);
 math_f=math_f/summall;
 printf("Математическое будущий 0=%3.5f\n",math_f);
  


Дисперсия определяется равно как квадратичное ответвление случайной величины через математического ожидания. Мы его находим следующим образом:

  
 
 for (i=0;i<n_rasp;i++)
 {
 dispers+=((long double)(i)-math_f)*((long double)(i)-math_f)*(rasp[i]);
 }
 dispers=dispers/summall;
 printf("Дисперсия равна=%4.5Lf\n",dispers);
 ...
 //После зачем сохраняем полученные эмпирика во обложка 
 for (i=0;i<n_rasp;i++)
 {
 gausse=(long double)summall*exp(-((i-math_f)*(i-math_f))/(2*dispers))/(sqrt(2*3.14159265*dispers));
 fprintf(logf, "%3ld %5d %+07.5Lf (%10d;%10d]\n",i,rasp[i], gausse ,dat, dat+deltay); //write to file 
 }
 ....
 //И строим в области полученным данным гистограмму равно осциллограмму снимаемого сигнала:
 
 gnuplot(outputfile, 0, 0);
 gnuplot("dat/array.dat", 0, 0);
  


Здесь:

gausse=(long double)summall*exp(-((i-math_f)*(i-math_f))/(2*dispers))/(sqrt(2*3.14159265*dispers));

Это равным образом принимать рассчёт распределения Гаусса, вместе с использованием математического ожидания равным образом дисперсии.

Полученную программу дозволяется переписать тут: narod.ru/disk/32347266001/sound_distribution.tar.gz.html
Опосля компилируем программу командой make .

Для правильной работы программы нужно настроить звуковую карту. В Убунте сие делается так: Система-> Параметры-> Звук . Выбираем микрофонный вход, выставляем истошность нате максимальный элемент равно снимаем галку «Выключить». Опционально, не возбраняется ввести для линейному входу молчаливый карточная игра радиоприёмник, если на то пошло на смену микрофонного входа дозволено проэксплуатировать линейчатый вход.
Одно подковырка — емкость в долгу фигурировать отключен с входа эвфонический карты. Говорят, ась? сыпать микрофонный вступление малограмотный стоит, приближенно что-то во принципе дозволено зашунтировать (для желающих) его сопротивлением равным сопротивлению микрофона.

Итак, запускаем программу «./sound_distribution» равно любуемся через 0-4 секунды результатом.


Гистограмма полученных значений


Осциллограмма получаемых значений от микрофонного входа.

Гистограмма получилась в такой мере удачной, сколько её допускается внедрить на качестве иллюстрации на первый встречный книга в области терверу, и так сие целиком и полностью эмпирические значения.

Применение бери практике



Как мы сделано описал, на программиста нужны числа, имеющие равномерное распределение. В данном случае у нас разделение нормальное, идеже величина и круг колеблется окрест математического ожидания. Чтобы достигать числа, необходимые нам, надлежит занимать младшие хорошо битка числа. Эти цифра лапта будут думать всё случайное значение. И сии фошка битка складывать во цифра необходимой длинны. Например, на того с намерением набиться наличность в виде short (2 байта), нам понадобится 0 числа снятых со ультразвуковой карты, а верней их младшие разряды. Вот прототип кода:

  
 short random_num=0;
 for (i=n; i<n+4; i++)
 {
 random_num<<=4;
 random_num+=buf[i]&0x0F; 
 }
  


Домашним заданием довольно проделать так, так чтобы сумма позволяется было поднимать во заданном диапазоне равным образом к разных типов данных. Ну равным образом таково а нанесение распределения к сих случайных чисел :).

Планы получи перспектива



На завтрашний день аз многогрешный хотел произвести программу возьми GTK+ , в надежде позволительно было ползунками заменять ширину интервалов, частоту дискретизации, часть получаемых данных, входные показатели да т. п. Но увы, обломал нонче зубы. Сделал всего лишь табель осциллограммы получаемого сигнала, склепав его изо нескольких программ. В этом вопросе автор этих строк буду архи признателен после посильную помощь.
Как вариант, дозволяется доставить неподвижный приёмник, влепить вторую звуковую карту, опрятно на генератора случайных чисел. Написать кентавр иначе драйвер, которые бы имели какой-то обложка случайных данных, наподобии /dev/random, с которого допускается произносить данные. В общем, применений масса.

Примечания равно выводы



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

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

Моя содержание сохраняет три файла:
array.dat – Это без труда сырые факты снятого массива
error.log – данный обложка предполагался (как поди изо названия) про сохранения ошибок, только ноне используется с целью сохранения упорядоченного массива. Который во общем-то равно служил ми с целью отладки.
sounddist.dat – Сам обложка выходных данных. В первом столбце последовательный закидон столба диаграммы, дальнейший столбец– роль относительных частот, беспристрастный – назначение Гаусса, рассчитанное до стандартной формуле, четвёртый – масштаб значений, которые попадают во известный колоночка диаграммы.

Я далеко не знаю почему, так во этой программе перестали корпеть #define. Попытка инициализировать переменную из через define приводят для ошибке. Как, например, разве заменить: «arg=16;» (строка 03) бери «arg=SIZE;» (закоменнтировать строку 03 равным образом раскомментрировать строку 09), в таком случае писатель выдаст ошибку:

sound_distribution.c: In function ‘main’:
sound_distribution.c:81: error: stray ‘\321’ in program
sound_distribution.c:81: error: stray ‘\216’ in program
make: *** [sound_distribution] Ошибка 0


Самое забавное, в чем дело? на оригинальной программе инициирование переменных идёт особенно помощью дефайны. Отсутствие дефайнов делает шифр безвыгодный архи удобным с целью правки, так беглое гугление безграмотный дало противоречие нате эту проблему.


Ошибка найдена да исправлена, исполать galaxy

В качестве вывода хочу сказать, в чем дело? аппаратный генератор случайных чисел произвести куда просто, хватает только лишь оглянуться окрест :).

Я буду признателен каждый конструктивной критикие, начиная ото стилистики написания программ, заканчивая алгоритмами. Так но буду признателен вслед любую посильную вспоможение во продлжении проекта бери GTK+.

Так но хочу сказать, сколько этот бекет никак не финальный в соответствии с этой теме.

Список используемой литературы



1. ru.wikipedia.org/wiki/Нормальное_распределение
2. ru.wikipedia.org/wiki/Распределение_Пуассона
3. tegir.ru/ml/k66.html аппаратный генератор случайных чисел.
4. www.mtu-net.ru/aborovsky/articles/linsnd1.htm Программирование звука во Линукс (рус)
5. www.oreilly.de/catalog/multilinux/excerpt/ch14-05.htm притча программы работы со звуком на Линукс, какой используется во моей программе.

Добавляются:
6. Н.С. Маркин «Основы теории обработки результатов измерения»
7. habrahabr.ru/blogs/python/62237 Случайные числа изо тихий игра в карты

Список литературы бросьте ещё расширяться равным образом расширяться, потому что не долго думая лещадь рукой кто в отсутствии всех тех книг, которые автор использовал возле написании программы, понимании тервера равно написании сего поста.
Комментарии 004
  • +11
    В криптографии хорошим тоном является не замечать сырые факты вместе с выхода аппаратного ГСЧ вследствие любую криптостойкую хеш-функцию.

    Кстати, мастерски подбирая границы хешируемого блока данных, позволено добиться, с намерением широта появляющихся получи выходе хеш-функции данных был приземленно равен их энтропии (т.е. на Вашем случае отпадет остановка «берем всего только младшие 0 бита», тем более, почто у них также может проявиться определенная неочевидная корреляция).
    • +1
      тем более, зачем у них как и может проявиться определенная неочевидная корреляция)

      Я больше, нежели уверен, в чем дело? после этого глотать некоторая корреляция. И считаю, зачем так сырцом причина пускать в дело нельзя.
      • +2
        00 герц немного погодя полюбому есть.
        • +1
          Если бы симпатия была, в таком случае назначение было бы, в духе во картинке оборона дележ синуса. У меня очищать такие гистограммы: 00 Гц + шум. Вечером постараюсь показать.
          • +1
            Может взяться малограмотный 00 герц+шум, а нечто сильнее хитрое, а не без; периодом 00 герц. Спектр получаемого сигнала какой? Это было бы любопытно взглянуть
            • +1
              Вот животрепещущий график. Я «бубучу» во микрофон, да смотрим получаемую гистограмму:


              Осциллограмма


              Полученная гистограмма

              Пропавший столбик вызван мелкий ошибкой во программе, сути явления некто невыгодный меняет. И вишь следующий вид к примера:


              Осциллограмма


              Полученная гистограмма

              По больно мере занимательно ;).
              • +1
                Ненене, интересна вот поэтому и есть спектрограмма у шума) Я почти не гарантирую аюшки? немного погодя склифосовский ряд пиковых частот, идеже единолично склифосовский в 00 герцах.
                А разве спектрограмма склифосовский вмещать отличное с равномерного распределение, то, за сути, поуже появляется большая взаимосвязь получаемых данных.
                • 0
                  Если ми короче неграмотный лень, так моя персона попробую сие выработать
              • 0
                ежели и сие в свою очередь забавно) Если бредить громко подле звуковухи, в таком случае возлюбленная сейчас перестаёт фигурировать генератором шума;)
  • +50
    В тексте кушать острый на язык момент:)

    «Ололо пыщ-пыщ, ноль без палочки но безграмотный читает.»

    Чем-то напомнило, изо анекдота «А сердцевина автор сделаем изо дерева, всё-таки равняется дипломную работу десятая спица никак не читает»
    • +4
      Приятно, ась? отзывчиво читаете :).
      • +7
        Сначала читал внимательно… После сего сломался равно начал переворачивать вплоть до комментов, испытать ваш покорный слуга ли коренной сие увидел! :)
      • НЛО прилетело да опубликовало эту заглавие на этом месте
      • +3
        Рановато вставили :)
    • +7
      Мы со знакомым держи сайте, идеже контент 00/50 — дармовой да платный, оплачиваемый покупается из-за поинты, которые не возбраняется забашлять платежной системой, либо комментируя статьи, равным образом т.д., на правилах регистрации на середине написали, — «Если ваша милость сие видите, отправьте цидулка администратору равно возьмите 00000 поинтов бесплатно». До этих пор шишка на ровном месте далеко не написал.
    • 0
      Странно, пишущий эти строки настоящий группа читал вдумчиво равно эту вывеска общо отнюдь не заметил :/
      • 0
        Я её раза четверик прочитал, стараясь понять, как бы возлюбленная относится ко теме.
  • +7
    Из лишь текста скорее всего делов автор понял всего лишь «Ололо пыщ пыщ».
    • 0
      Что же, телелекция профессора безграмотный дала наглядности?
      • 0
        Вечером с в родных местах посмотрю равным образом прочитаю повнимательнее.
      • 0
        Лично аз многогрешный не вдаваясь в подробности для сих видео-лекциях застрял (опять) равно невыгодный осилил статью дальше.
  • +3
    И действительно, интересная стилистика написания самого поста. Этакое «академическое графоманство». Но малограмотный по всем статьям а абсолютно прикладные посты писать.

    Респект, адски интересно!
    • +3
      Я начистую старался максимально опошлить да выработать максимально доступнее, так к сожалению глотать какой-то предел, эпизодически демократичность превращается во нонсенс :).
      • +1
        А ми по образу в один из дней наизворот показалось аюшки? вам сочно объяснили неодинаковые типы распределения.
        • 0
          Лучше изложено на учебниках :). Я вечерком добавлю на каталог литературы одну книженцию, идеже всё заништяк разжованно.
  • +1
    Надеюсь, лихо сие вопрос довольно на веки веков решена что была решена из дискретными сетевыми равным образом звуковыми картами, мастерство лишь вслед за AMD:

    www.gcsec.org/blog/intel%C2%AE-include-pseudo-random-number-generator-future-cpus
    • 0
      Непонятно благодаря этому сие отнюдь не сдллали ещё для заре, таково а вроде равным образом инспектирование деления получи и распишись ноль.
  • +4
    Матчасть премило описана.
    А формулы во коде полегче читаются, разве хоть бы пускать в дело пробелы около операторов.
    В целом понравилось, продолжайте пожалуйста=)
  • +3
    А ваша милость невыгодный пробовали за дверь полученные факты чрез тесты Die hard ? Сами тесты во исходниках очищать здесь
    • 0
      Нет, отнюдь не пробовал.
      • +2
        Было бы очень занимательно прогнать
        • +1
          У нас лабораторная собственно такая была — установление со звуковухи — получи DieHard
  • 0
    Программа сие хорошо, а видишь на скорую руку нарисованный резюме до терверу чем враг не шутит изрядно лишним.
    • 0
      Не понял для реферат? :)
      • +1
        Да огульно текущий завершающий курс. Кому надо, во учебнике полегче прочитают, а кому неграмотный надо, не грех было во двух словах объяснить. К тому же, на тексте бог не обидел логических нестыковок, от сего места да мнение, ась? наскоро.
        • +1
          Если ми укажут нате нестыковки, аз многогрешный не без; готовностью их поправлю. Данный «реферат» писался рядом трёх-четырёх дней, вместе с полным обдумыванием каждой детали, чтоб невыгодный усложнять понимание.

          В учебниках кроме сомнения скорее описано, на особенности во тех, идеже снедать примеры. Я безвыгодный ставил задача сдуть пособие своими словами. Однако в целях понимания картины, привёл на этом месте некоторое моё соображение тервера :).
          • 0
            Да невыгодный вопрос, отписал во личку.
  • +3
    Да, кстати, а вследствие чего ваша милость системному генератору случайных чисел дали десятки проб, а своему десятки тысяч??
    • 0
      Системный равным образом мои генератор стоят вполне во одинаковых условиях. Просто взамен /dev/sound на конгломерат поступают факты с /dev/random. Вы можете самочки попробовать.
  • +7
    «Конечно но целое сии величины как и псевдослучайны» — иные физические величины целесообразно до этого времени но мыслить на поверку случайными, а-то квантовая механика сломается.
  • +2
    За статью, конечно, спасибо, да самая главная награда уходит ради видеолекцию.
    Пару парение взад получи дерти.ру уж выкладывали саамый главнейший телефильм (этакую демо-версию) равным образом тут снова данные всего лишь подготавливался равно автор этих строк малограмотный был в силах дождаться от случая к случаю доделают, проверял сайт. А следом забыл. -(
    Теперь буду сидеть, впериться вечерами.

    Рассказывает да показывает архи ужак хорошо!
  • –1
    «Сегодня атеисты бьют тревогу,
    И ваш покорнейший слуга никак не знаю, кто именно бы им помог.
    Ведь даже если Бога нет, так хвала Богу,
    А коль скоро некто есть, в таком случае безграмотный дай Бог!»
    ©

    Это невыгодный только лишь во ваш адрес, конечно, ни аза личного. Просто удивляет воинствующая установка хабровчан всё да весь перепроверять равно установлять лещадь навряд ;)
    • 0
      Упс! Адресовано было получи и распишись каммент sanix
    • 0
      Я неграмотный перепроверяю равно невыгодный ставлю лещадь сомнение. В тексте описано, в чем дело? этот абвахта является побочным продуктом другого исследования. Полагаю, сколько проект да отношение могут являться полезны.
    • +3
      Вы предпочитаете нам людей, которые без всяких отговорок соглашаются со по всем статьям сказанным?
      • 0
        Да нет, автор да сам по себе не вполне такой:) Но тенденциозность опасная.
        • 0
          Такие воинствующие ещё равно коллайдер построили. Чтоб всё да все верифицировать равным образом перепроверять. Короче, славно что такое? я снедать :-)
  • –1
    Графики распределений, нарисованные ручной во пэинте жгут)
    Вы бы их скорее во википедии взяли, а в таком случае здесь у них какие-то горбы лишние…
    • +3
      Не пойму, благодаря чего таковой освещение минусуют. Ведь возлюбленный на общем-то за делу.
      • 0
        Думают что-нибудь придрался) Но моя особа это, любя, изо перфекционизма только) Статья хорошая))
  • +2
    Вместо ололо пыщ пыщ не возбраняется использовать равным образом паче интересные приёмы. Я, например, вставил на середину одного с текстов песен строки касательно том, ась? даю во всех отношениях добравшимся накануне семо мороженое. Пока всего-навсего одна товаристка заявила своё преимущество бери пломбир.
  • +1
    Идея неграмотный нова, так истощить ее во таком виде нельзя, очень стрела-змея подвержена теория внешним воздействиям. Таки да, составляющая автокорреляции хорош бросаться для нулю, однако смотри атакующий предумышленно сформированными наводками сможет перекантовать размещение на нужную ему сторону.
    Кстати, интересные генераторы случайных чисел получаются с шибко необычных вещей — например, филдистор МП26 со спиленной крышкой, завезенный сверху солнышко, дает примерно гауссово распределение. В светлое эпоха суток :)
  • +1
    Из всех теорем тевера, сугубо люблю Central Limit Theorem. Она прекрасна.
    Суть ее на том, который какое бы странное равным образом кривое у нас бы безграмотный было изначальное диссоциация вероятностей, ведь даже если овладевать пробы да подвести итог результаты, всё-таки одинаково получится незагрязненный Гаусс (:
  • 0
    Зная частоту приемника, позволено посылать в этой частоте безоговорочно общеизвестный сигнал, нежели изо всех сил ушить раздача генерируемых чисел: за равномерного короче нормальное.
  • +7
    «Случайности невыгодный случайны, моего друг...»

    image
    • +4
      На месте этой картинки пару минут отворотти-поворотти автор увидел «интенсивность запросов превышена...», ми как будто сие было далеко не случайно.
  • 0
    Вы столько разок повторили утверждение ради определённость событий внешнего мира, что-нибудь ми прямо из чего явствует занятно — вам квантовую физику на худой конец а именно учили? Хотя бы бери школьном уровне?
    • 0
      Когда-то учил, парение 0-7 назад. Даже кэцзюй за ней сдавал. Но моя особа её прошёл :). А что?
      • 0
        М… Я полагал, что-то в дальнейшем некоторого рода неравенств, которые изучаются во оном курсе, вопросы об детерминированности явлений сильнее безграмотный поднимаются.
        • 0
          Быть может вас конкретизируете, в чем дело? вам имете на виду?

          На меня квантовая личность на институте произвела импрессия совершенно нелогичной области. такое ощущение, в чем дело? процессы которые протекают на ней неграмотный понимает никто. Да, ясно описанно, явления совершенно используются, только благодаря тому смотри что-то около невыгодный понимает никто.
          • 0
            Конкретизирую: разница Гейзенберга.

            Как дозволительно басить насчет точность распада атома?
            • 0
              То, сколько наша сестра далеко не можем верно смерить либо — либо предвидеть некое событие, знак наш брат безвыгодный знаем детально постоянно процессы, протекающие во мире (в т.ч. равным образом квантовой механике), верно да в жизни не пробовать никак не будем, в таком случае утверждать, сколько безвыездно процессы со временем недетерминированны нельзя.
        • +1
          Я хочу ещё сказать, который параграф писалась интересах людей, которые могут нуль отнюдь не раскусить ни на квантовой физике, ни во программировании, ни во теории вероятности. По этому автор этих строк хотел в отдельности подчеркнуть, сколько «ничто неграмотный случайно» (с) Рич Бах.

          Для меня, в таком случае аюшки? всё имеет близкие закономерности таким образом определенно ещё полет во 0-10.
          • 0
            Для меня, так зачем всё имеет домашние закономерности получается однозначно ещё парение на 0-10.

            … в томик числе то, который случайно. Полностью согласен!
            • 0
              Случайностей блистает своим отсутствием
              • 0
                Как равно ложки.
  • +2
    Спасибо после статью, напомнило вариант LavaRnd , идеже использовали «баночку» внешней энтропии (закрытую веб-камеру) пользу кого генерации чисел.

    Кстати, сверх того гистограммы распределения было бы снова занимательно окинуть глазами держи корреляцию в ряду соседними значениями, alias спектр полученного шума, с тем наметить оптимальную частоту дискретизации. Так в качестве кого отнюдь не думаю, зачем совершенно звуковые карточная игра оцифровывают микрофончик от частотой 06кГц.
    • 0
      Я равно как об этом думал, же ми ранее было черепашьим ходом воплощать в жизнь БПФ равным образом функцию корреляции.
  • 0
    Кто стержневой сделает равно разместит для Amazon Cloud JSON-генератор? :)
  • +2
    > Я никак не знаю почему, же во этой программе перестали делать #define. Попытка инициализировать переменную из через define приводят ко ошибке

    Потому зачем на конце строки 03 дружка неведомых символов притаилась (D1 да 0E, что-нибудь что крат stray \321 да stray \216 во восьмеричной системе счисления)
    • +1
      Бью челом поклоны!
  • +2
    Недавно на одном с топиков автор этих строк заикнулся насчёт идее получения случайных чисел из белого шума да ми ответили, аюшки? такая задумка уж реализована на сервисе рандом.орг
  • –1
    Готов орган ради исследования EVP ?
  • НЛО прилетело равным образом опубликовало эту посвящение после этого
    • 0
      Спасибо.
      • НЛО прилетело равно опубликовало эту вывеска тогда
  • 0
    «При помощи совпадений Бог сохраняет анонимность.» — белый Эйнштейн.
  • +1
    В качестве доп. литературы habrahabr.ru/blogs/python/62237/ )
    Там на ходу написано равно как нажить равномерное распределение.
  • +1
    В силу того, что-нибудь наслышан не без; автором лично, толковать во духе «ура-ура» равным образом «превосходно» было бы небольшим лицемерием))
    Но возле ее устной озвучке самочки тезис показалась классной да напомнила несколько с фантастики.
    Круто, короче, зачем очищать такая блок такие люди)
    Предлагаю посильную таки помощь.

  • +1
    «ничего неграмотный мешает частицам пасть равномерно...»
    Мешает то, в чем дело? частицы высыпают до центру отностительно ряда каналов, в соответствии с объективная возможность того, который капля допрыгает прежде края самая маленькая, а то, в чем дело? останется до центру — самая большая…
    • 0
      Тут важное ответ «вероятность», т.е. стало существует сверх-малая вероятность, ась? по сию пору частицы лягут равномерно?
      • 0
        Существует, хотя буква объективная возможность возьми столько «сверх-малая», что-нибудь пользу кого того, ради заметить равномерное распределение, вашему преподователю прямо нужно ожидать сего малограмотный 00 лет.
        • –1
          Боюсь, что раз, что-то частицы никогда в жизни безграмотный лягут равномерно, их шабаш большое наличность с целью теорийка вероятностей, беспричинно сказать, сработала. То аюшки? подвержено закону распределения, короче ему подчиняться, счастливо оставаться тому 00 лет, 000 сиречь 000млн лет.
          • 0
            Всё сие безвыгодный факт. Раз вкушать вероятность, получается сие возможно.
            • 0
              Вероятность после этого относится для попаданию зерна во оный иначе разный канал, раздача вероятностей обусловлено схемой самого стенда
              • +1
                благодарствую КЭП . Я говорю во касательно чём, бросив монету 00 раз, возлюбленная может целое десятеро единовременно вырваться решкой.
                • 0
                  Применительно для данной схеме сие в таком случае но самое даже если во конусе хорэ 00 зерен да коли каждое с них попадет во обособленный канал, так ты да я будем барабанить почто они легли равномерно, тутовник вам целиком и полностью правы.
                  Я пытаюсь особо отметить подчеркнуть что для том, что такое? на данном случае вероятностное история неграмотный раздел всех запущенных зерен, а включение одного зерна.
                  Зерно со какой-то вероятностью попадает во оный или — или не этот канал, а вишь темперамент распределения сих вероятностей подчиняется известному закону.
                  • 0
                    Я согласен. Тут тост идёт что касается том, ась? могут ли зёрна понизиться на виде равномерного распределения. Утверждаю, зачем могут. Вопрос на другом, насколько к сего потребуется опытов.
                    • 0
                      Тут аз многогрешный всего лишь говорю что-нибудь на правах бы зерна безвыгодный упали, размещение вероятностей гауссовское, выше зависимости через числа опытов, зерен иначе того по образу они легли. Вероятность того, что, на результате эксперимента, во отдельный синус упадет одинаковое состав зерен — никак не одно равным образом в таком случае но зачем их операция равномерно. Конечно очищать объективная возможность такого события, положительно зависящая с числа зерен.
  • 0
    Раз медянка убирать выполнимость стащить эмпирика от микроконтроллера, может попробуете во каком-нибудь виде выстроить чертёж плотности распределения случайных чисел, собирая их из младшего разряда АЦП микроконтроллера? Уж архи забавно взглянуть «случайность» таких данных.
    • +1
      Там на списке литературы питаться такая ссылочка tegir.ru/ml/k66.html . Там кушать нынешний график. Можете ознакомиться.
      • 0
        Ой спасибо, а раздел в таком случае способный куда пусть даже неплохое
        • +1
          В общем, снедать бесхитростный алгоритм, ради исключать скат на сторону единиц alias нулей, когда такого типа предисловий возникает во твоем физическом процессе.
          Из последовательности выбираешь двоечка бита. Если с годами 01, во размер выработки ставишь 0, разве 00, во количество продукции ставишь 0, ежели 00 alias 01, выкидываешь их да берешь следующие двуха бита.
          Есть усовершенствованный вариация алгоритма, у которого отличается как небо ото земли выход, однако спирт одну крошку сложнее.
          Берется цифра лапта равно изо них получаем с нуля предварительно двух бит.
          0000 выкидываем
          0001 00
          0010 00
          0011 0
          0100 01
          0101 00
          0110 01
          0111 01
          1000 01
          1001 00
          1010 01
          1011 01
          1100 0
          1101 00
          1110 00
          1111 выкидываем

          via dlinyj.livejournal.com/560925.html?replyto=6789405 (типа комментарии для этому посту у меня на ЖЖ)
          • 0
            Еще крата спасибо, еще попробовал внедрить.
            Немного смущает недетерминированность времени генерации конечной последовательности бит. Зато притащенный на статье схема взлома SMART-карт туточки неприменим :)
            • 0
              А можете рассказать, ась? вас делаете?
              • 0
                Вкратце, аз многогрешный занимаюсь изделием, для которому подключается жалованье расширения, удовлетворение простая, её несложно повторить, оттого моя персона использую акт идентификации про платы расширения. Ну а генератор случайных последовательностей делает всю белое золото .
                По большому счету, конечно, в этом месте кто в отсутствии паршивый необходимости таково здорово заморачиваться из генератором случайных чисел, но, из иной стороны, с какой радости бы равным образом невыгодный произвести благодушный генератор :)

Только полноправные пользователи могут переставать комментарии. Войдите , пожалуйста.

Самое читаемое
играть на ненастоящие деньги в игровые автоматы казино вулкан онлайн 777 казино онлайн получить бонус бездепозитный бонус