C. Gaibisso Programmazione di calcolatori Lezione III Cenni di teoria ingenua degli insiemi Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 1 C. Gaibisso Gli insiemi • Insieme: una collezione di oggetti distinti detti elementi • Esempio: Mercoledì Domenica Lunedì i giorni della settimana Martedì Giovedì Sabato Venerdì Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 2 C. Gaibisso Gli insiemi • Esempio: i numeri interi positivi minori o uguali a 10 10 1 5 2 4 3 7 9 8 6 Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 3 C. Gaibisso Notazione • Appartenenza: se a è un elemento di A, scriveremo a A se a non è un elemento di A, scriveremo a A • Esempio: 5 A A 1 2 3 5 4 9 A Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 4 C. Gaibisso Definizione di un insieme • Modalità di definizione di un insieme: • intensionale • estensionale • Definizione intensionale: descrizione della caratteristica posseduta da tutti e soli gli elementi dell’insieme • Esempio: I giorni della settimana { x|x è un giorno della settimana} I numeri interi positivi minori o uguali a 10 { x | x and 1 x 10} Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 5 C. Gaibisso Definizione di un insieme • Definizione estensionale: elenco di tutti e soli gli elementi dell’insieme • Esempio: i giorni della settimana { lunedì, martedì, mercoledì, giovedì, venerdì, sabato, domenica} i numeri interi positivi minori o uguali a 10 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 6 C. Gaibisso Intensionale vs Estensionale • Esempio: • intensionale { x| x 2 * i, i } • estensionale ? { 2, 4, 6, 8, 10, 12, ....} • Esempio: • estensionale 979.418 1.039.806 26 … 126 979.418 … 1.009.311 9 63 … • intensionale { x | x = i3+4i2-2i+6, iN, 1 i 100} Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 7 C. Gaibisso Intensionale vs Estensionale Vantaggi Svantaggi Non Risente Difficilmente Intensionale della Cardinalità Individuabile Estensionale Semplicità Risente della Cardinalità Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 8 C. Gaibisso Sottinsieme • Sottinsieme: A è un sottoinsieme di B se e solo se ogni elemento di A è anche elemento di B A B a A a B • Esempio: Giorni della Settimana (GdS) Feriali Domenica Festivi GdS Sabato Feriali GdS Lunedì Giovedì Martedì Mercoledì Festivi Feriali Festivi Venerdì Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 9 C. Gaibisso Prodotto cartesiano • Prodotto Cartesiano: il prodotto cartesiano di A e B è l’insieme di tutte le coppie il cui primo elemento appartiene ad A e il cui secondo elemento appartiene a B A B (a, b)|a A e b B Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 10 C. Gaibisso Prodotto cartesiano • Esempio: Numeri Decimali x Numeri Romani (1, I) (2, I) Numeri Decimali 1 2 (1, II) 3 (3, I) (2, II) (1, IV) (1, III) (3, II) (2, IV) I Numeri Romani (2, III) IV II (3, III) (3, IV) III Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 11 C. Gaibisso Prodotto cartesiano • Esempio: Decimali Romane Decimali x Romane (1, I) I 1 (1, II) II 1 (1, III) III 1 (1, IV) IV 1 (2, I) I 2 (2, II) II 2 (2, III) III 2 (2, IV) IV 2 (3, I) I 3 (3, II) II 3 (3, III) III 3 (3, IV) IV 3 Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 12 C. Gaibisso Relazioni binarie • Relazione binaria R tra A e B: è un sottoinsieme del prodotto cartesiano di A per B R AB Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 13 C. Gaibisso Relazioni binarie • Esempio: Numeri Decimali x Numeri Romani Numeri Decimali 1 (1, IV) (3, IV) 2 3 (1, III) (2, III) (2, IV) (1, II) Maggiori Uguali di Numeri Romani II I (2, II) IV III (3, III) (1, I) (2, I) (3, I) (3, II) Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 14 C. Gaibisso Relazioni binarie • Esempio: Decimali Romane Minori Uguali di 1 I (1, I) 1 II (1, II) 1 III (1, III) 1 IV (1, IV) 2 I (2, I) 2 II (2, II) 2 III (2, III) 2 IV (2, IV) 3 I (3, I) 3 II (3, II) 3 III (3, III) 3 IV (3, IV) Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 15 C. Gaibisso Funzioni • Funzione: una funzione f da A in B è una relazione binaria che associa ad ogni elemento di A uno e un solo elemento di B f AxB t.c. aA (a,b)f e se (a,b) e (a, b’) f b=b’ Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 16 C. Gaibisso Funzioni • Esempio: Numeri Decimali x Numeri Romani Numeri Decimali (1, IV) 1 (3, IV) 2 II (2, III) (2, IV) 3 Numeri Romani (1, III) (2, I) (1, II) (3, II) (3, I) Conversione I IV III (3, III) (1, I) (2, II) Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 17 C. Gaibisso Funzioni • Esempio: Decimali Romane Conversione 1 I (1, I) 1 II (1, II) 1 III (1, III) 1 IV (1, IV) 2 I (2, I) 2 II (2, II) 2 III (2, III) 2 IV (2, IV) 3 I (3, I) 3 II (3, II) 3 III (3, III) 3 IV (3, IV) Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 18 C. Gaibisso Funzioni • E’ una funzione? Numeri Decimali x Numeri Romani (1, IV) (1, III) (2, III) (3, IV) (1, II) (2, IV) (2, I) (3, I) Funzione ? NO (3, II) (3, III) (1, I) (2, II) Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 19 C. Gaibisso Funzioni • E’ una funzione? NO Decimali Romane Conversione 1 I (1, I) 1 II (1, II) 1 III (1, III) 1 IV (1, IV) 2 I (2, I) 2 II (2, II) 2 III (2, III) 2 IV (2, IV) 3 I (3, I) 3 II (3, II) 3 III (3, III) 3 IV (3, IV) Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 20 C. Gaibisso Nome, dominio, codominio, immagine • Notazione: Nome f :A B Codominio Dominio • Immagine di f: Im(f) {y B | x A, f (x) y} Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 21 C. Gaibisso Nome, dominio, codominio, immagine • Esempio: Dominio Numeri Decimali x Numeri Romani Numeri Decimali 2 1 (1, IV) (3, IV) 3 (1, III) (2, III) (2, IV) (2, I) Codominio Numeri Romani II IV (3, II) (3, I) Nome Conversione I III (1, II) (3, III) Immagine (1, I) (2, II) Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 22 C. Gaibisso Definizione di una funzione 1. Signature o arietà: • nome • dominio • codominio 2. Legge che associa ad ogni elemento del dominio un elemento del codominio Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 23 C. Gaibisso Definizione di una funzione • Esempio: funzione che associa ad ogni numero naturale il suo quadrato 1. Signature o arietà: • Nome: quadrato • Dominio: N • Codominio: N 2. Legge che associa ad ogni elemento del dominio un elemento del codominio: quadrato(x) = x*x Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 24 C. Gaibisso Funzioni iniettive • Funzione iniettiva: f : AB è iniettiva se associa a valori diversi del dominio valori diversi del codominio o più formalmente f : A B è iniettiva se a e a’A t.c. a ≠ a’ f(a) ≠ f(a’) Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 25 C. Gaibisso Funzioni iniettive? SI SI NO Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 26 C. Gaibisso Funzioni iniettive? • La funzione identità f(x)=x SI • La funzione f : N→N definita da f(x)=2x+1 SI • La funzione g : Z→N definita da g(x)=x2 NO • La funzione g : Z→N definita da g(x)=|x| NO Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 27 C. Gaibisso Funzioni suriettive • Funzione suriettiva: f : AB è suriettiva se e solo se Im(f) = B o analogamente f : A B è suriettiva bB, aA, t.c. f(a)=b Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 28 C. Gaibisso Funzioni suriettive? NO SI SI Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 29 C. Gaibisso Funzioni suriettive? • La funzione identità SI • La funzione f : N→N definita da f(x)=2x+1 NO • La funzione g : N→N definita da g(x)=x2 NO • La funzione g : Z→N definita da g(x)=|x| SI Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 30 C. Gaibisso Funzioni biunivoche • Funzione biunivoca: SI f : A B è biunivoca se e solo se è iniettiva e suriettiva NO NO Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 31 C. Gaibisso Funzioni invertibili • Funzione inversa: se f : A B è biunivoca allora esiste f-1: B A, t.c. se b=f(a) allora f-1(b)=a, bB f-1 Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 32 C. Gaibisso Equipotenza tra insiemi • A è equipotente a B (AB) se e solo se f : A →B biunivoca • Esempio: N {x | x = i 3, i N} Npari Ndispari Programmazione di calcolatori: Cenni di teoria ingenua degli insiemi 33