Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2015, 02:36   #1
mxustin
Пользователь
 
Аватар для mxustin
 
Регистрация: 02.10.2015
Сообщений: 20
Лампочка Ping based random number generator

Реализован генератор случайных чисел, использующий Ping (измерение времени отклика определенного хоста в сети Интернет) в качестве источника энтропии. Итогом разработки стали функции PRandomize() (обеспечивает инициализацию ГСЧ) и PRandom (обеспечивает, собственно, генерацию случайного числа). Функция PRandom имеет две перегружаемые реализации: без параметров (возвращает случайное число типа Extended в интервале от 0 до 1 включительно) и с целочисленными параметрами (минимум и максимум типа Int64), которая возвращает целое (типа Int64) случайное число в указанном диапазоне. Описание, исходные коды и демо доступны на сайте pbrng.16mb.com.

Алгоритм построен так, чтобы в минимальной степени зависеть от внешних факторов. Частотный тест случайных чисел, полученных таким образом, показывает хорошее (равномерное) распределение (другие виды тестов пока не проводились).
mxustin вне форума Ответить с цитированием
Старый 02.10.2015, 15:02   #2
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,768
По умолчанию

А производительность вы не меряли?
Vapaamies вне форума Ответить с цитированием
Старый 02.10.2015, 15:08   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

т.е. теперь и десктопные проги не смогут жить без инета?..
p51x вне форума Ответить с цитированием
Старый 02.10.2015, 15:45   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Цитата:
Сообщение от Vapaamies Посмотреть сообщение
А производительность вы не меряли?
Много ли случайных чисел надо?
waleri вне форума Ответить с цитированием
Старый 02.10.2015, 17:55   #5
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

когда-то тоже развлекал себя по теме генерации рандома для создания картинок с "шумом".
и это результат 100% предсказуемого генератора на LSFR, поэтому хотелось бы увидеть картинку от Ping based random number generator.
Изображения
Тип файла: jpg 247966CF05332FAB.jpg (106.2 Кб, 71 просмотров)

Последний раз редактировалось f.hump; 02.10.2015 в 18:09.
f.hump вне форума Ответить с цитированием
Старый 02.10.2015, 19:39   #6
mxustin
Пользователь
 
Аватар для mxustin
 
Регистрация: 02.10.2015
Сообщений: 20
По умолчанию

Цитата:
А производительность вы не меряли?
Цитата:
хотелось бы увидеть картинку от Ping based random number generator
Пока что руки не дошли. Развлекался созданием описания и презентации (все это представлено на сайте проекта). Хотелось, чтоб это был, хоть и микро-, но все-таки проект (с описаловом, документацией и т.д.)

В ближайшем будущем надеюсь провести серию тестов и несколько визуализаций (разными способами). В том числе определить производительность. Выложу, как только будут результаты.

Цитата:
Много ли случайных чисел надо?
Зависит от задачи. Бывают задачи, что и очень много надо случайных чисел. (Впрочем, конечно, мой "микро-проект" — не для "промышленного" использования. Для меня — это первый опыт создания чего-то, что можно считать завершенным проектом.)

Цитата:
т.е. теперь и десктопные проги не смогут жить без инета?..
Думаю, что это — не "теперь", а уже довольно давно так стало. На очевидное указывать не буду (напр., на то, что браузер (вполне десктопный) без интернета — это просто "белое окошко". Во многих прогах без интернета не получить помощь, т.к. помощь все чаще и чаще в вебе располагают. Без интернета не доступны облачные хранилища (не будет работать DropBox, Google- или Yandex-диск, и т.д.). Не знаю, кто как... а лично я не знаю, что делать за компом, когда нет интернета. И думаю, что тенденция будет только развиваться.

Что же касается моего микро-проекта, то во-первых, в описании честно сказано, что без интернета не работает (не годится, например, для огранизаций, где из соображений безопасности интернет недоступен). А во-вторых, без интернета программа потеряет не все возможности, а только утратит часть их. Варианты такие:

1) интернет изначально был (и программа успешно инициализировалась), а потом отвалился — приведет к тому, что будут все равно генерироваться истинно случайные числа (только "переинициализироваться" не удастся), так как собственно для генерации СЧ программе интернет не нужен (только для инициализации);

2) интернета изначально не было — приведет к тому, что будут генерироваться только псевдо-случайные числа, но с более ровным распределением, чем у стандартной дельфийской функции Random.

P.S. Спасибо всем, кто уделил внимание этой ветке!
mxustin вне форума Ответить с цитированием
Старый 07.10.2015, 23:12   #7
mxustin
Пользователь
 
Аватар для mxustin
 
Регистрация: 02.10.2015
Сообщений: 20
По умолчанию

Цитата:
Сообщение от f.hump Посмотреть сообщение
когда-то тоже развлекал себя по теме генерации рандома для создания картинок с "шумом".
и это результат 100% предсказуемого генератора на LSFR, поэтому хотелось бы увидеть картинку от Ping based random number generator.
Скажите, пожалуйста, уважаемый f.hump, как Вы считаете, для подобного рода визуализаций, является ли принципиальным: рисовать точки подряд (например, слева направо, сверху вниз), или рисовать их в случайном месте?..

Последний раз редактировалось mxustin; 08.10.2015 в 07:21.
mxustin вне форума Ответить с цитированием
Старый 08.10.2015, 01:11   #8
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

такие картинки имеет смысл заполнять последовательно (построчно), так что если в генераторе окажутся высокочастотные дефекты они будут заметны невооруженным глазом. но специалистам, такое, конечно лучше не показывать, только гистограммы и результаты статистических тестов.
f.hump вне форума Ответить с цитированием
Старый 08.10.2015, 02:51   #9
mxustin
Пользователь
 
Аватар для mxustin
 
Регистрация: 02.10.2015
Сообщений: 20
По умолчанию

Цитата:
Сообщение от f.hump Посмотреть сообщение
такие картинки имеет смысл заполнять последовательно (построчно), так что если в генераторе окажутся высокочастотные дефекты они будут заметны невооруженным глазом. но специалистам, такое, конечно лучше не показывать, только гистограммы и результаты статистических тестов.
Спасибо большое! Я так и думал! Потому что... ну, короче, понятно, почему. Если генератор "должен" давать "ритмичный узор", то это можно увидеть только в том случае, если заполнять последовательно. Еще раз спасибо! Вы подтвердили мою догадку. Заполнять "хаотично" — никакого смысла нет.

P.S. А специалистам я вообще пока ничего показывать не хочу ))) ибо пока что тестирую, и все еще нахожу косяки!
mxustin вне форума Ответить с цитированием
Старый 08.10.2015, 03:50   #10
mxustin
Пользователь
 
Аватар для mxustin
 
Регистрация: 02.10.2015
Сообщений: 20
По умолчанию

Апдэйт. Нарисовал картинку последовательно (построчно: слева направо, сверху вниз).



Вроде бы "невооруженным глазом" никаких особых узоров не видно. Но у меня уже от этих пикселей глаза в кучу. А кто-нибудь видит?

Последний раз редактировалось mxustin; 08.10.2015 в 07:22.
mxustin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
‘Search-based GUI’ Glen Свободное общение 14 16.11.2011 11:40
Побитовые операторы (number && + number | 0 || 0) Викдон JavaScript, Ajax 0 05.10.2011 20:34
random number<<is the code true? Alexander1205 Общие вопросы C/C++ 1 26.01.2011 00:11
GENERATOR firebird shurik_klgd БД в Delphi 4 29.09.2010 20:05
IPv4 Generator ergil Софт 1 19.07.2010 16:06