Phase 00 - Lesson 13
As Quatro Operacoes e a Ordem
This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.
Quando uma linha de matematica mistura mais e vezes, a resposta depende do que voce faz primeiro. Existe uma ordem combinada.
Tipo: Aprender Linguagens: Python Pre-requisitos: Nada alem das quatro operacoes: adicao, subtracao, multiplicacao, divisao Tempo: ~30 minutos
Objetivos de Aprendizagem
- Ler uma expressao matematica que mistura as quatro operacoes e avalia-la na ordem correta
- Enunciar a ordem das operacoes (parenteses, depois multiplicar/dividir, depois somar/subtrair)
- Explicar por que agrupar com parenteses muda a resposta
- Acompanhar a ordem de avaliacao dentro da expressao 34 / 128
O Conceito
Voce ja conhece as quatro operacoes: adicao (+), subtracao (-), multiplicacao (x) e divisao (/). Esse e todo o piso sobre o qual construimos. Tudo nesta fase e uma pequena variacao dessas quatro.
A primeira variacao e minima, mas derruba quase todo mundo. Quando uma unica linha mistura operacoes, a resposta nao e "da esquerda para a direita". Veja:
2 + 3 x 4
Se voce for da esquerda para a direita, obtem 2 + 3 = 5, depois 5 x 4 = 20. Errado. A resposta combinada e 14. Por que? Porque a multiplicacao e feita antes da adicao. Voce calcula 3 x 4 = 12 primeiro, depois 2 + 12 = 14.
Isso nao e uma regra inventada para irritar. Multiplicacao e adicao repetida (a proxima licao constroi isso), entao 3 x 4 e uma quantidade unica empacotada, 12, ja "fechada" antes de o + rodar.
A ordem
Faca as operacoes nesta ordem, de cima para baixo:
- Parenteses primeiro. O que esta dentro de
( )e calculado antes de tocar o lado de fora. - Multiplicar e dividir em seguida, da esquerda para a direita entre si.
- Somar e subtrair por ultimo, da esquerda para a direita entre si.
Um nome comum para isso e PEMDAS (Parenteses, Expoentes, Multiplicar, Dividir, Adicionar, Subtrair). Expoentes aparecem na licao 00-17; ignore o E por enquanto.
Parenteses sobrepoem a ordem
Parenteses sao uma sobreposicao manual. Eles dizem "faca esta parte primeiro, nao importa o que".
2 + 3 x 4 = 2 + 12 = 14
(2 + 3) x 4 = 5 x 4 = 20
Mesmos numeros, mesmas operacoes, agrupamento diferente, resposta diferente. Os parenteses forcam a adicao a acontecer antes da multiplicacao.
Exemplo resolvido: a ordem dentro de 34 / 128
No NeuroGrid, um bloco de 128 pesos ternarios e armazenado usando 34 bytes (voce vera de onde vem esses numeros mais adiante). Os "bytes por peso" sao:
34 / 128
Isso e uma unica divisao, entao ainda nao ha enigma de ordem. Mas suponha que voce queira "bytes por peso, depois dobrado para uma copia de seguranca":
34 / 128 x 2
Divisao e multiplicacao compartilham o mesmo nivel, entao va da esquerda para a direita: 34 / 128 = 0.265625 primeiro, depois x 2 = 0.53125. Se em vez disso voce quisesse "34 dividido pela quantidade 128 vezes 2", precisa escrever os parenteses:
34 / (128 x 2) = 34 / 256 = 0.1328125
Os parenteses sao a diferenca entre uma resposta certa e uma errada. Engenheiros os escrevem com generosidade.
Pratica de memoria
Produza a resposta antes de ler. Mais facil primeiro.
10 - 2 x 3= ?(10 - 2) x 3= ?20 / 4 / 5= ? (lembre: da esquerda para a direita entre as divisoes)
Respostas: 4; 24; 1 (20/4 = 5, depois 5/5 = 1).
Alerta de equivoco
A armadilha e "sempre da esquerda para a direita". Voce vai da esquerda para a direita apenas dentro do mesmo nivel. Multiplicar/dividir como grupo vence somar/subtrair como grupo. Na duvida, adicione parenteses para deixar a intencao explicita. O computador nunca vai adivinhar o que voce quis dizer.
Construa
python phases/00-setup-and-tooling/13-the-four-operations-and-order/code/order.py
Por que isso importa para IA
Toda formula adiante nesta fase e na seguinte e uma linha que mistura operacoes. A vazao do roofline, os bytes por peso, o cronograma da taxa de aprendizado, o produto escalar: cada um e uma expressao onde um agrupamento errado da um numero centenas de vezes maior ou menor. Acertar a ordem e a diferenca entre um modelo que roda e um numero em que voce nao pode confiar.