Phase 00 - Lesson 16
Operacoes Repetidas e a Virada da Contagem
This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.
Multiplicacao e apenas adicao feita varias vezes. Quando voce ve isso, pode fazer uma pergunta totalmente nova: quantas vezes eu repeti?
Tipo: Aprender Linguagens: Python Pre-requisitos: As Quatro Operacoes e a Ordem (00-13) Tempo: ~35 minutos
Objetivos de Aprendizagem
- Ver a multiplicacao como adicao repetida
- Fazer a "virada da contagem": em vez de fazer uma operacao, contar quantas vezes ela foi feita
- Construir a escada de dobras 1 -> 2 -> 4 -> 8 -> 16 e contar os degraus
- Preparar o movimento mental que torna os expoentes (00-17) e os logaritmos (00-20) faceis
O Conceito
Esta licao ensina uma forma de pensar, nao um novo simbolo. E a dobradica sobre a qual toda a fase gira.
Multiplicacao e adicao repetida
Voce aprendeu x como sua propria operacao, mas e um atalho para somar o mesmo numero de novo e de novo:
3 x 4 = 3 + 3 + 3 + 3 = 12
"3 vezes 4" significa "some 3, quatro vezes". O 4 nao e uma coisa que voce soma. O 4 e uma contagem: quantas copias de 3 voce empilhou. Segure esse pensamento. O numero que diz "quantas vezes" e um tipo de numero diferente da coisa que esta sendo repetida.
A virada da contagem
Aqui esta o movimento. Normalmente voce recebe as pecas e e perguntado pelo total:
some 3, quatro vezes -> qual e o total? -> 12
A virada inverte a pergunta. Voce recebe o total e e perguntado pela contagem:
fiquei somando 3 e cheguei a 12 -> quantas vezes eu somei? -> 4
Mesma situacao, pergunta oposta. A primeira pergunta "o que eu obtenho?". A virada pergunta "quantas repeticoes me trouxeram aqui?". Toda operacao inversa na matematica e uma virada de contagem desse tipo. A subtracao e a virada da adicao. A divisao e a virada da multiplicacao ("quantos 3 cabem em 12?" e 12 / 3 = 4). E depois, o logaritmo sera a virada do expoente.
A escada de dobras
A repeticao mais importante de todo este curriculo e dobrar: multiplicar por 2 de novo e de novo. Comece em 1 e continue dobrando:
inicio: 1
dobra: 1 x 2 = 2 (1 degrau)
dobra: 2 x 2 = 4 (2 degraus)
dobra: 4 x 2 = 8 (3 degraus)
dobra: 8 x 2 = 16 (4 degraus)
Leia a escada de duas formas:
- Para frente (a operacao): "dobre 3 vezes comecando em 1" chega a
8. - Virada (a contagem): "dobrei de 1 e cheguei a 8, quantas dobras foram?" A resposta e
3.
Essa segunda pergunta, contar as dobras, e exatamente o que um logaritmo e. Estamos construindo agora, quatro licoes mais cedo, para que quando ele chegar ja seja conhecido.
Pratica de memoria
Produza a resposta. Mais facil primeiro.
- Escreva
5 x 3como uma adicao repetida, depois de o total. - Comece em 1 e dobre 4 vezes. Onde voce chega?
- Dobrei de 1 e cheguei a 16. Quantas vezes eu dobrei?
Respostas: 5 + 5 + 5 = 15; 1 -> 2 -> 4 -> 8 -> 16, chega a 16; 4 dobras (conte as setas).
Alerta de equivoco
Armadilha critica, e ela retorna na licao do logaritmo: fazer uma divisao NAO e o mesmo que contar repeticoes. "Quantas vezes dobrei para chegar a 8?" nao e 8 / 2 = 4. Dividir por 2 uma vez apenas desfaz uma unica dobra (8 de volta para 4). Para contar as dobras voce precisa descer a escada repetidamente (8 -> 4 -> 2 -> 1) e contar os degraus, que e 3. Uma operacao versus uma contagem de operacoes: mantenha-as separadas.
Construa
python phases/00-setup-and-tooling/16-repeated-operations/code/repeated.py
Por que isso importa para IA
Tamanhos de modelo, memoria e taxas de aprendizado se movem por dobrar e dividir pela metade, nao por somar. "Dobro do contexto", "metade da precisao", "o modelo e 2^10 = 1024 vezes maior": tudo isso sao degraus em uma escada de dobras. A virada da contagem que voce praticou aqui e a unica ideia por tras dos expoentes, da notacao cientifica e da licao chave do logaritmo que define o nome "1.58-bit" de todo o projeto.