¿Qué es logn?

La versión corta es que se trata de un término informático friki que también resulta ser lo suficientemente corto como para que me guste como nombre de dominio. A pesar de lo que otros puedan decir, no es un error ortográfico de «login». Además, se suele pronunciar como «log» seguido de la letra «n».

La versión larga es que es el término utilizado para describir una clase de algoritmos altamente eficientes.Si me permiten una breve lección…

Complejidad temporal

En informática, los algoritmos se comparan a menudo por la cantidad de tiempo o memoria que consumen para realizar una tarea. Para que estas comparaciones sean justas y fáciles de entender, las analizamos basándonos en la relación entre el tamaño de la tarea y el número de pasos necesarios para completarla.

Por ejemplo, supongamos que queremos promediar una lista de valores numéricos. Para ello, tendrías que sumar todos los números y luego dividirlos por el número de valores que tienes. El número de pasos está directamente relacionado con el número de valores: si se duplica el número de valores a promediar, es de esperar que se tarde el doble. Este es un ejemplo de complejidad lineal: a medida que el número de elementos (abreviado como n) crece, el tiempo para completar la tarea crece al mismo ritmo.

Se puede hacer mucho peor que el tiempo lineal; ¡muchas tareas requieren un tiempo polinómico o incluso exponencial para completarse! Ordenar listas de números es un buen ejemplo; hay que hacer múltiples pasadas sobre los datos para tamizar todo en un orden final.

Sin embargo, también hay algunos algoritmos que son mejores que el tiempo lineal. Considere un juego de adivinanzas en el que un humano piensa en un número entre uno y 100, y el ordenador tiene que adivinar cuál es. Si el ordenador adivina mal, el humano le dice al ordenador si la respuesta es «mayor» o «menor» que la adivinada. Si se eligen los números con cuidado, esta información permite al ordenador eliminar la mitad de los números restantes en cada intento (eligiendo siempre un número en medio del conjunto de números posibles).

Debido a que cada intento divide el conjunto de números restantes por la mitad, estas mitades repetidas se componen y crean un exponente inverso: el alogaritmo. En efecto, el número de pasos para resolver el problema crece linealmente a medida que el espacio del problema crece exponencialmente. Pensado de otra manera, duplicar el tamaño del problema resulta en un solo paso adicional (compárese con un algoritmo lineal, donde duplicar el tamaño del problema también duplica el número de pasos). Abreviamos esta relación como logn, mostrando que a medida que n (el tamaño del problema) se hace más grande, el número de pasos es sólo el logaritmo de ese número.

Por lo tanto, los algoritmos logarítmicos son altamente eficientes y bien considerados.Pensé que sería divertido nombrar mi dominio después de ellos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.