Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проверка случайности
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
Dot
Я тут микроконтроллером генерирую случайные последовательности.
Может кто подскажет, в каком направлении копать, чтобы доказать, что полученная последовательность является абсолютно случайной?

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

Спектр полученного сигнала -- в приложении. F -- частота сэмплироания (битов).
Есть пики, с этим не поспоришь. Но они пропадают, если последовательность дополнительно пропустить через тот же регистр с обр. связями.
_artem_
http://csrc.nist.gov/rng/rng9.html
acex2
Цитата(Dot @ Jan 16 2006, 14:26) *
Я тут микроконтроллером генерирую случайные последовательности.
Может кто подскажет, в каком направлении копать, чтобы доказать, что полученная последовательность является абсолютно случайной?


Найдите и скачайте бесплатный пакет DieHard - там все тесты на случайность уже реализованы.
Dot
Спасибо.
Нашел безответный топик одной девушки
http://forums.software-testing.ru/index.php?showtopic=3896
В нем много интересных ссылок.

Как я понял случайность не доказуема. Проверяется только отсутствие той или иной случайности.
Krys
Именно так. Ничего случайного не бывает. Любой генератор случайных чисел даёт приблизительно случайные числа. Есть даже в умных книжках (не готов, правда, привести библиографическую ссылку - далеко книжка, но когда-то читал) понятие "интервал корреляции", если не ошибаюсь. Он означает количество "достаточно случайных" чисел, которые выдаёт генератор. Если это количество превысить, то числа уже точно будут повторяться и перестанут даже приблизительно быть случайными.
Так что весь вопрос лишь в требуемом интервале корреляции.
Alex2172
Ваш генератор - хаотическая система.
Если Вы не используете в нем какой-то другой источник шума, например, тепловой шум, то "добротность" Вашей системы можно проверить вычислением корреляционной размерности временного ряда сгенерированной "случайной последовательности".
Корреляционную размерность K=2 дает простейший класический генератор (формулу не помню).
Субъективно считаю что при K>6..8 уже сложно проверить чем сформирована "случайная последовательность" - хаотической системой, созданной человеком, или богом - ибо для проверки понадобиться "очень много оперативки и производительности вычислителя"
bve
В могучем многотомнике Кнута есть и алгоритмы, и исследования на тему проверок случайности.....
Pathfinder
Микроконтроллер, и др. микропроцессорная система - конечный автомат, он может генерировать не случайную, а псевдослучайную последовательность (ПСП) с очень большим периодом, поскольку сам по себе является системой детерминированной. В зависимости от задачи, требования к последовательности (к статистическим и частотно-временным параметрам) могут быть разные. По поводу генераторов ПСП и критериев их "качества" много и доступно написано в книжке Аверилл М. Лоу и Дэвида Кельтона "Имитационное моделирование".
Silent Observer
Чтобы доказать, что данный процесс является случайным, надо расчитать и построить автокорреляционную функцию. Случайная величина не коррелируется сама с собой и коэффициент корреляции равен нулю. В идеале автокорреляционная функция должна быть похожа на дельта-функцию.
Pathfinder
Автокорреляционная функция (АКФ) характеризует лишь частотно-временные свойства и не более того. АКФ является дельта-функцией только для БЕЛОГО шума. Если пропустить белый шум через фильтр, он не станет от этого менее "случайным", хотя корреляционная функция при этом изменится. Вообще "случайность" это противоположность детерминированности, и вопрос постановки задачи. Даже синус для нас является случайным если мы не знаем заранее что будет получен именно он.
Tanya
Цитата(Pathfinder @ Mar 1 2006, 23:25) *
Микроконтроллер, и др. микропроцессорная система - конечный автомат, он может генерировать не случайную, а псевдослучайную последовательность (ПСП) с очень большим периодом, поскольку сам по себе является системой детерминированной. В зависимости от задачи, требования к последовательности (к статистическим и частотно-временным параметрам) могут быть разные. По поводу генераторов ПСП и критериев их "качества" много и доступно написано в книжке Аверилл М. Лоу и Дэвида Кельтона "Имитационное моделирование".

А вот если этому конечному автомату дать вычислять Пи (3.14....) или корень из двух, то что (по Вашему) получится периодическая дробь? Да, последовательность цифр будет детерминирована, но вполне подойдет в качестве псевдослучайной.
Tanya
Цитата(Tanya @ Mar 2 2006, 17:25) *
Цитата(Pathfinder @ Mar 1 2006, 23:25) *

Микроконтроллер, и др. микропроцессорная система - конечный автомат, он может генерировать не случайную, а псевдослучайную последовательность (ПСП) с очень большим периодом, поскольку сам по себе является системой детерминированной. В зависимости от задачи, требования к последовательности (к статистическим и частотно-временным параметрам) могут быть разные. По поводу генераторов ПСП и критериев их "качества" много и доступно написано в книжке Аверилл М. Лоу и Дэвида Кельтона "Имитационное моделирование".

А вот если этому конечному автомату дать вычислять Пи (3.14....) или корень из двух, то что (по Вашему) получится периодическая дробь? Да, последовательность цифр будет детерминирована, но вполне подойдет в качестве псевдослучайной.

Это была провокационная шутка. Извините. Странно, что никто не прореагировал.
Silent Observer
Цитата(Pathfinder @ Mar 2 2006, 17:05) *
Если пропустить белый шум через фильтр, он не станет от этого менее "случайным", хотя корреляционная функция при этом изменится.


Пропустив случайный процесс через фильтр, вы ограничите спектр этого процесса, а это уже элемент детерминированности. Спектр случайного процесса также должен быть случайным.
Pathfinder
Цитата
Пропустив случайный процесс через фильтр, вы ограничите спектр этого процесса, а это уже элемент детерминированности. Спектр случайного процесса также должен быть случайным.

Так. Уважаемый Silent Observer, срочно открываем любой учебник по стат. радиофизике, или просто по статистике, и читаем что такое случайный процесс и какие у него есть характеристики, а также связь между ними. Если надо, могу в электронном виде прислать.
Случайность и детерминизм меряются относительно задачи - если мы не знаем какой сигнал будет принят - то он случайный. Любое невырожденное преобразование этого случайного процесса (линейное/нелинейное, с памятью/без памяти) не делает его детерминированным, даже если мы знаем как при этом изменятся его характеристики.
Что касается спектра - тут Вы сами себе противоречите - АКФ в виде дельта-функции соответствует спектр белого шума - абсолютно детерминированный спектр.
sK0T
А чем не подходит шум зенера или иного теплового процесса? Что значит «абсолютно случайный»? Изначально некорректный вопрос, на мой вкус.
Dot
На самом деле используется тепловой/полупроводниковый шум внутренних компонентов. Просто на него может накладываться шум со стороны цифровой части и процессорного ядра (внутри кристалла), который по своей природе детермистичен. Я не знаю, как оценить этот вклад.
ras
2 Dot

сотрю тема не новая... но если ты еще на нее поглядываешь, то хотелсоь бы у тебя спросить КАК ГЕНЕРИШЬ эту случайную последоватьельность? формула и\или схема есть? или хотя бы опиши словами. это меня интересует

т.е. это не ответ на твой вопрос, а мой вопрос...

а к твойму вопросу ответ - все правильно люди говорят - "случайность" зависит от задачи для которой генеришь : для криптографии, для игры, для ....

и еще - можешь прислать кусок этой последовательности в файле? попробую проанализировать... если будет время
Dot
Кристалл CY8C27xxx от Cypress.
Внутри есть аналоговые блоки на основе ОУ, которые могут давать шум сомнительной природы (при особой конфигурации).
Есть и цифровые блоки на основе сдв.регистров с обратными связями 8...32 бит, которые могут дополнительно "ослучаить" последовательность, что я и делаю для большей надежности.
Будет время, материал выложу на свою страничку.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.