Chapter 2 - Addizioni di moltiplicazioni

Addizione e moltiplicazione sono le prime operazioni che ci insegnano a scuola. Sono chiaramente collegate, infatti guardando alle tabelline si vede che in ogni riga i numeri vengono SOMMATI ripetutamente.

12345 6789...
2 +2→ 4 +2→ 6 +2→ 8 +2→ 10 +2→ 12 +2→ 14 +2→ 16 +2→ 18
3691215 18212427
48121620 24283236
510152025 30354045
...
Ma qual'e' la relazione tra addizione e moltiplicazione?
Come funziona l'addizione? O, se preferisci, che proprieta' ha l'operazione che chiamiamo "addizione"?
E se conosco le proprieta' dell'addizione posso ricavarmi le proprieta' della moltiplicazione? E queste proprieta' sono collegate? In che modo?
E se l'addizione e la moltiplicazione sono collegate, come operazioni sui numeri, ha senso usarle assieme nelle stesse espressioni matematiche? E in quali situazioni mi potrebbe servire usarle assieme, e dov'e' che avrebbe senso?
Per rispondere a queste domande ci conviene fare un passo indietro e guardare ai numeri interi, e questa volta usare uno dei trucchi centrali della matematica: una volta che trovi qualcosa di buono, un'idea solida, ripeti ripeti e ripeti!
Ripetere una buona idea e' furbo, soprattutto considerando cosa abbiamo detto nel capitolo 1, cioe' che la matematica e' stata creata da persone per capire e lavorare con i numeri e i conti. I numeri sono astrazioni, non sono piu' percore, tacche o pallini disegnati, vivono nel loro mondo e hanno regole e proprieta' che sono idealizzazioni delle pecore o delle tacche. E proprio perche che sono astratti delle cose specifiche che vogliamo contare, i numeri possono SALTAR FUORI in molte situazioni differenti, e percio' ha senso che si riesca a riusare le stesse idee sui numeri in tantissimi contesti diversi. Anzi, persino l'attivita' matematica piu' banale del mondo, contare, e' ripetitiva... pensa che uno puo' "contare le pecore" per addormentarsi!

Addizione, un passo alla volta

Secondo una definizione dova a Peano (i cosi' detti assiomi di Peano) i numeri interi possono essere scritti a partire dallo zero e poi sommando uno ripetutamente. Per esempio 3 = 0 +1 +1 +1.
Nota: per ora stiamo considerando solo numeri interi positivi.
Seguendo Peano, l'azione di sommare uno si chiama "calcolare il successore di un numero". Quindi 3 e' identificato in modo univoco, sicuro, dicendo "il numero che e' il successore del successore del successore di zero"; questo modo di definire 3 e' univoco perche' nessun altro numero viene esattamente tre passi dopo zero. OK, benissimo, pero'... questa roba mi sembra molto simile ai numeri unari (vedi il capitolo 1), solo che qui abbiamo anche un modo di esprimere quando un numero e' zero! Proviamo allora a scrivere qualche numero nello stile di Peano, usando Z per 0 e S per il successore (cioe' +1): Z = 0 , SZ = 1, SSZ = 2 , ... , SSSSSZ = 5, ... OK, quindi posso scrivere un qualsiasi numero intero come numero di Peano (escludendo i numeri negativi per il momento), e questi numeri di Peano sembrano piuttosto primitivi nel senso che sono molto vicini a contare le pecore: 3 percore diventano il numero SSSZ; e a parte il carattere Z, per sapere il significato di un numero di Peano (il suo valore) mi basta contare quante S ci sono. In generale se un numero a e' un numero intero, allora: a = S ... SZ = 0 +1 ... +1
Bene, ora che so che un numero e' un'addizione ripetuta di +1, ma cosa mi dice questo su come sommare due numeri?
OK, come al solito e' meglio costruirci un'intuizione di cosa stiamo facendo usando un esempio concreto, e poi penseremo alla regola generale... Si puo' iniziare ad un'addizione tipo 5 + 3 e provare a mettere assieme i due numeri di Peano... del resto aveva funzionato per i numeri unari, no?! Sfortunatamente questa tecnica non funziona in questo caso, perche' 5 + 3 diventa: SSSSSZ + SSSZ e quanto li appiccico assieme ottengo SSSSSZSSSZ che non e' piu' un numero di Peano (in fatti ha due Z e non dovrebbe). Un'idea migliore sarebbe: butto la Z alla fine del primo numero, e poi sommo appiccicando le cifre dei due numeri: SSSSSZ + SSSZ → SSSSSZ e SSSZ → SSSSSSSSZ. Interessante. Un altro modo di guardare all'addizione e' che assomiglia all'operazione di successore ripetuta molte volte. Per esempio, se 3 e' anche "+1 ripetuto 3 volte", allora 5 + 3 sara' 5 + 1 + 1 + 1. Piu' in generale se ho due numeri da sommare, chiamiamoli a e b, allora e' corretto dire: a + b = a +1 ... +1
Una definizione diversa dell'addizione Comunque decidiamo di definire l'addizione tra numeri di Peano, l'operazione di addizione avra' le stesse proprieta. Quando sommo due numeri non conta l'ordine in cui li metto assieme. Per esempio se calcolo 5 + 3 e 3 + 5 mi viene lo stesso risultato. Usando la notazione di Peano infatto viene: 5 + 3 → SSSSSZ e SSSZ → SSSSSSSSZ
3 + 5 → SSSZ e SSSSSZ → SSSSSSSSZ
E il caso generale a + b e' semplicemente un mucchio di S che rappresentano a appiccicate ad un altro mucchio che rappresenta b, quindi chiaramente l'ordine con cui li appiccico assieme non conta, e il risultato sara' sempre lo stesso: a + b = b + a E questo e' vero per qualsiasi coppia di numeri!
Ma davvero?! E cosa succede se b e 0? Oppure 1? Be', vediamo un po'. Posso provare a mettere b = 0 nella formula sopra, e mi verrebbe: a + 0 → S...SZ e S...SZ → S...SZ e Z = a

perche' cosa potra' mai essere "un mucchio di S ripetuto 0 volte"? Sara' niente, giusto?
E quindi e' anche vero per qualsiasi numero (intero, fino a questo punto) che sommare zero non ha alcun effetto: il risultato e' semplicemente il numero di partenza. Nessuna sorpresa, ma e' bello VEDERE da dove vengono le proprieta' dell'addizione.
E cosa capita invece se b = 1? Che ne pensi?
Un numero intero a piu' uno fa... a + 1 → S...SZ e SZ →


S...SZ e SZ → S...SSZ

lo stesso che il successor del numero a. Di nuovo, nessuna sopresa, ma almeno la nostra intuizione di cosa vuol dire sommare due numeri ha ancora senso se scriviamo i calcoli con i numeri di Peano.

Quindi abbiamo finit con l'addizione? Non proprio, c'e' ancora una cosa che possiamo considerare: e' un'operazione REVERSIBILE? Dopo aver sommato due numeri assieme otteniamo un nuovo numero: e' possibile trovare i due numeri iniziali, sapendo solo il nuovo numero? Come esempio considera: 3 + 5 = 8, ma 8 = 1 + 7 e 8 = 2 + 6 e anche 8 = 4 + 4. Quindi la risposta e' "no", l'addizione non e' reversibile. I due numeri che vengono sommati sono troppo mescolati per poter ricostruire cosa erano soltanto partendo dalla loro somma.
E' un po' come prendere le lettere di due parole e metterle assieme, e poi creare un anagramma che usa tutte le lettere; dato l'anagramma risultante e' molto difficile trovare con sicurezza, esattamente le due parole originali. Per esempio sapendo che ho ottenuto l'anagramma PAGNOTTINA, potresti trovare/indovinare le due parole da cui sono partito?
La soluzione e' alla fine del capitolo.

Cosa vuol dire moltiplicare?

Bene, quindi adesso grazie ai numeri di Peano, abbiamo una definizione di numeri e di addizione che si basa sull'idea di ripetere qualcosa molte volte. Abbiamo anche scoperto varie proprieta' dell'addizione (come operazione). Ora, c'e' una cosa che non abbiamo considerato quando si sommano due numeri: cosa succede se sono uguali? O se preferisci "quando fa a + a?" per un qualche numero intero a, che sia uguale o piu' grande di zero (perche' non siamo ancora sicuri se questa roba di Peano funziona per i numeri negativi). E dato che ci stiamo chiedendo delle domande di questo tipo, quando fa a + a + a, ecc. ?
Dato che non abbiamo definito cosa vuol dire moltiplicare due numeri di peano (ma sappiamo cosa vuol dire moltiplicare due comuni numeri in base 10) la cosa migliore che possiamo fare e' provare a vedere cosa succede a a + a usando la regola che abbiamo ricavato prima per sommare numeri di Peano e magari qualcuna delle proprieta' dell'addizione. Partiamo dal fatto che un numero di Peano e' una ripetizione di +1 (letto "piu'-uni" al plulare), e quindi possiamo scrivere un numero a in questo modo: a → +1 ... +1


a → S...SZ

Ma com'e' fatto a + a? a + a → S...SZ e S...SZ = S...SZ = "2 volte a"
cioe' "a sommato a se stesso 2 volte". E com'e' fatto invece a + a + a? a + a + a = S...SZ = "3 volte a"
Interessante! Quindi in generale un numero a sommato a se stesso b volte avra' questa forma: a + ... + a = "b volte a"
e questo e' precisamente a * b. Quindi per noi a * b significa "a sommato a se stesso b volte".

Nota: il simbolo * viene usato per significare "volte" oppure "x" come ad esempio in "5x3". Nei prossimi capitoli useremo x come una variable, quindi e' meglio usare * per la moltiplicazione. Inoltre in molti linguaggi di programmazione * e' il simbolo comune per la moltiplicazione.

Anche per la moltiplicazione possiamo provare a costruirci un'intuizione di come funziona. Prima di tutto possiamo cercare di visualizzare le addizioni in un altro modo, pensando che sommare e' come contare file di puntini. Ad esempio: 3 + 2 = 5 si puo' visualizzare ••• + •• = •••••
Allora "moltiplicazione" diventa sinonimo di "contare tutti i puntini in un'area", e
5 * 4 = 20 diventa il numero di puntini che ci sono nel rettangolo

•   •   •   •  
•   •   •   •  
•   •   •   •  
•   •   •   •  
•   •   •   •  

che ha cinque righe e quattro colonne di puntini. E se ti fermi a contarli, troverai che il totale di puntini nel rettangolo e' venti.
Ma possiamo anche fare un'altra cosa: possiamo calcolare la stessa moltiplicazione usando la nostra regola per l'addizione 5 * 4 = 5 + ... + 5 = 20
OK, funziona. Quindi moltiplicare due numeri e' in realta' solo una addizione ripetuta del primo numero, tante volte quanto il secondo.

Ma se la moltiplicazione (come operazione) e' solo una "addizione ripetuta", vuole dire che posso ricavare le proprieta' della moltiplicazione da quelle dell'addizione?
Forse no... perche' non e' cosi' chiaro come si fa ad andare da a + b = b + a o a + 0 = a, a qualcosa che riguardi la moltiplicazione... Ma possiamo sicuramente ragionare nello stesso modo che con l'addizione, e chiederci: "cosa succede se moltiplico a e b?" e anche "cosa succede se invece moltiplico b e a?". Altre domande interessanti sono: "cosa succede quanto moltiplico un numero per 0"? o per 1?". Per fortuna possiamo trovare le risposte a queste domande usano quello che abbiamo scoperto fino ad ora sui numeri di Peano, addizione e moltiplicazione!
Quindi andiamo al sodo: e' vero che a * b = b * a?
Be', se torniamo all'idea che "la moltiplicazione e' come contare tutti i puntini in un'area", possiamo vedere l'area in due modi diversi. Nel nostro esempio di 5 * 4 abbiamo:



• • • •
• • • •
• • • •
• • • •
• • • •



5 * 4 oppure 4 * 5, il conto dovrebbe darci sempre 20. Ma come facciamo a derivare questa proprieta' in generale, per qualsiasi coppia di numeri a e b? Proviamo a riscrivere a * b usando i numeri di Peano: a * b → a + ... + a


  S...SZ e ... e S...SZ 




S...S Z

e per lo stesso ragionamento possiamo scrivere: b * a = b + ... + b


S...S Z


Quindi sommare a a se stesso b volte oppure sommare b a se stesso a volte deve dare lo stesso risultato. E questo e' vero per qualsiasi coppia di numero. Fantastico!

OK, ma come funziona con a * 0 e a * 1? Be' dovrebbe essere semplice: basta prendere a * b, metterci dentro b = 0 e poi b = 1, e usare la nostra definizione di moltiplicazione! Facendolo ottengo: a * 0 → a + ... + a → "non sommare niente" → 0
e: a * 1 → a + ... + a → a
Che vuol dire che un numero moltiplicato per uno rimane se stesso. Tutto considerato, nessuna grossa sopresa. Ma almeno abbiamo un'altra conferma della nostra intuizione che le proprieta' della moltiplicazione sono un qualche modo simili a quelle dell'addizione, e che queste proprieta' hanno senso rispetto a quello che ci aspettavamo. E ci ho guadagnato qualcosa nel processo: ho capito perche' queste regole e proprieta' delle operazioni sono quello che sono.
E per finire in bellezza anche la moltiplicazione non e' reversibile, come l'addizione, perche' per esempio 20 puo' essere il risultato di MOLTE moltiplicazioni diverse: 5 * 4 = 20 = 2 * 10 = 1 * 20 = ecc.

Cosa succede quando usiamo addizione e moltiplicazione assieme?

Se la moltiplicazione e' una addizione ripetuta, che senso avra' mai mescolare le due operazioni? Be' possiamo dare un'occhiata a due possibili modi di mescolare + e * nello stesso calcolo: ( a + b ) * c = ? e anche ( a * b ) + c = ?
Vediamo la prima espressione: ( a + b ) * c. Si puo' vederla come l'area di un rettangolo con un lato ( a + b ) e l'altro lato c.
Come esempio considero: ( 3 + 2 ) * 4, lo disegno come un rettangolo e conto i puntini:

* = = =
Guardando all'ultimo rettangolo a destra, vedo che e' fatto da due rettangoli piu' piccoli, uno rosso e uno verde. Quello rosso ha un'area di 3 per 4 puntini, mentre quello verde ha un'area di 2 per 4 puntini. Quindi viene fuori che ( 3 + 2 ) * 4 e' lo stesso che ( 3 * 4 ) + ( 2 * 4 )
E nel caso generale, per tre numeri qualsiasi a, b e c posso scrivere: ( a + b ) * c = ( a * c ) + ( b * c )
In matematica questa si chiama "proprieta' distributiva della moltiplicazione", perche' parti da una moltiplicazione di un'addizione (dei due numeri tra parentesi) e ottieni un'addizione di due moltiplicazioni. Fammi rileggere l'ultima frase... non sembra un pochino circolare? Un po' come una formula magica?
Quello che dice e': piu' per piu' = per piu' per, oppure in simboli: (+) * (+) = (*) + (*) quindi quello che ho fatto e' scambiare un'operazione con un'altra, o se preferisci distribuire la moltiplicazione sulle due addizioni.
Come vedremo nel resto del capitolo e nel successivo, questa proprieta' delle espressioni che contengolo sia addizioni che moltiplicazioni torna molto utile. Incontreremo molti esempi dove questa o proprieta' simili ci aiuteranno.

Il secondo caso in cui mescoliamo addizioni e moltiplicazioni e': ( a * b ) + c E' qui non c'e' molto che possiamo fare per semplificare o riscrivere questa espressione: e' semplicemente quello che e'. E in effetti questa espressione sembra molto simile ad una delle combinazioni lineari di cui parlavamo nel capitolo 1, cioe' una somma pesata di a e c, con b che fa da peso. Per esempio, se scelgo sette come valore di b, mi viene: a * 7 + c. E cosa succede se gioco un po' con i valori di a e c? Prova tu: sperimenta con diversi valori nell'area gioco qua sotto.

Prova a mantenere il valore di a fisso, per esempio a=1, e a cambiare c da 0 fino a 6, e vedi cosa succede.
Cosa succede se dai a c il valore 7 o un valore piu' alto?
Adesso prova a tenere c fisso, per esempio c=1, e cambia a da 0 fino a 10. Che tipi di sequenze di numeri ti vengono fuori adesso?
E per finire scegli un numero, per sempio 23, e prova a raggiungerlo usando a e c come se fossero delle manopole. Parti da a=0 e c=0, e non lasciare MAI che c diventi 7 o di piu'.
Se riesci a raggingere 23, prova con altri obiettivi. Vedi come funzionano le combinazioni lineari?

Interessante. Quando b e' 10 la combinazione lineare ( a * b ) + c diventa ( a * 10 ) + c che e' praticamente un numero in base 10 con due cifre: a e c. Ad esempio, se a=2 e c=3, allora ( a * 10 ) + c mi da' 23. Questa combinazione lineare funziona proprio come un abaco (vedi il capitolo precedente).
E dall'abaco so che se c rimane tra 0 e 9 (cioe' b-1), allora posso sicuramente INVERTIRE il processo ed andare da 23 a ( 2 * 10 ) + 3. Inoltre, con questa espressione, 2 e 3 sono gli unici due numeri che posso generare 23, quindi la rappresentazione dei numeri su un abaco e' univoca.
Aspetta un attimo... ma quindi l'addizione e la moltiplicazione, che prese DA SOLE non sono reversibili, diventano reversibili se usate assieme!

Assieme... e reversibili!

Una combinazione lineare puo' anche essere un modo di riordinare, cioe' di contare i numeri in un ordine diverso.
Nell'area gioco qua sotto, sperimenta con vari pesi: gioca un po' con
a*10 + c, e poi con a*2 + c. Cambia i valori di a e di c per vedere come i numeri vengono riordinati dalla combinazione lineare.

Prova questa area gioco usando il peso 7. Muovi i cursori di fianco e sotto all'area gioco e vedi se riesci ad evidenziare il numero 51 in rosso
Che valori di a e c ci vogliono per ottenere 51 come risultato?
Adesso prova ad evidenziare in rosso il numero 6. Prendi nota dei valori di a e c, e poi muovi i cursori in modo da evidenziare il numero 7. Cosa e' successo ad a e c? Perche' pensi che siano cambiate in questo modo passando da 6 a 7?

La cosa interessante qui e' che quando il peso e' grande abbastanza, ogni numero e' il risultato di UN SINGOLO valore di a e c. Per esempio se decido che il peso e' 7, allora per evidenziare il numero 51 posso solo usare a=7 e c=2. Nessun'altra coppia di valori di a e c puo' generare cinquantuno, solo 7 e 2; e viceversa: cinquantuno puo' solo essere scritto come 7*7+2 senza lasciare avanzi, ed e' l'unico modo.
E, ancora meglio, tutti i numeri nella tabella sopra hanno questa proprietà!

Combiare delle cose ma tenendole separate

Quindi adesso sappiamo che una combinazione lineare puo' essere usata per assicurare che le cose funzionino in modo reversibile... Ma le combinazioni linear posso fare anche di piu'.
Supponiamo che io voglia lavorare con quattro numeri, combinarli, ma anche potermi ricordare ogni numero separatamente. Quello che posso fare e' usare una combinazione lineare (che sarebbe a dire una somma pesata) cosi': A * peso1 + B * peso2 + C * peso2 + D
e INVENTARMI dei numeri abbastanza grandi da usare come pesi, in modo che non ci sia mai il rischio di mescolare i miei quattro numeri A, B, C e D.
E poi quando mi interessava mescolare solo due numeri ma tendoli separati (sfruttando la reversibilita' di certe combinazioni lineari), ho usato l'espressione a * 10 + c. E la facenda rimaneva reversibile, purche' c fosse piu' piccolo di a.
Allora perche' non provare con la stessa idea anche qui, e magari persino ripeterla piu' e piu' volte, per tutti i miei quattro numeri? (dopo tutto stiamo parlando di matematica e la matematica ama la ripetizione!). L'idea con due numeri era di SCALARE un numero 10 volte, e poi sommarlo all'altro. Come diventa questo trucchetto se ho quatro numeri?
Diciamo che voglio iniziare da A e B (perche' con due numeri so cosa sto facendo), e poi ci mettero' gli altri numeri, uno per volta. Viene fuori questo:

AA * 10 + B(A * 10 + B) * 10 + C ((A * 10 + B) * 10 + C ) * 10 + D
Questa espressione puo' sembrare un po' strana, ma quello che dice e': "scala 10 volte, aggiungi un numero, poi ripeti". OK? Questa formula mi puo' dire qualcosa dei pesi che sto cercando di trovare? Certo, e aiuta se prendo le due formule e le faccio diventare piu' simili. Da una parte avevo: A * peso1 + B * peso2 + C * peso2 + D e dall'altra ( (A * 10 + B) * 10 + C ) * 10 + D
E basta calcolarci la seconda formula: ( (A * 10 + B) * 10 + C ) * 10 + D →
( A * 100 + B * 10 + C ) * 10 + D →
A * 1000 + B * 100 + C * 10 + D
E vai! Devo solo costruire i miei pesi come 10 (che tra parentesi e' la nostra base qui) moltiplicato per se stesso ripetutamente.
E infatti: 1000 = 10*10*10, 100 = 10*10, e 10 = 10... Fico.
Una cosa interessante e' che questa combinazione lineare prende quattro numeri e li converte in uno singolo numero, e per di piu' se conosco questo singolo numero posso lavorare in retromarcia e sono sicuro di poter sempre trovare i quattro numeri originali. E se i numeri A, B, C e D sono piu' grandi di 10 posso comunque usare una combinazione lineare per mescolarli ma tenendoli separati: devo solo usare pesi piu' grandi! Per esempio se so che i miei quattro numeri posso essere numeri qualsiasi presi tra 0 e 15, mi basta scegliere come base il numero 16 e ottengo una combinazione lineare fatta cosi': A * 16*16*16 + B * 16*16 + C * 16 + D Per vedere come si usa una combinazione lineare di questo tipo, considera questi quattro numeri:0, 0, 12, 14 (che ho scelto perche' sono interessanti ma semplici abbastanza per non perderci). Se li sostituisco ad A, B, C e D nell'espressione sopra, mi viene: 0 * 16*16*16 + 0 * 16*16 + 12 * 16 + 14 →
12 * 16 + 14 →
206
Bene, e partendo da 206 so per certo che posso lavorare al contrario e ritrovare i valori originali di A, B, C e D. Provaci tu, usando l'area gioco nella sezione precedente: metti 16 come peso e vedi che due numeri devi combinare per evidenziare 206. (spoiler! saranno 12 e 14, quindi i quattro numeri che hanno generato 206 erano proprio 0, 0, 12, 14)

Persino i soldi funzionano in questo modo, solo che con i soldi dobbiamo combinare monete di diversa denominazione per raggiungere un importo specifico; e in generale ci sta bene se esistono piu' modi per combinare varie denominazioni per ottenere quell'importo. Infatti se guardiamo alle denominazioni delle monete come pesi si vede che non sono separati abbastanza per garantici la reversibilita', il che significa che non esiste un modo univoco per dividere un certo importo in pezzi di valuta. Soldi visti come una combinazione lineare

Pesi usati per dare significato

Fino ad ora abbiamo lavorato con pesi che sono semplicemente numeri... e abbiamo appena visto che scegliere un buon insieme di pesi puo' aiutare a tenere dei numeri separati in una combinazione lineare.
Ma cosa succede se voglio che i miei pesi rappresentino, per esempio, varie quantita' di ingredienti come in questa ricetta delle crepes:

1 * uovo + 2 * decilitriLatte + 3 * ettiFarina = 5 * crepes
Questa una combinazione lineare delle variabli: uovo, decilitriLatte, ettiFarina e crepes, dove non sono veramente interessato a dare un valore alle variabili. In questo caso infatti 1 * uovo e' interessante perche' ha a che fare con le uova, non perche' uovo abbia un certo valore (che ne so, 123).
Questo modo di usare combinazioni lineari ci porta ai polinomi. Per maggiori informazioni sui polinomi, come ottimo modo per tenere separate cose di tipo diverso, vedi il capitolo 5. Nel capitolo 6 useremo i polinomi anche per scrivere domande matematicamente e per trovarne le risposte.

Morale della storia fin qua: i numeri posso essere visti come ripetizioni dell'operazione +1. L'addizione a+b diventa allora una ripetizione: devo usare +1 sul numero a, b volte. E per finire, la moltiplicazione a*b e' il numero a sommato a se stesso ripetutamente, b volte.
Ci sono due modi di mescolare addizioni e moltiplicazioni nella stessa espressione matematica. Uno ci porta alla notevole "proprieta' distributiva della moltiplicazione", che sara' molto utile per calcolare e semplificare espressioni matematiche. L'altro modo porta invece alle combinazioni lineari, e a come possono essere usate brillantemente per combinare molti numeri in uno solo, mantenendoli separati (o almeno separabili).

E se ripeto la moltiplicazione?

L'addizone e' ripetizione dell'operazione +1 (seguendo le idee di Peano sui numeri interi), e la moltiplicazione e' anche lei una repetizione, ma di addizioni questa volta. Allora potremmo anche avere una repetizione della moltiplicazione? E cosa ne verrebbe fuori? Considera un caso di questo tipo: 2 * 2 * 2 * 2 = 2 * ... * 2 = "2 moltiplicato per se stesso 4 volte" = 24
Questa operazione si chiama POTENZA (o elevamento a potenza), e 2*2*2*2 si puo' leggere come "2 alla 4ta potenza" che da' 16 come risultato. La potenza e' una moltiplicazione ripetuta, proprio come la moltiplicazione e' un'addizione ripetuta! Nel caso generale "a elevato alla potenza b" funziona cosi': ab = a * ... * a = "a moltiplicato per se stesso b volte"
A questo punto tu ti chiederai: quali saranno mai le proprietà dell'operazione di elevamento a potenza? E' vero che se prendo due numeri qualsiasi a e b, ab = ba? (che poi sarebbe come chiedersi "ma l'ordine conta?") La potenza e' un'operazione reversibile? E cosa succede se b e 0 oppure 1?
Be' possiamo iniziare a controllare se l'ordine degli operandi conta. A occhio mi sembra improbabile che ab = ba possa essere vero per qualsiasi coppia di numeri a e b... e allora invece di dimostrare (cioe' di convincerti) che e' proprio vero, potrei cercare un controesempio. Trovare anche solo un singolo esempio che contraddica la regola che ab = ba, sarebe abbastanza per concludere che la proprieta' NON E' VERA in generale. E allora ecco il controesempio: 23 → 2*2*2 → 8 ma 32 → 3*3 → 9 e i conti non tornano questa volta. In fatti 23 ≠ 32 perche' la prima potenza fa 8 mentre la seconda e' 9.
Comunque anche se ho trovato un controesempio e qundi SO che la proprieta' non e' vera per ogni possibile coppia di numeri, ci possono sempre essere alcune coppie di numeri per i quali la proprieta' e' vera. Per esempio e' vera per: 24 → 2*2*2*2 → 16
42 → 4*4 → 16

Molto bene, ma cosa possiamo dire sulla reversibilita'? Se conosco il risultato di un elevamento a potenza, sono sicuro di poter sempre trovare i due numeri di partenza? Anche qui posso usare 24 e 42 come esempio; entrambe le espressioni danno 16 come risultato, quindi se so solamente che il risultato di un elevamento a potenza e' 16 non posso essere sicuro se veniva da "due alla quarta potenza" oppure "quattro alla seconda". E questo basta a mostrare che la potenza non e' un'operazione reversibile, almeno non in generale.

Adesso voglio sapere cosa succede per valori come 0 oppure 1. Lo so come fare in questi casi: basta mettere b=0 e b=1 nella definizione della potenza (cioe' la regola per fare le potenze). Per b=0 mi viene: a0 = a * ... * a → "a moltiplicato per se stesso 0 volte" → ?
Be' qua mi sono piantato... che numero dovrebbe uscire da questo calcolo? Non e' chiaro.
Meglio provare invece con b=1 e speriamo di avere piu' fortuna. Con b=1 mi viene: a1 = a * ... * a → "a moltiplicato per se stesso per un totale di 1 volta sola" → a
e' il risultato e' semplicemente a, che mi va bene ed ha abbastanza senso. Pero' non so ancora cosa fare con a0, ma magari puo' aiutare considerare altre cose che sono vere per l'operazione di elevamento a potenza. Ad esempio con l'addizione e la moltiplicazione ci siamo chiesti cosa succedeva a mescolare le due operazioni. Sappiamo per esempio che a+a e' 2*a e che a+a+a fa 3*a, ecc.
Porei allora fare lo stesso ragionamento qui, ma usando la moltiplicazione e la potenza, e considerare: a*a, che poi e' a2, oppure a*a*a che e' a3 invece. Posso persino provare ad essere un pochino piu' generale e considerare: ab * ac Di sicuro fara': ab+c perche' posso espandere ab e ac, e riscrivere ab * ac come: a * ... * a * a * ... * a
e se adesso RAGGRUPPO tutte le a assieme me ne vengono b+c, cioe': a * ... * a * a * ... * a

Questo e' molto interessante! E se per qualsiasi a, b e c e' vero che: ab * ac = a(b+c) allora posso anche scegliere c=0, e mi viene: ab * a0 = a(b+0) = ab Benone, ma aspetta un attimo... se so che unCertoNumero * a0 = unCertoNumero allora sicuramente deve essere vero che a0 = 1, per le proprieta' della moltiplicazione! (In particolare perche' esiste solo UN numero che moltiplicato per unCertoNumero da' lo stesso unCertoNumero come risultato).
Quindi in un modo un po' contorto, la matematica dice che "un numero moltiplicato per se stesso 0 volte" e' uguale a 1, cosa che non era cosi' facile da vedere... ma comunque e' vero e lo abbiamo appena dimostrato.

Adesso giusto per farci una risata, prova a vedere quando fanno 01 e 00.
Suggerimento: usa la regola dell'elevamento a potenza.

E tra l'altro, come calcoleresti ab * cb?
Dove a, b e c possono essere tre numeri interi QUALSIASI.

Morale della storia fin qua: adesso che abbiamo lavorato con le potenze, abbiamo tre interessanti operazioni sui numeri interi: addizione, moltiplicazione ed elevamento a potenza. Sono constuite incrementalmente, ogni nuova operazione e' una versione ripetuta di quella precedente, e conosciamo alcune delle loro proprieta', che sono anche loro collegate e intrecciate nello stesso modo in cui lo sono le definizioni delle tre operazioni. Per esempio quando calcoliamo una espressione come ab * ac (cioe' una moltiplicazione di due potenze) finiamo ad usare l'addizione, visto che il risultato e' a(b+c).

Un'ultima cosa... "a elevato alla b" ha persino senso se b e' un numero negativo. Quando fa a elevato alla  -1 ?

Oltre la base 10

A questo punto dovresti riuscire ad anticipare le prossime domande...
Cosa succede se mescolo tutte e tre le operazioni nella stessa espressione matematica? In quali situazioni puo' servire, o ha senso farlo?
Be' se ti ricordi dei numeri in base 10 (sopra in questo capitolo), la somma pesata ci ha permesso di calcolare che valore aveva un certo numero E' un'espressione con addizione, moltiplicazione e potenze (le potenze di 10). I pesi della base 10 sono 1, 10, 100, ecc., e abbiamo ristretto le cifre ad essere numeri tra 0 e 9. Un numero di quattro cifre in base 10, diciamo A, B, C e D, e' un certo numero intero n, e possiamo calcolare il valore di n usando questa espressione: A * 103 + B * 102 + C * 101 + D * 100 → n Ad esempio il numero in base 10 con cifre 1,2,3, e 4 e' il numero n=1234 perche':

1 * 103 + 2 * 102 + 3 * 101 + 4 * 100
1 * 1000 + 2 * 100 + 3 * 10 + 4 * 1 →
1234
E questa operazione e' REVERSIBILE, visto che il SOLO numero che si puo' ottenere da 1,2,3, e 4 e' proprio 1234, quindi 1234 si puo' riscrivere in modo univoco come

"1 migliaio e 2 centinaia e 3 decine e 4"

Ma cosa succede se usiamo dei pesi costruiti usando altri numeri invece che 10? Il piu' piccolo numero che possiamo usare per i pesi e' 2 (perche' 1 non avrebbe senso e perderemmo anche la reversibilita'). Un numero con cifre a, b, c e d si puo' scrivere come combinazione lineare di potenze di due: a * 23 + b * 22 + c * 21 + d * 20
a * 8 + b * 4 + c * 2 + d * 1
e per analogia con il caso della base 10 possiamo aspettarci che le cifre a, b, c e d possanos solo valere 0 oppure 1.
Benvenuto alla base 2 (cioe' i numeri binari)! Questo modo di scrivere i numeri sembra strambo, ma e' perfettamente legittimo e se pensiamo nei termini degli abachi (come nel capitolo 1), e' un po' come dire che ogni asta dell'abaco puo' solo essere vuota o avere una pallina: un abaco veramente minimale.
Vediamo cosa succede se prediamo un numero e lo riscriviamo nella notazione della in base 2. Per esempio, per scrivere 13 in base 2 dobbiamo chiederci: "come faccio a costruire 13 usando solo potenze di 2?". Possiamo provare a partire dalla potenza piu' piccola di 2 e venire su. Il nostro obiettivo e' 13: 1 = 1 e' piu' piccolo di 13 → 1 + 2 = 3 piu' piccolo di 13
1 + 2 + 4 = 7 piu' piccolo di 13
1 + 2 + 4 + 8 = 15 piu' grande di 13 cavolo!
Questa strategia non e' cosi' buona. Proviamo invece a partire dalle potenze piu' grandi di 2 e andare INDIETRo invece: 16 piu' grande di 13, non va!
8 piu' piccolo di 13, bene!
8+4 = 12 piu' piccolo di 13
8+4+2 = 14 piu' grande di 13, non va!
8+4+1 = 13
Raggiunto: 13 e' 1 * 8 + 1 * 4 + 0 * 2 + 1, quindi 13 in base 10 e' anche 1101 in base 2!
OK, ma come lo leggo questo numero "1101 in base 2"? Per esempio 13 va letto come "tredici".
In base 2 si e' deciso di non leggere i numeri per come appaiono, quindi 1101 NON va letto "mille, cento e uno", perche' non stiamo piu' usando la base 10. Questi numeri si leggono cifra per cifra, quindi 1101 diventa "uno uno zero uno"... un po' scemo, ma questo e' il modo corretto di leggerlo.
Un modo alternativo di scrivere un numero in base 2 potrebbe essere di usare la nostra notazione con le scatole (vedi capitolo 1); e l'esempio di prima 1101 diventerebbe 1101.

Ora diamo un'occhiata al problema inverso: come trovo la versione in base 10 di un mumero binario? Anche qui possiamo provare ad usare la formula della somma pesata. Inizamo da un numero binario qualsiasi, come 10011101 (in Informatica e' tipco usare gruppi di 8 cifre binarie, anche noti come 8 bits o 1 byte), e lo mettiamo nella nostra formula: a * 23 + b * 22 + c * 21 + d * 20 Prima di tutto si vede che la formula ha bisogni di piu' termini: qui voglio lavorare con otto cifre binarie ma la formula ne ha solo quattro , quindi devo estendere la formula ad otto. cifra8 *27 + cifra7 *26 + cifra6 *2 + cifra5 *24 +
cifra4 *23 + cifra3 *22 + cifra2 *21 + cifra1 *20
E le mie cifre sono10011101, quindi cifra8, quella piu' a sinistra, deve essere 1; poi la cifra7 diventa 0, ecc. Bene, quindi per calcolare il risultato in base 10 devo solo rimpiazzare ogni cifra binaria con il suo valore: 1 *27 + 0 *26 + 0 *25 + 1 *24 + 1 *23 + 1 *22 + 0 *21 + 1 *20
1 *27 + 1 *24 + 1 *23 + 1 *22 + 1 *20
27 + 24 + 23 + 22 + 1 →
128 + 16 + 8 + 4 + 1 = 157 in base 10

Moltiplicare per 0 o per 1 e' intressante di per se! Qui ad esempio sembra che sia un modo di filtrare le potenze di due: quelle che sono moltiplicate per 0 spariscono, mentre le altre, quelle moltiplicate per 1, rimangono nel calcolo.
Un'altra interessante osservazione e' che possiamo leggere la somma pesata (cioe' la combinazione lineare) come due cose diverse, allo stesso tempo:
"la somma di cifre binarie, ogniuna pesata per una potenza (decrescente) di due"
ma anche
"la somma di potenze di due, ogniuna pesata da vari 0 e 1"
oppure "potenze di due filtrate" da cifre binarie, se preferisci.

Per essere sicuro che 157 in base 10 sia uguale a 10011101 in base 2, costruisci 157 usando le potenze di 2. Usa la strategia che abbiamo trovato sopra: inizia con la potenza di due piu' grande possibile e poi scendi.
Prova a vedere come sono fatte le potenze di 2: per esempio quanto fa 16 in base 2?
Poi prova i numeri vicino alle potenze di 2: per 16, potresti provare 15 e 17. Come sono fatte in base 2?

Combinazioni, ma questa volta usando moltiplicazioni e potenze

Una combinazione lineare e' un mix di addizioni e moltiplicazioni, o piu' precisamente e' un'addizione di moltiplicazioni. Una delle caratteristiche piu' carine di certe combinazioni lineari e' che possono essere reversibili.
E' interessante notare che possiamo combinare dei numeri in altri modi ed avere comunque la reversibilite'. Ad esempio possiamo definire una combinazione basata su una moltiplicazione di potenze (invece che addizione di moltiplicazioni), e quello che viene fuori e' piuttosto potente: la numerazione di Gödel. La numerazione di Gödel e' stata creata da Gödel per mostrare che una lista di numeri possono essere compressi in un singolo numero. E che il processo può essere e' reversibile. L'idea centrale qui e' di iniziare con una lista di numeri, diciamo 1, 2 e 3, e usare le potenze dei numeri primi per combinarli: 21 * 32 * 53 → n

Nota: andremo piu' in dettaglio sui numeri primi nel prossimo capitolo, quando esploreremo la sottrazione e la divisione. Giusto per avere un'idea di come sono fatti, i primi mille numeri primi sono elencati qui.

Questo modo di combinare numeri tende a creare risultati ENORMI, e infatti anche per la nostra lista di numeri che e' piuttosto corta, n e' probabilmente un numero parecchio grosso, e per liste appena piu' lunghe o con numeri poco piu' grandi, il risultato sara' ancora più grande. Qui n e' 2 * 3*3 * 5*5*5 = 2250.
OK, ma questo processo e' REVERSIBILE? Se conosco solo n, come faccio a ritrovare la lista originale 1, 2 e 3? Secondo Gödel il trucco qui e' riscrivere n come prodotto di numeri primi (che e' come dire "scomporre n in fattori primi"), e poi guardare gli esponenti dei numeri primi e detto, fatto!... formeranno la lista originale. Qui devo FATTORIZZARE 2250 in numeri primi: 2250:2 = 1125 →
1125:5 = 225 →
225:5 = 45 →
45:5 = 9 →
9:3 = 3 →
3:3=1
dove ho scritto "2250:2" per dire "2250 diviso per 2".
Il risultato e' che 2250 viene riscritto come 2*5*5*5*3*3, e visto che l'ordine non conta per la moltiplicazione, posso anche riordinare i fattori dal piu' piccolo al piu' grande: 2250 = 2*3*3*5*5*5 = 21 * 32 * 53 che e' esattamente la lista da cui siamo partiti: 1, 2 e 3. Wow.

Aspetta un attimino... Siamo sicuri che questo metodo funzioni per qualsiasi lista? Dopo tutto per le combinazioni lineare dovevamo fare attenzione di scegliere i pesi giusti... se non la combinazione poteva anche non essere reversibile.
Nessun problema! Per la numerazione di Gödel c'e' persino un teorema che ci garantisce che la fattorizzazione di un numero e' sempre unica, quindi non possiamo fallire con questa combinazione: sara' sempre reversibile. Bel lavoro Gödel.

Quindi la numerazione Gödel funziona come un SUPER abaco, o se preferisci, una generalizzazione della base 10 (vedi capitolo 1), dove vengono utilizzate moltiplicazione e potenze invece che addizione e moltiplicazione. Per essere precisi una combinazione lineare e' un'addizione di moltiplicazioni. Un'addizione qlcs + qlcs + qlcs di moltiplicazioni (qlcs * qlcs) + (qlcs * qlcs) + (qlcs * qlcs) dove i qlcs sono vari qualcosa diversi, come ad esempio diversi valori o variabili.
Una numerazione di Gödel e' invece una moltiplicazione di potenze. Moltiplicazione qlcs * qlcs * qlcs di potenze (qlcsqlcs) * (qlcsqlcs) * (qlcsqlcs) Sorprendentemente la numerazione di Gödel funziona con qualsiasi lista di numeri: non c'e' bisognio di limitare i numeri nella lista, come invece nel caso delle combinazioni lineari (ad esempio le cifre dei numeri ordinari in base 10 non possono eccedere 9). La numerazione di Gödel non ha problemi a comprimere una lista di qualsiasi lunghezza e con numeri grandi a piacere; la lista viene compressa in un SINGOLO numero, eventualmente enorme! Ad esempio, la lista 4, 6, 7, 8, 12 diventa 24*36*57*78*1112, che fa 16'486'713'209'345'820'741'011'250'000 e questo numero gigante si puo' scomporre in fattori primi in UNA SOLA MANIERA, per assurdo che possa sembrare: 24*36*57*78*1112 dopo aver eventualmente riordinato i numeri primi.

Usa l'area gioco qui sotto per convincerti che la lista di numeri 4, 6, 7, 8, 12 corrisponde davvero al numero di Gödel 16'486'713'209'345'820'741'011'250'000. Per avere un'idea di quanto ENORMI possono diventare questi numeri, prova liste con numeri piu' grandi, ad esempio: 77, 0, 123, 9. E' interessante notare che questo sistema numerico e' posizionale: prova 1,0,2 , poi 1,2 e poi 2,0,1.
Per finire prova una lista lunga ma con numeri piccoli. Per esempio prova queste liste:
3,1,4,1
3,1,4,1,5
3,1,4,1,5,9
...
3,1,4,1,5,9,2,6,5,3,5 (che poi sono le prime cifre di Pi greco). Hai visto quanto velocemente crescono i numeri di Gödel?!

Morale della storia fin qua: in matematica ci sono molti modi per ripetere la stessa idea o processo. Persino una cosa di base come un numero puo' essere vista come una ripetizione dell'operazione di aggiungere uno, partendo dal numero zero. Su questa definizone di numero abbiamo definito una regola per la somma che dice: a+b vuol dire a + "aggiungi uno, ripetuto b volte" Abbiamo poi scoperto che l'addizione ha certe proprieta', che vengono fuori dal modo in cui funzionano le ripetizioni. A sua volta la moltiplicazione e' solo una ripetizione di addizioni: a*b e' semplicemente a+...+a, ripetuto b volte. E anche la moltiplicazione ha proprieta' simili a quelle dell'addizione.
Possiamo anche combinare piu' numeri in un unico numero, utilizzando un mix di addizione e moltiplicazione (in una combinazione lineare), in modo tale che il processo sia reversibile. E questo vuol dire che le combinazioni lineari, se utilizzate in modo furbo, consentono di passare da tanti numeri (ad esempio delle cifre) ad uno, ma funzionano anche al contrario, da un singolo numero a molti. E viene fuori che basta usare lo stesso trucco che abbiamo discusso nel capitolo 1 con i numeri dell'abaco (cioe' base 10, la nostra notazione abituale per i numeri).
Per di piu' cambiando il modo in cui generiamo i pesi nella combinazione lineare, possiamo ottenere notazioni alternative per i numeri; per esempio invece delle potenze di 10, posso usare le potenze di 2 e questo mi da' dei numeri composti solo da 0 e 1: la cosiddetta base 2, o numeri binari.
Ma possiamo andare oltre e continuare a ripetere: moltiplicazioni ripetute ci danno l'operazione di elevamento a potenza, che ha delle sue proprieta' in qualche modo simili e legate a quelle dell'addizione e della moltiplicazione.
E per finire in bellezza possiamo anche definire un nuovo tipo di combinazioni basate su una moltiplicazione di potenze (invece della combinazione lineare, che e' un'addizione di moltiplicazioni): la potentissima numerazione Gödel.

Puzzle

(1) Gioca un po' con i numeri di Peano.

Converti tutti i numeri nelle seguenti espressioni in notazione di Peano, poi calcola i risultati delle espressioni, sempre usando la notazione di Peano. Alla fine converti i risultati da numeri di Peano ai numeri ordinari, in base 10.

Usa pure una calcolatrice se ti aiuta.

(2) Conta come nei cartoni animati.

I personaggi dei cartoni animati hanno spesso solo otto dita (quattro per mano). Ha senso che i loro abachi abbiamo solo da 0 a 7 palline per asta (invece che da 0 a 9 nel nostro caso). Questo modo di contare esiste ed e' noto come base 8 e funziona in modo molto simile alla base 10 e alla base 2.
Per convertire un numero di tre cifre dalla base 8 alla base 10 basta usare la giusta combinazione lineare di potenze di 8: a * 82 + b * 81 + c * 80 dove a, b, e c sono tre cifre in base 8. (NOTA: 82=64 e 80=1)
Converti i seguenti numeri dalla base 8 alla base 10:


Soluzione: PAGNOTTINA = GONNA PIATTI, ma anche PIGNA TONTA, e NO PIGNATTA.
Torna all'inizio