En informática teórica , el modelo de máquina de acceso aleatorio ( RAM ) es un modelo de computación en el que una máquina de acceso aleatorio realiza operaciones aritméticas y de bits en una palabra de w bits. Michael Fredman y Dan Willard lo crearon en 1990 para simular lenguajes de programación como C. [1 ]
El modelo de RAM de palabras es una máquina abstracta similar a una máquina de acceso aleatorio , pero con memoria finita y longitud de palabra. Funciona con palabras de tamaño de hasta w bits, lo que significa que puede almacenar números enteros de hasta . Debido a que el modelo supone que el tamaño de la palabra coincide con el tamaño del problema, es decir, para un problema de tamaño n , , el modelo de RAM de palabras es un modelo transdicotómico . [2] El modelo permite que tanto las operaciones aritméticas como las operaciones bit a bit, incluidos los desplazamientos lógicos, se realicen en tiempo constante (el conjunto de instrucciones preciso asumido por un algoritmo o una prueba que utilice el modelo puede variar).
En el modelo de Word RAM, la ordenación de números enteros se puede realizar de manera bastante eficiente. Yijie Han y Mikkel Thorup crearon un algoritmo aleatorio para ordenar números enteros en un tiempo esperado de (en notación Big O ) [3] , mientras que Han también creó una variante determinista con un tiempo de ejecución de . [4]
El problema del predecesor dinámico también se analiza comúnmente en el modelo de Word RAM y fue la motivación original para el modelo. Dan Willard usó y-fast para intentar resolver esto en el tiempo o, más precisamente, donde U es un límite en los valores almacenados. [5] Michael Fredman y Willard también resolvieron el problema usando árboles de fusión en el tiempo. [1] Usando árboles de búsqueda exponencial , se puede realizar una consulta en . [6]
Resultados adicionales en el modelo de palabra RAM se enumeran en el artículo sobre búsqueda de rango .
Los límites inferiores aplicables a los algoritmos de RAM de palabras a menudo se prueban en el modelo de sonda celular .