Board.KolibriOS.org https://board.kolibrios.org/ |
|
Есть ли в KolibriOS отличный Генератор ПсевдоСлучайных Чисел? https://board.kolibrios.org/viewtopic.php?f=2&t=3729 |
Page 1 of 1 |
Author: | floppy121 [ Fri Jun 15, 2018 8:14 pm ] |
Post subject: | Есть ли в KolibriOS отличный Генератор ПсевдоСлучайных Чисел? |
Генерация по-настоящему случайных чисел без специального устройства (список), являющегося интерфейсом к какому-нибудь физическому явлению - невозможна, так как все вычисления происходящие внутри компа неслучайны... Может быть в KolibriOS есть отличный генератор псевдослучайных чисел? (интересует что-нибудь получше чем через "метод серединных квадратов") Нашёл HMAC из маленькой библиотеки TLS, но в KolibriOS он не входит |
Author: | GerdtR [ Fri Jun 15, 2018 8:44 pm ] |
Post subject: | Re: Есть ли в KolibriOS отличный Генератор ПсевдоСлучайных Чисел? |
Если честно, то смутно припоминаю, что кто-то выкладывал вполне простой код на асме, дающий случайные псевдочисла. Но уже не вспомню где. Поиск по форуму пробовал? |
Author: | floppy121 [ Fri Jun 15, 2018 10:20 pm ] |
Post subject: | Re: Есть ли в KolibriOS отличный Генератор ПсевдоСлучайных Чисел? |
GerdtR wrote: Если честно, то смутно припоминаю, что кто-то выкладывал вполне простой код на асме, дающий случайные псевдочисла Да, и там использовался метод серединных квадратов. а я надеюсь, что:1) есть генератор покруче, дающий более похожие на рандом числа 2) и уже встроен в Kolibri, например какая-то системная функция в API |
Author: | Siemargl [ Mon Jun 18, 2018 10:07 am ] |
Post subject: | Re: Есть ли в KolibriOS отличный Генератор ПсевдоСлучайных Чисел? |
Недавно реализовывал очень простой и удобный алгоритм - но не нашел близко. Вот нагуглилось в Хакере прямо на ассемблере https://xakep.ru/2005/01/19/25259/ Для рандомизации же можно взять системный наносекундный таймер |
Author: | 0CodErr [ Mon Jun 18, 2018 12:56 pm ] |
Post subject: | Re: Есть ли в KolibriOS отличный Генератор ПсевдоСлучайных Чисел? |
Нет, системной функции, выдающей псевдослучайные числа на данный момент не существует. Siemargl wrote: Для рандомизации же можно взять системный наносекундный таймер Вполне достаточно инструкции rdtsc.GerdtR wrote: кто-то выкладывал вполне простой код на асме Siemargl wrote: Вот нагуглилось в Хакере прямо на ассемблере Найти простой код можно и на С, например http://web.tiscali.it/pas80/random.htm Но ведь автора вопроса интересует именно тот, который уже встроен в Kolibri.
|
Author: | floppy121 [ Sun Jun 24, 2018 12:51 am ] |
Post subject: | Re: Есть ли в KolibriOS отличный Генератор ПсевдоСлучайных Чисел? |
0CodErr wrote: Нет, системной функции, выдающей псевдослучайные числа на данный момент не существует Благодарю за ответ! Получается, если понадобится рандом - нужно будет подтянуть его в конкретное приложение, потому что я пока не знаю как добавить системную функцию; к тому же могут возникнуть споры, какой вариант рандома лучше и более достоин включения в ядро Siemargl wrote: Вот нагуглилось в Хакере прямо на ассемблере - https://xakep.ru/2005/01/19/25259/ Спасибо, может пригодиться! Кстати, нашёл вторую часть этот статьи - https://xakep.ru/2005/01/20/25272/- там рандом получше, тоже на ассемблере и тоже прошёл тест DIEHARD, но его период 2^128-1 против 2^125 из прошлой Siemargl wrote: Для рандомизации же можно взять системный наносекундный таймер хорошая идея; можно дополнить координатами курсора мышки
|
Author: | Siemargl [ Wed Jul 04, 2018 9:10 am ] |
Post subject: | Re: Есть ли в KolibriOS отличный Генератор ПсевдоСлучайных Чисел? |
Нашел хороший быстрый и простой алгоритм, о котором говорил ранее Code: //Marsaglia's MWC (multiply with carry) algorithm скомпилированная в ассемблер целочисленная Code: GetUint: |
Author: | floppy121 [ Thu Jul 05, 2018 5:19 pm ] |
Post subject: | Re: Есть ли в KolibriOS отличный Генератор ПсевдоСлучайных Чисел? |
Siemargl wrote: Нашел хороший быстрый и простой алгоритм, о котором говорил ранее Благодарю, довольно эффективный код и не должно составить труда адаптировать для FASMЧестно признаться, я поздно заметил твоё сообщение и в итоге извлёк PRNG из библиотеки TLS-Library, там HMAC / PFR : https://board.kolibrios.org/viewtopic.php?f=2&t=3736 Example of using TLS-Library parts for generating PRNG numbers Разумеется он намного жирнее, остаётся лишь надеятся что эта "жирнота" оправдана и он хоть нанемного лучше в плане рандомности... А в качестве сида я использую энтропию извлекаемую из 5 функций: https://board.kolibrios.org/viewtopic.php?f=2&t=3735 Функции-"источники энтропии" для качественного рандома? + пример |
Author: | hidnplayr [ Fri Jul 06, 2018 12:30 am ] |
Post subject: | Re: Есть ли в KolibriOS отличный Генератор ПсевдоСлучайных Чисел? |
http://www.agner.org/random/ http://websvn.kolibrios.org/filedetails ... random.inc Of course, you need to properly seed it. |
Author: | 0CodErr [ Sun Jul 15, 2018 6:34 pm ] |
Post subject: | Re: Есть ли в KolibriOS отличный Генератор ПсевдоСлучайных Чисел? |
Вот на этом сайте http://simul.iro.umontreal.ca есть некоторые генераторы: http://simul.iro.umontreal.ca/rng Например Code: /*Возможно, кому-то будет интересно http://www-labs.iro.umontreal.ca/~simul ... /tu01.html Quote: collection of utilities for the empirical statistical testing of uniform random number generators В User’s guide http://www-labs.iro.umontreal.ca/~simul ... estu01.pdf есть описания и формулы генераторов.
|
Author: | 0CodErr [ Mon Aug 13, 2018 11:00 am ] |
Post subject: | Re: Есть ли в KolibriOS отличный Генератор ПсевдоСлучайных Чисел? |
Для не очень критичных задач вполне подойдут более простые способы, например, такой: Code: .DataВ архиве пример для UASM и KolibriOS.lib Attachment: Вывод результата:Spoiler: Show |
Page 1 of 1 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |