80

Тут говорят!
Авторизация
Список форумов
Войти через акаунт
 

Случайные числа. Откуда берутся?
Подписаться/отписаться на тему (функция доступна только для зарегистрированных пользователей) Любимая тема (вкл/выкл) []

Страницы: 1  2   из  2
Добавление сообщений к этой теме для незарегистрированных пользователей невозможно
Тему смотрит 1 незарегистрированный пользователь
Модераторы
Рейтинг темы:   (2750 просмотров)
Вы не можете создавать новые темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
 

Пионер Пионер в оффлайне

ветеран
Сообщений: 532

Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный

Меня этот вопрос мучает уже не первый день... и никак не могу получить конкретного ответа... На каком уровне поиходит это? Я сначала думал что на самом нижнем (железо), но транзисторы затупые чтоб чтоб что-то выбирать... в общем вопрос понимаете...

--------------------
google.com
 

Пионер Пионер в оффлайне

ветеран
Сообщений: 532

Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный

Что и тут никто не знает?

--------------------
google.com
 

alexey_public alexey_public в оффлайне

графоман
Сообщений: 5 817

alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный

syl (18.03.06 23:07) писал(a):
Меня этот вопрос мучает уже не первый день... и никак не могу получить конкретного ответа... На каком уровне поиходит это? Я сначала думал что на самом нижнем (железо), но транзисторы затупые чтоб чтоб что-то выбирать... в общем вопрос понимаете...

На транзисторы ты это зря, это пожалуй самые мощные и эффективные генераторы случайных последовательностей в интегрированных схемах.Сначала немного истории о случайных числах - а рассказал нам ее в родном БГУИРе один уважаемый человек с большим жизненным опытом. Итак - есть лампа бегущей волны. Есть грубо говоря вход и выход. Работает, как положено, поддается расчетам внутреннних процессов, все было в порядке, пока одному ученому (кстати фамилии приводить не буду - вам может тоже расскажут в деталях, а я уже многое не помню, так что если что - дополните) не пришло в голову включить еще одну лампу в обратную связь. И тут случилось это - лампа превратилась в самый настоящий генератор случайных последовательностей. Ее поведение нельзя было описать, результат работы был совершенно непредсказуемый. Получилось небольшое изобретение но заметного масштаба, ученый пошел к другому ученому рангом повыше - своему начальству и начал докладывать, мол так и так - получил простой и надежный генератор случайных последовательностей, к тому же что немаловажно - приличной мощности. Тот ему не поверил и сказал что этого не может быть потому что этого не может быть, там все расчитывается уже давно и все изучено и т.д. И первый ушел ни с чем (впрочем с кем из ученых и не только такого не случалось... эх... сколько же мы вот так вот упустили... ). Но через некоторое время идя (в Москве) на работу он наткнулся на большую стройку в которой центром был гигантский котлован, поинтересовался что это такое (видимо знал у кого можно таким поинтересоваться, простому встречному такое бы не сказали) и выяснил, что это будущий вычислительный центр страны для управления планированием экономики, причем его прячут примерно метров на 100 под землю (а может и больше - уже не помню) чтобы по ЭМ волнам американские спутники не смогли производить дистанционное считывание информации, благо технологии тогда такое уже позволяли, а уровень помех тех компьютеров и их низкое быстродействие только располагали к таким простым и надежным методам. И вот вспомнил он про свое открытие и пошел снова - к руководству, тот снова не поверил, но все же решил взглянуть, а когда взглянул - то по словам очевидцев ... в общем руководство страны пережило маленький шок - ведь уровень такого проекта с подземным котлваном колоссальный, а тут - а тут все элементарно - просто над зданием с компьютерами располагается несколько ЛБВ и при своей мощности они покрывают помехами все излучения выч. техники, делая невозможным считывание какой-либо информации. В общем котлован кажется использовали в каком-то фильме да и зарыли. Правда самое смешное было потом - всем участвующим за такое дали премию высшего гос. уровня (ведь это коллосальная экономия в рамках страны да и в будущем их теперь можно было использовать везде), вот только... ее давали ограниченному кол-ву человек из проекта. А в проекте соответственно были люди - из компартии, высшее начальство и почти последним тот самый ученый начальник который не сразу этому поверил. А вот сам изобретатель - а для него места не хватило , так он и остался при своем изобретении, а кто-то на эти очень немаленькие деньги.....(а длина сообщения ограничена так что читайте продолжение в следующем сообщении ).

--------------------
Алексей
 

alexey_public alexey_public в оффлайне

графоман
Сообщений: 5 817

alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный

А теперь к деталям - требования к генераторам случайных чисел описаны в соответствующем разделе математики. Если не знаете что такое распределение случайных чисел - срочно учить, иначе с ними работать дальше просто безполезно, слишком много тонкостей. Главное в данном случае - повторяемость, т.е. последовательность числе должна повторяться как можно реже. Но кроме всего прочего прогаммисты к ним предъявляют еще одно важное требование - повторяемость. Т.е. нужно иметь возможность восстановить последовательность одних и тех же "случайных чисел" например в целях отладки программы. Требования противоречивые. В результате сложились два класса устройств. Первый аппаратный и выполнен как правило на тех самых транзисторах и не только. Часто выполняют и на других приборах, способных выдавать случайный сигнал с нужной скоростью. Преимущество - сигнал очень часто действительно случайный (под действием разнообразных факторов - чаще всего - неточности изготовления, где-то токи утечки больше, где-то тепловые токи более неравномерные и т.д.). Но есть и недостатки - форма распределения зависит от аппаратных свойств, чаще всего либо нормальное распределение, либо прямоугольная форма с сглаженными краями. Ее обычно нельзя менять в процессе работы. К тому же проблемы при производстве, так как система случайная, то и результат изготовления так же случайный, и на выходе можно получить прибор с незапланированым распределением.Второй вариант - программный, последоватльность рассчитывается по определенным формулам, позволяющи получить определеное кол-во числе в одной последовательности. Так как здесь результат предсказуемый и управляемый то есть одно преимущество - его всегда можно повторить. Формулы всегда имеют аргумент - т.о. для работы формул требуется входное число, затем результат первого расчета случайного числа используется как аргумент для второго расчета и т.д. Т.о. при одном и том же первом числе можно всегда получить одну и ту же последовательность чисел. Поэтому их называют псевдослучайными числами, а их генераторы (т.е. расчетный формулы)- генераторы псевдослучайных последовательностей. Есть и серьезный плюс у таких генераторов - форма распределения может быть легко задана ими же и меняться на ходу просто меняя расчетные формулы. И вообще весь процесс можно корректировать на ходу и менять в нужном направлении. При этом правда имеется одна неприятность - расчет по формулам всегда приводит к тому, что последовательность чисел повторяется через какое-то число расчетов. Так как такие генераторы как правило используются для обеспечения безопасности, то злоумышленник может, зная параметры генератора, предсказать когда какое число будет сгенерировано. Поэтому стараются создать генераторы с как можно большей длиной псевдослучайной неповторяемой последовательности. Сейчас в этом направлении достигнуты хорошие результаты - до нескольких миллионов чисел, прежде чем все будет повторяться.Теперь практика - аппаратные генераторы (не путать с разнообразыми цифровыми малогабаритными генераторами как в банковских системах - аппаратные ключи - там как раз расчетные псевдослучайные последовательности - банк и такой ключ работают синхронно, благодаря чему результаты совпадают и это является признаком доступа) используют в научных системах а также в системах повышенной защищенности. Сейчас такие же генераторы Intel решила использовать в своих новых платформах - видимо научились делать серийно генераторы с заданными параметрами (ведь это не цифровые, а аналоговые системы и их работа при таких частотах и при массовом производстве несколько затруднительна).А вот псевдослучайные последовательности широко используются... - да везде используются. Простейший пример - Delphi - Random - работает именно таким образом. Для ее инициализации используется активация через значение переменной RandSeed - именно она задает то число, которое и определит всю последовательность. Для ее запуска обычно ипользуется функция Randomize - при ее использовании в переменную RandSeed записывается число из системного таймера. Т.к. время-число не имеет привычки повторяться, то и генератор каждый раз будет инициазизирован по-новому при вызове этой функциии за последовательность можно не безпокоиться. А в целях отладки можно инициализировать одним и тем же значением для проверки работоспособности программы. Форма распреденения кажется нормальная, но точно не знаю.

--------------------
Алексей
 

Пионер Пионер в оффлайне

ветеран
Сообщений: 532

Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный

ОЧЕНЬ БОЛЬШОЕ спасибо!!!! Ты с какой группы?

А можешь расказать про апаратные генераторы... а то эти псевдо, по ходу тупые... к примеру дельфи... можно ж изменять дату (часы на компе) и все...

А возможно создать генератор который выбрасывал числа с любой длиной, совсем любые, не зависешие ни от каких законов (формул)?

--------------------
google.com
 

alexey_public alexey_public в оффлайне

графоман
Сообщений: 5 817

alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный

Я с аспирантуры, второй года уже Что касается аппаратных, то тут просто и сложно одновременно. Прицип легкий - берется источник шума, его сигнал в последовательной форме пишется в регистр и после его заполнения получаем в зависимости от длины регистра результат в 8-64 и более бита. Источник шума - может буть любой - например можно сложить сигналы с 10 генераторов с разной некратной частотой (например 3, 5, 7, 11, и др. числа, лучше всего дробные, относительно опорной частоты). Результат их суммирования в случайный момент времени (если они работают постоянно) предугадать невозможно, но можно оценить по вероятностным формулам и вывести закон распределения, подкорректировав генераторы можно получить нужный закон распределения, но это простой и немного примитивный метод, т.к. его результаты можно все-таки несколько предугадать, , кстати если управлять временем и последовательнностью запуска генераторов, то можно искуственно получить повторяющиеся последовательности. Максимальная длина неповторяющейся части здесь будет определяться произведением их коэффициентов относительно НОК. Более эффективные аналоговые методы, когда берутся аналоговые генераторы с переменным нестабильным коэффициентом ООС, зависящим от параметров окружающей среды, от качества исполнения и т.д., результат его работы обрабатывается чаще всего триггером Шмидта, либо просто АЦП, а выход такого генератора трудно предсказать (если не знать условий работы), но зато и закон распределения у каждого индивидуальный, и подкоректировать его так просто не удастся. Тогда группа случайных генераторов изготовленная на одной и той же линии будет выдавать разные последовательности. Создать программный генератор такого типа работающий по формулам не удастся так как любой процесс рачета имеет отправную точку - логика работы цифровых систем (не путать с чистой, "аналоговой" математикой работающей в идеальном пространстве). Поэтому любой процесс с одинаковым входным аргументом даст один и тот же результат. Попросту говоря - если ты написал процедуру и скормил ей какой-то параметр, то ты ожидаешь что каждый раз при вводе это параметра ты будешь получать от нее один и тот же результат (если она не зависит от других параметров), если это условие не выполняется - значит процедура работает неправильно - где-то в ней ошибка.Но зато можно попробовать проэмулировать работу аппаратных генераторов на программном уровне, это даст большую свободу творчества, но! Все эти процессы расчета так же в логическом виде легко предсказуемы. Скажем создав несколько генераторов и запустив их в одно и то же время друг относительно друга всегда получим через определенный промежуток времени одинаковый результат. Но вот если время выборки результата случайно - то тогда ситуация попроще. Но тогда никто не мешает использовать встроенный генератор.Что касается подкрутить часы - то так просто это не получится - гнератор учитывает не только часы, минуты, но и миллисекунды. А это уже подкрутить не получится - ведь нужно не только их подкрутить - но и убедиться что Randomize в самой программе, считывающая значение из таймера будет запущена в один и тот же момент времени. Конечно если использовать дизассемблирование и перехват API - то можно путем подсчета скорости работы компьютера (программа запускается, выполняет инициализацию и вызывает randomize, значит результат будет зависеть еще и от скорости выполнения самой программы) предугадать результат на разных компьютерах а на одном и том же получать каждый раз один и тот же результат. Но тогда а зачем мучиться так? Не проще ли тогда сразу ломать то, ради чего программа и защищена?

--------------------
Алексей
 
 

Пионер Пионер в оффлайне

ветеран
Сообщений: 532

Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный

Все, решено, иду в аспирантуру Я начинаю немного понимать. А в современных ПК, есть такие апаратные генераторы? Какой на сегодня самых крутой/распостранненный, ктоме "шумового"... есть ж очень много источников... Возможно сделать какой-нить такой апаратный генератор и подключить к компу, и сделать программу, которая вместо ф-ии random(), брала значенія с этого агрегата?

--------------------
google.com
 

alexey_public alexey_public в оффлайне

графоман
Сообщений: 5 817

alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный

А кто тебе мешает - сделай пару ВЧ генераторов с высокой нестабильностью на обычных RC компонентах и заведи их друг-другу в ООС, а потом снимай сигнал через com-порт. Линеаризация - обычный триггер Шмидта. Правда с нестабильностью замучаешься, но можно попробовать ООС превратить в ПОС, это уже мощный метод, но тогда будет проблема удержать генератор от развала в требуемых частотных рамках COM порта - там порядка 100 КГц.
Принятый сигнал можешь представлять внутренно как угодно. Но если будешь брать вещественые числа, то мой совет - отдельно формируй мантиссу, отдельно порядок, если же просто заполнять выделенные 48 бит - то можешь получить что угодно - вплоть до NAN.
Построй потом кстати функцию распределения, она тебе много скажет по твоему генератору.
А насчет аспирунтуры - сходи лучше сначала в магистратуру, толк будет - гарантированно сдашь магистерскую и получишь на руки степень магистра наук (ничего не дает, но уже легче). Сдашь все кандидатские (кроме специальности), узнаешь много нового и пообщаешься с людьми - тесно, т.к. весь 3-летний курс аспирантуры впихнут в один год магистратуры. А в аспирантуре - тогда только дисертация и больше ничего(ну еще один кандидатский и все), никаких лекций (только если сам не будешь преподавать). Да и психологически намного легче - после 5 лет учебы легче быстро пройти один еще год, чем потом 3 года ходить и что-то сдавать.
И поступить в аспирантуру будет также на порядок легче - т.к. при поступлении будешь сдавать только те экзамены, где не сданы кандидатские (фактически только один экзамен по специальности).
Кстати вышеприведенную историю нам рассказали в магистратуре.

--------------------
Алексей
 

alexey_public alexey_public в оффлайне

графоман
Сообщений: 5 817

alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный

В современных как я уже сказал выше Intel в своих новых пдатформах действительно внедрила аппаратный генератор случайных чисел. Но я не могу точно сказать в каких это чипсетах и кто поддерживает данную технологию, хотя с виду все достаточно просто - просто читать из порта по заданному адресу, драйвер надо полагать сама Intel должна разработать.Самый крутой - не могу сказать, т.к. не владею данной темой достаточно хорошо, просто пару раз касался, рассказал что знаю. Но могу точно сказать - все качественные источники случайного сигнала базируются на особенностях устройства нашего мира, на его высокой сложности и его внутренних процессах. Так что это как правило аналоговые системы, которые меняют свое состояние "случайным" образом, т.е. таким, который мы не можем описать формулами, например тепловой шум.Попробуй оценить сложность предсказания такой системы - там участвуют 10*.....12 и выше элементарных частиц и провести расчет и анализ их поведения и предсказать по точной модели их поведение просто не предвидися возможным еще не одно десятилетие даже в маленьком изолированном от окружащего мира вакуумом и экранами кусочке провода (10^10 - 1 терабайт по байту на частицу, а реально - с учетом ее координат с высокой точностью. сравнимой с ее размерами - это по 10 и более байт на координату и несколько десятков-сотен байт для описания ее внутреннего состояния в минимуме, при сердней сложности это уже килобайты состояния - итого только десятки петабайт на все частицы, а еще учет полей, и при дискретности расчетов сравнимой со скоростью изменения их внутренних процессов - это необходимо проводить расчет с частотой порядка нескольких терагерц, итого компьютер должен уметь провести все расчеты по частицам в объеме памяти в петабайты и повторять это с частотой несколько терагерц, просто для того, чтобы проводить расчет в реальном режиме времени успевая за настоящим процессом, я уже не говорю что для расчета каждой частицы надо пройтись по всему массиву частиц и учесть влияние их всех - значит для полного расчета единичного состояния необходимо пройтись по всей памяти в несколько петабайт несколько пета... квадриллионов раз, и этот полный расчет надо повторять несколько тера... триллионов раз в секунду, хотя на самом деле это делается решением нескольких квадриллионов дифф уравнений с несколькими квадриллионами аргументов и так же несколько триллионов раз в секунду ), я уже не говорю про разнооборазные конструкции, имеющие контак с остальным миром, рассчитать который уж точно не удастся в рамках нашего мира .

--------------------
Алексей
 

Mexicanetz Mexicanetz в оффлайне

Железный человек
Адрес: башня Старка, Манхэттэн и окрестности
Сообщений: 70 673

Mexicanetz имеет репутацию, которую нельзя пошатнуть Mexicanetz имеет репутацию, которую нельзя пошатнуть Mexicanetz имеет репутацию, которую нельзя пошатнуть Mexicanetz имеет репутацию, которую нельзя пошатнуть Mexicanetz имеет репутацию, которую нельзя пошатнуть Mexicanetz имеет репутацию, которую нельзя пошатнуть Mexicanetz имеет репутацию, которую нельзя пошатнуть Mexicanetz имеет репутацию, которую нельзя пошатнуть Mexicanetz имеет репутацию, которую нельзя пошатнуть Mexicanetz имеет репутацию, которую нельзя пошатнуть Mexicanetz имеет репутацию, которую нельзя пошатнуть

... а в моё время использовался генератор случайных чисел, основаный на вычленении из показания системного таймера единиц сотых долей секунды... (астма 16 бит)

--------------------

— А кто такая эта "мяу-мяу"?

 

Пионер Пионер в оффлайне

ветеран
Сообщений: 532

Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный Пионер популярный

эти генераторы плохие, я так думаю. Что в сучае если нужно в 1 сек. выбрасывать 100000 чисел? Все облом, нельзя привязыватся к таймеру...

--------------------
google.com
 

seifer seifer в оффлайне

новичок
Сообщений: 10

seifer на старте

Пионер (01.04.06 16:40) писал(a):
эти генераторы плохие, я так думаю. Что в сучае если нужно в 1 сек. выбрасывать 100000 чисел? Все облом, нельзя привязыватся к таймеру...

Недавно ****** с этим)Вот простейший пример Юрова.
Мультипликативный конгруэнтный метод генерации последовательности случайных чисел.
Xn+1=(a*Xn)mod m
X0-нечетно
a=5^(2p+1)
m=2^l

Пример:
masm
model small
.486
.data
m db 128 ;128=27
a db 9
x db 3 ;начальное значение
c dw 3
.stack 256
.486
.code
main:
mov dx,@data
mov ds,dx
xor dx,dx
mov cl,7 ;значение степени m=27 в cl
;первое число в последовательности x=3
cycl:
;вычисляем очередное случайное число X=(a*X) mod m
mov al,x
mul a ;a*x в ah:al
add ax,c
shrd ax,ax,cl
xor al,al
rol ax,cl ;в al случайное число

mov x,al
mov dl,al
mov ah,02
int 21h
jmp cycl
end_cycl:
mov ax,4c00h
int 21h
end main
На выходе в dl следущее значение последовательности
Значения m ,a,x,c желательно получать случайным образом(например счтитывая показания таймера)
А вообще чтива на эту тему навалом
 
 

Ogonek Ogonek в оффлайне

графоман
Сообщений: 2 602

Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный

Пионер (01.04.06 16:40) писал(a):
эти генераторы плохие, я так думаю. Что в сучае если нужно в 1 сек. выбрасывать 100000 чисел? Все облом, нельзя привязыватся к таймеру...

эти числа, которые выкидывает комп палюбому псевдослучайные )) нипанимаю как можно палучить случайное без формул, без привзяке к каким-нить значениям (типа даты и тд) и без железа ...фиг иво знает )) но тема интересная

--------------------
любая диктатура в конечном итоге кончается рано или поздно катастрофой для страны и для народа
 

seifer seifer в оффлайне

новичок
Сообщений: 10

seifer на старте

Ogonek (07.01.07 20:09) писал(a):
эти числа, которые выкидывает комп палюбому псевдослучайные )) нипанимаю как можно палучить случайное без формул, без привзяке к каким-нить значениям (типа даты и тд) и без железа ...фиг иво знает )) но тема интересная

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

quarry quarry в оффлайне

графоман
Сообщений: 20 190

quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда

Без фсяких формул.Берешь блок из оперативки используемой системой.Подсчитаваешь CRC. Имеешь число.Повторяешь. Скока надо.

--------------------
http://quarry.at.tut.by/quarry.jpg
 

seifer seifer в оффлайне

новичок
Сообщений: 10

seifer на старте

quarry (07.01.07 20:19) писал(a):
Без фсяких формул.Берешь блок из оперативки используемой системой.Подсчитаваешь CRC. Имеешь число.Повторяешь. Скока надо.

Примитивно и негламурно , да вроде как вычисление crc займет гораздо больше времени. Можно ипользовать для получения начального значения. А как поступишь, если необходимо получить последовательность в заданном промежутке?? Врядли будешь для каждого значения подсчитывать сумму и проверять на вхождение. Да и вероятность будет большая, насколько мне это представляется
 

quarry quarry в оффлайне

графоман
Сообщений: 20 190

quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда

seifer (07.01.07 20:31) писал(a):
Примитивно и негламурно , да вроде как вычисление crc займет гораздо больше времени. Можно ипользовать для получения начального значения. А как поступишь, если необходимо получить последовательность в заданном промежутке?? Врядли будешь для каждого значения подсчитывать сумму и проверять на вхождение. Да и вероятность будет большая, насколько мне это представляется

Если торопишься, считай CRC через таблицу.А диапазон получи смещением и масштабированием.

--------------------
http://quarry.at.tut.by/quarry.jpg
 

seifer seifer в оффлайне

новичок
Сообщений: 10

seifer на старте

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

quarry quarry в оффлайне

графоман
Сообщений: 20 190

quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда

seifer (07.01.07 21:13) писал(a):
Я не тороплюсь Нерационально с точки зрения оптимизации, да и с таким же успехом можно просто брать значение из любой ячейки. Подойдет только для получения одного значения имхо. Если нужна выборка, то процент одинаковых чисел будет велик вроде как Или я не прав?

А слабо проверить и доложить.

--------------------
http://quarry.at.tut.by/quarry.jpg
 

seifer seifer в оффлайне

новичок
Сообщений: 10

seifer на старте

quarry (07.01.07 21:20) писал(a):
А слабо проверить и доложить.

Шуточки *** Я ведь серьезно вполне. Незачем изобретать извращенный медленный велосипед...
 

quarry quarry в оффлайне

графоман
Сообщений: 20 190

quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда

seifer (07.01.07 21:22) писал(a):
Шуточки *** Я ведь серьезно вполне. Незачем изобретать извращенный медленный велосипед...

А тады пользуйтесь стандартным рандомизе и не парьтесь.

--------------------
http://quarry.at.tut.by/quarry.jpg
 

seifer seifer в оффлайне

новичок
Сообщений: 10

seifer на старте

quarry (07.01.07 21:28) писал(a):
А тады пользуйтесь стандартным рандомизе и не парьтесь.

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

quarry quarry в оффлайне

графоман
Сообщений: 20 190

quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда quarry звезда

seifer (07.01.07 21:45) писал(a):
А я и пользуюсь почти всегда Только тут люди хотели знать откуда они берутся, числа эти самые.
Я и привел практический пример

Пользуйся. http://www.random.org/nform.html


http://random.mat.sbg.ac.at/

--------------------
http://quarry.at.tut.by/quarry.jpg
 

alexey_public alexey_public в оффлайне

графоман
Сообщений: 5 817

alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный

quarry (07.01.07 22:11) писал(a):
Пользуйся. http://www.random.org/nform.htmlhttp://random.mat.sbg.ac.at/

Мощно.

--------------------
Алексей
 

stud_bel stud_bel в оффлайне

энтузиаст
Сообщений: 253

stud_bel на старте

Если нужны псевдослучайные числа с хорошим распределением и длительный периодом, то можно использовать любой надёжный алгоритм шифрования:
Код:
type  u64: беззнаковое целое длиной 64 бит;var  randseed:u64;function rand:u64;begin  rand:=crypt(randseed);  inc(randseed);end;
Длина последовательности без смены ключа шифрования - 2^64. Можно менять ключ согласно сигналу от генератора реальных случайных чисел (например, микрофона ), тогда и числа будут случайными, и распределение хорошим.
 

X-Factor X-Factor в оффлайне

ветеран
Сообщений: 996

X-Factor популярный X-Factor популярный X-Factor популярный X-Factor популярный X-Factor популярный X-Factor популярный X-Factor популярный X-Factor популярный X-Factor популярный X-Factor популярный X-Factor популярный

да... вспомнил былое...на спеке по началу просто брали значение регистра R.... а потом (изучив прерывания), юзали ПЗУ... (типа вышепредложенного CRC блока)...

--------------------
Х
 

Ogonek Ogonek в оффлайне

графоман
Сообщений: 2 602

Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный

stud_bel (08.01.07 11:18) писал(a):
Можно менять ключ согласно сигналу от генератора реальных случайных чисел (например, микрофона ), тогда и числа будут случайными, и распределение хорошим.

Дык так и делают иногда )) вот например када webmoney генерит ключ, которым шифрует кошельки он просит падвигать мышкой и паляпать па клаве случайным образом нада им идею падкинуть )) чтоб в следущей версии при создании кошельков пользователей просили пошипеть в микрофон а если серьёзно ) то именно с вебмани я начал задумываться что эти случайные числа савсем не случайные и для серьёзного шифрования нада дёргать мышью )

--------------------
любая диктатура в конечном итоге кончается рано или поздно катастрофой для страны и для народа
 

stud_bel stud_bel в оффлайне

энтузиаст
Сообщений: 253

stud_bel на старте

Ogonek (09.01.07 00:54) писал(a):
Дык так и делают иногда )) вот например када webmoney генерит ключ, которым шифрует кошельки он просит падвигать мышкой и паляпать па клаве случайным образом нада им идею падкинуть )) чтоб в следущей версии при создании кошельков пользователей просили пошипеть в микрофон

Чем хорош этот способ, так это тем, что при наличии звуковой карты с микрофонным входом (даже без микрофона!) никаких действий со стороны пользователя не требуется. Усилитель шумит даже сам по себе, хотя и не очень сильно.
 

alexey_public alexey_public в оффлайне

графоман
Сообщений: 5 817

alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный alexey_public популярный

Это кстати верно

--------------------
Алексей
 

Ogonek Ogonek в оффлайне

графоман
Сообщений: 2 602

Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный Ogonek популярный

stud_bel (08.01.07 11:18) писал(a):
Если нужны псевдослучайные числа с хорошим распределением и длительный периодом, то можно использовать любой надёжный алгоритм шифрования:

шифрование - это обычная математика -> результат будет псевдослучайным

--------------------
любая диктатура в конечном итоге кончается рано или поздно катастрофой для страны и для народа
Страницы: 1  2   из  2
 
Быстрый переход
[]
Вверх
HOSTER.BY: профессиональный хостинг и регистрация доменов .BY
Более 35000 сайтов выбрали нас. Присоединяйтесь!
 
РЕСУРСЫ ПОРТАЛА
   Все ресурсы