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


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.