В теоретической информатике модель RAM (машина с произвольным доступом к слову) — это модель вычислений , в которой машина с произвольным доступом выполняет арифметические и побитовые операции над словом из w бит. Майкл Фредман и Дэн Уиллард создали ее в 1990 году для моделирования языков программирования , таких как C. [1]
Модель RAM слова — это абстрактная машина, похожая на машину с произвольным доступом , но с конечной памятью и длиной слова. Она работает со словами размером до w бит, что означает, что она может хранить целые числа размером до . Поскольку модель предполагает, что размер слова соответствует размеру задачи, то есть для задачи размером n , , модель RAM слова является трансдихотомической моделью . [2] Модель позволяет выполнять как арифметические операции, так и побитовые операции , включая логические сдвиги , за постоянное время (точный набор инструкций, предполагаемый алгоритмом или доказательством с использованием модели, может различаться).
В модели Word RAM сортировка целых чисел может быть выполнена довольно эффективно. Ицзе Хан и Миккель Торуп создали рандомизированный алгоритм для сортировки целых чисел за ожидаемое время (в нотации Big O ) , [3] в то время как Хан также создал детерминированный вариант со временем выполнения . [4]
Проблема динамического предшественника также обычно анализируется в модели Word RAM и была первоначальной мотивацией для модели. Дэн Уиллард использовал y-fast, чтобы решить эту проблему за время, или, точнее, где U — это ограничение на хранимые значения. [5] Майкл Фредман и Уиллард также решили проблему, используя деревья слияния за время. [1] Используя экспоненциальные деревья поиска , запрос может быть выполнен за . [6]
Дополнительные результаты по модели Word RAM перечислены в статье о поиске в диапазоне .
Нижние границы, применимые к алгоритмам ОЗУ слов, часто доказываются в модели зонда-клетки .