Сто заключенных и одна лампочка

Все, что вы хотели знать о программизме, но боялись спросить.
Аватара пользователя
Marmot
Графоман
Сообщения: 39273
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

Alexander Ch. писал(а):Невозможно смоделировать такую задачу чисто софтом. Надо железячный датчик случайных чисел (действительно случайных).
Я пробова Excel для этого приспособить, что получилось:
В одной выборке 100 случайных чисел от 1 до 100 было 98 уникальных,
в другой выборке 1000 случайных чисел от 1 до 100 было 52 уникальных числа.
Эээ... да не нужен тут генератор случайных чисел, нужен симулятор администрации тюрьмы...:-)
Так что Excel вполне даже подойдёт... :-)
Аватара пользователя
Akrav
Графоман
Сообщения: 12527
Зарегистрирован: 17 июн 2003, 13:30

Сообщение Akrav »

Я в таких случаях читаю значения регистра таймера. В мультитаскинг системе и при определеннных условиях -- вполне случайное число.
А вообще-то все железячные генераторы имеют математическую подоплеку и легко могут быть формализованы любым языком програмирования.
ilid
Завсегдатай
Сообщения: 255
Зарегистрирован: 19 мар 2003, 13:31

Сообщение ilid »

Akrav писал(а):А вообще-то все железячные генераторы имеют математическую подоплеку и легко могут быть формализованы любым языком програмирования.
Согласен, потому как тот же Е - эмуляция на С++ и все его параллельности и обьектные переменные написаны на обычном С или С++, всё что он делает, это во время симуляции прерывает её, делает все "параллельные" действия и отпускает. И генератор там тоже псевдо-рандомальный разумеется, я правда не знаю какой именно дистрибуцией он пользуется, в своё время я спрашивал у Верисити об этом, но парень, который делал в нашей конторе суппорт сказал, что довольно всё линейно и записал идею насчёт того чтоб закладывать разные дистрибуции и регулировать параметры. Для случая с заключёнными достаточно того что есть, потому как слишком простой пример.
Аватара пользователя
Циник
Завсегдатай
Сообщения: 442
Зарегистрирован: 17 фев 2003, 17:17

Сообщение Циник »

Ввиду неспортивного поведения товарища Дрэйна мы так и не дошли здесь до дальнейших оптимизационных идей, например, идеи множественности счетчиков.

А жаль, конечно, товарищи - ведь это помогло бы узникам выйти из тюрьмы на добрый десяток лет раньше :twisted:

Кстати, никто пока не доказал и не показал оптимальность лучшего из существующих алгоритмов.
ilid
Завсегдатай
Сообщения: 255
Зарегистрирован: 19 мар 2003, 13:31

Сообщение ilid »

Лично я не знаю как решить задачу, когда каждый заключённый считать может. С двумя не пытался. Наверняка можно докопать, самая большая загвоздка это повторное посещение комнаты одним заключённым в то время пока считающий не заходит в комнату.
Ответить