Без названия
bluxer — 14.12.2019 ЗАДАЧА О РАЗДЕЛЕНИИ РАБОТЫ И (БОНУСОМ) ТАЙНЫЙ СМЫСЛ КОРНЯ КВАДРАТНОГОВ процессе выполнения рутинных операций порой возникают странные мысли.
И можно даже найти клочок времени, чтобы записать их на клочок бумаги, чтобы потом воспроизвести более развернуто.
Допустим, мы вдвоем последовательно обрабатываем какие-то штуки. Например, один подписывает письма, а другой кладет их в конверты.
Для простоты предположим, что каждая операция у обоих занимает одинаково времени.
Какой вариант совместной работы будет самым затратным по времени? Когда один полностью обработал свою кучку и передал ее другому. Это означает удвоение времени каждого.
Поэтому правильно было бы передавать выполненную работу частями от первого ко второму. Но здравый смысл подсказывает, что нельзя передавать после каждой отдельной операции, потому что сама передача тоже занимает время (по-модному это называется "транзакционные издержки"). Значит, возможно, существует оптимальное число передач (не меньше, но и не больше).
Как его рассчитать?
Примем общее время выполнения работы за "a" (напомню, что по условиям нашей упрощенной модели "а" у первого и у второго одинаково).
Количество частей, на которые мы делим работу, будет икс (=х) - это и есть то, что мы ищем.
Тогда размер обрабатываемой за раз "партии" =(а/х)
Время, необходимое для передачи одной "партии" от первого ко второму, пусть будет "k". Количество передач равно количеству партий - х (потому что передать второму нужно каждую партию). Значит, общее время, необходимое для передачи всех партий будет =k*х
Еще один важный момент: пока первый выполняет первую партию, второй ждет и ничего не делает (значит, время на выполнение одной партии умножаем не на х, а на (х+1)), следовательно, общее время выполнения работы:
или:
Эту штуку надо минимизировать.
Забыл, как называется такой вид функций, но она нелинейная, а значит, есть шанс, что у нее найдется минимум:
Производная:
Равна нулю при
Вот оно, наше количество партий.
А если время на передачу (знаменатель дроби под корнем) =1, то искомое количество партий есть корень квадратный из общего времени на выполнение всей работы.
Тут обнаружилась поразительная вещь на тему, что есть такое вообще корень квадратный.
Корень квадратный из числа - это когда количество слагаемых числа равно количеству единиц в одном слагаемом. То есть проще говоря, это фрактал (!) Ну, хотя бы один разок... ))
Например:
3+3+3=9 - слагаемых 3 и само 3 есть 3
4+4+4+4=16 - слагаемых 4 и само число 4 - это 4
...
6+6+6+6+6+6+6=36 - слагаемых 6 и само число 6 состоит из 6 единиц. Фантастика.
Дальше не проверял.
|
</> |