алгоритм елеватора та його реалізація [закрито]


11

Мені хотілося знати, як працюють (справжні) ліфти. Але поки що я не міг знайти багато матеріалів про алгоритми, які вони використовують, а також програмне забезпечення (якщо воно є) для моделювання. Чи може хтось надати мені посилання на це?


По суті, це проблема, описана теорією черги.
— Рейн Генріхс

Якщо вам подобаються певні глибокі знання, дивіться це: youtube.com/watch?v=1Uh_N1O3E4E
— Toon Krijthe

І у нього є сестра питання про SO: stackoverflow.com/questions/493276 / ...
— Toon Krijthe

Відповіді:


10

Цікаве запитання. Змушує мене також провести деякі дослідження з цього приводу.

У Wiki є посилання на книгу Barney, G. (2003, січень). Посібник з руху ліфтів: теорія та практика . ISBN 9780415274760.

Ось фрагмент від Wiki (ви, можливо, це вже бачили):

Алгоритм елеватора знайшов застосування в комп'ютерних операційних системах як алгоритм планування запитів на жорсткий диск. Сучасні ліфти використовують більш складні евристичні алгоритми, щоб вирішити, який наступний запит на обслуговування. Ознайомлення з цими алгоритмами можна знайти у "Посібнику з руху транспорту ліфтів: теорія та практика", наведеному в наведених нижче посиланнях.


7

Звичайно, існують різні реалізації, але найбільш поширеною є ця:

https://en.wikipedia.org/wiki/Elevator#Elevator_algorithm

Оскільки в фактичних будівлях цокольний поверх зазвичай використовується частіше, ніж інші, також існує достатня кількість реалізацій, які дозволяють елеватору повернутися на перший поверх після певного часу бездіяльності.

(Зі сторони, є розповідь про те, що Дональд Кнут одного разу провів день в ліфті, щоб бути абсолютно впевненим, що він опише алгоритм ліфта правильно, але я не можу знайти посилання на це.)


2
RE: Ваша бічна примітка: Я щойно бачив, на яку йдеться в цій статті (стор. 165): ocw.mit.edu/courses/electrical-engineering-and-computer-science/… У ній цитується мистецтво комп'ютерного програмування, Дональд Е. , Кнут, т. 1. стор. 295. Про систему ліфтів у будівлі математики в Cal Tech. Вперше опубліковано в 1968 році
— jduhls

1

Алгоритм елеватора найкраще описаний за допомогою алгоритму елеватора Knuth .

Але в простих кроках алгоритм можна вказати як:

  1. Їдьте в одному напрямку до останнього запиту в цьому напрямку.
  2. Якщо запиту немає, зупиніться і продовжуйте рух в інший бік, якщо є запит з іншого напрямку.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.