|
Сгенерировать случайное число, Возможно ли? |
|
|
|
Aug 12 2008, 11:10
|

Гуру
     
Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515

|
Есть пикпроцессор. Внешних устройств - нет. Требуется после старта программы сгенерировать случайный байт. Старт программы осуществляется присоединением батарейки. Число требуется ровно одно. У двух одинаковых устройств после подсоединения батарейки должны генерироваться 2 разных числа. Возможно ли такое?
--------------------
On the road again (Canned Heat)
|
|
|
|
|
 |
Ответов
(60 - 69)
Guest_@Ark_*
|
Aug 16 2008, 05:35
|
Guests

|
Цитата(DpInRock @ Aug 16 2008, 03:02)  Пытаюсь отучиться решать проблемы, которых еще нет. Еще стоит попытаться отучиться использовать недокументированные и ни кем не гарантированные возможности...
|
|
|
|
|
Aug 16 2008, 16:31
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Триггеры без цепей сброса устанавливаются в состояние, определяемое шумами, погрешностями (неравномерностью) технологии и прочими СЛУЧАЙНЫМИ факторами. Вы знаете топологию триггеров, параметры областей легирования и т.д. чтобы утверждать это? Во всем диапазоне питающих напряжений и температур? Вам предложили реальный вариант, основанный не на схоластических толкованиях, а на реальной физике, которая будет всегда - использование некоррелированности частот WDT и INTRC. Вы его не захотели принять, видите-ли, Вам сложно написать процедуру (ну вообщем да, действительно, конечный автомат). Ну, как говорится, Бог в помощь.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
Guest_@Ark_*
|
Aug 17 2008, 01:22
|
Guests

|
Цитата(DpInRock @ Aug 16 2008, 20:58)  ... По существу. Дело не в теории или технологии, а в Вашем подходе к решению проблемы. В ДШ используются термины "неопределенное", "неизвестное", и даже "непредсказуемое" состояние регистров, а не "случайное". Это далеко не одно и то же! При одной технологии, оно может быть действительно случайным, а при другой - вполне может стать закономерным, зависимым от каких-то факторов, как Вам уже указывали. Производитель Вам ничего не обещал. Точнее - обещал, что, в этом плане, ничего Вам не гарантирует. Именно так нужно трактовать указанные термины! Вы намерены отслеживать изготовление каждой партии своего изделия, проверяя теорию практикой? И затем пытаться решать проблемы по мере их поступления? Ну-ну... По моему скромному мнению, разработчик не имеет права "закладываться" на подобные вещи, как бы этого не хотелось, и каким бы простым и очевидным не казалось решение. Иначе, с ним просто опасно иметь дело... Кстати, я бы не рискнул использовать даже предложенный способ с WDT. Нет гарантий, что он не будет выдавать одно и то же значение при попытке смены текущего номера устройства... P.S. Вообще, лучше не решать проблемы, а предотвращать их появление. И спать спокойно...
|
|
|
|
|
Aug 17 2008, 05:38
|
Частый гость
 
Группа: Свой
Сообщений: 142
Регистрация: 18-02-08
Из: Челябинск
Пользователь №: 35 141

|
Цитата(DpInRock @ Aug 16 2008, 22:58)  Тем более, что моя схоластическая теория уже подтверждена практикой. Уже на 300 изготовленных устройств нет ни одного совпадения. Еще осталось изготовить 700. Тенденция - на лицо. А у вас пока ТОЛЬКО теория. Как тут не вспомнить слова Георгия Буркова в "Иронии судьбы...": "Мы не будем полагаться на случай, мы кинем жребий!" Вот элементарная теория: если каждое из тысячи устройств получает один из 65536 номеров СОВЕРШЕННО СЛУЧАЙНЫМ ОБРАЗОМ, то вероятность совпадения номеров составит 1000/65536 ~ 0.015, т.е. 15 совпадений на 1000! Это при нормальном распределении вероятностей. Если элементарным событием считать установление триггера в 0 или 1, какое-то из этих событий для каждого триггера может быть более вероятным, скажем, из-за не совсем симметричной топологии. Вероятность же того, что два номера совпадут, составляет 99.94% ! Почитайте на досуге http://ru.wikipedia.org/wiki/Парадокс_дней_рождения
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|