Phase 00 - Lesson 13

Las Cuatro Operaciones y el Orden

This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.

Cuando una linea de matematica mezcla mas y por, la respuesta depende de que haces primero. Existe un orden acordado.

Tipo: Aprender Lenguajes: Python Requisitos previos: Nada mas alla de las cuatro operaciones: suma, resta, multiplicacion, division Tiempo: ~30 minutos

Objetivos de Aprendizaje

  • Leer una expresion matematica que mezcla las cuatro operaciones y evaluarla en el orden correcto
  • Enunciar el orden de las operaciones (parentesis, luego multiplicar/dividir, luego sumar/restar)
  • Explicar por que agrupar con parentesis cambia la respuesta
  • Seguir el orden de evaluacion dentro de la expresion 34 / 128

El Concepto

Ya conoces las cuatro operaciones: suma (+), resta (-), multiplicacion (x) y division (/). Ese es todo el piso sobre el que construimos. Todo en esta fase es una pequena variacion de estas cuatro.

La primera variacion es minima, pero hace tropezar a casi todos. Cuando una sola linea mezcla operaciones, la respuesta no es "de izquierda a derecha". Mira:

2 + 3 x 4

Si vas de izquierda a derecha obtienes 2 + 3 = 5, luego 5 x 4 = 20. Incorrecto. La respuesta acordada es 14. Por que? Porque la multiplicacion se hace antes de la suma. Calculas 3 x 4 = 12 primero, luego 2 + 12 = 14.

Esto no es una regla inventada para molestar. La multiplicacion es suma repetida (la proxima leccion construye esto), asi que 3 x 4 es una cantidad unica empaquetada, 12, ya "cerrada" antes de que el + se ejecute.

El orden

Haz las operaciones en este orden, de arriba hacia abajo:

  1. Parentesis primero. Lo que esta dentro de ( ) se calcula antes de tocar el exterior.
  2. Multiplicar y dividir despues, de izquierda a derecha entre si.
  3. Sumar y restar al final, de izquierda a derecha entre si.

Un nombre comun para esto es PEMDAS (Parentesis, Exponentes, Multiplicar, Dividir, Adicion, Sustraccion). Los exponentes aparecen en la leccion 00-17; ignora la E por ahora.

Los parentesis anulan el orden

Los parentesis son una anulacion manual. Dicen "haz esta parte primero, sin importar que".

2 + 3 x 4   = 2 + 12 = 14
(2 + 3) x 4 = 5 x 4   = 20

Mismos numeros, mismas operaciones, agrupacion diferente, respuesta diferente. Los parentesis fuerzan que la suma ocurra antes de la multiplicacion.

Ejemplo resuelto: el orden dentro de 34 / 128

En NeuroGrid, un bloque de 128 pesos ternarios se almacena usando 34 bytes (veras de donde vienen estos numeros mas adelante). Los "bytes por peso" son:

34 / 128

Eso es una sola division, asi que aun no hay acertijo de orden. Pero supon que quieres "bytes por peso, luego duplicado para una copia de seguridad":

34 / 128 x 2

La division y la multiplicacion comparten el mismo nivel, asi que ve de izquierda a derecha: 34 / 128 = 0.265625 primero, luego x 2 = 0.53125. Si en cambio quisieras "34 dividido por la cantidad 128 por 2", debes escribir los parentesis:

34 / (128 x 2) = 34 / 256 = 0.1328125

Los parentesis son la diferencia entre una respuesta correcta y una incorrecta. Los ingenieros los escriben con generosidad.

Recuerdo activo

Produce la respuesta antes de leer. Lo mas facil primero.

  1. 10 - 2 x 3 = ?
  2. (10 - 2) x 3 = ?
  3. 20 / 4 / 5 = ? (recuerda: de izquierda a derecha entre las divisiones)

Respuestas: 4; 24; 1 (20/4 = 5, luego 5/5 = 1).

Alerta de error comun

La trampa es "siempre de izquierda a derecha". Vas de izquierda a derecha solo dentro del mismo nivel. Multiplicar/dividir como grupo vence a sumar/restar como grupo. Si dudas, agrega parentesis para hacer explicita tu intencion. La computadora nunca adivinara lo que quisiste decir.

Construyelo

python phases/00-setup-and-tooling/13-the-four-operations-and-order/code/order.py

Por que esto importa para la IA

Cada formula mas adelante en esta fase y en la siguiente es una linea que mezcla operaciones. El rendimiento del roofline, los bytes por peso, el cronograma de la tasa de aprendizaje, el producto escalar: cada uno es una expresion donde una agrupacion incorrecta da un numero cientos de veces mayor o menor. Acertar el orden es la diferencia entre un modelo que funciona y un numero en el que no puedes confiar.

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).