CLP 14 luglio 2015
Applicazioni di Intelligenza Artificiale - CLP
Prof. Marco Gavanelli
14 luglio 2015
Esercizio (8 punti)
I coniugi Brillante hanno cinque figli, che tengono fede al loro nome. Alle età di 4, 5, 6, 7 e 8 anni, Anna e i suoi fratelli mostrano un buon talento ciascuno in un campo diverso da quello degli altri.
Determinare l'età e il talento di ognuno dei figli, sapendo che:
- Uno di loro suona bene il piano
- Carla ha 4 anni e non è la Brillante matematica
- Il mago del computer è di un anno più vecchio di Stefano
- Il violinista ha 7 anni
- Giovanna non è quella di 8 anni
- All'età di 5 anni, Roberto è più giovane del Brillante bravo nel nuoto.
NOTA: il vincolo alldifferent
definito nella libreria fd_global funziona soltanto con variabili con dominio numerico.
Ad esempio: [A,B,C] :: [a,b,c], fd_global:alldifferent([A,B,C]) fallisce sempre,
mentre [A,B,C] :: [1,2,3], fd_global:alldifferent([A,B,C]) funziona (in quanto i domini sono interi)
e [A,B,C] :: [a,b,c], fd:alldifferent([A,B,C]) funziona (in quanto si usa la versione nella libreria fd
, che funziona anche se i domini sono simbolici).