¿Por qué usaste la multiplicación? En su lugar, podría haber usado la suma, repetido una cantidad suficiente de veces.
¿Por qué usaste la resta? Podrías haber usado la suma con números negativos.
¿Por qué usaste la división? Podrías haber usado el teorema del recordatorio chino y haber reemplazado toda división por sustracciones y, por lo tanto, por sumas.
- ¿Cuál es su problema (s) abierto (s) favorito (s) en Machine Learning desde la perspectiva teórica de un científico de la computación?
- ¿Qué conceptos matemáticos difíciles se pueden entender fácilmente mediante la programación?
- ¿Qué ventajas tienen las matemáticas mayores que recién comienzan a estudiar la programación en comparación con la especialización CS?
- Cómo WAP para encontrar el máximo de todos los elementos del tamaño de matriz 'n'
- Cómo solucionar problemas y resolver problemas de capa 1
Esto suena un poco oneroso. Su conocimiento de las matemáticas superiores, es decir, la multiplicación, la división y la resta, simplifica la forma en que piensa sobre el código. Y simplifica tu código. Hace que sea menos probable que contenga errores.
Esta es la misma razón por la que no intento expresar las fórmulas que necesito en términos de las cuatro operaciones que enumera, sino que utilizo el hecho de que pueden expresarse de manera mucho más sucinta incluso por funciones estándar y de nivel superior, incluso conocidas. entidades (no quiero llamarlos ‘objetos’ en el contexto de la programación, ya que los matemáticos y los programadores tienen ideas ligeramente diferentes sobre cuáles son). Algunos pueden ser:
- desviación estándar, media y mediana de las estadísticas , así como el concepto de probabilidad que, aunque no aparece en mi código, lo influye de múltiples maneras; algunos menos sutiles que otros;
- logaritmos, exponentes e integrales del cálculo ;
- matrices y exponenciación de matrices, y productos vectoriales, de álgebra lineal;
- Transformadas de Fourier, a partir de cálculos y análisis complejos. Este último, a su vez, requiere trigonometría antes de que tenga sentido.
- módulo, de teoría de números y teoría de grupos
- funciones y operadores booleanos
- y así.
Y ni siquiera soy programador, pero estas cosas son cosas que he usado en código durante los últimos meses. En el trabajo.
Todos y cada uno de estos son cosas que, en teoría, podría derivar de nada más que adiciones si quisiera. A veces con más esfuerzo, a veces con menos. Pero no tengo el tiempo para dedicarlo, así que uso bibliotecas con código terminado para usar.
Ah, y las integrales anteriores? Si bien son muy fáciles de implementar, el hecho de que podría usarlos en el contexto particular donde los usé fue que un cálculo con lápiz y papel usando Transformadas de Laverse inversas me dijo que esta integral debería ser igual a la expresión que involucraba una cantidad que necesitaba calcular El resultado final fue un código que no incluía nada más que suma, multiplicación, resta y división, pero nunca hubiera podido alcanzar la fórmula correcta, con las constantes correctas intercaladas en los lugares correctos, si no hubiera tenido la ayuda de las transformaciones y el concepto de lo que es una integral.
Dependiendo de con qué esté trabajando y dónde, puede ser que nunca los necesite. Tal vez eso está bien contigo. Quizás sea feliz escribiendo interfaces gráficas de usuario de una manera que nunca requiera matemáticas más avanzadas que las que usa en este momento. Según tengo entendido, muchos programadores parecen estar bien así.
(Fuente de la imagen: Beat Dance Equalizer – Max Pixel)
Supongo que cuando necesiten o quieran crear los espectros dinámicos en el ecualizador del reproductor de música, acudirán al ingeniero de hardware y pedirán ayuda.
Si soy ese ingeniero de hardware, debe haber una conferencia sobre las transformadas de Fourier allí. Posiblemente algún análisis complejo en ruta. Después de todo, soy un empollón de las matemáticas, y otras personas podrían (aparentemente) beneficiarse de un conocimiento adicional de las matemáticas. De lo contrario, no me habrían preguntado en primer lugar.
Después de eso, señalaré la biblioteca necesaria y cómo usarla. O podría escribir un código de ejemplo yo mismo. Más rápido de esa manera.
No es que mis amigos en el departamento de software sean unos idiotas: al contrario , son personas muy inteligentes, y escriben un código mucho mejor que yo. Pero por alguna razón, todavía me parece que evitan tocar el código matemático más pesado. Eso me hace sentir triste. Y a veces, también me da más trabajo.