|
|
|
|
|
для: cheops
(04.11.2012 в 10:14)
| | Вот этого я не знаю, ну как только они пришлют отчет мне, я поделюсь )
Это их новый процессор, и только начались поставки серверов на их базе, включая и в Россию. | |
|
|
|
|
|
|
|
для: confirm
(31.10.2012 в 14:31)
| | Хм... настолько ровное распределение? Собственно "действительно случайные числа" можно генерировать и при помощи алгоритмов (те, кто считает по методу Монте-Карло собаку на них съели). В в быстром железе один из таких алгоритмов это, конечно очень интересно... глянуть бы на распределение и отклонения в нем. | |
|
|
|
|
|
|
|
для: Sfinks
(29.10.2012 в 09:49)
| | Случайные числа - это всегда "псевдослучайные числа" =)
Т.е. они выглядят как случайные, но на самом деле они вычисляются по определенной формуле.
IBM начала поставки серверов на базе новых процессоров IBM Power7+
В Power7+ реализована функция, названная IBM генератором «действительно случайных чисел». Он предназначен для защиты от взлома, совершаемого методом прогнозирования следующего «случайного» числа в последовательности. | |
|
|
|
|
|
|
|
для: Владимир55
(28.10.2012 в 15:55)
| | Случайные числа - это всегда "псевдослучайные числа" =)
Т.е. они выглядят как случайные, но на самом деле они вычисляются по определенной формуле.
Если я не ошибаюсь - формула опирается на значения time и microtime.
Но я думал, что уникальных "случайных" чисел несколько больше чем 8192 =/
Видать это особенность формулы.
Интересно, что скажет cheops. Он в теории силен =) | |
|
|
|
|
|
|
|
для: Владимир55
(28.10.2012 в 15:55)
| | Ну для первого вашего случайного числа надо учитывать, что максимальное значение на win платформе равно 32767, а для mt_rand() 2147483647.
Вы их можете получить на своей платформе с помощью функций getrandmax() и mt_getrandmax(), соответственно.
Используйте mt_rand(), посмотрите в этом случае. Правда я не представляю этот процесс, если он визуально происходит. ) | |
|
|
|
|
|
|
|
для: confirm
(28.10.2012 в 04:51)
| | chr(13).chr(10) - а просто "\n" вместо этого, что не катит? )
Можно и так.
rand() генерирует случайное число, а не случайное не повторяющееся.
Это верно, но тут дело в чем-то другом.
Во-первых, вероятность совпадений четырех случайных величин ничтожно мала, а тут результат устойчивый, повторяющийся при запуске скрипта (в смысле, числа разные, но всегда имеет место совпадение).
А во-вторых, обнаружена некая закономерность: уникальных строк всегда 8192, а остальные повторы. Даже если цикл сделать длиною не 15 тысяч, а сто тысяч - уникальных будет 8192. | |
|
|
|
|
|
|
|
для: Владимир55
(28.10.2012 в 00:29)
| | rand() генерирует случайное число, а не случайное не повторяющееся.
chr(13).chr(10) - а просто "\n" вместо этого, что не катит? ) | |
|
|
|
|
|
|
| Наблюдается какой-то странный эффект - случайные числа как-бы синхронизируются.
Скрипт такой:
<?php
for ($i=0; $i< 15000; $i++)
{
$n = rand(0, 31000);
$new = rand(20005, 10000000000) . ";" . $m_prise[$n] . ";" . 10 * (rand(50, 2500)) . ";" . rand(1, 12) . chr(13).chr(10);
echo "<br />$i > " . $new ;
}
| Здесь в каждой строке используется четыре случайных числа. И вот через несколько строк с действительно случайными комбинациями я вижу полный повтор! То есть строку, где ВСЕ ЧЕТЫРЕ случайных числа повторяют те, что уже были!
Например, идет сочетание
957420523 27403 9580 10
Потом 18 уникальных комбинаций и затем снова сочетание
957420523 27403 9580 10
Как вообще такое возможно? | |
|
|
|
|