10 Conceptos de Matemáticas para Programadores

10 Conceptos de Matemáticas

 

A medida que aumenta la demanda de programadores, naturalmente la oferta se encontrará con más personas ingresando a la industria todos los días. Sin embargo, es una industria competitiva. Para mejorar continuamente y aumentar tu salario, necesitas demostrar que eres un programador competente. Una forma de hacer esto es aprendiendo cosas que las personas típicamente no conocen. 

Mucha gente ingresa a la industria de la programación asumiendo que no es necesario conocer las matemáticas detrás de ella. Aunque esto es en parte cierto, comprender los conceptos matemáticos lógicos detrás de la programación te convertirá en un programador más competente. 

¿Cómo es eso? Entendiendo lo que estás haciendo y lo que está sucediendo. Así es como.

Así que pasemos directamente a ello. ¿Cuáles son los 10 conceptos matemáticos principales para programadores?

 

Álgebra booleana

 

El álgebra booleana se deriva del álgebra. Supongo que eso era obvio. Si eres programador o estás en tu camino para convertirte en uno, probablemente ya sepas qué es lo booleano. Si no, lo definiré rápidamente. 

Booleano es un tipo de dato/variable binaria que tiene uno de los dos posibles valores, por ejemplo 0 (falso) o 1 (verdadero). El tipo de dato booleano está respaldado por el álgebra booleana, en la cual los valores de las variables son conocidos como los valores de verdad, verdadero y falso. Cuando trabajas con álgebra booleana, hay tres operadores que puedes usar: 

  • Conjunción u operación AND
  • Disyunción u operación OR
  • Negación u operación NOT

Estos pueden representarse visualmente como diagramas de Venn, para darte una mejor comprensión de la salida. El álgebra booleana está compuesta por 6 leyes:

  • Ley conmutativa
  • Ley asociativa
  • Ley distributiva
  • Ley AND
  • Ley OR
  • Ley de inversión

 

Sistemas numéricos

 

Las computadoras entienden los números, y por eso necesitan un sistema numérico. Un sistema numérico se conoce como un sistema de escritura utilizado para expresar números. Por ejemplo, existen estos cuatro tipos de sistemas numéricos más comunes:

  1. Sistema de números decimales (base 10)
  2. Sistema de números binarios (base 2)
  3. Sistema de números octales (base 8)
  4. Sistema de números hexadecimales (base 16)

Las computadoras funcionan con un sistema numérico de base 2, donde los dígitos posibles son 0 y 1. También se usa Base64 para codificar datos binarios en un formato de cadena.

 

Punto flotante

 

Hablando más sobre el aprendizaje de los números, tenemos el punto flotante. Un punto flotante es un tipo de dato variable que representa números reales como una aproximación. Un número de punto flotante es un número en el cual la posición del punto decimal puede moverse o “flotar” en lugar de estar en una posición fija. Esto permite a los desarrolladores hacer un compromiso entre rango y precisión.

Pero ¿por qué una aproximación? Las computadoras solo tienen una cantidad limitada de espacio, ya sea 32 bits (precisión simple) o 64 bits (precisión doble). Los 64 bits son el valor predeterminado en lenguajes de programación como Python y JavaScript. Ejemplos de números de punto flotante son 1.29, 87.565 y 9038724.2. Puede ser un número entero positivo o negativo con un punto decimal. 

 

Logaritmos

 

También conocido como log, es un concepto matemático que utiliza el inverso de los exponenciales para responder preguntas. Entonces, ¿por qué son importantes los logaritmos para los programadores? Porque simplifican cálculos matemáticos complejos. Por ejemplo, 1000 = 10^4 también se puede escribir como 4 = log101000.

El número de base es un objeto matemático que debe multiplicarse por sí mismo. El exponente es un número que identifica cuántas veces se debe multiplicar el número de base por sí mismo. Por lo tanto, un logaritmo es un exponente que indica a qué potencia se debe elevar una base para producir un número dado.

Cuando el logaritmo utiliza Base-2, se trata de un logaritmo binario, y si se trata de Base-10, se trata de un logaritmo común. 

 

Teoría de conjuntos

 

Un conjunto es una colección única desordenada de valores, que no necesitan tener ninguna relación entre sí. Solo pueden contener elementos únicos y no pueden contener el mismo elemento dos o más veces.

Por ejemplo, los archivos de Excel o una base de datos contienen tablas que tienen un conjunto de filas únicas. Esto es un tipo de matemática discreta ya que estas estructuras pueden tener un número finito de elementos. El objetivo de la teoría de conjuntos es comprender las colecciones de valores y las relaciones entre ellos. Esto se utiliza típicamente para analistas de datos, expertos en SQL y científicos de datos.

Esto se puede lograr utilizando:

  • Join interno o intersección: devuelve un conjunto que contiene elementos presentes en ambos conjuntos
  • Join externo o unión: devuelve elementos de ambos conjuntos
  • Unión de todos (Union all): igual que el operador de unión externa, pero incluirá todos los duplicados.
  • Excepto o menos: A menos B es un conjunto que contiene elementos del conjunto A que no son elementos del conjunto B

 

Combinatoria

 

La combinatoria es el arte de contar cosas para obtener resultados y comprender ciertas propiedades de estructuras finitas a través de patrones. La programación consiste en resolver problemas y la combinatoria es la forma en que podemos organizar objetos para estudiar estas estructuras discretas finitas.

La fórmula de la combinatoria es una combinación de permutación y combinación.

  • Permutación es el acto de organizar un conjunto en algún orden o secuencia
  • Combinación es la selección de valores del conjunto donde no se tiene en cuenta el orden.

 

Teoría de grafos

 

Como ya sabes, un grafo es una representación visual de un conjunto de valores y estos valores pueden estar conectados. En lo que respecta a los datos, estos valores están conectados debido a variables, que en la teoría de grafos se conocen como enlaces.

La teoría de grafos es el estudio de los grafos en relación con la relación entre las aristas y los vértices de conjuntos de puntos conectados. Esto nos permite crear una relación de a pares entre objetos utilizando los vértices, también conocidos como nodos, que están conectados por las aristas, conocidas como líneas. Un grafo se representa como un par G(V, E), donde V representa el conjunto finito de vértices y E representa el conjunto finito de aristas.

 

Teoría de la complejidad

 

La teoría de la complejidad es el estudio de la cantidad de tiempo y memoria que tarda un algoritmo en ejecutarse en función del tamaño de entrada. Hay dos tipos de complejidades:

  • Complejidad espacial: la cantidad de memoria que necesita un algoritmo para ejecutarse.
  • Complejidad temporal: la cantidad de tiempo que necesita un algoritmo para ejecutarse.

Más personas se preocupan por la complejidad temporal, ya que podemos reutilizar la memoria de un algoritmo. En cuanto a la complejidad temporal, la mejor manera de medirla es considerar la cantidad de operaciones que realiza el algoritmo. Los algoritmos se construyen utilizando declaraciones condicionales y bucles, por lo tanto, para reducir el tiempo empleado, quieres utilizar código que tenga la menor cantidad posible de declaraciones condicionales y bucles.

La teoría de la complejidad de los algoritmos utiliza la notación big-o para ayudar a describir y proporcionar una mejor comprensión del comportamiento límite de un algoritmo. Se utiliza para clasificar los algoritmos según cómo responden a los cambios en el tamaño de entrada.

 

Estadísticas

 

Ahhh estadísticas. Si estás interesado en el campo de la inteligencia artificial, necesitas conocer las estadísticas. La IA y el aprendizaje automático son nombres bonitos utilizados para las estadísticas. La programación estadística se utiliza para resolver problemas con muchos datos, como ChatGPT. La respuesta de ChatGPT se basa en la probabilidad de que coincida con la solicitud proporcionada por el usuario.

Necesitarás aprender más que la media, mediana y moda cuando se trata de programación estadística. Necesitarás aprender sobre sesgo, covarianza y teorema de Bayes. Como programador, se te asignarán tareas y te darás cuenta de si tienes un problema de regresión lineal o un problema de regresión logística. Comprender la diferencia entre los dos te ayudará a identificar qué tipo de tarea tienes entre manos.

 

Álgebra lineal

 

Es posible que hayas estudiado álgebra lineal en la escuela, o tal vez no. El álgebra lineal es muy importante y se utiliza ampliamente en gráficos por computadora y aprendizaje profundo. Para comprender el álgebra lineal, deberás entender estas tres palabras:

  • Escalar – un valor numérico único
  • Vector – una lista de números o un arreglo unidimensional
  • Matriz – una cuadrícula o un arreglo bidimensional

Los vectores pueden representar puntos y la dirección en un espacio tridimensional, mientras que las matrices pueden representar transformaciones que ocurren en estos vectores.

 

Conclusión

 

Este artículo te proporciona una descripción general rápida de los 10 conceptos matemáticos principales que mejorarán tu carrera en programación. Aprender los detalles no solo hará que tus tareas diarias sean más fluidas y fáciles de entender, sino que también podrán ser mostradas a tu empleador como una muestra de tu potencial.

Si estás buscando un libro GRATUITO para ayudarte, échale un vistazo a: Matemáticas para el Aprendizaje Automático: El libro electrónico gratuito.     Nisha Arya es una Científica de Datos, Escritora Técnica Freelance y Administradora de Comunidad en VoAGI. Está particularmente interesada en brindar consejos o tutoriales de carrera en Ciencia de Datos y conocimientos teóricos en torno a la Ciencia de Datos. También desea explorar las diferentes formas en que la Inteligencia Artificial puede beneficiar la longevidad de la vida humana. Una ávida aprendiz, busca ampliar sus conocimientos técnicos y habilidades de escritura, al tiempo que ayuda a guiar a los demás.