La memoización

La memoización (o memorización) es una técnica de programación informática para optimizar un programa de ordenador. Los programas informáticos llaman a funciones. Cada función calcula un resultado que devolverá. La memoización es sencilla: antes de que se devuelva el valor de la llamada a la función, se almacena en una tabla (o matriz asociativa). Al igual que una caché, esta matriz sólo podrá almacenar un número limitado de resultados. La función puede modificarse para que intente buscar el valor de la entrada en su tabla de búsqueda. Esta búsqueda es mucho menos costosa que volver a realizar el cálculo. También es como un caché: la tabla de datos se limpiará periódicamente, por ejemplo se eliminan los valores que no han sido buscados durante un tiempo determinado.

Aunque está relacionada con el almacenamiento en caché, la memoización se refiere a un caso específico de esta optimización, distinguiéndola de formas de almacenamiento en caché como el buffering o el reemplazo de páginas. En el contexto de algunos lenguajes de programación lógica, la memoización también se conoce como tabulación; véase también tabla de búsqueda.

Preguntas y respuestas

P: ¿Qué es la memoización?


R: La memoización es una técnica de programación informática que optimiza los programas almacenando los resultados de las llamadas a funciones en una tabla o matriz asociativa.

P: ¿Cómo funciona la memoización?


R: Antes de que se devuelva un valor de una llamada a una función, se almacena en una tabla de búsqueda. Posteriormente, la función buscará el valor de la entrada en la tabla de consulta en lugar de recalcularlo, lo que resulta mucho menos costoso.

P: ¿Cuáles son las ventajas de la memoización?


R: La memoización puede mejorar el rendimiento del programa al reducir el número de cálculos necesarios. También es una técnica de optimización sencilla que puede aplicarse a muchos programas.

P: ¿Cómo funciona la tabla de consulta?


R: La tabla de consulta almacena los valores devueltos por las llamadas a funciones. Al igual que una caché, tiene un límite en el número de resultados que puede almacenar, y se limpia periódicamente eliminando los valores a los que no se ha accedido en un tiempo.

P: ¿Qué distingue a la memoización de otras formas de almacenamiento en caché?


R: La memoización es un caso específico de almacenamiento en caché que se refiere al almacenamiento de los resultados de las llamadas a funciones. Es diferente de otras formas de almacenamiento en caché como el almacenamiento en búfer o el reemplazo de páginas.

P: ¿Se utiliza la memoización en los lenguajes de programación lógicos?


R: Sí, la memoización también se conoce como tabulación en algunos lenguajes de programación lógica.

P: ¿Cuál es la relación entre la memoización y una tabla de consulta?


R: La memoización implica el uso de una tabla de consulta para almacenar los resultados de las llamadas a funciones. La función puede buscar valores en la tabla en lugar de recalcularlos.

AlegsaOnline.com - 2020 / 2023 - License CC3