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.

  1. Escreva 5 x 3 como uma adicao repetida, depois de o total.
  2. Comece em 1 e dobre 4 vezes. Onde voce chega?
  3. 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.

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