Я хотел знать, как работают (настоящие) лифты. Но до сих пор я не мог найти много материала об алгоритмах, которые они используют, или о программном обеспечении (если таковое имеется) для моделирования. Кто-нибудь может дать мне ссылки на это?
Я хотел знать, как работают (настоящие) лифты. Но до сих пор я не мог найти много материала об алгоритмах, которые они используют, или о программном обеспечении (если таковое имеется) для моделирования. Кто-нибудь может дать мне ссылки на это?
Ответы:
Интересный вопрос. Заставляет меня хотеть сделать некоторые исследования по этому вопросу.
В вики есть ссылка на книгу Барни Г. (2003, январь). Справочник по лифтовому движению: теория и практика . ISBN 9780415274760.
Вот фрагмент из Вики (возможно, вы уже видели его):
Алгоритм лифта нашел применение в компьютерных операционных системах в качестве алгоритма для планирования запросов жесткого диска. Современные лифты используют более сложные эвристические алгоритмы, чтобы решить, какой запрос обслуживать следующим. Введение в эти алгоритмы можно найти в «Справочнике по лифтовому движению: теория и практика», приведенном в ссылках ниже.
Конечно, есть разные реализации, но наиболее распространенной является эта:
https://en.wikipedia.org/wiki/Elevator#Elevator_algorithm
Поскольку в реальных зданиях первый этаж обычно используется чаще, чем другие, существует также немало реализаций, позволяющих лифту вернуться на первый этаж после определенного времени бездействия.
(На заметку о том, что Дональд Кнут однажды провел день в лифте, просто чтобы быть абсолютно уверенным, что он правильно описал алгоритм лифта, но я не могу найти ссылку на это.)
Алгоритм лифта лучше всего описывается с использованием алгоритма лифта Кнута .
Но в простых шагах алгоритм можно сформулировать так: