università degli studi di siena facoltà di scienze matematiche, fisiche ...
università degli studi di siena facoltà di scienze matematiche, fisiche ... università degli studi di siena facoltà di scienze matematiche, fisiche ...
P = Contrada T1 T2 T3 T4 T5 T6 T7 T8 Aquila 6, 4 12, 7 21, 7 38, 5 47, 5 64 null null Chiocciola 6, 7 12, 3 20, 6 36 45, 5 62 null null Civetta 6, 8 13, 1 21, 3 36, 6 46, 5 63 null null Drago 7 12, 1 20 35 44 60 70 75 Giraffa 6, 5 12, 6 20, 7 35, 8 45 61 71, 5 null Istrice 6 12 20, 3 35, 3 44, 5 60, 5 71 null Montone 7, 4 13, 2 22 37, 5 48 64, 5 null null Nicchio 6, 3 12, 8 21, 5 38 48, 5 65, 5 null null Tartuca 7, 1 13, 5 22, 3 37 46 62, 5 null null Torre 6, 9 12, 5 21, 1 36, 5 47 65 null null Ammettiamo di voler conoscere l’ordine delle contrade alla curva del primo San Martino (T2). Possiamo effettuare su P 10 la selezione che richieda: T 1 2 < T 2 2 < . . . < T 10 2 . Il risultato sarà l’istanza formata dall’unico record che mette in ordine tutte e dieci le contrade, dalla prima all’ultima sul riferimento scelto, nel nostro caso: Istrice, Drago, ..., Montone, Tartuca. Il record avrà un grado altissimo (9 · 10 dominî), per avere un risultato più sintetico sarà possibile effettuare una proiezione sui 10 dominî ”Contrada”. ♦ Esempio 35 . L’esempio precedente ci ha fornito un metodo utile per trovare l’ordine, ma solo se è noto con precisione il numero dei partecipanti ad una gara. Se le contrade fossero state undici (!) la selezione scelta avrebbe prodotto un’istanza formata da tanti records, tutte le possibili decuple di contrade in ordine di posizione. Esiste un metodo per valutare l’ordinamento in una ”gara”, indipendentemente dal numero di partecipanti? Per definizione una relazione d’ordine è un sottoinsieme del prodotto carte- siano. Sarà possibile effettuare su P 2 la selezione: T 1 2 < T 2 2 . Cosí avremo tutte le coppie di contrade in cui la prima precede la seconda al rilevamento T2 : 9 con in testa l’Istrice, 8 con il Drago, e cosí via per un totale di 45 records. Il risultato è molto meno intuitivo ma ha il vantaggio di essere valido per un numero n qualsiasi di partecipanti: fornirà ((n − 1) · n)/2 coppie. ♦ Esempio 36 . Poniamoci adesso il problema di trovare i sorpassi fra San Martino e il Casato nel primo giro (T2 e T3). Agiremo sul prodotto cartesiano P 2 con una selezione un po’ più articolata: 40
( T 1 2 > T 2 2 ) ∧ ( T 1 3 < T 2 3 ) . Avremo tutti i casi in cui un concorrente che inseguiva si ritroverà in testa al secondo rilevamento (indipendentemente dal numero dei partecipanti). Nello specifico le coppie (immaginiamo di aver già fatto una proiezione sui dominî ”Contrada 1 ” e ”Contrada 2 ”) saranno: (Drago, Istrice), (Giraffa, Torre), (Civetta, Nicchio), (Civetta, Aquila) e (Aquila, Nicchio) . ♦ Vediamo come sfruttare i prodotti cartesiani di un’istanza per formalizzare alcuni vincoli su di essa. Definizione 28 . Data un’istanza I (di grado n), un numero naturale m, un vincolo V di dimensione 1 sui records di I m (di grado m·n), un quantificatore Q, si definisce vincolo quantificato sul prodotto cartesiano di I il vincolo dato da: (Q m V I) = (Q V )(I m ). m è detta molteplicità del vincolo. ♦ In questo modo si passa da un vincolo su records di grado m · n, ad un vincolo su istanze di grado n. Grazie a quest’ultima definizione sarà possibile scrivere formalmente un gran numero di vincoli di dimensione 2, trasformandoli in vincoli di dimensione 1, che sono altamente più trattabili, ancorché siano definiti sul prodotto cartesiano. Esempio 37 . A pagina 37 (esempio 32) abbiamo visto i vincoli chiave, di dimensione 2. Si è visto che non ci devono essere due records distinti in cui gli elementi dei dominî ”chiave” siano uguali. Riprendiamo il caso dell’elenco telefonico, e immaginiamo di voler fissare come chiave il dominio ”Nome”. Sia I l’istanza originaria sul prodotto cartesiano Nome ×Numero, poniamo allora su I 2 il vincolo VChiave derivato dalla formula: (Nome 1 = Nome 2 ) −→ (Numero 1 = Numero 2 ) , che possiamo anche scrivere ¬ ( ¬(Numero 1 = Numero 2 ) ∧ (Nome 1 = Nome 2 ) ), oppure (Nome 1 = Nome 2 ) XIV ◦ (Numero 1 = Numero 2 ) (esempio 28 a pagina 34). Avremo il ”vincolo quantificato sul prodotto cartesiano” richiesto, grazie al quantificatore Q∀: Q2 ∀ VChiave (I) . Nel caso in cui la chiave sia applicata a più di un dominio, non cambia formalmente la sua formulazione. ♦ 41
- Page 1 and 2: UNIVERSITÀ DEGLI STUDI DI SIENA FA
- Page 3 and 4: Presentazione L’algebra relaziona
- Page 5 and 6: 1 . Un esempio introduttivo. Incomi
- Page 7 and 8: in riga (per quanto possa apparire
- Page 9 and 10: 2 . Una presentazione algebrica del
- Page 11 and 12: Chiameremo i records con le lettere
- Page 13 and 14: Nomi × Numeri di telefono. I due d
- Page 15 and 16: π{Di ,Di ,...,Dim 1 2 } (s[d1, d2,
- Page 17 and 18: Esempio 10 . Poniamo un problema ba
- Page 19 and 20: La selezione è cosí un operatore
- Page 21 and 22: I casi possibili sono quattro: l’
- Page 23 and 24: Nell’esempio 13 abbiamo composto
- Page 25 and 26: Per ora la definizione è solo intu
- Page 27 and 28: II V II V III ◦, ◦ , ◦ , X
- Page 29 and 30: A è vuoto? Scriveremo: Q∅ per Q
- Page 31 and 32: Esempio 22 . Diventa immediato appl
- Page 33 and 34: Esempio 25 . Riprendiamo la definiz
- Page 35 and 36: Proposizione 8 . Nell’esempio 19
- Page 37 and 38: Definizione 26 . Dato un prodotto c
- Page 39: come operatore binario, ma può ess
- Page 43 and 44: Q∀×VT , con VT = 1 se ( ti = nul
- Page 45 and 46: I è tale che, per ogni j, Q mj ∃
- Page 47 and 48: in copie diverse e gestite indipend
- Page 49 and 50: Abbiamo visto, anche a scapito dell
P =<br />
Contrada T1 T2 T3 T4 T5 T6 T7 T8<br />
Aquila 6, 4 12, 7 21, 7 38, 5 47, 5 64 null null<br />
Chiocciola 6, 7 12, 3 20, 6 36 45, 5 62 null null<br />
Civetta 6, 8 13, 1 21, 3 36, 6 46, 5 63 null null<br />
Drago 7 12, 1 20 35 44 60 70 75<br />
Giraffa 6, 5 12, 6 20, 7 35, 8 45 61 71, 5 null<br />
Istrice 6 12 20, 3 35, 3 44, 5 60, 5 71 null<br />
Montone 7, 4 13, 2 22 37, 5 48 64, 5 null null<br />
Nicchio 6, 3 12, 8 21, 5 38 48, 5 65, 5 null null<br />
Tartuca 7, 1 13, 5 22, 3 37 46 62, 5 null null<br />
Torre 6, 9 12, 5 21, 1 36, 5 47 65 null null<br />
Ammettiamo <strong>di</strong> voler conoscere l’or<strong>di</strong>ne delle contrade alla curva del primo<br />
San Martino (T2). Possiamo effettuare su P 10 la selezione che richieda:<br />
T 1<br />
2 < T 2<br />
2 < . . . < T 10<br />
2 .<br />
Il risultato sarà l’istanza formata dall’unico record che mette in or<strong>di</strong>ne tutte<br />
e <strong>di</strong>eci le contrade, dalla prima all’ultima sul riferimento scelto, nel nostro<br />
caso: Istrice, Drago, ..., Montone, Tartuca.<br />
Il record avrà un grado altissimo (9 · 10 dominî), per avere un risultato più<br />
sintetico sarà possibile effettuare una proiezione sui 10 dominî ”Contrada”.<br />
♦<br />
Esempio 35 . L’esempio precedente ci ha fornito un metodo utile per<br />
trovare l’or<strong>di</strong>ne, ma solo se è noto con precisione il numero dei partecipanti<br />
ad una gara. Se le contrade fossero state un<strong>di</strong>ci (!) la selezione scelta avrebbe<br />
prodotto un’istanza formata da tanti records, tutte le possibili decuple <strong>di</strong> contrade<br />
in or<strong>di</strong>ne <strong>di</strong> posizione.<br />
Esiste un metodo per valutare l’or<strong>di</strong>namento in una ”gara”, in<strong>di</strong>pendentemente<br />
dal numero <strong>di</strong> partecipanti?<br />
Per definizione una relazione d’or<strong>di</strong>ne è un sottoinsieme del prodotto carte-<br />
siano. Sarà possibile effettuare su P 2 la selezione: T 1<br />
2 < T 2<br />
2 .<br />
Cosí avremo tutte le coppie <strong>di</strong> contrade in cui la prima precede la seconda<br />
al rilevamento T2 : 9 con in testa l’Istrice, 8 con il Drago, e cosí via per un<br />
totale <strong>di</strong> 45 records.<br />
Il risultato è molto meno intuitivo ma ha il vantaggio <strong>di</strong> essere valido per un<br />
numero n qualsiasi <strong>di</strong> partecipanti: fornirà ((n − 1) · n)/2 coppie. ♦<br />
Esempio 36 . Poniamoci adesso il problema <strong>di</strong> trovare i sorpassi fra San<br />
Martino e il Casato nel primo giro (T2 e T3).<br />
Agiremo sul prodotto cartesiano P 2 con una selezione un po’ più articolata:<br />
40