Want to create interactive content? It’s easy in Genially!

Get started free

MEMOIZATION

Adrián Herrero Bernabéu

Created on November 28, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Practical Presentation

Smart Presentation

Essential Presentation

Akihabara Presentation

Pastel Color Presentation

Modern Presentation

Relaxing Presentation

Transcript

METÁFORA INFORMÁTICA

MEMOIZATION

ADRIÁN HERRERO BERNABÉU

MEJORANDO LA EFICIENCIA DE NUESTROSPROGRAMAS CON DICCIONARIOS

El térmiNo informático

Es la optimización de procesos o eficiencia en un programa, la facilidad de asociar los términos introducidos con los componentes de la vida real. Particularmente, esta metáfora guarda relación con los módulos de programación de ASIR, DAM y DAW.

Definición técnica

Memoization es un patrón de optimización que guarda los resultados de las funciones de manera persistente, generalmente en una tabla o diccionario, para que las llamadas subsiguientes con los mismos parámetros puedan acceder al resultado previamente sin necesidad de volver a calcularlo

LA METÁFORA

Imaginemos que la función recursiva es el archivador, y el diccionario es la libreta donde se apuntan las ubicaciones de los resultados (carpetas o documentos). Si la función ya ha sido llamada antes con los mismos parámetros, el "archivador" no vuelve a realizar el cálculo, sino que accede a su libreta(diccionario) para obtener el resultado rápidamente.

LA sucesión DE FIBONACCI

Leonardo de Pisa (Fibonacci) era un joven cuyo objetivo era conocer los hábitos de apareamiento de los conejos, esto llevo a una secuencia infinita de números naturales cuyos dos primeros términos son 1 y 1 y tal que, cualquier otro término se obtiene sumando los dos anteriores Su secuencia empezaría tal que así: 1, 1, 2, 3, 5, 8, 13, 21, 34…

VERSIÓN SIN MEMOIZATION

Tiempo aproximado con 40 iteraciones, un par de horas

VERSIÓN CON MEMOIZATION

Tiempo aproximado con 40 iteraciones, 1 segundo

GRACIAS A TODOS

confía en la recursividad