Associatività

Disambiguazione – Se stai cercando l'associatività nell'architettura a memoria cache per le CPU, vedi CPU cache.

In matematica, l'associatività (o proprietà associativa) è una proprietà che può avere un'operazione binaria. Significa che l'ordine di valutazione è irrilevante se l'operazione appare più di una volta in un'espressione. Detta in altro modo, non sono richieste parentesi per un'operazione associativa. Si consideri ad esempio l'uguaglianza

(5+2)+1 = 5+(2+1)

Sommando 5 e 2 si ottiene 7, e sommando 1 si ottiene il risultato 8 per il membro a sinistra. Per valutare il membro a destra, si inizia a sommare 2 e 1 ottenendo 3, e quindi si somma 3 e 5 per ottenere 8 ancora. Quindi l'uguaglianza è verificata. Di fatto è verificata per tutti i numeri reali, non solo per 5, 2, e 1. Diciamo che "l'addizione nell'insieme dei numeri reali è un'operazione associativa".

Le operazioni associative sono frequenti in matematica, e infatti molte strutture algebriche richiedono esplicitamente che le loro operazioni binarie siano associative. Tuttavia, molte operazioni importanti non sono associative; un esempio comune è il prodotto vettoriale.

Definizione

Formalmente, un'operazione binaria ∗ su un insieme S è detta associativa se soddisfa la legge associativa:

(x∗y)∗z=x∗(y∗z)per ogni x,y,z∈S.

L'ordine di valutazione non influisce sul valore di tale espressione, e si dimostra che lo stesso vale per le espressioni che contengono un numero arbitrario di operazioni ∗. Quindi, quando ∗ è associativa, l'ordine di valutazione può essere lasciato non specificato senza causare ambiguità, omettendo le parentesi e scrivendo semplicemente:

x∗y∗z.

Esempi

Seguono alcuni esempi di operazioni associative.

(x+y)+z=x+(y+z)=x+y+z(xy)z=x(yz)=xyz  }per ogni x,y,z∈ℝ.

M.C.D.⁡(M.C.D.⁡(x,y),z)=M.C.D.⁡(x,M.C.D.⁡(y,z))=M.C.D.⁡(x,y,z) m.c.m.⁡(m.c.m.⁡(x,y),z)=m.c.m.⁡(x,m.c.m.⁡(y,z))=m.c.m.⁡(x,y,z)} per ogni x,y,z∈ℤ.

(A∩B)∩C=A∩(B∩C)=A∩B∩C(A∪B)∪C=A∪(B∪C)=A∪B∪C}per tutti gli insiemi A,B,C.
(f∘g)∘h=f∘(g∘h)=f∘g∘hper ogni f,g,h∈S.
(f∘g)∘h=f∘(g∘h)=f∘g∘h
come prima. In breve, la composizione di mappe è sempre associativa.

Non associatività

Un'operazione binaria ∗ su un insieme S che non soddisfa la legge associativa è detta non associativa. In simboli,

(x∗y)∗z≠x∗(y∗z)per qualche x,y,z∈S.

Per tale operazione l'ordine di valutazione è importante. La sottrazione, la divisione e l'esponenziazione sono esempi ben noti di operazioni non associative:

(5−3)−2≠5−(3−2)(4/2)/2≠4/(2/2)2(12)≠(21)2.

In generale, le parentesi devono essere usate per indicare l'ordine di valutazione, se un'operazione non associativa appare più di una volta in un'espressione. Tuttavia i matematici si accordano su un particolare ordine di valutazione per molte operazioni non associative comuni. Questa è una convenzione, e non una verità matematica.

Un'operazione associativa a sinistra è un'operazione non associativa che viene valutata convenzionalmente da sinistra a destra, cioè,

x∗y∗z=(x∗y)∗zw∗x∗y∗z=((w∗x)∗y)∗zetc.  }per ogni w,x,y,z∈S

mentre un'operazione associativa a destra è valutata convenzionalmente da destra a sinistra:

x∗y∗z=x∗(y∗z)w∗x∗y∗z=w∗(x∗(y∗z))etc.  }per ogni w,x,y,z∈S

Esistono sia operazioni associative a sinistra che operazioni associative a destra; sotto sono dati alcuni esempi.

Altri esempi

Le operazioni associative a sinistra includono:

x−y−z=(x−y)−zper ogni x,y,z∈ℝ;
x/y/z=(x/y)/zper ogni x,y,z∈ℝ con y≠0,z≠0.

Le operazioni associative a destra includono le seguenti:

xyz=x(yz).
La ragione per cui l'esponenziazione è associativa a destra è che un'esponenziazione associativa a sinistra ripetuta sarebbe meno pratica: ad esempio, la funzione ex2senza parentesi verrebbe identificata con e2x. Le ripetizioni multiple possono (e, per chiarezza, vengono) riscritte con il simbolo di moltiplicazione:
(xy)z=x(yz).
x = y = z; è equivalente a x = (y = z); e non a (x = y) = z;
In altre parole, l'istruzione assegna il valore di z sia a y che a x.
      ⍝ ad A e C vengono assegnati degli scalari, a B un vettore, ⋄ è il separatore di statement
      A←2   ⋄   B←1 2 3 4 5   ⋄   C←1
      A×B     ⍝ moltiplica lo scalare A per ogni elemento del vettore B…
2 4 6 8 10    ⍝ … il risultato è un vettore
      B+C     ⍝ somma lo scalare C ad ogni elemento del vettore B
2 3 4 5 6
      A×B+C   ⍝ moltiplica lo scalare A per ogni elemento del vettore B+C
4 6 8 10 12
      A×(B+C) ⋄ (A×B)+C
4 6 8 10 12
3 5 7 9 11
ovvero A×B+C è equivalente a A×(B+C) e non a (A×B)+C.

Operazioni non associative per cui non è stato definito nessun ordine convenzionale di valutazione includono le seguenti:

(x+y)/2+z2≠x+(y+z)/22≠x+y+z3per qualche x,y,z∈ℝ.
(A∖B)∖C≠A∖(B∖C)per qualche insieme A,B,C.

Voci correlate

Altri progetti

Collegamenti esterni

  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica