Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.06.2011, 20:18
addertu вне форума Посмотреть профиль Отправить личное сообщение для addertu Найти все сообщения от addertu
  № 1  
Ответить с цитированием
addertu

Регистрация: Jun 2011
Сообщений: 23
По умолчанию Как создать абсолютно случайное число

Здравствуйте. Как создать обсолютно случайное число в AC2? Дело в том что стандартным методом число все равно получается не обсолютно случайное. Может есть какой то метод который это сделает?

Старый 29.06.2011, 20:40
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Что значит "абсолютно случайное" число?
Стандартный метод как раз генерирует абсолютно случайное число.

Старый 29.06.2011, 20:48
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 3  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Math.random() генерирует числа так, что два значения могут совпасть лишь в одном случае из 1 000 000 000 000 000. Видимо топикстартеру этого мало
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 29.06.2011, 20:57
addertu вне форума Посмотреть профиль Отправить личное сообщение для addertu Найти все сообщения от addertu
  № 4  
Ответить с цитированием
addertu

Регистрация: Jun 2011
Сообщений: 23
Цитата:
Сообщение от HardCoder Посмотреть сообщение
Math.random() генерирует числа так, что два значения могут совпасть лишь в одном случае из 1 000 000 000 000 000. Видимо топикстартеру этого мало
А напиши пожалуйста код как им правильно пользоваться чтоб так получилось?

Старый 29.06.2011, 21:01
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 5  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Код AS3:
for(i=0; i<1000000000000000; i++){
    trace(Math.random());
}
Добавлено через 1 минуту
Проверьте окно output. Если найдете хоть два одинаковых значения, сообщите.
__________________
Я мало чего умею, но зато хорошо умею учиться...


Последний раз редактировалось HardCoder; 29.06.2011 в 21:04.
Старый 29.06.2011, 21:09
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
В макромире абсолютных случайностей не существует. Math.random, всё же, даёт псевдослучайное число.

Старый 29.06.2011, 21:15
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 7  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Откуда, тогда компьютер берет эти числа?

Добавлено через 5 минут
Если есть какой-то алгоритм, то число уже не может быть случайным, его можно предсказать, но оно не повторится до определенного количества итераций (алгоритм не позволит). Если же: цитата, не буду говорить откуда
Цитата:
температуру с процессора, умножаем на сумму приращений координат курсора мыши за последние две секунды, интегрируем по сканкодам последних нажатых клавиш, и добавляем произведение времени на напряжение в сети. Можно добавить деление на контрольную сумму последнего пакета, пришедшего на сетевой контроллер
то число получается абсолютно случайным.
__________________
Я мало чего умею, но зато хорошо умею учиться...


Последний раз редактировалось HardCoder; 29.06.2011 в 21:29.
Старый 29.06.2011, 21:34
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 8  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Тогда выдернув сетевой кабель из компьютера, и не подходя к мышке и клавиатуре я всегда буду получать одни и те же числа? Кстати, насколько я помню — напряжение в сети измеряется его действующим значением, которое константно и в 1.4 раза меньше его максимальной амплитуды.

Почему "нельзя предсказать" число, которое получится в результате действий, которые Вы описали? То, что нельзя предсказать — нельзя построить мат. модель, а значит, нельзя просчитать математически. Такое на компьютере не реализовать.

Старый 29.06.2011, 21:47
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 9  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Вообще, Psycho Tiger прав на счет того, что число не совсем случайное. Я уже давно об этом читал, и не в одной книжке. Но учитывая то, на сколько разные генерируются числа, думаю, их можно приравнять к случайным. По крайней мере то, для чего они создавались, с их помощью можно выполнить.

Старый 29.06.2011, 21:59
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 10  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Проблема не в том что Math.random() не случайно. Дело в том, что таблица случайных чисел не создаёт белого шума.
Проверить легко.
Заполните экран 100500 случайных точек. Равномерного распределения не будет. Будет некий муар, показывающий псевдослучайную природу этих чисел. Варианты с
Цитата:
температуру с процессора, умножаем на сумму приращений координат курсора мыши за последние две секунды, интегрируем по сканкодам последних нажатых клавиш, и добавляем произведение времени на напряжение в сети. Можно добавить деление на контрольную сумму последнего пакета, пришедшего на сетевой контроллер
тоже не дадут равномерного распределения, т.к. составляющие случайности - не случайны
т.е. чисто статистически можно сказать что некоторые значения Math.random() могут появиться чаще чем другие, но это только на огромных статичестических выборках.
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 29.06.2011 в 22:02.
Создать новую тему Ответ Часовой пояс GMT +4, время: 19:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.