You are on page 1of 147

ANNALISA l\1ARCJA

Appunti di

MATEMATICA DISCRETA E LOGICA

2008-2009

October 21, 2008

2

Indice

1 INSIEMI E FUNZIONI 1.1 Insiemi.........

1.2 Corrispondenze e Applicazioni 1.3 Cardinalita eli un insieme

1.4 Pigeonhole principle

1.5 Il numero eli sottoinsiemi 1.6 Stringhe . . .

1.7 Permutazioni

1 1 4 8

10 10 14 14

2 INDUZIONE

2.1 Induzione su N 2.2 Notazionc sigma.

21 21 24

3 ANCORA SUL NUMERO DI SOTTOINSIEMI 3.1 Il numero di sequenze ordinate. . . . . . . . . . .

27 27

3.2 Il numero eli sottoinsiemi con un fissato numero eli elementi . 28

3.3 Il teorema binomiale . . 28

3.4 Distribuzionc di regali . 31

3.5 Distribuzione eli denaro . 32

4 INTERI, DIVISORI E PRIMI 4.1 Divisibilta eli interi . . .

4.2 Massimo comun elivisore

4.3 Numeri primi .

35

35

36

38

5 RELAZIONI SU UN INSIEME 5.1 Proprieta eli relazioni . .

5.2 Relazioni eli equivalenza .

43 43 44

11

INDICE

6 CLASSI DI RESTI

6.1 Congruenze .

6.2 Elementi invertibili di z.; 6.3 Funzione cp di Eulero . . 6.4 Ccnni sulla criptografia . 6.5 II criptosistema RSA . .

47 47 50 52 53 54

7 RELAZIONI DI ORDINE 7.1 Ordine parziale .

7.2 Reticoli .....

7.3 Algebre di Boole

7.4 Reti combinatorie

7.5 Espressioni booleane

7.6 Forma canonic a

57 57 59 61 65 67 70

8 GRAFI 8.1 I grafi

8.2 Grafi semplici . . . . . . 8.3 Sottografi e grafi ridotti 8.4 Grado di un vertice

8.5 Cammini .

8.6 Grafi connessi . . .

8.7 Un esernpio storico: i 7 ponti di Konisberg

73 73 75 76 77 77 82

83

9 ALBERI

9.1 Alberi liberi 9.2 Alberi ...

87 87 90

10 ALBERI DI DECISIONE 10.1 Codici di Huffman ...

99 103

11 LOGICA PROPOSIZIONALE 11.1 Introduzione . . . . . . . . . . 11.2 Alfabeto, parole e forrnule ..

11.3 Valutazioni: tautologie e for mule soddisfacibili 11.4 Tavole di verita . . . .

11.5 Metodo di risoluzione .

107 107 108 109 112 115

INDICE

III

12 LOGICA DEI PREDICATI

12.1 Introduzione .

12.2 Tipo, alfabeto, termini e formule

12.3 Interpretazione, valutazione e modelli

12.4 Forma norrnale pre ness a e skolemizzazione

12.5 Modelli di Herbrand .

12.6 Algoritrno eli unificazione .

123 123 125 126 132 136 138

IV

INDICE

Capitolo 1

INSIEMI E FUNZIONI

I concetti base sugli insiemi e funzioni sono gia stati introdotti nella scuola superiore e dovrebbero essere familiari. In questa capitolo vengono richiamate alcune terminologie e notazioni.

1.1 Insiemi

Un insieme S e una collezione di elementi x. Scriviarno xES quando x e un elemento di Sex rf_ S quando non 10 e .

Tre esempi molto import anti di insiemi sono:

1. l'insicrnc N dci numeri noiuroli, avcntc come clcmcnti i numcri 0, 1, 2, 3, 4, ... 0, come si usa scrivere,

N = {O, 1, 2, 3, 4, ... };

2. l'insicrnc Z dci numeri interi

Z = {O, 1, -1, 2, -2,3, -3,4, ... };

3. I'insieme delle frazioni di numeri interi

F = {p / q : p, q EN, q =1= O}.

Definizione 1.1.1 Due insiemi sana uguali se e solo se cotiienqono gli stessi elemenii. Cioe A = B significa

Vx[(x E A - x E B) /\ (x E B - x E A)].

1

2

CAPITOLO 1. INSIEMI E FUNZIONI

Siano A = {c, b, c}, B = {c, b, c}, C = {a, a, b, c, c}; evidentemente A = B = C per cui l'ordine in cui gli elementi sono scritti in un insieme non conta ed e ridondante scrivere un elemento pill di una volta.

I vari modi per descrivere un insierne sono:

1. Elencare (0 elencare parzialmente) i suoi elementi (come negli esempi 1. e 2.);

2. descrivere una proprieta che caratterizzi gli elementi (come nell'esempio 3.);

3. usare la recursione per clescrivere come generare l'insieme.

SuI punta 3. ritorneremo successivarnente .

Vedremo insiemi per cui 1. non funziona. Spesso anchc 3. c di difficile uso.

COS! in generale 2. c la scclta migliore. La notazionc per 2. c S = {x I P (x )} oppure S = {x : P(x)}.

E utile fissare particolari notazioni per insiemi a cui facciamo spesso riferimento. Oltre a N, Z visti precedentemente, usiamo Q per indicate I'insierne dei numeri razionali, R per I'insieme dei numeri reali e C per I'insieme dei numeri complessi. Il simbolo 0 e usato per indicare I'insieme privo di elementi detto l ' uisieme inioto.

Definizione 1.1.2 Siano A, B due insierni. Diciarno che A e sottoinsieme di B (in sirnboli A ~ B) .'Ie ogni elernento di A e anche elernento di B.

Se A ~ B e A # B ( e quiruli c 'e almena un elemetiio di B che non e in A) diciamo che A e un sotioinsieme proprio di B (in simboli A c B). Se A non C un sotioinsiemc di B, scriviarno A rz. B.

Sia S un insicmc.

Definizione 1.1.3 L'insieme delle parti (0 insieme potenza) di S, P(S), e l'insieme di tutti i sotiouisiemi di S Cioe :

P(S) = {AlA ~ S}.

E' immediate verificare che S E P(S), 0 E P(S).

Per evitare paradossi, nel seguito tutti gli insierni di cui parleremo sono pensati sottoinsierni di un insierne U.

Definizione 1.1.4 Siano A, B insierni.

1.1. INSIEMI

3

(i) L' unione di A e B, denotata con AU B e {xix E Aox E B}.

(ii) L'intersezione di A e B, denoiata con AnB c {xix E Aex E B}. (iii) La differenza di A e B, denotaia con A - B e {xix E A ex tI- B}. (iv) Il complementare di A, A') e {xix E U,x tI- A}.

Due insiemi A e B tali che A n B = 0 si dicono disgi'Unti.

L'unione (l'intersezione) di due insiemi puo essere estesa a un qualunque numero di insiemi Al, ... ,An ponendo

U~=l Ai = {x I x E Ai per qualche i = 1, ... , n} n~=l Ai = {x I x E Ai per ognii = 1, ... ,n}.

Analogamente si puo definire l'unione e l'Intersezione di una famiglia qualunque (Ai)iEI di insiemi. Come?

Esercizi 1.1.5

1. Dimostrare che (A - B) n (B - A) = 0.

2. Siano

A = {x I 3y (y ENe x = 2y)}

B = {x I 3y (y ENe x = 2y + I)} C = {x I 3y (y ENe x = 4y)}.

Dimostrare che

A n B = 0, A u B = N, A' = B, C C A, A u C A,

A-C={xI3y(y ENex=4y+2)}.

3. Dimostrare che valgono le seguenti proprieta :

AUB=BUA

(A u B) U C = AU (B U C)

A U (B n C) = (A U B) n (A U C) Au0=A

AUA' = U

AnB=BnA

(A n B) n C = An (B n C)

A n (B U C) = (A n B) U (A n C) AnU=A

AnA' = 0

Sfruttando le proprieta di sopra, dimostrare che:

AU (B n C)) n ((A' U (B n C)) n (B n C)') = 0.

4

CAPITOLO 1. INSIEMI E FUNZIONI

4. Consideriamo i seguenti sottoinsiemi di Z:

A = {x I~Y(Y E Z e Y ~ 4, x = 3y)} B = {x I~Y(Y E Z e x = 2y)}

C = {xix E Z e Ixl :S; 10}

Usando n, U,' , - dcscrivcrc ciascuno dci scgucnti insicmi in termini di A,B,C.

(a) L'insieme di tutti gli interi dispari.

(b) {-10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10} (c) {x/~Y(Y E Z e Y ~ 2, x = 6y)}

(d) {-9, -7, -5, -3, -1, 1,3,5,7, 9}.

1.2 Corrispondenze e A pplicazioni

Dati due elementi a, b e possibile formare la coppia orduuiia (a, b) avente pruno elemetito a e secondo elemenio b. Due coppie (al' bd e (a2' b2) sono uquali se al = a2 e bl = b2.

Si presti attenzione al fatto che la coppia ordinata (a, b) non e l'insieme {a, b}. Infatti, per esernpio, {1,2} = {2, 1}, mentre (1,2) #- (2,1) e (1,1) e una coppia, mentre {1, 1} = {1}.

Definizione 1.2.1 Siano A e B insietni. Il prodotto cartesiano di A e B, denoiaio con A x B e definito da

A x B = {(a, b) I a E A c b E B}.

COS! il prodotto cartesiano di due insicmi A e B c l'insieme di tutte Ic coppie ordinate il cui primo elemento e in A e il secondo e in B.

Abbreviamo A x A con A2; in generale usiamo An per indicare l'insieme di tutte le n-ple ordinate (al' a2, ... , an) di elernenti di A.

Esercizi 1.2.2 Siano A = {1, 2}, B = {3, 4}

1. Trovarc A x B.

2. Trovare B x A.

3. Trovare A2.

1.2. CORRISPONDENZE E APPLICAZIONI

5

4. Trovare B3.

Definizione 1.2.3 Dati due insiemi A e B una corrispondenza (0 relazione (binaria)) p [ra A e B e un sottoinsieme di A x B.

Se (a, b) E P diciamo che b corrisponde ad a (in p). Spesso scriviamo apb per (a, b) E P c la rclazionc c dcfinita dcscrivcndo propricta piuttosto chc clcncando tuttc lc coppic ordinate di p.

Esempio 1.2.4 Sia A = {1,2}, B = {2, 3, 4}. Sia p la corrispondenza tra A e B COS1 descritta:

x py se e solo se x + y e dispari.

Allora (1,2) E p. (1,4) E P e (2,3) E p.

D'altra parte siano A e B come sopra e p = {(2, 3), (2, 4)}; allora 2p3 e 2p4 rna, per esempio (1,3) tf_ p. Qui p non sernbra avere nessuna descrizione OVVIa.

Definizione 1.2.5 Siano A e B due insiemi. Un' applicazione (0 funzione 0 mappa) di A in B e una eorrispondenza cp di A in B con la sequenie proprieta :

per ogni a E A esiste un unico b E B talc che (a, b) E ip

Per indicare che cp e unapplicazione di A in B si scrive cp : A -----+ B; A e detto il dominic di cp e B ne e il codominio. Si scrive inoltre cp( a) = b invece di ( a, b) E ip, bel' immaqine di a sotto cp c a c una preimsnaqine di b. Se X s: A, cp(X) = {cp(x) [o: E X} c l'immagine di X (secondo cp). Se Y s: B, cp-l(y) = {a E A I cp(a) E Y} e la reiroimmaquie di Y (secondo cp).

Esempi 1.2.6 Le seguenti corrispondenze non sono applicazioni:

p = {(x, y) E N x Z I x = y4}; P = {(x, y) E N2 I x = 3y};

p = {(x, y) E Z2 I x2 = y2}.

Le seguenti corrispondenze sono invece delle applicazioni:

p = {(x, y) E N x Z I X4 = y}; p = {(x, y) E N2 I 3x = y};

6

CAPITOLO 1. INSIEMI E FUNZIONI

Esercizi 1.2.7

1. Sia S # 0. Dimostrare che

p = {(x, X) E S x P(S) / x E X}

c un' applicaziono se e solo se S ha un solo clemento.

2. Sia S un insicmc c A <:;;; S. La funzione caratteristica di A c una funzione fA: S -----+ {O, I} con fA (x) = 1 esattamente quando x E A.

(a) Sia S = {I, 2, 3,4,5,} e A = {I, 3, 5}. Quali sono le coppie orclinate di fA?

(b) Provarc chc per ogni S, per ogni A, B <:;;; S c per ogni xES

(c) Dimostrare 0 trovare un controesempio alla seguente afferrnazione: per ogni S, per ogni A, B <:;;; S e per ogni xES

Definizione 1.2.8 Sia cp : A -----+ B um'upplicazume. Allam ip si dice:

• iniettiva se, per ogni aI, a2 E A) cp( al) = cp( a2) implica al = a2.

CJuindi nessun elemento di B e imagine sotio ip di due elementi distinti di A.

• suriettiva se cp( A) = B. Quindi) per ogni b E B esisie a E A tale che cp(a)=b.

• biiettiva se e surieitioa e iniettiva.

Esercizi 1.2.9 Quali delle scgucnti applicazioni c inicttiva, suricttiva, biicttiva?

1. cp N -----+ N definita da cp( n) = 3n.

2. cp N -----+ N definita da cp(n) = n2 + 1.

3. cp Z -----+ N definita da cp( n) = Inl.

4. cp Z -----+ N definita da cp(n) = (n + 1)2.

1.2. CORRISPONDENZE E APPLICAZIONI

7

5. rp Z ----+ Z definita da rp(n) = n2 - 3n.

. . n ,. n+ 1

6. rp : N ----+ Z dcfinita da rp(n) = "2 - 1 sc n c pan, rp(n) = -(-2-) sc

n c dispari.

Definizione 1.2.10 Siano 1 : A ----+ Beg: B ----+ C. Allora la applicazione composizione (0 applicazione prodotto) di 1 e 9 ego 1 : A ----+ C definita da (g 0 f)(a) = g(f(a)) per ogni a E A.

Esercizi 1.2.11 1. Siano 1, 9 : R ----+ R COS! definite: per ogni x E R,

1 (x) = x2 e 9 (x) = x + 1.

(a) Quare il valore di (g 0 f) (2 ·3)? (b) Qual'e il valore di (f 0 g) (2 . 3)7

2. Dimostrare che la composizione di due applicazioni iniettive e iniettiva.

3. Dimostrare che la composizione di due applicazioni suriettive e suriettiva.

4. Dimostrare che la composizione di due applicazioni biiettive e biiettiva.

Definizione 1.2.12 Sia 1 : A ----+ B un'opplicazione. Se esiste un'opplicazione 9 : B ----+ A tale che 9 0 1 = iA e 1 0 9 =v» (is dove S e un uisieme denota I' applicazione identica da S in S), allora 9 e chiamaia la applicazione inversa di 1, denotaia con 1-1.

Si noti che abbiamo usato 10 stesso simbolo quando abbiarno introdotto l'irnrnagine inversa (0 retroirnrnagine, che e sernpre definita) di un insieme in un' applicazionc.

Esercizi 1.2.13

1. Dimostrare che se l'inversa di 1 esiste, questa e unica.

2. Dimostrare che 1 : A ----+ B e una biiezione se e solo 1-1 esiste.

3. Sia 1 : R ----+ R definita da l(x) = 3x + 4. Dimostrare che 1-1 esiste e descriverla.

8 CAPITOLO 1. INSIEMI E FUNZIONI

1.3 Cardirralita di un insieme

Definizione 1.3.1 Un insieme A e finito di cardirialita n E N se c'e una biiezione ira A e l'insieme {O; 1) ... , n - I}. Un insieme A e numerabile se c 'e una biiezione di A su N.

La cardinalita' dell'insieme finito A c indicata con I A I. I 0 1= 0 e 0 c l'unico insieme di cardinalita O.

Siano A e B due insiemi finiti, diciamo IAI = m, IBI = n.

Proposizione 1.3.2 (di iniettivita) Esiste f : A ----+ B inietiiua se e solo se m<n

Dimostrazione. Fissiamo A = {a1) ... , am}, B = {b1) ... , bn}. Se m ~ n: f ( ai) = bi, per ogni i = 1, ... , m definisce una funzione iniettiva di A in B.

Viceversa, se f : A ----+ B e iniettiva f ( «i), ... , f ( am) sono elementi distinti di B, quindi n ~ m.

Proposizione 1.3.3 (di surlcttivita) Esisie una [unzumc suriettiua di A 811, B se e solo se m ~ n

Dimostrazione. Se m ~ n ; f (aj) = bj, per ogni j = 1, ... ,n definisce una funzione suriettiva di A su B.

Viceversa, se f : A ----+ B e suriettiva possiamo scegliere Xl; ... ,Xn E A tali che f(Xl) = bl, ... ) f(xn) = bn; COS! Xl) ... ) Xn so no elementi distinti di A, quincli n ~ m.

Corollario 1.3.4 Esisie una applicazione biiettiua di A 811, B 8e e solo se n=m.

Proposizione 1.3.5 Siano A, B due insierni jiniti, allora IA x BI = IAI·IBI (Principio di moltiplicazionc).

Dimastrazione. Abbiamo visto che

A x B = {(a, b) / a E A eyE B}.

Per forrnare le coppie ordinate dobbiarno dapprima scegliere il primo elemento in A (per cui ci sono IAI scclte possibili) e quindi scegliere il secondo clemento in B (per cui ci sono I B I scclte possibili). Ci sono quindi I A I . I B I coppie ordinate. La proposizione 1.3.5 ovviamente puo essere generalizzata al prodotto di un qualunque numero finito di insiemi finiti.

1.3. CARDINALITA DI UN INSIElvIE

9

Proposizione 1.3.6 Siano A, B due insiemi .finiti,

(i) se An B = 0, allora IA U BI = IAI + IBI (Principio di addizione); (ii) I A - B I = I A I - I A n B I;

(iii) se B ~ A, IA - BI = IAI - IBI; (iv) IA U BI = IAI + IBI - IA n BI·

Dimostrczione.

(i) e immediata.

(ii) Osserviamo che A = (A - B) U (A n B) e che A - B e (A n B) sana disgiunti. Per cui da (i) segue che IAI = IA - BI + IA n BI·

(iii) Se B ~ A, An B = B e quindi dalla (ii) IA - BI = IAI - IBI.

(iv) Gli insiemi A - B, B - A e An B sono disgiunti e la loro unione e Au B per cui dalla (i) segue

IA U BI = I(A - B) U (B - A) U (A n B)I = = IA - BI + IB - AI + IA n BI =

= IAI - IA n BI + IBI - IA n BI + IA n BI = = IAI + IBI - IAn BI·

Esercizi 1.3.7 (a) Dimostrarc chc so A, B, C sono insicmi finiti

IAUBUCI = IA+ IBI + ICI-IAnBI-IAncl-IBncl + IAnBncl

(Principio di inclusione ed esciusione),

(b) Siano A e B due insierni, j : A -----+ B un'applicazione.Dimostrare che

(i) j e suriettiva {:} per ogni b E B, I j-l({b}) I~ 1 (ii) j c iniettiva {:} per ogni b « B, I j-l({b}) I~ 1 (iii) j e biiettiva {:} per ogni b « B, I j-l({b}) 1= 1

Di piu, se A c finito, I A 1=1 B I c j : A -----+ B, allora

j iniettiva {:} j suriettiva {:} j biiettiva.

10

CAPITOLO 1. INSIEMI E FUNZIONI

Ovviamente se A e infinito questa equivalenza fallisce,

(c) Trovare un insieme infinito S e rp : S -----+ Stale che rp e suriettiva rna non iniettiva.

( d) Trovare un insieme infinito S e rp : S -----+ Stale che rp e iniettiva rna non suriettiva.

1.4 Pigeonhole principle

Questo principio combinatorio prende il nome dal fatto che se pili di n piccioni volano in ti cassette, almeno una cassetta deve contenere pili di un piccione. Questo apparcntcrncnto ovvio principio c un corollario della proposizione di inicttivita. (1.3.2). Letto infatti in termini matcrnatici divcnta (dove A c I'insieme dei piccioni e B e l'insieme dei cassetti):

Pigeonhole Principle: Se A e B sana insiemi jiniti can IAI > IBI e 1 : A -----+ B, ollora per quclclu: a, a' E A can a i=- a',

1(0,) = 1(a').

Questo principio e molto utile. Per esempio dimostriamo che scegliendo 4 numeri qualunque nell'insieme {I, 2, 3, 4, 5, 6}, almeno una coppia di questi ha somma 7. Infatti ci sono solo 3 coppie ((1,6), (2,5), (3,4)) che hanno somrna 7. Ora applichiarno il Pigeonhole Principle dove le 3 coppie sono i cassetti e i 4 numeri scelti sono i piccioni. Vedremo altre applicazioni di questa principio in seguito.

Esercizi 1.4.1 ( a) Dimostrare che il Pigeonhole Principle e un corol-

lario della proposizione 1.3.2.

(b) Quante persons ci devono essere in una stanza per essere sicuri che almeno due di esse abbiano la stessa iniziale del nome?

1.5 II numero di sottoinsiemi

Ora chc abbiamo introdotto la nozione di sottoinsicmc, possiamo forrnularc il primo problema combinatorio: quale c il numero di tutti i sottoinsiemi di un insieme can n. elementi?

Cominciamo con numeri piccoli

1.5. IL NWlvIERO DI SOTTOINSIElVII

11

(i) l'insieme vuoto ha solamente un sottoinsieme (lui stesso)

(ii) un singoletto, diciamo {a}, ha due sottoinsiemi: {a} e 0

(iii) se I'insierne ha due elementi, diciamo {a, b}, allora ha quattro sottoinsierni: 0, {a}, {b}, {a, b}.

Non c'e nessuno sforzo nell'osservare che un insierne con tre elementi {a, b, c} ha come sottoinsierni

0,{a},{b},{c},{a,b},{a,c},{b,c},{a,b,c}.

Si puo osservare che, almeno per valori piccoli, il numero di sottoinsiemi e una potenza di 2. Non e difficile vedere che questa e vero in generale.

Sia A = {al, a2, ... an} un insierne di n elementi. In un qualunque sottoinsierne X di A possiarno includere oppure no al. In altre parole possiamo fare due scclte a questa punto. Indipendentemente dalla scclta fatta, possiamo includere oppurc no a2 ecc. Continuando ho 2n possibili sottoinsiemi di A.

Abbiamo allora dimostrato il

Teorema 1.5.1 Un insietne can n elementi ha 2n sottoinsiemi.

Possiamo illustrare il teorema anche con la figura seguente (per il casu n = 3):

S

12

CAPITOLO 1. INSIEMI E FUNZIONI

Leggiarno la figura come segue: vogliarno scegliere un qualunque sottoinsierne X. Partiarno dal cerchietto in alto (chiarnato un nodo). Il nodo contiene la dornanda al E X? I due archi che escono da questa no do sono etichettati con le due possibili risposte (S1, No). Prendiarno una decisione e seguiamo l' arco scelto fino al nodo successive, che contiene la domanda: a2 E X? E cosi continuando fino ache abbiamo esaurito tutti gli elementi dell'insieme. Scegliere un sottoinsieme X significa allora seguire un cammino dalla cirna alla fine. Ci sono allora tanti sottoinsiemi quanti so no i nodi all'ultimo livello. Poich6 il numero di nodi si raddoppia ad ogni livello, l'ultimo livello contiene 23 = 8 nodi (e sc abbiamo n clcmcnti, 2n nodi).

Osservazione 1.5.2 Una figura come quella di sopra viene detta albero (questa non e la definizione maternatica, che vedremo in seguito).

Diarno ora un'altra dimostrazione del teorema 1.5.1, rna adesso non vogliamo solamente scegliere un sottoinsieme, ma enumerare tutti i sottoinsierni, che significa che vogliamo etichettarli con 0, 1,2, ... in modo per esernpia di poter parlare del sottoinsieme n 23 del dato insieme. In altre parole vogliamo elencare i sottoinsiemi in una lista. Ci sono molti modi per farlo; un modo molto naturale e pensare di cominciare con 0, poi elencare i sottoinsierni con 1 elemento, poi quelli con 2 ecc. Oppure potremmo ordinare i sottoinsierni come in un elenco telefonico. Questo metodo sara pili trasparente so scriviamo i sottoinsicmi scnza parcntcsi c virgole. Per cscrnpio per A = {a, b, c} come sopra ottcniamo la lista

0, a, ob, abc, b, be, c.

Questi modi sono molto naturali, ma pensiamo ora di avere un insieme di 8 elementi (n = 8) e vogliamo trovare il 23-esimo sottoinsieme nella lista. Questo e difficile! C'e un modo per renderlo pili facile: consideriamo la funzione caratteristica di un sottoinsierne di {a, b, c}, per esempio X = {a, c}. Allora fx(a) = 1, fx(b) = 0, fx(c) = 1. X puo csscrc allora denotato con 101. Cosf ogni sottoinsieme di {a, b, c} puo csscrc codificato da una stringa di 0,1 di lunghezza 3. E' facile, data una tale stringa, risalire al sottoinsieme. Per esernpio 010 corrisponde al sottoinsieme {b}. Ogni stringa di 0,1 ci

1.5. IL NWlvIERO DI SOTTOINSIElVII

13

ricorela la rappresentazione binaria elegli interi

0 0
1 1
2 10
'J 11
,)
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010 Ora la forma binaria elegli interi 0,1, ... ,7 ricorela i codici eli sopra purche le
sequenze pili corte eli 3 vengano completate con elegli a a sinistra.
0 {:}o {:} 000 {:} 0
1 {:}1 {:} 001 {:} {c}
2 {:} 10 {:} 010 {:} {b}
3 {:}11 {:} all {:} {b,c}
4 {:} 100 {:} 100 {:} {a}
5 {:}101 {:} 101 {:} {a, c}
6 {:} 110 {:} 110 {:} {a, b}
7 {:} 111 {:} 111 {:} {a, b, c} Cosa succcdc in generale con un insicmc eli n clementi? Possiarno pensare una lista come quella eli sopra corninciando con 10 0 e che finisca con il pill granele intero che ha solo n cifre nella sua rappresentazione binaria (ricoreliamo che le cifre eli un numero in notazione bin aria sono elette bit.s). II pili piccolo numero con n + 1 bits e 2n, COS1 i sottoinsiemi corrisponelono ai numeri 0,1,2, ... ,2n - 1. Quineli ho trovato una biiezione tra l'insieme dei sottoinsiemi eli un insieme eli n elementi con {a, 1,2, ... , 2n - I} che e un insierne eli 2n elementi.

Esercizi 1.5.3 1. Nella corrisponelenza fra numeri e sottoinsiemi vista

sopra, quali numeri corrisponelono ai sottoinsiemi con 1 elemento?

2. Quale e il numero eli sottoinsiemi eli un insierne con n elementi, contenenti un fissato elemento?

14

CAPITOLO 1. INSIEMI E FUNZIONI

3. Quale e il numero di interi con

(i) al pill ti cifre?

(ii) esattamente n cifre.

1.6 Stringhe

Motivati dall'esigenza di codificare i sottoinsiemi corne sequenze di 0 e 1, vogliarno determinate il numero di stringhe (= sequenze finite ordinate) di lunghezza ti di k simboli. Il solito argomento (confronta Proposizione 1.3.5) porta aHa

Proposizione 1.6.1 Il uumero di sequenze di hmqhezza n di k simboli e k", Piu in qcnerolc, il numero di strinqlu: di lunqhezza n can prime elemenio preso da un insieme di kl elemcnii, secorulo elemenio preso da un insietne di k2 elementi, ... , ultimo clemente preso da un insieme di kn elemenii, e kl . k2 ..... kn·

Esercizi 1.6.2 1. Supponiamo che una base di dati abbia 4 campi: il primo contenente I'abbreviazione di 8 caratteri del nome di un impiegato; il secondo F 0 M per il sesso; il terzo la data di nascita nel forrnato rnrn-gg-aa; il quarto una matricola che puo avere 13 possibilita, Quanti record ha la nostra base di dati?

2. Disegnare un albero che conti il numero di stringhe di lunghezza 2 formate con i simboli a, b. c. fare 10 stesso per il problema pili generale con n = 3, kl = 2, k2 = 3, k3 = 2.

3. In un negozio di sport ci sono magliette di 5 colori, pantaloncini di 4 colori e calzini di 3 colori. Quante divise diverse si possono formate?

4. In quanti modi puo csscrc ricrnpita la schcdina del Totocalcio?

1.7 Permutazioni

Se abbiamo una sequenz a ordinata di ti oggetti, possiamo riordinarla in altro modo. Questo processo 10 chiamiamo una permuiazione dei dati oggetti. Quindi una permutazione e una biiezione dell'insieme degli n oggetti in se

1.7. PER1lvI UTA ZIONI

15

stesso; fra le possibili biiezioni c'e anche l'identita che viene chiarnata permuiazione identica. Per esempio l'insieme {a, b. c} ha 6 permutazioni che corrispondono agli ordinamenti

abc,acb,bca, cab, cba.

Teorema 1. 7.1 Il tiumero di permuiazioni di n oggetti e n!. Dimostrazione. Unapplicazione e definita assegnando una immagine (per cui ho n scelte possibili) a ciascuno degli n elementi. Poiche la pertnutazione e un'applicazione iniettiva (elementi diversi devono avere imrnagini diverse) si hanno

n· (n - 1) . (n - 2) ..... 1 = n!

possibili permutazioni. •

Si pUG illustrate il tcorcma con il scgucntc albcro di riccrca

a

b

c

c

Partiamo dal vertice dell' albero (il nodo pili in alto) che contiene la prima domanda (chi e il primo elemento?). I 3 archi che escono dal vertice so no le 3 possibili risposte alla domanda. Presa una decisione il no do successive conticnc la domanda: chi c il sccondo clemente? ccc. E' chiaro chc per un insicmc di n clcmcnti, ti archi cscono dal vcrticc, quindi n - 1 chc cscono da ciascun figlio e quindi al terzo livello ci so no n( n - 1) nodi. Alla fine ci sono n! nodi.

16

CAPITOLO 1. INSIEMI E FUNZIONI

Esercizi 1.7.2 1. n raga7,7,i ed n ragazze vanno a ballare. In quanti modi

possono ballare tutti simultanearnente (pensando coppie formate da una ragazza e da un ragazzo)?

Se A e finito, diciarno IAI = n, indichiamo con {I, ... ,n} gli elementi di A e con Sn I'insieme delle sue perrnutazioni.

Per una qualunque permutazione 1 E Sn si usa la notazione

2

1(2)

Si dice che un elemento i dell'insieme {I, ... ,n} e spostato da una permutazione 1 E Sn se 1 (i) # i. Si dice invece che i e fissato da 1 se 1 (i) = i. Due perrnutazioni 1 e 9 dell'insierne {1, ... , n} si dicono disqiunte se l'insieme degli elementi spostati da 1 e quello degli elementi spostati da 9 sono disgiunti.

In generale 1 0 9 # 9 0 1· Siano per esempio 1, 9 E S5

f ~ C 2 3 4 : ) C2 3 4 5)
g=
4 2 3 5 1 4 2 5 3
Allora
C 2 3 4 : )
fog
5 2 1
mentre
gof ~ C 2 3 4 : )
5 4 2 3 Se invece f e 9 so no disgiunte allora fog = go f. Infatti, sia i un elemento di {I, ... , n} spostato da f. Allora anche f (i) e spostato da f (perche"), e quindi i e f (i) sono entrambi fissati da g, in quanta f e 9 so no disgiunte. Quindi risulta

(.f 0 g)(i) = f(g(i)) = f(i) = g(.f(i)) = (g 0 .f)(i).

Se invece i c un clemento di {I, ... ,n} fissato da f e talc che g(i) # i, si ha allo stesso modo (.f 0 g) (i) = (g 0 1) (i). Ovviamente la stessa uguaglianza vale nel caso 1(i) = g(i) = i.

1.7. PER1lvI UTA ZIONI

17

Definizione 1.7.3 Sia k un numero intero 1 < k < n, Si dice che una permuiazume f E Sn e un k-ciclo, oppure un ciclo di lunqhezzo k se esistono elementi a due a due distinti i1, ... ,ik di {I, ... , n} tali che

f(i1) = i2, f(i2) = i«, ... , f(ik-d = ik, f(ik) = 21 e f(j) = j per ogni j tJ_ {il, ... , ik}.

In questo caso la perrnutazione f si denota col simbolo (i1' ... , ik). Quindi i k simboli

rappresentano uu'unica perrnutazione di Sn.

Ovviamente l'unico cielo di lunghezza 1 in Sn e la perrnutazione identica.

Un cielo di lunghezza 2 si chiama trosposizione. Un k-cielo si dira non banale

se k ~ 2. Si osservi che se f = (i1, ... ,ik) e 9 = (j1, ,jh) sono cieli non

banali in Sn, allora f e 9 sono disgiunti se e solo se {i1, , idn{j1, ... ,jh} =

0. E' facile dimostrare la seguente

Proposizione 1. 7.4 Sia f una permuiazione non identica di s; Allora f e un ciclo oppure e prodotto di cicli non banali a due a due di8giunti, in modo unico a meno dell' ordine dei fattori.

Dimostrazione. Sia f E Sn. Ualgoritmo per scriverla come prodotto di cieli e il seguente. Si comincia con 10 scrivere il numero 1:

(1.

Se f manda 1 in a2 E {2, ... , n}, si scriva

Ora f manda a2 in a3 E {2, ... ,n} - {ad, e si scriva

Continuando con questo procedimento si ritrovcra prima 0 poi un numero ripetuto (al pili aH'(n + l)-esimo tcrrninc, sc non prima). II primo numero ripetuto deve essere 1. Altrimenti se si avesse (1 a2 a3 ... ad at), dove 1 a2 a3 ... ad sono distinti e 1 # t ::; d allora at sarebbe l'immagine di due

18

CAPITOLO 1. IN5IEMI E FUNZIONI

elementi distinti at-l e ad e questa contraddice l'lniettivita di f. La prima volta che si incontra una ripetizione del numero 1 si chiuda la parentesi:

Si corninci poi un altro ciclo partcndo dal pill piccolo numcro non usato ncl ciclo prcccdcntc. Sc un talc numcro csistc si ripcta il proccdimcnto di sopra. Se tutti i numeri da 1 a n sono gia stati trovati in cieli precedenti abbiamo terminato.

E' chiaro che in questa modo ogni permutazione si scrive come prodotto di cieli disgiunti e che tale scrittura e unica a meno dell'ordine dei fattori .

..

Esercizi 1.7.5 (a) Si considerino in 58 le permutazioni
C 2 3 4 5 6 7 :)
f
OJ 4 7 1 5 6
o
c
C 2 3 4 5 6 7 :)
9
1 2 5 7 4 6 Determinate il prodotto fog, e decomporlo nel prodotto di cicli disgiunti.

(b) Si consideri in 89 la permutazione

f

(41: :l 4 56 7 89). c 6 1 872 3 9

Decomporre f nel prodotto di cieli disgiunti e determinare I'inversa di



Lemma 1.7.6 Sia f = (al a2 a3 ... ad) un ciclo di lunghezza d ~ 2 in 8n. Allora f e prodotto di d - 1 trasposizioni.

1.7. PER1lvI UTA ZIONI

19

Dimostrczione. Per un cielo (al a2 a3 ... ad) si ha

Proposizione 1. 7.7 Ogni permuio.zione pUG essere scritia come prodotto di trasposizioni.

Dimostrczione. Se al, a2 sono elementi distinti di {1, ... , n}, si ha che (ala2)(ala2) e la pertnutazione identica e quindi la perrnutazione identica e prodotto di trasposizioni. Sia quindi f una perrnut.azione non identica. La Proposizione 1.7.4 assicura che f e un cielo oppure e prodotto di cieli non

banali, sicche f e prodotto di trasposizioni per il Lemma 1. 7.6. ...

Si noti pero che una stessa permutazione ha varie fattorizzazioni in prodotto di trasposizioni: ad esernpio si provi per esercizio che le seguenti permutazioni di 34 coincidono:

(13) (24) , (14) (12) ( 43) (14), ( 42) ( 41) ( 43) ( 41) .

Segue pcro da un tcorcma che ometteremo, che il numero dci fattori in tali dccomposizioni c scmprc pari ° scmprc dispari. Una permutazione f si dice pari se e prodotto di un numero pari di trasposizioni, di8pari altrimenti. II Lemma 1. 7.6 assicura che un cielo f di lunghezza k ~ 2 e prodotto di k - 1 trasposizioni, e quindi f e una permutazione pari se k e dispari, mentre f e una permutazione dispari se k e pari.

Se o e una perrnutazione definiamo seqno di o (sgn(cr )) 1 se o e pari e -1 altrimenti.

20

CAPITOLO 1. INSIEMI E FUNZIONI

Capitolo 2

INDUZIONE

2.1 Induzione su N

A pagina 2 abbiamo citato che gli insierni possono essere definiti ricorsivamente. Prcndiamo per cscrnpio l'insicrnc N dci numcri naturali

N = {O, 1,2,3,4,···}.

Un modo per descriverlo potrebbe essere attraverso gli assiorni:

AlOe un numero naturale.

A2 So n c un numcro naturale allora n + 1 c un numero naturale

Chiaramonte Al e A2 permettono di catturare tutti i numeri naturali, rna non perrnettono di decidere se un dato oggetto e un nurnero naturale. Per questa rnotivo aggiungiarno

A3 (completezza) Niente altro e un numero naturale.

Il concetto di numero naturale e allora posto. Sappiamo che 0 E N per AI. DaA2

3 = 2 + 1 = (1 + 1) + 1 E N,

rna per A3 7r tf_ N.

Questi assiomi possono essere usati per derivare tutte Ic propricta note dei numeri naturali. Descrivono esttamente cosa e un numero naturale , dando il "primo" numero naturale e un metoda per ottenere numeri naturali

21

22

CAPITOLO 2. INDUZIONE

da vecchi. Questo modo di descrivere un ogetto matematico e usualmente chiamato definizione induttiva 0 ricorsiva.

In generale, ogni definizione induttiva segue 10 schema

• Base dell'induzione, definendo uno 0 pili elernenti iniziali dell'insieme che stiamo definendo.

• Passo induttivo, in cui viene data una 0 pili regole per ottenere nuovi elementi da elementi gia definiti.

• Completezza

Per esernpio possiarno definire una coda come segue

• Una singola persona e una coda.

• Se prcndiamo una coda csistcntc e poniamo una persona dietro l'ultima persona della coda, il risultato c una coda.

• Nicntc altro c una coda.

Ora supponiamo di voler dimostrare che ogni numero naturale gode di una certa proprieta P. Lo strumento pill utile per dimostrare cia e seguente

Principio di induzione (Prima Forma). Sia P un'asserzione sui numeri interi n > O. Supponiamo che siano soddisfatte Ie seguenti condizioni:

1. Pc vera per il numcro 0 (in simboli P(O));

2. per ogni intero n > 0, se P e vera per il numero n - 1 allora P e vera per il numera n (in simboli Vn(P(n -1) ::::} P(n)).

Allora P e vera per ogni nurnero intero n ~ O.

Nel fare dimostrazioni per induzione, 10 stabilire la validita del passo 1 e chiarnato la base dell'induzione, mentre 10 stabilirc la validita che P( n - 1) implica P(n) c chiarnato il passo induttivo. Quando supponiamo vera P(n - 1) per dimostrare il passo induttivo, P(n - 1) e chiarnata l'ipotesi induttiva.

2.1. INDUZIONE SU N

23

Esempio 2.1.1 (a) Si vuole calcolare la sornma (n ;::=: 1) Sn = 1 + 2 +

... + n. Si osserva che 2S1 = 2 = 1 x 2,2S2 = 2 + 4 = 2 x 3,2S3 = 2 + 4 + 6 = 3 x 4. Si puo allora congetturare che per ogni n > 0

e questa 10 dimostriarno per ineluzione.

La base e 2S1 = 1 x 2. L'ipotesi induttiva e che (*) e vera per Sn-1 e cioe che

2Sn-1 = (n - l)n

Ma

2Sn = 2Sn-1 + 2n =

(per l'ipotesi induttiva)

= (n - l)n + 2n = n(n + 1).

Si puo allora concluelere per il principio eli induzione che (*) vale per ogni n ;::=: 1.

E' possibile dimostrare che il principio eli induzione nella forma appena enunciata e equivalente al principio eli induzione enunciate nella forma seguente:

Principio di induzione completa. Sia no E Z e sia P un'asserzione sui numeri interi n > no. Supponiamo che siano soddisfatte le seguenti condizioni:

( a) P e vera per il numero no;

(b) per ogni intero n > no, se P e vera per ogni numero t, no :::; t < n, allora P e vera per il numero n,

Allora P e vera per ogni numero intero n ;::=: no.

Un altro principio, che si potrebbe dimostrare essere equivalente al principio eli induzione e :

Principio del mmimo numero. Un qualunque sottoinsieme non vuoto eli numeri naturali ha un minimo.

24

CAPITOLO 2. INDUZIONE

Vedremo anche in dimostrazioni successive che, a second a dell'asserzione da dimostrare potra essere pili conveniente far uso di una 0 dell'altra fOrIIlUlazione del principio di induzione.

Per illustrate il principio di induzione diarno un'altra dimostrazione del Teorema 1.5.1:

Procediamo per induzione sulla cardinalita n dell'insieme. Dobbiamo dapprima verificare la base dell'induzione.

Se n = 0 l'insieme e vuoto e il numero dei suoi sottoinsiemi e 1 = 2°. Supponiamo ora n > 0 e che I'asserzione sia vera per insiemi con n - 1 elementi. Sia 3 un qualunque insieme con n elementi e fissiamo a E 3. Vogliamo dimostrare che il numero di sottoinsiemi di 3 e 2n.

Dividiarno i sottoinsiemi di 3 in due classi: quelli che contengono a e quelli che non contengono a e li contiamo separatarnente. L'insieme 3' = 3 - {a} ha n - 1 elernenti e quindi per l'ipotesi induttiva ha 2n-1 sottoinsiemi che sono proprio i sottoinsiemi di S che non contengono a. Anche i sottoinsiemi di 3 che contengono a sono 2n-1, in quanta sono i sottoinsiemi di 3' a cui si e aggiunto a. Segue che il numero dei sottoinsiemi di 3 e 2n-1 + 2n-1

2 . 2n-1 = 2n. "

2.2 Notazione sigma

Per indicate somme di pili numeri c molto utile la notazionc sigma (detta anche sommatoria) introdotta da Fourier nel 1820. Per esempio la somma a1 + a2 + ... + an si indica con E~=l ai oppure E1 <i<n a; 0 anche con EiEI ai dove I = {1, ... , n}. Il pill grande vantaggio dC questa notazione e che possiarno manipolare queste somme molto pill agilmente che nella notazione estesa. Usando infatti le proprieta della sornma e del prodotto abbiamo facilmente le seguenti uguaglianze:

• distributivita

Lcai = c Lai

iEI iEI

• associativita

iEI

iEI

iEI

2.2. NOTAZIONE SIGNIA

Vale inoltre



(c quindi

s; = L a; O<:::i<:::n

e definito per induzione mediante

So = 0

• Se 1 < m < n

m

n

n

i=l

i=m

i=l

Esercizi 2.2.1 Mostrare per induzione su n che:

( a) per ogni r ERe n E N

(n + 1)

sc r = 1

rn+1 - 1 r-1

se r # 1

(b) per ogni r ERe n E N

n

n(n + 1) 2

se r = 1

t; = Liri = i=O

nrn+2 - (n + l)rn+1 + r

se r # 1 (r - 1)2

( c) Mostrare che per ogni n ~ 1

25

26

CAPITOLO 2. INDUZIONE

( d) Dimostrare che ogni intero n ~ 2 e un numero primo 0 prodotto di prnm.

(e) Usare l'induzione per dimostrare la Proposizione 1.6.1. (f) Usare l'induzione per dimostrare il Teorema 1.7.1.

Capitolo 3

ANCORA SUL NUMERO DI SOTTOINSIEMI

3.1 II numero di sequenze ordinate

In una gam di 100 atleti, vengono esposti i risultati dei primi 10. Quanti possibili risultati della gam possiamo ottenere? La prima posizione puo essere occupata da uno qualunque dei 100 atlcti, 99 possono occupare la seconda ecc. COS! la risposta C 100·99· ... ·91

Esercizi 3.1.1

1. Illustrate l'argomento con un albero.

2. Supponiamo di registrare i risultati di tutti e 100 gli atleti (i) Quanti possono essere?

(ii) Quanti eli questi coincielono nelle prime 10 posizioni?

(iii) Mostrare che il numero 100·99· .... 91 puo essere ottenuto usando (i) e (ii).

Se abbiamo allora un insieme eli cardinalita n,

Definizione 3.1.2 Il numero di disposizioni i= sequenze ordinate di k elementi, ti 2:: k, = tiumero di applicazioni iniettive da un insieme di k elementi a un insieme di n elemenii) di n oggetti a k a k e

D(n,k)=n(n-1)(n-2) ... [n-(k-1)] = n(n-1) ... (n-k+1)= n!

(n-k)!'

27

28 CAPITOLO 3. ANCORA SUL NUNIERO DI SOTTOINSIENII

3.2 II numero di sottoinsiemi con un fissato numero di elementi

D(n, k) conta il numero di sequen~e ordinate con k elementi presi da un insierne di n elementi. Ovviamente se vogliamo semplicemente il numero di sottoinsierni con k elementi dovremo diminuire questa numero. Ogni insierne c stato contato k! volte per cui

Teorema 3.2.1 Il tiumero di soiioinsiemi can k elements di un insieme can n elements e

( ~ ) = C(n, k)

D(n, k) k!

n!

0:::; «< n.

k!(n - k)!

(lc colonnc del supcrcnalotto so no C(90,6), il numcro di mam di bridge diverse e C(52, 13) ecc.)

Esercizi 3.2.2

1. Tabulare i valori di C(n,k) per n,k:::; 5.

2. Provare le successive identita :

(a) C(n, 2) + C(n + 1,2) = n2.

(b) C(90,5) = C(89, 5) + C(89, 4). (c) C(n, k) = C(n, n - k)

3. Provare che per 0 < c < b < a

C(a, b)C(b, c) = C(a, a - c)C(a - c, b - c).

3.3 II teorema binomiale

Vediamo un interessante interpretazione dei numeri C(n, r), r :::; n che si chiamano anche coefficienti binomiali. E' a tutti ben nota l'espressione del quadrato di un binomio:

Questa e un caso particolare della formula per (a + b) ".

Prima di dame l'espressione, ricordiamo alcune cose.

3.3. IL TEORE1VIA BINOMIALE

29

Il triangolo di Tartaglia (0 di Pascal) e cosi costruito: la n-esima riga (n 2:: 0) consiste di tutti i valori C (n, r), con r S; n. Ha quindi la forma

C(O,O)

C(1,O)

C(l,l)

C(2,0)

C(2, 1)

C(2,2)

C(3,0)

C(3,1)

C(3,2)

C(3,3)

C(4,0)

C( 4,1)

C(4, 2)

C(4, 3)

C(4,4)

C(n,O)

C(n, 1)

C(n,n-1)

C(n, n).

Se sostituiarno ai C (n, r) i loro valori, il triangolo di Pascal prende la forma:

1

1 1

1

2

1

1

3

3

1

1

4

6

4

1

1

5

10

10

5

1

E' facile not are che i numeri sui lati del triangolo sono 1 e che i numeri interni possono essere ottenuti sommando i due numeri immediatamente sopra

30 CAPITOLO 3. ANCORA SUL NUNIERO DI SOTTOINSIENII

nella riga precedente. Cioe che per 1 :::; k :::; n - 1

L'cquazionc di sopra c nota come formula di Pascal. Dimostriamola:

(n-l)! (n-l)!

C(n-l, k-l) + C(n-l, k) = (k _ 1)![n _ 1 _ (k - I)]! + k!(n - 1 - k)!

(n-l)! + (n-l)!

(k - 1)!(n - k)! k!(n - 1 - k)!

k(n - I)! (n - 1)!(n - k)

= + _;___..:........:.._--'-

k!(n - k)! k!(n - k)!

k(n - I)! + (n - 1)!(n - k) k!(n - k)!

(n - 1)!n k!(n - k)!

n!

k!(n _ k)! = C(n, k).

Teorema 3.3.1 (Teorema binomiale) Per oqni n ~ 0

n

(a + bt = L C(n, i)an-ibi = C(n, O)an + C(n, l)an-1b + C(n, 2)an-2b2 +

i=O

+ ... + C(n, k)an-kbk +

+ ... + C(n, n - l)abn-1 + C(n, n)bn.

Dimostrazione. Procediamo per induzione su n. Per n = 0 l'equazione C vera. Come ipotcsi induttiva assumiamo vera l'equazione per n = k. Segue allora che

k k

= L C(k, i)ak+1-ibi + L C(k,j)ak-jl?+l

i=O

j=O

e quindi raccogliendo i termini simili

3.4. DlSTRlBUZlONE Dl REGALl

31

~ C(k, 0)a,k+1 + (t,IC(k, i) + C(k, i - 1)]a,'+1-ibi) + co: k)bk+1 ~

usando la formula di Pascal

~ C(k, O)ak 11 + (t C(k + 1, i)akl1-ibi) + C(k, k)bk 11 ~ (ricordando chc C(k, 0) = C(k + 1,0) c C(k, k) = C(k + 1, k + 1))

~ ci«: 1,0)ak+1 + (t,C(k I 1,i)ak+l-ibi) +C(k+ 1,k+ 1)bk+l

e quincli

k

= L C(k + 1, i)ak+l-ibi i=O

come volevasi dimostrare,

Esercizi 3.3.2 Usando il teorema binorniale, dimostrare che

2n = C(n, 0) + C(n, 1) + C(n,2) + ... + C(n, n).

3.4 Distribuzione di regali

Supponiamo di avere n regali diversi da distribuire a k bambini, che per comodita indichiamo con 1,2, ... k, sapendo che ciascun bambino deve ricevere rispettivamente nl, n2, ... ,nk (ovviamente n = nl + n2 + ... + nk) regali. La domanda e : In quanti modi possono essere distribuiti i regali?

Possiamo organizzare la distribuzione dei regali come segue: poniamo tutti i reg ali in fila. Il primo bambino prende nl regali a partite dana sinist.ra, poi viene il secondo e ne prende n2 ecc. E' chiaro che possiamo predeterminare cosa prendono i bambini scegliendo l'ordine in cui i regali sono messi in fila. Ci sono n! modi di ordinare i regali, ma ancora questa numero puo essere troppo grande, in quanta alcuni ordinamenti porteranno allo stesso risultato (cioe ogni bambino riprende gli stessi regali). Partiamo da una data

32 CAPITOLO 3. ANCORA SUL NUNIERO DI SOTTOINSIENII

distribuzione di regali e chiediamo ai bambini, a part ire dal primo, di rimetterli in fila a loro piacere. Questo ci dara un possibile ordinamento. Ma il primo bambino ha nl! modi di ordinare i suoi regali, il secondo n2! ecc. Cosi il numero di distribuzioni dei regali e

n!

Possiarno descrivere la procedura di distribuzione usando i coefficienti binomiali in questo modo: prima scegliarno nl regali e li diamo al primo bambino. Questo pUG essere fatto in C(n~ nl) modi. Poi ne scegliamo n2 tra i rimancnti n - nl e li diamo al secondo bambino ecc. Quindi il numero di distribuzioni e

Esercizi 3.4.1

1. In quanti modo si possono piazzarc 6 cornmcnsali in

un tavolo tondo?

2. In quanti modi si possono piazzare in fila 8 donne e 11 uomini in modo che gli uomini( e quindi le donne) siano tutti insierne?

3.5 Distribuzione di denaro

Invece di distribuire regali distribuiamo denaro, Abbiarno n monete da 1 centesimo che vogliamo distribuire tra k bambini. Ogni bambino deve ricevere almeno un centesimo. Il problema e allora in quanti modi posso farlo. Chiariamo dapprima la differenza con il problema della distribuzione di regali. Se diarno regali diversi, dobbiarno decidere non solo quanti regali dare a ciascun bambino, rna anchc quali. Sc distribuiamo monctc uguali dobbiamo solo dccidcrc la quantita, In altrc parole, i regali sono distinguibili, mcntrc lc monctc no (c~c un solo modo di distribuirnc nl al primo bambino, n2 al secondo ecc.).

Anche se i due problemi sono diversi, procediamo nello stesso modo. Mettiamo tutte lc monete in fila (ora l'ordine non conta pili) e chicdiamo al primo bambino di prenderle a partite da sinistra a dcstra. Quando 10 fermiamo chiamiamo il secondo bambino ecc. La distribuzione di monete e allora specificata da dove comincia un nuovo bambino.

3.5. DISTRIBUZIONE DI DENARO

33

o

o

o

I

o

o

I

o

o

o

o

I

o

V

1

V

2

<:

3

V

4

Ci sono ovviamente n - 1 posizioni in cui possiamo mettere 10 stop (tra 2 monete consecutive) e dobbiamo metterne k - 1 (perche il primo bambino comincia sempre dall'inizio) per cui il problema si riconduce al numero di sottoinsiemi di k - 1 elementi di un insieme di ti - 1 elementi. II numero di possibili distribuzioni e allora C(n - 1, k - 1).

Discutiamo ora il caso in cui qualche bambino puo non ricevere alcuna moneta ( e quindi anche il caso in cui un bambino prenda tutte le monete). Con un semplice trucco possiamo ricondurci al problema appena risolto: ci facciamo imprcstaro 1 centesimo da ogni bambino c distribuiamo l'intero ammontarc (cioc n-i-k centesimi) in modo chc ogni bambino abbia almcno un centesimo. In questa modo ad ogni bambino viene restituito il centesimo dato in prestito ed eventualmente altri centesimi. Allora il problema e quello (che abbiamo appena risolto) della distribuzione di ti + k centesimi a k bambini, in modo che ciascuno abbia almeno una moneta e quindi il loro numero e C(n+k-1,k-1).

Esercizi 3.5.1 1. In quanti modi possiamo distribuire n monete da 1

centesimo in modo che ogni bambino ne abbia almena 2?

2. Quante perrnutazioni delle lett ere ci sono nella parola "ERRORE"?

3. Distribuiamo n monete a k ragazzi ed I ragazze, in modo tale che le ragazze abbiano almena una moneta. In quanti modi si puo fare?

4. Supponiamo di scegliere una mana di 5 carte in un mazzo di 52 carte.

( a) Quante mani ci sono con 3 pioche e 2 cuori? (b) Quante mani ci sono della stesso seme?

5. Una parola e detta palindroma se puo essere lett a anche alla rovescia.

Quante palindromi italiane di 5 lett ere ci sono?

34 CAPITOLO 3. ANCORA SUL NUNIERO DI SOTTOINSIENII

6. Quante soluzioni intere non negative distinte ci sono dell'equazione

dove per esempio la soluzione

e la soluzione

sono distintc?

Una possibile interpretazione di una soluzione di questa equazione e quella di distribuire 10 monete identiche a 4 bambini. Nella prima soluzionc diamo 3 rnonctc al primo bambino, 1 al sccondo, 4 al terzo c 2 al quarto.

E' utile riconoscere l'cquivalcnza delle seguenti:

• Numero delle soluzioni intere dell'equazione

• Numero delle cornbinazioni con ripetizione di k oggetti da una collezione di n.

• Numero di modi in cui ti oggetti identici possono essere distribuiti in k diversi contenitori.

La figura di sotto illustra l'equivalenza dei tre problemi nel casu n = 3, k = 2

COMBINAZIONI DI 2 DISTRIBUZIONI DI 2 SOLUZIONI INTERE
OGGETTITIlA OGGETTI IDENTICI IN DI Xl + x2 + x3 = 2
{Xl,X2,X3} 3 CELLE DISTINTE CON Xi ~ °
XlXl pp Xl = 2, X2 = 0, X3 = °
XlX2 P P Xl = 1, X2 = 1, X3 = °
XlX3 P P Xl = 1, X2 = 0, X3 = 1
X2X2 pp Xl = 0, X2 = 2, X3 = °
X2X3 P P Xl = 0, X2 = 1, X3 = 1
X3X3 pp Xl = 0, X2 = 0, X3 = 2 Capitolo 4

INTERI, DIVISORI E PRIMI

In questa capitolo vengono richiamti concetti noti.

4.1 Di visibilta di interi

Siano a, b « Z. Diciamo che b divide a (notazione bla) oppure che be dioisore di a (a e multiplo di b) se esiste un intero m tale che a = bm.

Se b non e un divisore di a e b > 0, possiamo dividere a per b con resio.

Il resto r della divisione di a per b e un intero che soddisfa 0 ~ r < b. Se il quozienie della divisione e q, abbiamo

a = bq + r.

Esercizi 4.1.1 1. Verificare usando la definizione di sopra, che l ]«; -lla,

ala, -ala, per ogni intero a.

2. Cosa significa che Ola, 21a e che 2 non divide a?

3. Provare che

(a) Se alb e ble allora ale.

(b) Se alb e ale allora al (b + c) e al (b - c). (c) Se a, b > 0 e bla, allora b ~ a.

(d) Se alb e bla allora a = b oppure a = -b.

4. Sia r il resto della divisione di a per b. Assumiamo che cia e elb. Provare che elr.

35

36

CAPITOLO 4. INTERI, DIVISORI E PRLMI

5. Se alb e a, b > o. Sia r il resto della divisione di c per a e s il resto della divisione di c per b. Quare il resto della divisione di s per a?

6. (a) Provare che per ogni intero a, (a - 1) I (a2 - 1).

(b) Pili in generale, per ogni intero a en> 0, (a - l)l(an - 1).

4.2 Massimo comun divisore

Fin dalla scuola media e noto il concetto di massimo comun divisore di due numeri interi (15 = MCD(a, b)), definito come:

(i) bla e bib

(ii) Be d « Z, dla c dlb, allora dlb

Per calcolare il M CD positivo ( a, b) esiste il metoda seguente, detto alqoritmo euclideo.

Proposizione 4.2.1 Siano a, bEN, a #- 0, b #- O. Si consuleri lo. sequente successione:

a bql + rl

b r iqz + rz

rl r2q3 + r s

r2 r3q4 + r4

rn-2 rn-lqn + rn

rn-l rnqn+l + 0

dove i qi e gli r, sono i quozienii e i resii delle dioisioni scritte e dove la successione termuui non cppena si trovi un resio r n+1 = o. Allora:

(a) la successione iermuui dopo uti numero finito di possi, e

(b) r; = MCD(a, b) e cioe

4.2. MASSIMO COMUN DIVIS ORE

37

(i) rnla e rnlb

(ii) se d E Z, dla e dlb, allora dlrn

(iii) esisiono 0:, ,8 E Z tali che rn = o:a + /3b (identita di Bezout).

Dimostrazione. La successione termina perche per la prima divisione 0 ::; rl < b, per la seconda 0 < r2 < rl, per la terza 0 < r3 < r2, .... In definitiva si ha la successions decrescente b > rl > r2 > r3 > ... in N, che quindi deve terminare in un numero finito di passi (per il principio del minimo numero). Questo prova (a). Inoltre rnlrn-l, e quincli per la penultima riga rnlrn-2. Percorrendo all'indietro la successione di divisioni, si ottiene successivamente rnlrn-3, ... , rnlr3, rnlr2, rnh, rnlb, rnla. Quindi r.; divide a e b. Se poi dE Z divide a e b. per la prima divisione della successione dh, per la seconda dh. Proseguendo nella successione dlr3 ... , dlrn-l, dlrn. Questo prova che r n = (a, b). Per dirnostrare l'identita di Bezout basta scrivere rl = a - bq e sostituendo nell'equazione successiva si ottiene rz = b(l + qlq2) - a cos 1 via

fino ad ottenere rn nella forma desiderata. ...

Esempio 4.2.2 Cerchiamo (1876,365). Applicando l'algoritmo euclideo:

1876 365 . 5 + 51

365 51·7 + 8

51 8·6 + 3

8 3·2+2

3 2·1+1

quindi 1 = (1876,365).

Ora ricaviamo i resti (mettendoli in grassetto per distinguerli dai quozienti ) per poi "risalire" all'identita eli Bewut.

1 3 - 2·1
2 8 - 3·2
3 51- 8·6
8 365 - 51· 7
51 1876 - 365·5 38

CAPITOLO 4. INTERI, DIVISORI E PRLMI

e quindi, sostituendo successivamente i resti nell' equazione 1 = 3 - 2 . 1, partendo da 2, otteniamo

1 3-2·1

3 - (8 - 3·2) 3·3 - 8

3(51 - 8 . 6) - 8 3·51 - 8·19

3(51 - 19(365 - 51 ·7) 136·51 - 19·365

136(1876 - 5 . 365) - 19·365 136 . 1876 - 699 . 365.

Quindi a = 136, /3 = -699.

Corollario 4.2.3 Siano a, b E Z. Le sequenii affernuuioni sana equiualenti:

(i) a e b sana primi ira lOTO , cioe (a, b) = 1;

(ii) esistono a, ,8 E Z tali che txa + ,8b = 1.

Dimostrazione. (i)::::} (ii). Se a e b so no coprirni, allora per il teorema precedente esistono a, ,8 E Z tali che aa + (3b = 1.

(ii) ::::} (i). Supponiamo che esistano a, ,8 E Z tali che aa + ,8b = 1. Mostriamo che 1 e un MCD di a e b. Ovviamente 11a e lib. Supponiamo che dla e dlb. Alloraa = a'deb = b'dcona',b' E Z, equindi 1 = oa v Bb = (aa'+,8b')d,

ossia dl1. Quindi 1 c un MCD di a e b. ..

Si osservi che se (a, b) = 5 > 1 e d = aa + {3b, per a, ,8 E Z, allora non necessariamente d = 5, ma semplicemente 51d.

4.3 Numeri primi

Definizione 4.3.1 Uti tiumero p E Z e un tiumero primo se e dioerso da 1 e -1 e i suoi dioisori sana soltanto 1, -1, P, -p

Si noti che 0 non e un numero primo, perche ogni numero intero divide O.

4.3. NUMERI PRLMI

39

Lemma 4.3.2 Se P e uri tiumero prime e plab : a, b E Z: allora pia oppure plb.

Dimostrczione. Sia b Quincli pia.

Se b = 1, aHOIa

(a,p). Se b > 1, allora b

P essendo P primo.

1 ax + py

b bax + bpy

Ora, p divide ab ed anche bpy, da cui plb. '"

Ovviamente, dal lemma precedente segue che se un primo p divide un prodotto di m ( m :2: 2) numeri, aHOIa p divide uno dei fattori. Siamo ora in grado di dimostrare il seguente import ante risultato.

Teorema 4.3.3 (Teorema Fondamentale deH'Aritmetica) Ogni numero intero a > 1 e prodotto di numeri primi (non neceseariamenie distuiti], Tale

fattorizzazione e essenzialmente unica tiel sense sequetiie: se a = PIP2 Pr

e a = ql qz ... qs sotio due fattorizzazioni di a con PI, P2, ... ,Pr: ql, qz, , qs

tiumeri primi, allora r = 8 e si possono riordinare i fattori in modo ehe PI = ql, P2 = q2, ... , Pr = 'Ir-

Dimostrczione. Dimostriamo dapprima che a e primo 0 prodotto di primi. Si pro cede per induzione su a. Se a = 2, I'asserto e ovvio, essendo 2 un numero primo. Sia a > 2 e supponiamo per ipotesi induttiva che ogni numero k < a sia un prodotto di numeri primi. Vogliamo dimostrare che a e prodotto di prirni. Se a e primo I'asserto e banalmente vero. Se a non e prirno, esiste un divisore positive non banale b (cioc b # 1, a). Allora si ha a = bq con 2 :::; b < a c 2 :::; q < a, c quindi ciascuno dci numcri b c q c prodotto eli primi c quindi a c prodotto eli primi.

Sia a = PIP2··· Pr = ql q2 ... qs con PI, P2, ... ,Pr, ql, q2, ... ,qs numcri primi. Se r = 1, aHOIa a = PI = ql qz ... qs e un numero primo, e quindi risulta 8 = 1 e a = PI = ql. Sia quindi r > 1 e si proceda per induzione su r allo scopo di provare che r = 8 e che si possono riordinare i fat tori in modo che PI = ql,P2 = q2,··· ,Pr = qr· Il numero primo PI divide il prodotto qlq2 ... qs, e quindi esiste j :::; 8 tale che PI divide qj. Poiche qj e primo e PI > 1, si ha PI = qj. Senza perdita di generalita , si puo supporre j = 1, e quindi PI = ql. Allora

40

CAPITOLO 4. INTERI, DIVISORI E PRLMI

e quindi P2 ... Pr (±q2) ... qs· Per l' ipotesi induttiva r - 1 = s - 1 e si possono riordinare i fattori in modo che P2 = qz, P3 = q3,···, Pr = qr· Pertanto r = s e si possono riordinare i fattori in modo che PI = qI, P2 =

q2,··· ,Pr = qr· '"

Corollario 4.3.4 Sia a un numero intero tale che a > 1. Allam esisiono numeri primi a due a due distinti PI, ... ,Pt e dei numeri interi positivi kI, ... , kt tali che a = PI k: ... plt .

Siano ora a, b > 1; supponiarno

kl kt

a = PI ... Pt

b = PI si ... Pt St

con PI, ... Pt primi a due a due distinti, kI' ... kt, SI, ... s; E N (cvcntualmcntc nulli per consent ire una notazione uniforme).

Corollario 4.3.5

Corollario 4.3.6 Siano m, n due numeri primi [ra loro. a ENe primo can m c n se c solo 8C a c primo can m X n.

Corollario 4.3.7 Sia P WL numero pruno e T :2: 1, allora a e prima can pr se e solo se a e pruno can p.

Il problema di fattorizzare un numero intero n in prodotto di primi e nella pratica molto pili difficile del problema di trovare il massimo cornun divisore di due numeri. Per esempio per fattorizzarc 3372 osscrviamo dapprima che 2 c un divisore ottenendo 3372 = 2 ·1686; ancora 1686 = 2·843 e 843 = 3·281. Infine si verifica che 281 e primo, per cui 3372 = 22 ·3 . 281.

Nell'esempio appena mostrato, per verificare che 281 e un numero primo si osserva che 281 non e divisibile per 2, 3, 5, 7, 11, 13, 17 > V28I. Infatti abbiarno

Corollario 4.3.8 Se n E Z non e uri tiumero prime, allora n ha un [aiiore prime < yri.

4.3. NUMERI PRLMI

41

Dimostrczione. Esercizio.

In generale per il problema della fattorizzazione di numeri puo essere molto difficile. Infatti

Teorema 4.3.9 (Euclide) Esisiono injiniti numeri primi.

Dimostrazione. Ovviamente l'insieme P dei numeri primi non e vuoto. Supponiamo per assurdo che P sia finito, diciamo P = {PI, P2 ~ ... pI(}. Allora

il numero PI . P2 ..... PI( + 1 e primo. Se PI . P2 PI( + 1 non e primo

ha un fattore prirno q~ q = Pi~ per qualche i E {I, K}; allora q divide

PI . P2 ..... PI(· Ma poiche q divide anche PI . P2 PI( + 1, q divide la

diffcrcnza dci due numcri c quindi divide 1. Quosto C irnpossibilc, da cui

PI . P2 ..... PI( + 1 dove csscrc un nuovo primo. ...

Inoltre la distribuzionc dci primi fra i numcri intcri non c chiara.

Un algoritmo per trovare i numeri primi tra 2 e n. fissato e il seguente

Crivello di Eratostene: Si scrivono tutti i numeri da 2 a n. Si sottolinea quindi 2 e si cancellano tutti i numeri pari. Si prosegue sottolineando il primo numero non toccato e si cancellano tutti i multipli di questa e COS1 via, fino a che non esistono pili numeri non toccati S; yin. A questa punta tutti i numeri non cancellati sono primi.

Esercizi 4.3.10 di I3ewut.

1. Trovare (2756, 133) ed esprimerlo mediante l'identita

2. Ilisolvcrc:

(a) 283x + 1722y = 31 (b) 365x+ 72y = 18

(c) 1111x + 2345y = 66

3. Scrivere il numero 10756 come prodotto di primi.

4. Trovare tutti i numeri primi minori di 100.

5. Dimostrare che V2 non e razionale.

42

CAPITOLO 4. INTERI, DIVISORI E PRLMI

Capitolo 5

RELAZIONI SU UN INSIEME

5.1 Propr icta di relazioni

Sia S un insieme e p ~ S" (cioc un insieme di n- ple ordinate di elementi di S). p viene detta una relazione n-aria su S. A noi interessano particolarmente le relazioni binarie.

Supponiamo che 2::; sia linsieme di tutte le relazioni binarie su un dato insieme S #- 0. Se p e J E 2::;, allora esse sono sottoinsiemi di S2. Come tali, possiamo considerarne l'unione, l'intersezione e il complement are che risulteranno ancora sottoinsiemi di S2, doe relazioni binarie, che saranno indicate con p U J, P n J, e p' rispettivamente.

COSl abbiarno le seguenti relazioni

x(p U J)Y se e solo se xpy oppure XJY x(p n J)Y so C solo so XPY C XJY

xp'y se e solo se (z; y) tJ_ p.

Una relazione su un insieme S #- 0 puo avere alcune proprieta . Per esernpio la relazione di uguaglianza su S ((x, y) E P se e solo se x = y) go de de He seguenti proprieta :

• per ogni XES, x = x;

• per ogni x, YES, se x = y allora y = x;

• per ogni x, y, z E S, se x = y e y = z allora x = z.

43

44

CAPITOLO 5. RELAZIONI SU UN INSIEME

In generale,

Definizione 5.1.1 Sia puna relazione binaria su un insieme S # 0. Allora

• p e rifiessiva se e solo se per ogni x E S~ (x, x) E p.

• p e simmetrica se e solo se per ogni x, YES, (x, y) E P implica (y,x) E p.

• p e transitiva se e solo se per ogni x, y, z E S, (x~ y) E P e (y, z) E p implica (x, z) E p.

• p e antisimmetrica se e 8010 se per ogni x, YES, (x, y) E P e (y~ x) E p implica x = y.

Esercizi 5.1.2 (a) Sia p definita su P(N) nel seguente modo per ogni

A~ E E P(N):

ApE se e solo se A ~ E

Verificare che p e riflessiva, transitiva e antisimrnetrica.

(b) Se p e una relazione su S riflessiva, quali coppie ordinate devono appartenere a p?

(c) Se p e una relazione su S antisimmetrica, quali coppie ordinate devono appartenere a p? (Attenzione c'e il trucco!)

(d) Se p e una relazione su S simrnetrica, e ( a, b) E P quale altra coppia ordinata deve appartenere a p?

5.2 Relazioni di equivalenza

Definizione 5.2.1 Una relazione binaria p su un insieme S, rijiessioa, sirntnetrica e iransiiiua e chiamata una relazione di equivalenza su S.

Esempio 5.2.2

(a) Su S, XP1Y se e solo sc x = y.

(b) Su N, XP2Y sc e solo se x + y c pari.

(c) Sull' insieme delle rette del piano, XP3Y se e solo se x e parallela 0 coincide con y.

5.2. RELAZIONI DI EQUIVALENZA

45

(d) Su {O, I}, XP4Y se e solo se x = y2.

( e) S u {I, 2 ~ 3}, P5 = {( 1 ~ 1) ~ (2, 2), (3, 3), (1, 2), (2, I)}.

Pcr ogni rclazionc di cquivalcnza p su un insicmc S c xES dcnotiamo con [x]p l'insieme (chiamato classe di equivalenza di x modulo p) di tutti gli Y di S che sono in relazione p con x. Cosf

[x]p = {Y/Y E S, xPy}·

Quando sara chiaro dal contesto di quale relazione stiarno parlando, scrivercmo solamcntc [x] al posta di [x]p. Dcfiniamo poi

S/p = {[x] /x E S},

detto Vinsieme quozienie di S modulo p.

N egli esempi precedenti:

(a) per ogni XES, [X]Pl = {x} e quindi S/Pl e biettivo a S;

(b) per ogni x E N [X]P2 e l' insieme dei pari se x e pari e [X]P2 e l' insieme dei dispari se x e dispari;

( c ) [ 1] P5 = {I, 2}

Lemma 5.2.3 Siano S uri insieme non inioto e puna relazione di equioalenza .'111, S. Se x e Y sotio elementi di S, risulia [x]p = [Y]p .'Ie e solo se XPy·

Dimostrazione. (<¢=). Se [x]p = [Y]p, allora Y E [x]p, e quindi xpy.

(::::}). Se xpy, si ha anche ypx, in quanta p e simrnetrica. Sia z E [x]p. Allora xpz c quindi ypz, giacchc p c transit iva, per cui z E [Y]p. Allo stcsso modo si prova chc ogni clemente di [Y]p c in [x]p, c quindi [x]p = [Y]p.

Per il lemma precedente un qualunque elemento di una classe di equivalenza si dira un rappresenianie della classe.

Lemma 5.2.4 Siano S uri insieme non inioto e puna relazione di equioalenza su S. Se [x]p #- [Y]PJ risulia [x]p n [Y]p = 0.

Dimostrazione. Per assurdo esista z E [x]p n [Y]p. Allora si ha zpx e dal lemma precedente segue [x]p = [Y]p = [z]p, contro l'ipotesi.

46

CAPITOLO 5. RELAZIONI SU UN INSIEME

Definizione 5.2.5 Una partizione di un insieme S e una collezione F di sotioinsiemi di S (detti blocchi della partizione) non inioti; a due a due di.sgiunti la cui unione e S.

Proposizione 5.2.6 Sia S un insieme non inioto.

(i) Se P e una relazione di equivalenza 811, S, ollora Sip e una partizione di S.

(ii) Se F 'Una partizione di S, allora esiste 'Una relazione PF di equioalenza su Stale che S I PF = F.

Dimostrasione. (i) Sia S un insieme non vuoto e puna relazione di equivalenza su S. Poiche P e riflessiva ogni xES appartiene a [x]p, per cui gli insierni di Sip sono non vuoti e risulta UXES/pX = S. Inoltre gli elementi di SI P so no a elue a elue elisgiunti per il Lemma 5.2.4 e quineli Sip risulta una partizione di S.

(ii) Sia PF la relazione binaria su S elefinita ponenelo XPFY se e solo se x e Y sono elementi di S che appartengono ad uno stesso blocco di F. Ovviamente PF e simetrica. Poiche S = UXEFX, ogni elemento di S appartiene a qualche X E F, per cui XPFX e PF C riflcssiva. Siano x, y, z E S tali chc XPFY e YPFZ. Allora esistono X, Y E F tali chc {z; y} s: X e {y, z} s: Y. Segue chc X n Y #- 0, per cui X = Y. Allora {z; z} s: X e quindi XPFZ dimostrando la transitivita eli PF.

Sia xES e X 1'1lnico elemento eli F contenente x. E' immediate verificare che [X]PF = X.

Esercizi 5.2.7 1. Sia F = {{ n, -n} In EN}. Si provi che F e una

partizione eli Z. Qual'o la rclazionc PF?

2. Sia R + l'insieme elei numeri reali maggiori eli O. Sia P la relazione COS! elefinita:

per a, bE R+, apb se e solo se ab-l E Q.

Dimostrare che P e una relazione eli equivalenza. Che cosa e [l]p?

3. Sia S un insierne e E s: S. Sia P la seguente relazione su P(S)

per X, Y E P(S), XpY se e solo se X n E = Y n E.

Dimostrarc chc P c una relazione eli equivalenza e determinate [0]p.

Capitolo 6

CLASSI DI RESTI

Lo strumento pili importante in teoria dei numeri e la nozione di congruenza.

6.1 Congruenze

Sia n un numero intero fissato. Se a, b E Z diciarno che a e b sono conqrui

modulo n e scriviarno a b( mod n) oppure a n b se n divide a-b.

Esempio 6.1.1 100) = -90;

(a) Si ha che 10 100(mod9) perch6 9 divide (10-

(b) -1 l(mod2) perch6 2 divide (-1-1) = -2;

(c) 10 ¢ -1(mod7) perch6 7 non divide (10 + 1) = 11.

(d) a b( mod 1) se e solo se 1 divide a - b ; segue che 1 coincide con

la rclazione ban ale che mette in rclazione tutti gli clementi di Z.

(e) a == b(modO) se e solo se 0 divide a - b se e solo se a = b; segue che o coincide con =.

(f) a b(modn) se e solo se a b(mod - n).

Per quanto visto negli esempi, da ora in poi potremmo supporre senza perdita di generalita n > 1.

47

48

CAPITOLa 6. CLASSI DI RESTI

Esercizi 6.1.2 Verificare che

3

2 (mod9)
119 (mod9)
-1 (mod4)
0 (mod 13)
13 (mod 13) 1325 182

13 26

Proposizione 6.1.3 La relazione n e 'una telazione di equioolenza S'U Z.

Dimostrczione. La relazione n e riflessiva: infatti per ogni a E Z, si ha che n divide a - a = 0 e quindi ana.

La relazione - n e sirnmetrica: infatti se a, b E Z e a - n b, allora n divide a - b e quincli n divide anche il suo opposto - (a - b) = b - a, ossia b - n a.

La relazione n e transitiva: infatti se a, b, c E Z e a n b e b =n c,

allora n divide sia a - b che b - c e quindi n divide anche la loro sornma (a - b) + (b - c) = a - c, ossia a n c.

E' quincli possibile costruire linsieme quoziente ZI =n= {raj I a E Z} Qui abbiarno scritto [aJ intendendo [aJ:=n e 10 faremo sempre quando non c'e peri colo di confusione; useremo spesso anche la notazione [aJn. L'insierne quoziente ZI =n, verra indicate pill brevemente con Zn.

Ricordiamo che se a, b E Z, si ha [aJ = [bJ se e solo se a n b Inoltre

[aJ {x I x E Z, x n a} {xix E Z, nl(x-a)}

{x I x - a = nq per qualche q E Z} {x I x = a + nq perqualche q E Z} {a + nq I q E Z}

Lemma 6.1.4 Se n > 1 C un nutnero intero [issaio e n C la conqruenza modulo n, ollora ZI n= {[O], [1], ... , [n - I]} e le classi di equioolenza [0], [1], ... , [n - IJ sono iuiie distinte ira loro. Segue che ZI n ha esaiiamente n elemenii.

Dimostrazione. Ovviamcntc {[O], [1], ... , [n - I]} s: ZI n- Viccvcrsa sia [aJ E ZI n· Vogliamo dimostrarc chc [aJ E {[O], [IL ... , [n-l]}. Dividiamo a per n; si ha a = nq + r con q, r E Z e 0 :s; r < n. Allora a - r = nq per cui a n r . Segue che [aJ = [rJ. Ma 0 :s; r < n e quindi r e uno dei numeri

6.1. CONGRUENZE

49

0,1, ... , n-1. Pertanto [a] E {[O], [1], ... , [n-l]}. Abbiarno COS1 dimostrato che Z/ n= {[O], [1], ... , [n - I]}.

Facciamo ora vedere che [0], [1], ... , [n - 1] so no tutte distinte. Supponiarno che i, j siano due numeri interi con 0 :::; i < j :::; ti - 1 e dimostriamo che [i] # [j]. Si ha 0 < j - i :::; j :::; n - 1 < ti e quindi ti non divide j -i. Segue che j 1:-ni e pertanto [i] # [j].

Dalla dimostrazione segue allora immediatarnente che x y(mod n) se e solo se il resto della divisione di x per n e uguale al resto della divisione di y per n, Abbiamo quindi che per ogni a E Z, risulta [a]:=n = [r]:=n, dove r e il resto della divisione di a per n, Per questa motivo Zn e chiamato anche l'insieme delle classi di resio modulo n,

Esempio 6.1.5 Sia n = 5. Le 5 classi di equivalenza di Z modulo 5 sono:

[0] = { ... , -20, -15, -10, -5, 0, 5, 10, 15, 20, ... }

[1] { , -19, -14, -9, -4, 1, 6, 11, 16, 21, }

[2] { , -18, -13, -8, -3, 2, 7, 12, 17, 22, }

[3] { , -17, -12, -7, -2,3,8,13,18,23, }

[4] { , -16, -11, -6, -1,4,9, 14, 19, 24, }

Proposizione 6.1.6 Se a, b, c, d E Z, a b(mod n) e c d(mod n) allora

a + c b + d(mod n) e ac bd(mod n).

Dimostrazione. Da a == b( mod n) e c _ d( mod n) segue che a - b = nu e c-d=nvperopportuniuev. Maallora(a+c)-(b+d) = (a-b)+(c-d) = n(u+v) e quindi a+c b+d(mod n). Inoltre essendo a=b = nu e c-d = nu, ac = (b + nu)(d + nv) = bd + n(ud + vb + nuv). Segue chc ac bd(mod n).

La proposizione precedente permette di introdurre nell'insieme Zn degli interi modulo ti le operazioni di sornma e prodotto definite ponendo

[a]n + [b]n = [a + b]n [a]n[b]n = [ab]n

qualunque siano i numeri interi a e b.

Esercizi 6.1. 7

1. Che ora e 34 ore dopo Ie 7 e 19 ore dopo Ie 3?

50

CAPITOLa 6. CLASSI DI RESTI

2. Un insieme di numeri rl, ... ,rm che non siano congruenti l'un l'altro e tali che ogni intero sia congruente esattarnente ad uno dei numeri rl, ... , r m si chiama un sistema compleio di rappresentanti di Zm. Quindi si ha che {O, 1,2, ... , m - 2, m - I} e un insierne completo di rappresentanti di Zm. E'

{80, 11,211,32, -5,994, 5}

un insieme cornpleto di rappresentanti di Z7? Lo e

{0,92, 118,324,-32, 153, 19}?

3. Provare che per ogni coppia eli interi a, b dispari risulta [a2]4 = [b2k

4. Scrivcro lc tavole di rnoltiplicazione e di addizione di Z5, Z(j, Zs.

6.2 Elementi invertibili di Zm

Si osservi che in generale in Zm, al contrario di Z, possono esistere divisori dello zero (e cioe [a] i- [0] e [b] i- [0] tali che [a][b] = [0]). Ad esempio [2]0, [3]6 sono elementi non nulli di Z6, rna risulta [2]6[3]6 = [6]6 = [0]0. Questo e generale, infatti vale

Proposizione 6.2.1 Sia [a]m E Zm. Allora [ajm e diuisore dello zero 8e e solo se MCD(a, m) = 0 > 1.

Dimostrazione. ( {:::) Se (a, m) 1 < e, f < m. Segue che

o > 1, allora m

Oe e a

Of con

Ma [elm i- [Ojm. Quincli [a]m e divisore della zero.

(=?) Sia [a]m i- [O]m e [a]m[b]m = [O]m e supponiarno MCD(a,m) = 1.

Allora esistono a, 13 E Zm tali che 1 = txa + ,8m. Segue che b = aab + 13mb, e quindi

[b]m = [aab + f3mb]m = [a]m[a]m[b]m + [!3]m[m]m[b]m = [O]m.

[a]m non e allora un divisore dello zero. ...

La seguente e una condizione necessaria e sufficiente perche Zm non abbia divisori della zero.

6.2. ELEMENTI INVERTIBILI DI Z1VI

51

Corollario 6.2.2 Sia m > 1 11,n numero iniero. Allam Zm non ha dicisori della zero se e solo m e primo .

Dimostrczione. (::::}). Se m non e primo esistono a, b, con 0 < a, b < m tali che m = abo Segue che

rna [a]m, [b]m #- [O]m, per cui in Zm ci so no divisori dello zero.

C¢=). Sia m un numero primo, e sia a E Z tale che [a]m #- [O]m. Allora a non e un multiplo di m. Poiche m e primo, MCD(a, m) = 1. Pertanto, dal

Teorema 6.2.1, Zm non ha divisori dello zero. '"

Definizione 6.2.3 Un elemento [a]m #- [0] di Zm e detio invertibile se esisie [b]mZm tale che [a]m[b]m = [l]m

Lemma 6.2.4 Uri elemenio [a]m #- [0] di Zm e invertibile se e solo se a e m sotio copruru.

Dimostrczione. (::::}). Se [a]m e invertibile, esiste [b]m tale che [a]m[b]m = [l]m. Abbiamo quindi [ab]m = [l]m e ab = 1 + km per un opportuno k E Z, cioe ab - km = 1. Segue allora che MCD(a, m) = 1.

(-¢:::). Se MCD(a,m) = 1, esistono 0: e ,0 in Z tali che 1 = ao: + mf).

Allora

[l]m = [ao: + m,o]m = [a]m[O:]m + [m]m[,o]m = [a]m[O:]m,

e [a]m e invertibile. '"

Corollario 6.2.5 In Zm un elemenio e uiuertibilc 8C c 8010 8C non e dunsore della zero.

Dimostrazione. Segue dal Teorema 6.2.1. '"

Corollario 6.2.6 Sui m > 1 un uumero iniero. Allam gli elements non 'n'Ulli di Zm sana tutti inoertibili se e solo se m e pruno.

Esercizi 6.2.7

(a) Qual'c l'invcrso di [9] in Z13? E in Z14?

(b) Determinare gli elementi invertibili di ciascuno degli insiemi Z12, ZIS, ZIG, Z24.

(c) Determinate gli invcrsi di [5h c di [5Jg.

52 CAPITOLa 6. CLASSI DI RESTI

6.3 Funzione <p di Eulero

Quando p c un numero primo, tutti i numeri non divisibili per p sono primi con p. Se n E N, n > 0, non c un numero primo, ci chicdiamo quanti numeri sono primi con n. Cosi definiamo cp( n) come il numero di a con 1 ::s; a ::s; n primi con n.

cp(n) = I{a EN: 1::S; a::S; n/(a,n) = 1}1·

cp e chiarnata la funzione cp di Eulero. E' chiaro che cp(l) = 1 e cp(p) = p - 1 quando p e un nurnero primo.

Proposizione 6.3.1 Se p e un tiumero pruno e r 2:: 1 allora cp(pr) = pr - pr-l = pr-l(p _ 1).

Dimostrazione. Da1 numero pr dei numeri tra 1 e pr sottraiarno i mu1tipli di p (gli unici non coprimi con p, confronta Corollario 4.3.6) che sono r:'. ..

Da cio segue che il valore di cp( n) e facilmente calcolato quando n e una potenza di un numero primo. Vale inoltre la

Proposizione 6.3.2 Se m ed ti sana pruni ira lOTO, allora

Da cui

Corollario 6.3.3 Sia n E N, diciamo n = p~l ... p~k, allora (confronta Corollario 4.3.7)

= nIT (1-~).

j=l PJ

La principa1e applicazione della funzione ip di Eulero c il Teorema 6.3.4 (Eulero - Fermat) Sia a coprimo con n., ollora

a'P(n) l(modnn).

N el prossimo paragrafo accennererno brevemente a come questi strumenti maternatici sono stati utilizzati in un campo oggi di grande attualita,

6.4. CENNI SULLA CRIPTOGRAFIA

53

6.4 Cenni sulla criptografia

Consideriamo la seguente situazione. A (Alice) vuole scrivere a 13 (Bernardo) un messaggio riservato e teme che C (Carlo) possa intercettarlo e leggerlo. A allora si preoccupera di

• cripiare

il messaggio in qualchc manicra, secondo una opportuna chiavc di codifica, e di far conoscere in anticipo solo a 13 come

• decriptare

secondo una opportuna chiave di decodifica. A questa punta a C non bastera pili intercettare il testo eli A, rna C dovra anche sforzarsi eli capire come

• uiolare

il sistema eli cifratura ideate da A.

Il problema della cTiptogTG/ia (inventare sistemi per criptare) e della criptoanalisi (escogitare tecniche per infrangere questi criptosistemi) nasce nelle situazioni pill disparate (guerre, spionaggio, banche ... )

Il metodo pili semplice (rna anche facilmente violabile) usato fin dai tempi eli Giulio Cesare e quello eli perrnutare simboli dell'alfabeto. Supponiamo eli avere 26 lettere (rna potrebbero essere molte eli pili aggiungenelo altri sirnboli come ?, ! ... ) e quindi lavoriarno in Z26. Ognuna delle 26! pcrmutazioni in Z26 diviene la base di un possibile criptosistema. Per esempio se si fissa come chi ave la traslazione di 2 posti, la chiave di codifica e data dalla funzionre

f(x) = x + 2(mod 26)

e quella di decodifica

f-l(X) = X - 2(mod 26).

Per esempio CIAO diventa EKCQ. Ovviamente se si conosce 2 0 -2 il sistema e violate. L'analisi di frequenza delle lettere in una lingua porta facilmente all'individuazione della chiave. Questo ha portato allo studio eli altri metodi.

La criptoqrafia a chi ave pubblica (inaugurata da Diffie ed Hellmann nel 1976) si basa sui seguenti principi

• Ogni utente ha una chiave segreta che non trasmette ad alcuno.

54

CAPITOLa 6. CLASSI DI RESTI

Conseguentemente

• chi sa codificare non sa necessariamente decodificare.

Addirittura parte del meccanismo ed anche la chiave personale di ciascun utente puo essere res a pubblica, basta che la parte segreta sia computazionalmente inattaccabile.

L'idea fondamentale per organizzare questa genere di criptosistemi e quella eli riferirsi a funzioni j eli coelifica che so no invertibili, rna la cui inversa e praticamente inaccessibile,

• j junzione botola (trapdoor): e facile da computare, e invertibile, ma la sua inversa non si puo calcolare altrettanto facilmente, se non assumendo ulteriori informazioni.

• j [unzione a 8en80 unico (one way): l'invcrsa non c computazionalmente accessibile neppure in presenza eli ulteriori inforrnazioni.

Ovviamente qucsti due concetti non sono matematicamente rigorosi, perch6 collegati alla tecnologia dei computer. Di pili, puo darsi che una funzione che C oggi a scnso unico per ostacoli computazionali domani non 10 sia pili.

6.5 II criptosistema RSA

II criptosistema RSA (Rivet, Shamir, Aclleman) fu proposto nel 1978. La funzione a senso unico e qui il proelotto. Ci si basa infatti sull'osservazione che, allo stato attuale delle conoscenze.

• moltiplicare due primi "titanici" PI, P2 ::::} q = PI . P2

c molto pill rapido chc

• decornporre q = PI . P2 nel prodotto dei suoi fattori primi.

Vecliamo i dettagli di RSA.

Sia N la cardinalita dell'alfabeto usato. L'utente A fissa due primi titanici (> 100 cifre) PI i- P2· Si calcola poi q = PIP2· Si noti che <p(q) = (PI -1)(P2- 1) (cfr. la Proposizione 6.3.2). Tutti i naturali a tali che a < a < PI,P2 sono primi con PI e P2 e quincli anche con q (cfr. Corollario 4.3.6) e quincli soddisfano per il teorema di Eulero- Fermat (Teorema 6.3.4)

a'P(q) l(modq).

6.5. IL CRIPTOSISTElvIA RSA

55

A sceglie poi un naturale s primo con lP( q); COS1 s ha inverso t modulo lP( q) (cfr. Lemma 6.2.4) e t puo essere calcolato conoscendo y(q). Si ha

st 1 ( modip ( q) )

cioe

st=l+ky(q)

per qualche intero k.

Allora per ogni naturale a con 0 < a < PI, P2

A rende noti

q, s (chiave pubblica)

e tiene segreto

t (chiave privata)

So un altro utcntc B vuole trasmcttcrc ad A un mcssaggio, nc eleva ogni unit a di messaggio alla s modulo q

a 1-----+ as (modq).

A recupera il messaggio originale elevando ogni unita alla t modulo q

Quare il rischio che un pirata C violi il messaggio? C conosce la chiave pu b blica (q, s). Per decifrare gli serve t. Ma per calcolare t (=inverso di s modulo y(q)) ha bisogno di

y(q) = (PI - 1)(p2 - 1)

in altre parole di PI, P2 (i fattori primi di q). C non ha pero algoritmi rapidi per decomporre q e dunque per infrangere il sistema.

56

CAPITOLa 6. CLASSI DI RESTI

Capitolo 7

RELAZIONI DI ORDINE

7.1 Ordine parziale

Definizione 7.1.1 Una relazione binaria S'U un insieme S che sia T'ifiessiva, antisimmetrica e transitioa e chiamata un ordine parziale S'U S.

Esempio 7.1.2 Sono cscrnpi di ordine parzialo:

(a) Su N xpy se e solo se x ::; y.

(b) Su P(N) ApE se e solo se A <:: E.

(c) Su N xpy se e solo se x divide y.

(d) Su {O, I} xpy se e solo se x = y2.

Se p e un ordine parziale su S, allora la coppia ordinata (S, p) e detta un insieme parzialmente ordinato. Spesso useremo la notazione (S,::;) per un insieme parzialmente ordinato.

Sia (S, ::;) un insieme parzialmente ordinato e A <:: S; alcune delle coppie ordinate saranno di elementi di A. Se scegliamo in ::; queste coppie ordinate, questo nuovo insieme (cioe (A x A)n ::;) e chiamato la restrizione di ::; ad A ed e un ordine parziale su A.

Esercizi 7.1.3 Sia (N, p), dove xpy so c solo so x divide y. Qual'c la restrizionc di p a {I, 2, 3, 6,12, 18}?

57

58

CAPITOLO 7. RELAZIONI DI ORDINE

Definizione 7.1.4 Sia (S,::::;) un insieme parzialrnente ordinate. Be x ::::; y e x i=- Y, scriuiamo x --< Y e dieiarno ehe x e predecessore di Y 0 Y e successore di x. Be x --< Y (0 Y --< x) e non c'e tiessuno z con x --< z --< Y (0 Y --< z --< x) allora x e un immediato predecessore (successore) di y.

Esercizi 7.1.5 Consideriamo la relazione "x divide y" su {I, 2, 3, 6,12, 18}.

(a) Scrivere le coppie ordinate (x, y) di questa relazione.

(b) Scrivere tutti i predecessori di 6.

(c) Scrivere tutti i predecessori immediati di 6.

Se S e finito possiarno raffigurare I'insierne parzialrnente ordinato (S, ::::;) mediante un discgno chc chiamcrcmo grafo c su cui torncrcrno piu' dettagliatamcntc ncl successive capitolo. Ogni clemente di S c rapprcscntato da un punto, detto nodo (0 vertiee) del grafo. Se x e un pre de cess ore immediato di y, allora il nodo per y e posta sopra il nodo per x, e i due nodi sono connessi da un segmento. Consideriamo per esempio l'insieme parzialmente ordinato (P( {I, 2}), ~). Il suo grafo e :

{1,2}

{I}

{2}

Esercizi 7.1.6 Disegnare il grafo per la relazione "z divide y" sull'insierne {I, 2, 3, 6,12, 18}.

Il grafo di un insieme parzialmente ordinato (anche chiamato diagramma di Hasse) contiene tuttc Ic informazioni dcll'insicmc parzialmcntc ordinato. Possiamo ricostruire l'insieme delle coppie ordinate solamente guardando il grafo. Per esempio dal grafo

7.2. RETICOLI

59

el

c e

b

a possiamo concluelere che questa sull'insieme {a, b, c, d, e, .f}.



f

e il eliagramma eli un oreline parziale

:j= {(a, a), (b, b), (c, c), (d, d), (e, e), (.1,.1), (a, b), (a, c), (a, d), (b, d), (a, e)}.

Un ordine parziale (5,:j) in cui per ogni x, y E 5 e x :j y oppure y :j x c dctto un ordine totole. (Qual' c il suo grafo 7)

Sc csistc y E 5 con y :j x (x :j y) per ogni x E 5 allora y c un minima (massima) dell'insierne parzialmente ordinato, Un minima (rnassimo) se esiste e unico (esercizio).

Un elemento y E 5 e minim ale (massimale) se non esiste x E 5 con x :j y (y :j x). Un minimo (massimo) e sempre minimale (rnassimale), rna non e vera il viceversa. In un insieme totalmente orelinato pero un elemento minimale (massimale) e minimo (massimo). N el eliagramma eli sopra quali sono elementi gli elementi massimali (minimall)? C' e massimo (minirno)?

7.2 Reticoli

Sia (A,:j) un insieme parzialmente orelinato e B ~ A. Un elemento x E A e eletto un confine inferiore eli B se x :j b per ogni b E B. Se yEA e b :j y per ogni b E B, y e detto un confine superiore eli B. Un elernento z E A e chiarnato il massimo confine inferiore 0 infimo eli B (inelicato inelifferentemente con in.f (B) oppure con /\ B) sc c un confine inferiore eli B e sc u c un qualunque altro confine inferiore eli B, allora u :j z. Similmente tEA e chiamato il minimo confine superiore 0 supremo eli B (indicate inelifferentemente con sup(B) oppure con V B) se e un confine superiore eli B e se w e un qualunque altro confine superiore eli B, allora t :j w. E' lasciato per esercizio la dimostrazione che il sup (l'in.f) se esiste e unico.

Esempio 7.2.1 Sia (R, ~) e

(a) B = [0,1]; allora in.f(B) = O e sup(B) = 1. Notate che 0,1 E B;

60

CAPITOLO 7. RELAZIONI DI ORDINE

(b) B = (0,1]; allora inf(B) = 0 e sup(B) = 1. Notare che 1 E B rna o tf_ B;

(c) B = {q E Q/q2 < 2}; allora sup(B) = V2 e inf(B) = -V2 (V2, -V2 tf_ B).

Definizione 7.2.2 Un insierne parzialrnente ordinato (A, ::::;) e detto un ret icolo se per ogni x, yEA esistono inf ( {x, y}) {abbreviato con x /\ u) e sup({x,y}) {abbreviato conxVy}.

Esempio 7.2.3

1. Una catena C e un reticolo. Per ogni x, y E C,

x V Y = max(x, y), x /\ y = min(x, y).

2. (N,:::;) e un reticolo: per ogni n, mEN,

n V m = mcrn(x, y) n /\ m = JvlCD(n, rn).

3. Sia X un insieme; (P(X), S;;;) c un reticolo.

In un reticolo < X,:::; >, quali che siano x, y e z E X valgono le seguenti identita:

L.1 x/\y=y/\x xVy=yVx ( cornrnutativit(1)
L.2 x/\(y/\z)= x V (y V z) = ( associativita)
(x/\y)/\z) (x V y) V z)
L.3 x/\(xVy)=x xV(x/\y)=x ( assorbirnento)
X/\X=X xVX=X ( idernpotenza) Si ha inoltre x /\ y = x se e solo se x :::; y se e solo se x V y = y.

Le identita L.1--;- L.3 caratterizzano i reticoli nel senso che se < X, /\, V > e una struttura algebrica, costituita da un insieme X ~ 0 e da due operazioni binarie /\ e V definite su X (applicasioni da X2 a X), tale che risultino soddisfatte le identita L.1--;-L.3, allora si ha x /\ y = x se e solo se x V y = y e posto x ::::; y se x /\ y = x, si puo mostrare che < X, ::::;> risulta ordinato c chc comunque presi due clcmcnti x c y di X, si ha sup(x, y) = x V y e inf(x, y) = x /\ y.

Indicheremo pertanto un reticolo anche con la notazione < X, /\, V > e l' eventuale massimo (minimo) con 1 (con 0).

7.3. ALGEBRE DI BOOLE

61

Occorre fare attenzione e non confondere il massimo con un elemento truissimale di un insieme ordinato < K, ::::; > che e un elemento z E X con la seguente proprieta: x ~ z implica x = z. Un insierne ordinate puo ammettere elementi massimali distinti: il Iernma seguente afferma che cio non accade nel caso dei reticoli.

Lemma 7.2.4 Se < X, ~> e un reticolo e ammette un elemenio massimale [minimole}, ollora tale elemento e il massimo (minima) di X.

Dimostrazione. Siano y un elemento massimale e x un elemento qualunque eli X. Si ha x ~ x V y, Y ::::; x V y che implica y = x V y per la rnassimalita eli

y; segue allora x ~ y. '"

Esercizi 7.2.5 Mostrare che:

(i) in un reticolo dotato eli massimo < X, 1\, V, 1 > ex 1\ 1 = x e xV 1 = 1, per ogni x E X;

(ii) in un reticolo dotato eli minimo < X, 1\, V, 0> e xl\O = 0 e xVO = x, per ogni x E X.

7.3 Alge bre di Boole

Un reticolo < X, 1\, V > si dice complementato se e dotato eli elemento masSlIllO 1, elemento minimo 0 e per ogni x E X vi e un elemento y E X tale che:

L.4 x V y = 1 x 1\ Y = 0

l'clemento y si dice complemento di x.

In un reticolo complementato vi possono essere elementi con piu complementi distinti; si considcri, ad cscmpio, il reticolo < X, ~>, dove X = {O, a, b, c, I} e la rclazionc d'ordinc c dcfinita come segue: x ~ y sc e solo se x = 0 0 y = 1; questa reticolo prende il nome di trirettangolo e il suo diagrarnma e il seguente

62

CAPITOLO 7. RELAZIONI DI ORDINE

b

c

In tale reticolo si ha: a V b = b V c = c Va = 1 e a 1\ b = b 1\ c = c 1\ a = 0, pertanto ciascuno degli elementi a, bee e un complemento per gli altri due.

Un reticolo < X, 1\, V > si dice distributioo se comunque si scelgano x, y e z EX, risultano soddisfatte le identita:

L.5 x 1\ (y V z) = (x 1\ y) V (x 1\ z) (di8tTibutivita,) xV(yl\z)= (xVY)I\(xVz)

Esercizi 7.3.1 Provare che in un reticolo < X, 1\, V > la prima delle identita L.5 vale, comunque si scelgano x, y e z E X, se e solo se cosi e per la seconda.

Lemma 7.3.2 In un reticolo complcmcntato distributioo il complcmcnto di ogni clemente Ii unico.

Dimostrazione. Supponiamo che < X, 1\, V, 0,1 > sia un reticolo complementato distributive c chc y c z siano cntrambi complementi dcll'clcmcnto x E X. Abbiarno x V y = 1 = x V z, x 1\ Y = 0 = x 1\ z c pertanto:

y=yVO y=yV(xl\z)

y = (y V x) 1\ (y V z) y = (z V x) 1\ (z V y) y=zV(xl\y) y=zVO

y=Z

(esercizi07.2.5) ,

(distributivita') ,

(distributivita') ,

( esercizi07.2.5)

In un reticolo complementato distributivo l'unico complemento di un elemento x si indica con x',

7.3. ALGEBRE DI BOOLE

63

Esercizi 7.3.3 Provare che in un reticolo complementato distributivo < X, /\, V,', 0,1 > si ha (x')' = x, per ogni x EX.

Ai reticoli complementati distributivi si da tradizionalmente il nome di "algebre" di Boole; la seguente definizione alternativa da ragione dell'uso del termine algebra.

Definizione: Un'algebra di Boole e una struttura algebrica

B =< B~·, -i-,' ,O~ 1 >, dove

B e un insieme non vuoto,

. ~ + sono operazioni binarie, I e una operazione unaria,

0, 1 sono clcmcnti privilcgiati,

soddisfacente gli assiorni:

L.1 x·y=y·x x+y=y+x ( comrrmtat'iv'itd)
L.2 X· (y . z) = x+(y+z)= ( assoc'iat'iv'itil)
(x·y)·z (x + y) + z
L.3 x·(x+y)=x x + (x· y) = x ( assorbimenioy.
L.4 x + x' = 1 X· x' = 0 ( complemeniazumei
L.5 X· (y + z) = x + (y. z) = ( d'istr'ibut'iv'itd)
(x· y) + (x· z) (x+y)·(x+z)
L.6 x+O=x x·1 = x ( 'ident'itil) La relazione di ordine indotta (x :::S y se e solo se x . y = x) da luogo ad un rcticolo distributivo complementato Ic cui operazioni coincidono con quelle origin ali dell'algebra di Boolc data.

Un'algebra di Boolc con un solo elemento si dice deqenere. L'algebra contenente esattamente gli elementi O~ 1 verra indicata con 2.

Esercizi 7.3.4 1. Sia X un insicmc, most rare che < P(X), S:;>=

< P(X), n, U,' ,0, X >= B(X) e un'algebra di Doole, detta algebra di Boole delle porii di un insieme 0 anche campo completo di insiemi (se A s:; X, A' = X\A indica il complementare di A).

2. Mostrarc che in ogni algebra di Boolc B =< B, ., +,' ,O~ 1 > valgono lc leggi di de Morgan: (x· y)' = x' + y' e (x + y)' = x' . y', quali che siano x eyE B.

64

CAPITOLO 7. RELAZIONI DI ORDINE

3. Verificare che in ogni algebra di Doole si ha:

a) x::S y se e solo se y'::S x'

b) X· z ::S y se e solo se x::S y + z'

Si puo notare che se in L.l-L.6 si scambiano + e .~ 0 e 1, in ogni riga la prima idcntita viene mutata nella scconda e la second a nella prima. In generale un enunciato sui reticoli ottenuto da un altro scambiando le operazioni 1\ e V, le relazioni ::S e t: ~ e gli elementi 0 e 1, si dice enunciate duale dell'enunciato originale; gli enunciati che riguardano reticoli dotati di massimo (minimo) rna non di minimo (rnassimo) e che contengono tale elemento non hanno duale, E~ evidente che un enuciato sui reticoli, per cui esista il duale, e vero se e solo se tale e il suo duale. Ad esempio si consideri il seguente:

Lemma 7.3.5 In ogni algebra di Boole x . y' = 0 se e solo se x ::S y.

Dimostrasione. Se x·y' = O~ allora x = z-L = X· (y+y') = (x·y)+(x·y') = (x· y) + 0 = x . y ::::: y.

Viccvcrsa x ::S y implica X· Y = x, pertanto X· y' = (x· y). y' = X· (y. y') =

x·o = o. ..

Ora per dualita si puo dedurre immediatamente l'cnunciato: In ogni algebra di Doole x + y' = 1 se e solo se x t: y.

Esercizi 7.3.6

1. In unalgebra di Boole definiamo

x EEl y = x . y' + y . x',

Provare che

x EEl y = y EEl x, x EEl 0 = x, x EEl x = 0, x EEl 1 = x'.

A cos a corrisponde nell' algebra di tutti i sottoinsiemi eli un insieme?

2. Sia B l'insieme di tutte Ie applicazioni da {O, IP in {O, I}. Possiamo definire in B le seguenti operazioni:

(iI + h)(x) = max(iI(x,y),h(x,y))

7.4. RETI CONIBINATORIE

65

[' {I se .1= 0

se

h(x~y) = 0 h(x~y) = 1

Inclichiamo inoltre con z, u Ie funzioni costanti rispettivamente di valore Oel.

Allora (B~ ., +,' ,z, u) e un'algebra di Boole con 16 elementi. Fame la tavola.

7.4 Reti combinatorie

Supponiamo di avere un circuito elettrico con un interruttore che pUO assumere una delle due posizioni on (che 10 chiude) e off (che 10 apre). Supponiarno inoltre che il segnale 1 chiuda l'interruttore e il segnale 0 10 apra.

x=l

circuito chiuso

circuito apcrto

Combinando in tutti i modi possibili in parallelo questi clue circuiti otteniamo

66

CAPITOLO 7. RELAZIONI DI ORDINE

Xl = 1

Xl = 1

X~

1

1

La seguente tavola che riassume i casi possibili non e altro che la tavola dell'operazione booleana -l-.

Xl X2 output

0 0 0
0 1 1
1 0 1
1 1 1 Analogamente, circuiti posti in serie servono ad implement are l'operazione booleana . ed e facile immaginare I'irnplementazione del complernentare. Prcferiamo pcro a questa punta dimenticare i circuiti a tasto e passare alla rappresentazione di un qualunque dispositivo moderno con simboli standard presi dalla logica. Nei circuiti integrati abbiamo l'OR-gate che si comporta come l' operazione booleana +,

7.5. ESPRESSIONI BOOLEANE

67

OR-gate

L' AND-gate che si comport a come il prodotto

AND-gate

L'Inverter che rappresenta l'operazione booleana I.

Invctcr Xl

X'

Per l'associativita delle oprazioni + e . gli OR-gate ed AND gate possono avcrc pili di due input.

7.5 Espressioni booleane

Definizione 7.5.1 Un'espressione booleana in n variabili Xl, X2, ... ,Xn e una qualunque sequenza finita di simboli [ormaia applicando le seguenti regole.

68

CAPITOLO 7. RELAZIONI DI ORDINE

(i) Xl ~ X2, ... ,Xn sotio espressioni booleane.

(ii) Se P e Q sono espressioni booleane, cosi lo sono (P + Q), (P . Q) e

(P)'.

La dcfinizionc di csprcssionc boolcana c un altro cscmpio di dcfinizionc ricorsiva: (i) e la base e la regola (ii) e il passo induttivo. Quando non c'e peri colo di confusione omettiamo le parentesi intodotte in (ii). Inoltre conveniamo che . preceda il + e il I: cosi Xl + X2 . X3 sta per Xl + (X2 . X3) e Xl + X; sta per Xl + (X;). Ometteremo, come al solito anche il simbolo per il prodotto. Con queste convenzioni

X3, (Xl + X2)'X3' (XIX3 + X~)X2

sono cscmpi di csprcssioni boolcanc.

Definizione 7.5.2 Una funzione booleana e una funzione f : {O, l}n - {O, I} per qualche iniero n ~ 1.

(Ricordiamo che {o,l}n denota l'insieme di tutte le n-ple di 0,1). Quante funzioni booleane distinte f : {O, l}n - {O, I} ci sono?

Sia X urr'espressione booleana nelle n variabili Xl, X2, ... ~ Xn- E' possibile definire ricorsivamente una funzione booleana fx : {O, l}n - {O, I} nel seguente modo:

per ogni aI, a2, ... , an E {O, l}n

X=Xi X=P+Q X=p·Q X=P'

Per esernpio l'espressione booleana XIX; + X3 definisce la funzione f {O, 1 P - {O, I} data dalla seguente tavola:

I Xl I X2 I X3 II f I

0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1 7.5. ESPRESSIONI BOOLEANE

69

Inoltre combinando OR-gate, AND-gate ed Inverter possiamo costruire una rete, rappresentante la espressione booleana , che produce la stessa funzione dell'espressione. Nell'esempio la rete per l'espressione XIX; + X3 e:

X3 -+v

Viceversa, data una rete possiarno scrivere una espressione booleana con la stcssa funzione. Per csornpio una csprcssionc boolcana per la rete:

70

CAPITOLO 7. RELAZIONI DI ORDINE

7.6 Forma canonica

I legami che abbiamo osservato fra le espressioni booleane, le reti combinatorie e le funzioni booleane possono essere riassunte nel seguente schema:

funzione booleane +----- espressione booleana +----- rete logica

Possiarno infatti scrivere un'unica funzione booleana sia da una rete che da uri'csprcssionc. Inoltre data uri'csprcssionc possiamo trovare una rete con la stcssa funzione e viccvcrsa.

Rimane da risolvere il problema di trovare uu'espressione, avendo a disposizione una funzione booleana. Dimostreremo che sempre possibile associate una espressione in forma canonica (cioe' una sornma di prodotti di variabili 0 loro complementi) ad un funzione booleana. Illustriamo dapprirna l'algoritrno con un esempio.

Supponiamo di voler trovare uri'espressione booleana X per la funzione I definita dalla tavola

0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1 Ci so no quattro righe (2,5,6 e 8) nella tavola nelle quali I prende il valorc

1. La forma base della espressione X cercata sara una sornma di quattro espressioni

) + (

) + (

) + (

in cui ogni csprcssionc c un prodotto aPr dove a C Xl oppure x~, P C X2 oppure X; ere X3 oppure x~ e talc che la funzione [x che ossa definisce coincida con la I data e quindi che assuma il valore 1 soltanto nelle assegnazioni a Xl, X2, X3 corrispondenti alle righe 2,5,6 e 8.

7.6. FORlvIA CANONICA

71

Se il valore dato a Xi (i = 1,2,3) e 1 allora usiarno Xi, se il valore e 0, usiamo x~. Cost abbiamo

riga 2 riga 5 riga 6 riga 8

, , XlX2X3

, , Xlx2x3

XlX;X3 XlX2X3

L' espressione X cercata e allora:

Vcdiamo ora la cos a in gcncralc.

Teorema 7.6.1 (di forma normale) Data 'Una jusiziosu: boo lean a i : {a, l}n ----+ {a, I}, esisie sempre 'UTW espressione booleana tielle uariabili Xl, ... , Xn tale che, per ogni (al, ... , an) E {a, l}n

Dimostrazione. Se i(al, .... an) = ° per ogni (al, ... an) E {O,l}n, allora I'espressione (xlxD + ... + (xnx~), soddisfa chiaramente la tesi del teorema.

Altrimenti consideriamo il sottoinsieme

Sia j > ° il numero degli elementi di K. Per ogni elemento (ali, ... , ani) di K consideriarno I'espressione X( j6d32 ... 16n dove ,6s uguale a Xs se asi = 1 oppure uguale a x~ se asi = ° per ogni .5 = 1. ... , n, Osserviamo che ix; (bl, ... ,bn) = 1 se e solo se bs = asi per ogni .5 = 1, .... n. se e solo se (bl, ... ,bn) E K. Sia X la espressione Xl +X2+ ... +Xj. Mostriarno che X e

l'espressione cercata. Sia infatti i(al, , an) = 1 allora [x, (al, ... , an) = 1

per qualchei = 1, ... .i e quindi iX(al, an) = 1.

Viccvcrsa sc iX(al, ... an) = 1, allora iXi(al, ... ,an) = 1 per qualchc i = 1, ... .i. Questo significa chc csistc in K un clemento (ali' ... ' ani) tale

che i(ali, .... , ani) = 1. ...

Poichc ogni csprcssiono ha una corrispondente rete, ogni funzione boolcana ha una rappresentazione come rete. Inoltre le porte AND, OR ed Inverter sono gli unici dispositivi necessari per costruire la rete.

72

CAPITOLO 7. RELAZIONI DI ORDINE

Definizione 7.6.2 Due espressunu booleane si dicono equivalenti se esse hamno la siessa [un.zioru: booleama.

Chiaramente l'equivalenza di espressioni booleane e una relazione di equivalenza sull'insieme di tutte le espressioni booleane in un numero fissato di variabili, Ad ogni classe di equivalenza e allora associata una funzione booleana. N aturalmente il teorema di forma normale fornisce un particolare elemento della classe associata alla funzione e precisamente quella in forma canonica. Pero se pensiamo alle reti ovviamente abbiamo bisogno di un elemento il pili semplice possibile. II problema allora e quello di ridurre una espressione booleana ad una equivalente pili semplice. Possiamo usare le proprieta delle algebre di Boole poiche esse esprimono l'equivalenza di espressioni booleane.

Esempio 7.6.3 Le espressioni booleane

e

sono equivalenti. Infatti:

+ ' + "+" +'"

XIX2X3 XIX2X3 XIX2X3 Xl X2X3 Xl X2X3

+ ' + ' + "+" +'"

XIX2X3 XIX2X3 XIX2X3 XIX2X3 Xl X2X3 Xl X2X3

( propricta di idcmpotcnza)

+ '+' + "+" +'"

XIX3X2 XIX3X2 XIX2X3 XIX2X3 Xl X2X3 Xl X2X3

XIX3(X2 + X;) + XIX;(X3 + X~) + X~X;(X3 + X~)

XIX3·1 + XIX; ·1 +x~x;·l

+ '+" XIX3 XIX2 Xl X2

XIX3 + X;(XI + xD XlX3 + X; . 1

XIX3 + x;

(L1) (L5) (L4) (L6) (L5) (L4) (L6)

Come si vcdc facilmcnto da questa cscmpio la scmplificaziono di csprcssioni booleane fatta in questa modo richicdc una scclta delle propricta da usarc. Esistono degli algoritmi per una semplificazione pili efficiente,ma questa esula dal programma del corso.

Capitolo 8

GRAFI

8.1 I grafi

Nello studiare gli insiemi ordinati abbiamo utilizzato diagrammi che abbiamo chiamato grafi. Ora studieremo matematicamente questi oggetti che so no utilizzati in arnbiti diversissimi,

Definizione 8.1.1 Uti grafo orientato e una quadruple (V, A, 0:, {3) dove

• V e un insieme d'i vertici 0 (nodi)

• A C un insieme (disg'ilLnto da V) di archi 0 frecce

• 0: e ,8 sono due applicazioni di A in V che ad ogni area a associa il nodo di pcrtenza 0: ( a) e il nodo di arriuo ;8 ( a ) .

II fatto di avere un no do di partenza e uno di arrivo dell'arco permette di orient are l'arco. Pili archi possono avere la stessa origine e 10 stesso arrivo. Per questa ragione questa tipo di grafo e chiamato anche multigrafo.

La figura sotto

2

73

74

CAPITOLa 8. GRAFI

e un grafo orientate con 2 nodi (V = {1,2}) e 3 archi A = {a1,a2,a3} con

oo(ad = oo(a2) =1
f3( a1) = ,6(a2) =2
oo(a3) =2
f3( a3) =1 Definizione 8.1.2 Un grafo non orientato e un grafo in eui non e possibile distinguere l' origine dall' arrioo di un arco. E' allora una triple (V, A, 6) dove 6 cssocui ad ogni area 2 ueriici non necessariamenie distinti.

1 a1 2

------- ....

e un grafo non orientato con 2 nodi (V = {I, 2}) e 2 archi A = {a1, a2}

con

6(a1) = {1,2} 6(a2) = {I}

Un grafo (orientate, non orientate) c finito se V cd A sono finiti.

Si puo sempre trasforrnarc un grafo orientate in uno non orientate "obbligando' il verso degli archi. Se G = (V, A, a, (3) e un grafo orientate, allora (V, A, 6) dove 6(a) = {oo(a), ,6(a)} e un grafo non orientate denotato ,(G).

Viceversa, se abbiarno un grafo non orientate, possiamo orientarlo dando un verso arbitrario ad ogni arco .

• Se 6(a) = {v} allora oo(a) = u = ,6(a) .

• Se 6(a) = {v, Vi} con v =I Vi allora oo(a) = v e f3(a)

oo(a) = Vi e f3(a) = v.

E' evidente quindi che I'orientazione di un grafo non e unica.

Definizione 8.1.3 Se G e un grafo non orieniaio, un grafo orieniaio G' e un'orientazione di G se ,(G') = G.

Vi oppure

Un vert ice Vi e adiacente ad un vertice Vj in un grafo G se per qualche arco a di G, oo(a) = Vi, f3(a) = Vj. In un grafo non orientate due vertici sono adiaccnti se esiste un arco che li connette. Da qui in avanti si parlera semplicemente di grafo intendendo un grafo orientate 0 non orientate, specificando solo se necessario.

8.2. GRAFI SENIPLICI

75

8.2 Grafi semplici

In un grafo un cappio C un arco i cui estremi coincidono. Si dice inoltre che un grafo contiene archi paralleli se ci sono pili archi che hanno gli stessi estremi. Sia G un grafo orientato senza archi paralleli. Sia V il suo insieme dei vertici. Se (Vi, Vj) e una coppia ordinata di vertici, allora in G c'e 0 non c'e un arco che li connette, Possiamo usare questa proprieta per definire una relazione p binaria su V

Questa rclazione c la rclazione di adiacenza del grafo. Ncl seguente cscmpio,

1 al 2

..=----_- .....

4

3

la relazione di adiacenza e:

p = {(I, 2), (2,3), (3,4), (4,2), (4, I)}.

Viceversa, se p e una relazione bin aria su un insieme V, possiarno definire un grafo orientate G con vcrtici gli clementi di V e archi a con a(a) = ti, e j3(a) = nj sc e solo sc nipnj. G non avra allora archi paralleli. Sia p = {(1,4),(2,4),(2,3),(4,1)} la relazione binaria sull'insieme V = {1,2,3,4}. Possiamo allora associare il grafo

76

CAPITOLa 8. GRAFI

.1"-- - ..... 4

2

3

Se la relazione e simmetrica il grafo e non orientato.

Un grafo e cletto semplice se non ha cappi ne archi paralleli. Un grafo e completo se per ogni coppia di vertici clistinti c'e un arco che Ii collega (cioe i clue vertici sono adiacenti).

I pili sernplici grafi non orientati cornpleti sana:





Esercizi 8.2.1 Disegnare K5.

8.3 Sottografi e grafi ridotti

Intuitivamente si ottiene un grafo rielotto eli un grafo G cancellanelo elegli archi, mentre si ottiene un sottografo eli G cancellanelo elei vertici e tutti gli archi che hanno questi vertici come estremi.

Definizione 8.3.1 Se G = (V, A, a, ,S) e un gmfo orienuiio, it gmfo orientaio G' = (V', A', a', (3') e un ridotto di G se

• V'=V

• A' CA

• per ogni a E A' a'(a) = a(a) e j3'(a) = IS(a).

8.4. GRADO DI UN VERTICE

77

E' un sottografo di G se • V'S;::; V

• A' = {a E A /{o:(a),p(a)} s;::; V'}

• per- ogni a E A' o:'(a) = o:(a) e /3'(a) = ;3(a).

Esercizi 8.3.2 Dare le definizioni di sopra per i grafi non orientati.

8.4 Grado di un vertice

In questa paragrafo considereremo solo grafi finiti. Il grado d( v) di un vertice v di un grafo non orientate G = (V, A, b) e il numero di archi a tale che v E b(a). Se b(a) = {v}, a sara contato 2 nel grado di v. Il grado d(v) di un vertice in un grafo orientato e uguale al nurnero di archi a per cui v = 0:( a) oppure v = ,6(a) (sc o:(a) = p(a) l'arco a c contato due volte): in altri termini il grado di un vcrticc c uguale alla somma del numero d+ (v) delle frccco in entrata e del numero d: ( v) delle frecce in uscita,

Proposizione 8.4.1 La somma dei qradi di tutti i ceriici di un gmfo non orieniato .finito e uquole al doppio dei suoi archi.

Dimostrczione. Ciascun arco a conta 1 nel grado di v e nel grado di Vi se

b(a) = {V,V'} con v i=- Vi e conta 2 se b(a) = {v}. '"

8.5 Cammini

In un grafo orientate G un cammino e una sequenza c = al, ... , an di archi tali che per ogni i E {I, ... , n - I}, ,6(ai) = o:(ai+1). Il vert ice o:(ad e detto l'origine del carnmino e ,6(an) e la fine del cammino. Un circuito e un carnmino tale che ,6(an) = o:(al). Un cammino (0 un circuito) e semplice se non contiene due volte 10 stesso arco. E' elementare se non contiene due volte 10 stesso vertice con la sola eccezione che Va e Vn possono essere uguli (c quindi c ncccssariamcntc scmplicc).

In un grafo orientate un circuito c euleriano sc c scmplicc c conticnc tutti gli archi del grafo. E' hamiltoniano se e elementare e tocca tutti i vertici (cioe per ogni vert ice v esiste i tale che v = 0:( ai) oppure v = ;3( ai).

78

CAPITOLa 8. GRAFI

Per i grafi non orientati una catena e una successione

di vertici e archi tali che 5(ad = {Vi-l, Vi}. Si dira che questa catena unisce i vertici Va e Vn. Un cicIo e una catena tale che Va = Vn- Se la catena

uniscc Vo c Vn allora anchc la catena

umscc Vo e Vn.

Una catena (0 un ciclo) c scmplico so non contiene due volte 10 stcsso arco cd clement arc so non contiene due volte 10 stcsso vertice con la sola eccezione che Vn puo essere uguale a Va. In un grafo non orientate allora una catena e euleriana se e semplice e contiene tutti gli archi, mentre e hamiltoniana se e element are e contiene tutti i vertici.

Esempi 8.5.1

1. N el grafo orientate

• al a2a3a4 C un circuito scmplicc, hamiltoniano rna non culcriano.

• a4al a2a3a5 C un carnmino culcriano rna non clement arc (c quindi non hamiltoniano).

2. Nel grafo orientate

8.5. CAMNIINI 79
al
IE a3 : ) 2

a2 • al a3 e un circuito hamiltoniano, non euleriano.

• al a3a2 e un cammino eulariano non element are.

3. Nel grafo non orientato

1 al 2

-------_

• la21 e un ciclo elementare.

• la21a12 e una catena semplice euleriana, non element are.

• 2a1la21a12 c un ciclo non scmplicc.

Ovviamente se c = al, ... , an e un cammino (circuito, semplice, elementare, euleriano, hamiltoniano) di un grafo orientato G, allora

a(al)al' a(a2)a2 ... , a(an)anP(an)

e una catena (ciclo, semplice, ... ) di i( G) e reciprocamente se e data una catena semplice esiste un'orientazione eli G tale che aI, ... ,an e un cammino.

Proposizione 8.5.2 Se un grafo G eontiene due eatene sempliei diverse ehe uniseono due ceriici distinti, allora eontiene un eiclo sempliee.

Dimostrazione. Siano

e

due catene semplici tali che Va = v[) # Vn = v~,. Dimostriamo per induzione su n + n' che l'esistenza di tali catene implica l'esistenza di un ciclo semplice.

80

CAPITOLa 8. GRAFI

1. Porche n ~ 1 e n' ~ 1 (vo = vb # Vn = V~/) il valore pili piccolo possibile per n + n' e 2. In questo caso

c = vav', c' = va'v' con a # a'

e vav' a' v e un ciclo semplice.

2. ( a) Se gli insiemi

A(c)={ai/1:::;i:::;n} eA(c')={a~/l:::;j:::;n'}

sono disgiunti, allora

e un ciclo semplice.

(b) Se al = a~, allora VI = v~ c si prcsont.ano due casi

i. Se n' = 1 (il caso n = 1 e simile), allora Vn = v~ = VI e

c un ciclo scrnplicc,

11. Altrimenti le due catene

e

di lunghezza rispettivamente n - 1 e n' - 1 verificano ancora le ipotesi e dunque G contiene un ciclo semplice.

(c) Resta da esaminare il caso in cui A( c) n A( c') # 0 e al # a~.

Esistono allora i > 1 e j > 1 tali che ai = aj con Vi-l = Vj_l oppure Vi-l = vj.

N el primo caso, Ie catene

e

q,t a' 0,1 a' q,l a' 0"

-r» l' ul· 2'···' uJ-2' j-U Uj_l

di lunghezza rispettivarnente i-I < n e j :::; n verificano Ie ipotesi

c G contiene un ciclo semplice. '"

8.5. CAMNIINI

81

Esercizi 8.5.3 Dimostrare che in un grafo non orientato, la catena pili corta tra 2 vertici distinti e elementare.

Questo e vera per un cammino in un grafo orientate?

Sia (V A, a, (3) un grafo orientato can n vertici VI, ... ,Vn- Si puo associate al grafo la matrice l'vl dove mij (1 ::;i < n, 1 < j < n) e il numero di archi da Vi a Vj (cioc tali chc a(a) = Vi, (3(a) = Vj). Talc matricc M c chiamata la matrice di adiacenza del grafo. N otiamo chc ncl caso di grafo non orientate la matricc c ovviamcntc simmctrica.

Consideriamo ad esempio il seguente grafo orientato.

2

4

La sua matrice eli adiacenza e

(H ~ ~)

o 0 0 0

Esercizi 8.5.4 cenza

1. Disegnare i graft rappresentati dalle matrici di adia-

82

CAPITOLa 8. GRAFI

2. Descrioere la mairice di adiacenza per Kn.

8.6 Grafi connessi

Un grafo orientato e (fortemente) connesso se per ogni coppia (v, Vi) di vertici distinti esiste un cammino da v a Vi. Un grafo non orientato e connesso se per ogni coppia (v~ Vi) di vertici distinti esiste una catena che unisce v e Vi.

La componente connessa CCa( v) di un vertice v di un grafo non orientato e l'insieme contenente v e tutti i vertici uniti a v da una catena.

Proposizione 8.6.1 Se Vi E CCa(v), allora CCa(v) = CCa(v').

Dimostrazione. Supponiamo v # Vi (altrimenti il risultato e banale); se Vi E CCa(v), esiste una catena e che unisce v a Vi e una e' che unisce Vi a v. Sia v" E CCa(v),

• se v" = v allora v" E CCa(v)

• altrimenti esiste una catena d' che unisce v a v". Allora e' e" e una catena che unisce Vi a v" e v" E CCa(v').

Segue chc CCa(v) s: CCa(v'). L'inclusione invcrsa si dimostra nella stcsso

modo. ..

Viene immediatamente dalla definizione la

Proposizione 8.6.2 G = (V, A, 5) e cotinesso se e solo se per ogni v E V V = CGa(v).

Un vertice isolato c un vertice di grado 0; ovviamente se v c isolato allora CGa( v) = {v}. In un grafo privo di cappi vale anche il viceversa, doe se CGa( v) = {v}, allora v e isolato.

8.7. UN ESEMPIO STORICO: I 7 PONTI DI KONISBERG

83

Proposizione 8.6.3 Sia G un grafo non orientato connesso. Sia G' il gmfo ottenuio da G eaneellando un area a i cui estremi sono Vi, v" di.stinti. Allora

v = CCG(v') U CCG(v").

Dimostrazione. Sia v un vertice qualunque di G. Poiche G e connesso esiste una catena Vo, a1, V1, a2, ... ,Vn-1, an, Vn con Vi = Vo e Vn = v. Se Parco a non compare in questa catena, v E CCG! (Vi). Altrimenti sia i il pill grande indice tale che a; = a. Allora Vi E {Vi, v"} e Viai+1 ... anVn e una catena di

G', dunque v = v; E CCG(v') U CCG(v"). ...

8. 7 Un esempio storico: i 7 ponti di Konisborg

Nella citta di Konisberg ci sono 7 ponti che collegano un isola alla terra ferma.

B

Un turista puo visit are Konisbcrg traversando un ponte una e una sola volta? Schematizzando il problema, si tratta di trovare una catena euleriana nel grafo

84 CAPITOLa 8. GRAFI
c C
d g
A e D
b f
a B Di pill, se il visitatore vuol tornare al punta eli partenza, si tratta di trovare un ciclo euleriano. La risposta (negativa) a questa problema si ottiene dal seguente teorema (dovuto ad Eulero nel 1766).

Teorema 8.7.1 Uti grafo finito G senza punii isolaii possiede una catena euleriama se e solo se

(i) e connesso

(ii) ha 0 0 2 oertici di gmdo dispari.

Nel coso non ci sumo »ertici di gmdo dispori, la catena euleriana e un ciclo. Nel coso ce tie sumo 2, questi sotio gli estremi della catena.

Dimostrczione. (::::}) Supponiamo esista una catena euleriana

Poiche il grafo non ha vertici isolati abbiamo

V=Ub(a), A={al" ... ,an}

aEA

da cui v E V se e solo se esiste i tale che v = Vi. G e dunque connesso.

Sia V un vert ice qualunque; il grado di v e

d(v) = 2x I {ill:::; i-: n -l,Vi = v} I + { ~

se V = Vo se v = Vn

In effetti, per ogni i E {1, ... , ti - I} talc chc v = Vi, V C l'estremo di due archi elistinti ai e ai+l. Se inoltre v = Vo e' anche l'estremo eli al e se v = Vn e' anche l'estremo di an. Si deduce allora che

8.7. UN ESEMPIO STORIeo: I 7 PONTI DI KONISBERG

85

• se Va = Vn~ cioe se si ha un ciclo euleriano, tutti i vertici hanno graelo pan.

• se Va #- Vn tutti i vertici hanno graelo pari ad eccezione elegli estremi della catena.

( -{:::) Sia G un grafo connesso con 0 0 2 vertici eli grado dispari; dimostriarno chc conticnc una catena culcriana.

Osserviarno che si puo aggiungere 0 togliere a un grafo un numero qualunue eli cappi senza modificare ne la parita elei graeli elei vertici, ne l'esistenza eli catene euleriane, Infatti se uno aggiunge 0 toglie un arco a con 5( a) = {v} si aumenta 0 si diminuisce eli 2 il graelo eli V e inoltre se G' e ottenuto da G aggiungenelo l'arco a

e una catena euleriana eli G se e solo se

e una catena eulerian a eli G' (anche se V = Vo oppure u = vn). Si puo allora ragionare per induzione sul numero eli archi eli un grafo privo eli cappi.

Se questa numero e 1, l'unico arco a eli G e tale che 5 (a) = {v, v'} con v #- v' e vav' e una catena euleriana.

G abbia ora n + 1 archi

(a) Se tutti i vertici hanno graelo pari si considera un arco qualunque eli estrerni v e o', Sia G' il rielotto eli G ottenuto cancellando questa arco. I elue vertici v e v' diventano eli graelo dispari. G' e forzatarnente connesso: sia eGG' (v) la componente connessa eli u. v' E eGG' (v) perche altrimenti GGG' (v) sarebbe un grafo con un solo vertice eli graelo dispari che e impossibile (abbiamo visto che la sornma elei graeli eli un grafo e sernpre pari). Esiste quineli una catena c che unisce v a v' in G'. Mostriamo che eGGr(v) contiene tutti i vertici eli G'. Sia v" un vertice qualunque eli G'. Poiche G e connesso esiste una catena che unisce v' a v". Se questa catena utilizza l'arco a, si sostituiscc questa arco con la catena c. Si ottiene COS1 una catena eli G' chc uniscc v" a o', Poich6 G' e connesso eel ha 2 vertici v e v' eli graelo dispari esiste una catena euleriana c' che unisce v' a v e vac' e elunque un ciclo euleriano eli G.

86 CAPITOLa 8. GRAFI

(b) Siano v e v' i elue vertici eli graelo elispari eli G. Sia a un arco tale che v E t5 ( a) e sia v" il vertice tale che t5 ( a) = {v, v" }. Sia G' il grafo ottenuto cancellanelo questa arco. II graelo eli v in G' e pari.

1. Se il graelo eli v" in G e elispari (cioe v" = v') allora il graelo eli v" in G' e pari.

( a) Se G' e connesso, esiste un ciclo euleriano ela v in v e cav' = v" e una catena euleriana eli G.

(b) Altrirnenti CCG! (v) e CCG! (v') so no elue grafi connessi e tutti i loro vertici so no eli graelo pari. Esiste un ciclo euleriano c ela v a v in CCG! (v) c un ciclo culcriano c' da v' in v' in GCG! (v'). Allora cae' c una catena culcriana in G.

2. Se il graelo eli u" in G e pari (doe v" #- v') allora il graelo eli u" in G' e elispari e v" E GCG! (v') poiche v" e v' sono i elue soli vertici eli graelo elispari.

(a) Se G' e connesso, c'e una catena euleriana c eli G' che unisce v" a v' e vac e una catena euleriana eli G.

(b) Altrimenti tutti i vertici eli CCG! (v) hanno grado pari. Esiste un ciclo euleriano eli CGG' (v) che unisce v a v e una una catena euleriana c' eli CGG! (v') che unisce v' a v'. Allora cae' e una catena euleriana eli G che unisce v a o',

Capitolo 9

ALBERI

9.1 Alberi liberi

Definizione 9.1.1 Un albero libero c un grafo non orientate conncsso priuo di cieli scmplici.

Osserviamo che un grafo contenente un arco a contiene il ciclo vavl av con b (a) = {v, Vi}, ma questa ciclo non e semplice. E' questa il motivo per cui parliamo di cieli sernplici. Nella nostra definizione il grafo a sinistra e un albero libero, mentre quello a destra non 10 e.

1

2

3

4

5

c

Proposizione 9.1.2 Sia G un grafo finito con n certici cd m archi c p sia il numero di componcnti connesse. Allora G c priuo di cieli scmplici se e solo se m - n + p = o.

Dimostrazione. Dimostriamo dapprima per induzione su m che m-n+p ~ o.

87

88

CAPITOLa 9. ALBERI

• La proprieta e vera per m = 0 in quanta se ha n vertici ha n componenti connesse.

• Sia a un arco che unisce v a v' (che sono dunque in una stessa componente connessa) e cancelliarno l'arco a. II grafo COS! ottenuto ha n = n' vertici e m' = m - 1 archi e p' componenti connesse con p' = p oppure p' = p + 1 da cui p 2: p' - 1. Per ipotesi induttiva m' - n' + p' 2: 0, rna

> '1'"

m-n+p_m-n+p - =m -n +p.

( <¢=) Supponiamo che G contenga un ciclo scmplicc c e mostriamo che m - ti + p > O. Sia a un arco qualunquc di questa ciclo con b(a) = {v,v'} (dove v e v' possono essere uguali). Esiste dunque una catena c' che unisce v e v' che non utilizza l'arco a. Sia G' il grafo ottenuto cancellando l'arco a. Per G' abbiarno m' = m - 1, n' = n e p' = pin quanta i1 numero di componenti connesse non e variato: se due vertici sono uniti da una catena che utilizza a, 10 sono anche da una catena eli G' ottenuta rimpiazzando ogni occorrenza eli a con c', Quineli m - n + p = m' + 1 - n' + p' > m' - n' + p' 2: O. (::::}) Mostriamo che se m - n + p > 0, allora G ha un ciclo semp1ice. La dimostrazione proceele per ineluzione su m.

• Se m = 0 allora abbiarno gia visto ehe m - n + p = o.

• Sia G' il grafo ottenuto eaneellanelo un area a qua1unque. Si e visto ehe in questa caso m - n + p 2: m' - n' + p' e ehe p' = p oppure p' = p + 1.

(a) Se m' - n' + p' > 0 allora per ipotesi induttiva G' contiene un ciclo semplice e quindi anche G.

(b) Se m' - n' + p' = 0 allora m - n + p > m' - n' + p' che implica p' = p. Cioe il fatto eli eaneellare a non rnoelifiea il nurnero eli eornponenti connesse, Poiche gli estremi v e v' eli a sono nella stessa componcntc conncssa di G, so no anchc nella stcssa componcnt.o conncssa di G'. Esistc dunquc una catena scmplicc c chc uniscc v e v' e che non utilizza a. Aggiungenelo a a questa catena si ottiene

un ciclo semp1ice. ...

Teorema 9.1.3 Sia G un grafo can n vertici (n > 2). Le seguenti sana equivalenti:

9.1. ALBERI LIBERI

89

(i) G e connesso e senza cieli sernplici (cioe G e un albero libero).

(ii) G e seiiza cieli setnplici e lui n - 1 archi.

(iii) G e connesso e lui n - 1 archi.

(iv) G e senza cieli sernplici; se sz aqqiunqe un aTCO si [orma un cielo semplice.

(v) G e connesso; 8C si camcella uri aTCO non e pi?}' conmesso.

(vi) PeT ogni v~ v' E V (v #- v') esiste una e una sola catena che unisce v e c',

Dimostrazione. ((i)::::}(ii)). Poieh6 G c conncsso p = 1. Per l'ipotcsi allora m - n + 1 = 0 e quindi m = 71 - 1.

((ii)::::}(iii)). Se G e senza cieli sernplici, m - 71 + p = 0 e m = 71 - 1. Ma allora p = 1 e dunque G e eonnesso.

((iii)::::}(iv)). Se G c conncsso (p = 1) em = 71 - 1, allora m - 71 + P = 0 e dunque G c senza cieli scmplici. Se si aggiunge un area rcsta conncsso e m' - 71' + p' = m + 1 - 71 + P > o. G ha quindi un cielo semplice.

((iv)::::}(v)). Se G non e connesso, si potra aggiungere un area senza ere are cieli: e suffieiente prendere un area che unisce due vertiei di due eomponenti connesse distinte. Se si cancella un area e si ottiene aneora un grafo connesso, m' - 71' + p' = m - 1 - 71 + p = 0 da cui m - 71 + P > 0 e G non e pili privo di cieli sempliei. Assurdo.

((v)::::}(vi)). Siano v, v' due vertici di G. Poiche G e connesso esiste una catena che li unisce, Se ce ne sono due il grafo contiene un ciclo sernplice (per la Prop.6.6.2), da cui si puo ritirarc un arco, lasciando il grafo conncsso. ( (vi)::::} (i)). G e eonnesso. Se contiene un cielo sernplice, si possono trovare

due catene distinte ehe uniscono due vertici. •

Proposizione 9.1.4 Uti albero con n nodi (71 > 2) ha almena 2 nodi di qrado 1.

Dimostrazione. Si ricordi chc in un grafo la somma dei gradi c uguale al doppio del numero di archi. In un albero il numero di archi c 71 - 1 e quindi la somma dei gradi e 271 - 2. Poiche un albero e un grafo connesso, non ha vertici di grado O. Sia k il numero di vertici di grado 1. Ci so no allora n - k

90

CAPITOLa 9. ALBERI

nodi di grado ~ 2; la sornma dei gradi e ~ k + 2(n - k) = 2n - k. Poiche

2n - 2 ~ 2n - k si ha k ~ 2. '"

Esercizi 9.1.5

1. Sc si cancclla un area in un albcro libcro lc due eom-

poncnti conncssc sono albcri libcri.

2. Mostrarc chc sc un albcro G ha esattamente 2 nodi di grado 1 allora tutti gli altri nodi hanno grado 2. Dedurre ehe G eonsiste in una sola catena elementare.

Un ridotto di un grafo G che sia un albero libero G e chiamato 10 spanning tree di G.

Proposizione 9.1.6 Uti gmfo finito ha 'UTW spaurumq tree se e solo se e coruiesso.

Dimostrczione. Se un grafo ha un ridotto connesso allora e connesso, Viceversa se un grafo e connesso e si puo levare un arco, rimanendo connesso, leviamo questa arco, Quando non potremo pill levare archi per il punta (v)

del teorerna, si ottiene un albero, '"

9.2 Alberi

Un albero e un grafo orientate G tale ehe i( G) e un albero libero e in cui tutti i nodi sono di grado di entrata 1 con I'eccezione di un nodo chiarnato radice di grado di entrata O.

Proposizione 9.2.1 Se G e un albero libero [iuiio, per ogni nodo v di G, esisie 'Una orieniazione di G che e un albero di radice v.

Dimostrazione. Sia v un nodo qualunquc di G c a un area di cstrcmi v, Vi. Levando questa area otteniamo due grafi connessi G( v), G( Vi) che sono ancora alberi liberi. Si orientino questi due alberi in modo tale che le radici siano rispettivamente v e Vi e si orienti a da v a Vi. Si ottiene cosi un albero di vertice v. In effetti per ogni v" di G (v) U G (Vi) diverso da v e Vi, il grado di v" e uguale al suo grado di entrata nell'albero costruito da G( v) 0 da G( Vi)

cioe 1. II grado eli entrata eli Vi e 1 e quindi eli v e O. '"

Da qui in avanti, per accentuate ehe il grafo e un albero useremo la lettera T (tree) invece eli G.

9.2. ALBERI

91

Proposizione 9.2.2 Sia T uri olbero e v uno dei suoi vertici. Sia T( v) il 8ottografo di T il cui itisieme dei nodi e {v} con l' aggiunta di tutti i nodi che sotio punii di arrivo di un cammino di origine v. Allora T(v) e un albero di radice v.

Dimostrczione. Per costruzione di T(v), ,(T(v)) e connesso. Di pili ,(T(v)) non contiene cicli semplici, perche se ne contenesse uno, anche ,(T) 10 conterrebbe e questa e impossibile perche ,(T) e un albero libero. Quindi ,(T( v)) e un albero libero.

Per costruzione di T(v), ogni no do Vi di T(v), diverso da v e l'estremo di una freccia la cui origine e in T( v). Questa freccia e l'unica freccia di T, di estrerno Vi. Il grado di Vi in T( v) e dunque 1. Se il grado di entrata di vel in T(v) esistera una freccia di estrerno v avente origine in T(v). Ci sarebbe quindi in T un circuit a semplice passante per v e quindi un ciclo semplice in

T, assurdo, '"

Sia T un albero e u uno dei suoi nodi. Diremo che Vi e figlio di u se esiste una freccia da v a Vi. Se v non e la radice dell'albero, u e di grado di entrata 1: esiste quindi una e una sola freccia a di estremo v. L' origine di questa freccia e detta padre di v. Se un nodo ha grado di uscita 0 e detto una foglia. I nodi che non sana foglie sana detti nodi interni a di rarnificazione.

Discgnamo gli albcri come in figura, intcndcndo chc lc direzioni delle frccco sono dall'alto verso il basso (per cui non mcttiamo in cvidcnza il verso).

r

p

s t

11

v

x

y z

I vertici u, v, x, y, z sana foglie, r e la radice, tutti gli altri sana vertici interni. Consideriamo il vertice s. Il cammino dalla radicc r ad s c di lunghezza 2, COS1 diciamo chc s c a livello 2 nell'albero 0 chc s ha numero di livello 2. Similmente x e a livello 3, mentre yea livello 4. 8 e figlio di n e n e padre di 8. I vertici w, y, z sono considerati discendenti di 8, n, r mentre

92

CAPITOLa 9. ALBERI

S, n, r sono gli avi di w, y~ z. In generale se VI~ V2 sono vertici in un albero e VI ha numero di livello pili piccolo, allora VI e avo di V2 (e V2 e discendente di vd se c'e un cammino da VI a V2. Due vertici con 10 stesso padre sono fratelli.

Il grafo seguente puo essere usato per illustrare il contenuto eli 3 capitoli C1, C2, C3 di un libro. I vcrtici di livello 2 sono i paragrafi, mcntrc quelli di livello 3 sono i sottoparagrafi.

Book

83.2.1 83.2.2

L'esempio suggerisce un ordine per i vertici se visitiarno i sottoalberi di vertici C1, C2, C3 da sinistra a destra. Un algoritmo per etichettare i nodi eli un albero (che diventa quineli un albero ordinato) potrebbe essere:

Passo 1: Assegnare alla radice il numero O.

Passo 2: Assegnare 1, 2, 3, ... ai nodi di livello 1, procedendo da sinistra a destra.

Passo 3: Sia V un no do interno a livello n 2: 1 e siano VI, ... ,Vk i figli di V (andando da sinistra a destra). Se a e l' etichetta assegnata a v, assegnare a VI, ... ,Vk, le etichette o.l , ... ,ak rispettivamente.

Questo algoritmo e noto come sistema di etichettatura universale.

Vediamone un altro esempio:

9.2. ALBERI

93

o

1

2

3

1.

2.

3.

1.2

1.3

1.

2.

3.

1.2.1

1.2.2

.2.3

2.2.1

1.2.3.1 1.2.3.2

Questo sistema fornisce un modo di ordinate tutti i vertici di T. Se u, v sono due nodi di T con etichetta bee rispettivamente definiamo b < c se

(a)

b al . a2 am

c al . a2 am . am+ 1 .... an

con m < n, oppure

(b)

b al . a2 am . Xl y

c al . a2 am . X2 z

Per l'albcro in considcrazionc qucsto ordinc divcnta

o 1

1.1 f--------+

f--------+ 1.2 1.2.1

1.2.2 f--------+

f--------+ 1.2.3

1.2.3.1 1.2.3.2 f--------+

f--------+ 1.3 1.4 2

f--------+ 2.1 2.2 2.2.1

f--------+ 3 3.1 3.2

94

CAPITOLa 9. ALBERI

Questo ordine e I'ordine lessicografico. Ci sono altri modi per ordinate sistematicarnente i vertici di un albero, rna questa non e argomento del corso.

Vediamo una tecnica per costruire 10 spanning tree di un grafo connesso.

Sia rEV. Partendo da r costruiamo una catena semplice in G. Se la catena contiene tutti i vertici eli G si terrnina, Altrimenti siano x e y il penultimo e l'ultimo vertice visitato (nell'ordine). Torniamo (backtrack) al vert ice x e costruiamo uri'altra catena semplice che inizia con x e non include ness un altro vertice gia visitato. Se una tale catena non esiste, torniarno al padre f di x e costruiarno una nuova catena con nessun vert ice visitato prima, fino a una nuova foglia Yl. Se tutti gli archi da f portano a vertici gia visitati, backtrack fino a un livello pili alto e continuiamo il processo. Poiche G e connesso questa tecnica chiamata depth-first search deterrnina alla fine uno spanning tree T per G, con radice r. U sando T i vertici di G possono essere quindi ordinati in preordine. Prendiarno per esernpio il grafo G:

C

~ ~ __ ~F

I

J

I due alberi di sotto so no entrambi spanning tree di G ed entrambi sono una depth-first search dei vertici di G.

You might also like