stringtranslate.com

Реальная оперативная память

В вычислениях, особенно в вычислительной геометрии , реальная оперативная память ( машина с произвольным доступом ) — это математическая модель компьютера, которая может выполнять вычисления с точными действительными числами вместо двоичных чисел с фиксированной или плавающей запятой , используемых большинством реальных компьютеров. Настоящая RAM была сформулирована Майклом Яном Шамосом в его докторской диссертации 1978 года. диссертация. [1]

Модель

Часть «RAM» в названии реальной модели RAM означает « машина с произвольным доступом ». Это модель вычислений, напоминающая упрощенную версию стандартной компьютерной архитектуры. Он состоит из хранимой программы , блока памяти компьютера , состоящего из массива ячеек, и центрального процессора с ограниченным числом регистров . Каждая ячейка памяти или регистр может хранить действительное число. Под управлением программы реальная оперативная память может передавать действительные числа между памятью и регистрами, а также выполнять арифметические операции над значениями, хранящимися в регистрах.

Разрешенные операции обычно включают сложение, вычитание, умножение и деление, а также сравнение, но не модуль или округление до целых чисел. Причина, по которой следует избегать операций округления целых чисел и операций по модулю, заключается в том, что разрешение этих операций может дать реальному ОЗУ необоснованный объем вычислительной мощности, что позволит ему решать PSPACE-полные задачи за полиномиальное время. [2]

При анализе алгоритмов для реальной оперативной памяти обычно предполагается, что каждая разрешенная операция занимает постоянное время .

Выполнение

Были разработаны библиотеки программного обеспечения , такие как LEDA , которые позволяют программистам писать компьютерные программы, которые работают так, как если бы они работали в реальной оперативной памяти. Эти библиотеки представляют реальные значения, используя структуры данных , которые позволяют им выполнять арифметические операции и сравнения с теми же результатами, что и реальная ОЗУ. Например, в LEDA действительные числа представлены с использованием leda_realтипа данных, который поддерживает корни k -й степени для любого натурального числа k , рациональные операторы и операторы сравнения. [3] Временной анализ базового алгоритма реального ОЗУ с использованием этих реальных типов данных можно интерпретировать как подсчет количества вызовов библиотеки, необходимых для данного алгоритма. [4]

Сравнение с другими вычислительными моделями

Рекомендации

  1. ^ Шамос, Майкл Ян (1978), Вычислительная геометрия , доктор философии. диссертация, Йельский университет.
  2. ^ Шёнхаге, Арнольд (1979), «О возможностях машин с произвольным доступом», Труды шестого международного коллоквиума по автоматам, языкам и программированию (ICALP '79) , Конспекты лекций по информатике , том. 71, Springer, стр. 520–529, номер документа : 10.1007/3-540-09510-1_42, ISBN. 978-3-540-09510-1, МР  0573259.
  3. ^ Мельхорн, Курт; Нэхер, Стефан (1999). Платформа комбинаторных и геометрических вычислений LEDA. Издательство Кембриджского университета . Проверено 12 ноября 2019 г. .
  4. ^ Мельхорн, Курт ; Ширра, Стефан (2001), «Точные вычисления с помощьюleda_real — теория и геометрические приложения» (PDF) , Символьные алгебраические методы и методы проверки (Dagstuhl, 1999) , Springer, стр. 163–172, doi : 10.1007/978-3- 7091-6280-4_16, ISBN 978-3-211-83593-7, МР  1832422.
  5. ^ Гретшель, М.; Ловас, Л.; Шрийвер, А. (1 июня 1981 г.). «Метод эллипсоидов и его последствия в комбинаторной оптимизации». Комбинаторика . 1 (2): 169–197. дои : 10.1007/BF02579273. ISSN  1439-6912. S2CID  43787103.
  6. ^ Блюм, Ленор ; Шуб, Майк ; Смейл, Стив (1989), «К теории вычислений и сложности над действительными числами: NP-полнота, рекурсивные функции и универсальные машины», Бюллетень Американского математического общества , 21 (1): 1–46, doi : 10.1090 /S0273-0979-1989-15750-9 , Збл  0681.03020.

Внешние ссылки