11.06.2013 Views

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 ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Esempio 38 . Nell’esempio 31 a pagina 37 abbiamo parlato del vincolo<br />

che impone restrizioni al numero dei records, a meno <strong>di</strong> non volere imporre<br />

che questi siano pari o <strong>di</strong>spari, si tratta <strong>di</strong> un vincolo <strong>di</strong> <strong>di</strong>mensione 2.<br />

Possiamo però esprimerlo grazie ai ”vincoli quantificati sul prodotto cartesiano”.<br />

Per semplificare un po’ le cose consideriamo istanze <strong>di</strong> grado 1 (su un unico<br />

dominio), si vedrà come questa riduzione non vada a scapito della generalità.<br />

Innanzitutto ve<strong>di</strong>amo come stabilire un limite minimo al numero dei records,<br />

immaginiamo <strong>di</strong> accettare solo istanze I con almeno 3 records, imporremmo<br />

sui records <strong>di</strong> I 3 il vincolo <strong>di</strong> avere tutti e 3 gli elementi <strong>di</strong>versi (la formula<br />

corrispondente considera le 3 coppie possibili), poi lo estenderemo all’istanza<br />

I 3 tramite il quantificatore Q∃, chiamiamo il vincolo ottenuto V≥3 . É chiaro<br />

che se I ha car<strong>di</strong>nalità inferiore a 3 il vincolo V≥3 non sarà sod<strong>di</strong>sfatto.<br />

Se invece volessimo solo istanze con al massimo 3 records dovremmo andare<br />

a considerare sui records <strong>di</strong> I 4 il vincolo che impone <strong>di</strong> avere almeno due elementi<br />

uguali (non tutti <strong>di</strong>versi, considerando le 6 possibili coppie), a questo<br />

vincolo adatteremo il quantificatore Q∀, cosí da ottenere su I il vincolo V≤3 .<br />

Per mezzo <strong>di</strong> questi vincoli si possono costruire tutti gli intervalli sull’insieme<br />

dei numeri naturali, ad esempio il vincolo (V≥3 ∧ V≤3) accetterà solo istanze<br />

con tre elementi.<br />

Il metodo proposto rispetta i limiti dell’algebra relazionale ma ha un costo<br />

molto elevato, il fatto <strong>di</strong> dover considerare tutte le possibili coppie fa crescere<br />

in maniera esponenziale il numero <strong>di</strong> controlli da effettuare. Oltretutto avevamo<br />

semplificato il tutto limitando a 1 il grado <strong>di</strong> I, altrimenti il controllo<br />

sarebbe stato, uno per uno, su tutti i dominî <strong>di</strong> I.<br />

É chiaro che con meto<strong>di</strong> meno ortodossi (semplicemente contando i records)<br />

si potrebbero avere algoritmi molto più efficaci.<br />

Meto<strong>di</strong> poi assai più efficaci si possono ottenere considerando la costruzione<br />

<strong>di</strong>namica <strong>di</strong> prodotti cartesiani in relazione con l’esistenza <strong>di</strong> elementi finali.<br />

♦<br />

Come abbiamo fatto nell’esempio precedente, sarà possibile comporre anche<br />

i vincoli quantificati sul prodotto cartesiano, cosí come gli altri vincoli,<br />

per mezzo delle formule possibili con tutti i 14 operatori binarî.<br />

Una formula con vincoli quantificati sul prodotto cartesiano sarà tale se ne<br />

conterrà almeno uno.<br />

Esempio 39 . Nei varî esempi abbiamo trovato alcuni vincoli per l’ormai<br />

arcinota istanza sul palio (Contrade × T1 × T2 × . . . × T8):<br />

la richiesta <strong>di</strong> avere almeno un vincitore: VV ittoria = Q∃×V[t8=null] ;<br />

il vincolo sulle istanze che impone <strong>di</strong> avere tempi progressivi:<br />

42

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!