Re[3]: Хватит ставить точку в конце сообщения.
От: Erop Россия  
Дата: 20.10.08 18:14
Оценка:
Здравствуйте, WolfHound, Вы писали:

E>>Поподробнее не расскажешь, что именно плохо делать?


В смысле в конце темы сообщения? Или в конце последнего предложения сообщения точку не надо ставить?




























































WH>Вот это.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: Песочные часы
От: . Великобритания  
Дата: 20.10.08 18:14
Оценка: :))) :)))
Здравствуйте, Кодт, Вы писали:

К>К вопросу о песочных часах

По идее птичка на второй картинке не должна вниз головой сидеть... Нормально бы её посадить.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: Хватит ставить точку в конце сообщения.
От: WolfHound  
Дата: 20.10.08 19:39
Оценка: 6 (1) +1
Здравствуйте, Erop, Вы писали:

E>В смысле в конце темы сообщения? Или в конце последнего предложения сообщения точку не надо ставить?

Он в конце каждого сообщения делает кучу переводов строк и ставит точку.
Выглядит не лучше оверквотинга.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: Есть боллее практичное решение
От: Dragon  
Дата: 30.10.08 15:03
Оценка:
Общая идея предлагаемого алгоритма -- заставить погрешность определения середины саму себя нивелировать.
Алгоритм такой:
Пусть N — общее количество песка в песочных часах. В нашем случае, соответствующее 16 мин.
Будем записывать состояния часов следующим образом. Каждая строка записи соответствует количеству песка в верхней колбе часов.
Значком @ будем обозначать момент переворачивания часов.
Например, запись
@N     ; N/2     ;  0

означает, что в верхней колбе первых часов N песка и мы только что их перевернули. Во вторых часах -- N/2 песка. В третьих — 0.
Временем переворачивания пренебрегаем, считаем что мгновенно.


1. Запускаем первые и вторые часы
@N     ; @N     ;  0


2. Когда пройдет приблизительно N/2 времени, перевернем часы №2 и №3. Если d — погрешность определения середины, получаем

 N/2+d ; @N/2-d ;  @N


, где d может быть положительным или отрицательным.

3. Когда в часах №1 или №2 закончится песок, для удобства записи, переставим их местами, так чтоб под №2 оказались часы, в которых закончился песок

 2d    ;  0     ;  N/2+d


Теперь d строго положительно.Т.к. песок закончился в часах, у которых N/2-|d|
Далее шаги будут такими

 2d    ; @N     ; @N/2-d
 0     ;  N-2d  ;  N/2-3d
@N     ;  N-2d  ;  N/2-3d
 N/2+3d;  N/2+d ;  0
@N/2-3d; @N/2-d ; @N
 0     ; @N/2+2d;  N/2+3d
@N     ; @N/2+2d;  N/2+3d
 N/2-2d;  0     ;  d
@N/2+2d; @N     ;  d
 N/2+d ;  N-d   ;  0
 N/2+d ; @d     ;  0
 N/2   ;  0     ;  0


Собственно, получили в часах №1 8мин. Отмеряем их и ещё 16, получаем 24.

 0     ;  0     ;  0
 0     ;  0     ; @N
 0     ;  0     ;  0


Для алгоритма важно, чтоб выполнялось условие N/2 > 3d. Т.е. d < 8/3 мин. По моему, достаточно для определения "на глаз", но кого не устраивает, предлагаю самостоятельно дополнить алгоритм несколькими условными шагами, для повышения точности.
Последовательность шагов подобрана. Поэтому думаю, что можно их и уменьшить, как с точки зрения количества шагов, так и с точки зрения общего времени подготовки до начала отсчета 24 мин. интервала. Данная последовательность позволяет гарантированно начать отсчет менее чем через 40 мин. Точнее, через 40 мин.- d.

Алгоритм лучше, чем через вычисление НОК, т.к. не требует от "пользователя часов" вычислений, а только повторения шагов. Гарантированно позволяет начать отсчет 24 мин интервала через 40 мин. Хотя временем переворачивания мы и пренебрегали, но на практике, точность данного алгоритма выше за счет меньшего числа переворачиваний часов.

Кто сможет улучшить алгоритм по "времени подготовки" и количеству шагов? Или доказать его оптимальность?

Все шаги полностью:
@N     ; @N     ;  0
 N/2+d ; @N/2-d ; @N
 2d    ;  0     ;  N/2+d
 2d    ; @N     ; @N/2-d
 0     ;  N-2d  ;  N/2-3d
@N     ;  N-2d  ;  N/2-3d
 N/2+3d;  N/2+d ;  0
@N/2-3d; @N/2-d ; @N
 0     ; @N/2+2d;  N/2+3d
@N     ; @N/2+2d;  N/2+3d
 N/2-2d;  0     ;  d
@N/2+2d; @N     ;  d
 N/2+d ;  N-d   ;  0
 N/2+d ; @d     ;  0
 N/2   ;  0     ;  0
 0     ;  0     ;  0
 0     ;  @N    ;  0
 0     ;  0     ;  0
Re[3]: Есть боллее практичное решение
От: DK3981 Россия  
Дата: 30.10.08 16:59
Оценка:
D>Кто сможет улучшить алгоритм по "времени подготовки" и количеству шагов? Или доказать его оптимальность?

Скорее опровергнуть.

D>Все шаги полностью:

Ошибка в переходе
@N/2-3d; @N/2-d ; @N
 0     ; @N/2+2d;  N/2+3d

Должно получиться
@N/2-3d; @N/2-d ; @N
 0     ;  2d    ;  N/2+3d
... << RSDN@Home 1.2.0 alpha rev. 728>>
Re[3]: Есть боллее практичное решение
От: baily Россия  
Дата: 30.10.08 17:02
Оценка:
Здравствуйте, Dragon, Вы писали:

Эту тему тут мусолили долго. Если вы почитаете, то найдете доказательство, что такими манипуляциями, что делаете вы, точного решения не получить, если, конечно, не ошибиться в выкладках.

D>Все шаги полностью:


D>@N ; @N ; 0

D> N/2+d ; @N/2-d ; @N
D> 2d ; 0 ; N/2+d
D> 2d ; @N ; @N/2-d
D> 0 ; N-2d ; N/2-3d
D>@N ; N-2d ; N/2-3d
D> N/2+3d; N/2+d ; 0
D>@N/2-3d; @N/2-d ; @N
D>0 ; @N/2+2d; N/2+3d
D>@N ; @N/2+2d; N/2+3d
D> N/2-2d; 0 ; d
D>@N/2+2d; @N ; d
D> N/2+d ; N-d ; 0
D> N/2+d ; @d ; 0
D> N/2 ; 0 ; 0
D> 0 ; 0 ; 0
D> 0 ; @N ; 0
D> 0 ; 0 ; 0


По всей видимости, ошибка в выделенном мной переходе
Re: Песочные часы
От: nikholas Россия  
Дата: 27.11.08 12:36
Оценка:
Здравствуйте, Нэчер, Вы писали:

Н>Пусть имеется трое одинаковых песочных часов на 16 минут каждые.

Н>Как точно(не на глаз)отмерить 24 минуты?


Предложу сразу два решения:
1. Мат.ожидание

Включам часы 1 и 2, считаем про себя до Х и выкл 2 вкл 3, считаем про себя до Х и вкл 2 выкл 3, и т.д. до тех пор пока в часах 1 не закончится песок.
Тогда ждем пока в включенных в данный момент часах не закончится песок.
Длины интервалов вкл/выкл 2 и 3 нормально распределены вокруг некоторого значения (Х сек), их сумма имеет также нормальное распределение, и мат.ожидание суммы отличается от 8 минут не более чем на Х.

2. Прогрессия.
Тут нам потребуется 5 часов.

На определенном шаге прогрессии имеются часы в которых осталось песка меньше чем на 8 мин.
Создаем 3 таких же часов(1,2,3), эти в 0.
1 — эталон
2 и 3 запускаем в разные стороны, когда в одних закончтся песок в других останется в два раза больше чем от эталона до 8 мин.
Создаем 3 таких же часов(2,3,4), эти в 0.
Запускаем 2 и 3, когда в 3 визуально высыпалось половина выкл 3 вкл 4. Когда в 2 закончилось вкл 1(эталон) на досыпку и выкл их когда закончилось в 3 или 4 (что раньше)
В рез-те получаем часы в которых песка меньше (либо равно) чем на 8 мин но больше чем раньше
Re: Песочные часы
От: Seon  
Дата: 10.12.08 13:57
Оценка:
Здравствуйте, Нэчер, Вы писали:

Н>Пусть имеется трое одинаковых песочных часов на 16 минут каждые.

Н>Как точно(не на глаз)отмерить 24 минуты?

Пардон,
имеется ввиду надо из 3-х часов песочных на 16 минут, сделать одни на 24 минуты?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.