Jump to content

Самоорганизующийся список

Самоорганизующийся список это список , который меняет порядок своих элементов на основе некоторой самоорганизующейся эвристики для уменьшения среднего времени доступа . Цель самоорганизующегося списка — повысить эффективность линейного поиска за счет перемещения более часто используемых элементов в начало списка. Самоорганизующийся список в лучшем случае обеспечивает почти постоянное время доступа к элементам. Самоорганизующийся список использует алгоритм реорганизации для адаптации к различным распределениям запросов во время выполнения.

Концепция самоорганизующихся списков уходит корнями в идею организации деятельности записей в файлах, хранящихся на дисках или лентах. [1] Одно из часто цитируемых обсуждений самоорганизующихся файлов и списков принадлежит Кнуту. [2] Джон Маккейб провел первый алгоритмический анализ сложности стратегии «Перемещение вперед» (MTF), при которой элемент перемещается в начало списка после доступа к нему. [3] Он проанализировал среднее время, необходимое для того, чтобы случайно упорядоченный список оказался в оптимальном порядке. Оптимальным упорядочением списка является тот, при котором элементы упорядочены в списке по вероятности того, с какой они понадобятся, причем первым является элемент, к которому чаще всего обращаются. Оптимальный порядок может быть неизвестен заранее, а также может меняться со временем.

Маккейб представил стратегию транспонирования, при которой доступный элемент заменяется элементом, стоящим перед ним в списке. Он выдвинул гипотезу, что в среднем случае транспонирование работает по крайней мере так же хорошо, как MTF, при достижении оптимального порядка записей в пределе. Эту гипотезу позже доказал Ривест. [4] Маккейб также отметил, что с помощью эвристики транспозиции или MTF можно достичь оптимального порядка записей, даже если эвристика применяется только при каждом N-м доступе, и что можно выбрать значение N, которое будет отражать относительную стоимость перемещения записей с помощью эвристики транспозиции или MTF. ценность более быстрого достижения оптимального порядка. Были внесены дальнейшие улучшения и алгоритмы, предложенные исследователями, в том числе: Ривестом, Тененбаумом и Немесом, Кнутом, Бентли и МакГеочом (например, анализ наихудшего случая для самоорганизующейся эвристики последовательного поиска).

Приложения

[ редактировать ]

Самоорганизующийся список использует эвристику самоорганизации — алгоритм , который изменяет структуру данных , например связанный список, в ответ на использование структуры данных.

Примеры самоорганизующихся эвристик включают в себя:

  • На передний план (или «Переместить наверх») — часто используемые или недавно использованные места, информация находится вверху, поэтому ее можно быстро найти без необходимости просматривать весь список.
  • самообучения Список частот (или «Упорядочить по частоте доступа») — переупорядочивает список опций в меню графического интерфейса так, чтобы верхние из них были опциями, которые чаще всего выбираются пользователем.
  • Повторно вставьте в случайное положение
  • Перейти назад — используется для организации списка зеркальных серверов , чтобы после использования сервера для загрузки он перемещался в конец очереди , чтобы пользователь не мог выбрать его снова.

Примечания

[ редактировать ]
  1. ^ Беккер, Дж.; Хейс, Р.М. (1963), Хранение и поиск информации: инструменты, элементы, теории , Нью-Йорк: Wiley
  2. ^ Кнут, Дональд (1998), Сортировка и поиск , Искусство компьютерного программирования , том. 3 (Второе изд.), Аддисон-Уэсли, с. 402, ISBN  978-0-201-89685-5
  3. ^ Маккейб, Джон (1965), «О последовательных файлах с перемещаемыми записями», Operations Research , 13 (4): 609–618, doi : 10.1287/opre.13.4.609
  4. ^ Ривест, Рональд (1976), «О самоорганизующейся эвристике последовательного поиска», Communications of the ACM , 19 (2): 63–67, doi : 10.1145/359997.360000 , S2CID   498886
  • Самоорганизация (PDF) , 2004 г., заархивировано из оригинала (PDF) 14 апреля 2012 г. , получено 13 декабря 2011 г.
  • NIST DADS Запись
  • Дроздек, Структуры данных и алгоритмы в Java Третье издание.
  • Амер, Абдельрехман; Б. Джон Ооммен (2006), Списки в списках: структура самоорганизующихся списков в средах с локальностью ссылок , Конспекты лекций по информатике, том. 4007, номер домена : 10.1007/11764298 , ISBN  978-3-540-34597-8
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5bc1c4c857f39f07e4c97ea373cc3f73__1721408640
URL1:https://arc.ask3.ru/arc/aa/5b/73/5bc1c4c857f39f07e4c97ea373cc3f73.html
Заголовок, (Title) документа по адресу, URL1:
Self-organizing list - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)