MAG ragazza

Transcript

MAG ragazza
Il giovane bianchi abita al piano proprio sopra quello di sua sorella, mentre
il giovane Rossi è al piano proprio sopra quello dei suoi genitori. A che piano
abitano i coniugi Neri, e a quali ciascuno dei loro due figli?
Preprocessing II
Risoluzione in corsivo i commenti del docente
Insiemi:
June 13, 2002
1
Quanto segue sono dei problemi decisionali che presentano un’unica soluzione
ammissibile, che puo’ essere determinata senza fare ricorso ad algoritmi di
enumerazione esplicita, ma solo attraverso preprocessing.
Con il termine preprocessing si intende una sequenza di operazioni che
puo’ essere svolta per migliorare o rendere piu’ stringente la formulazione di
un problema. In particolare, sfruttando bound stringenti e variabili di cui e’
noto il valore si cerca di dedurre il valore di altre variabili, eventualmente
svolgendo pochi passi di enumerazione
2
Variabili:
xij
Premessa
Co) {B, C, N, R, V } : insieme delle coppie;
P ) {1..5}
: insieme dei piani.
fij


 1 se la coppia i-esima è nel piano j-esimo
=




 1 se la ragazza i-esima è nel piano j-esimo
=


∀i ∈ Co, ∀j ∈ P
0 altrimenti


 1 se il ragazzo i-esimo è nel piano j-esimo
mij = 

∀i ∈ Co, ∀j ∈ P
0 altrimenti
∀i ∈ Co, ∀j ∈ P
0 altrimenti
Funzione obiettivo
Si tratta di un problema decisionale ma possiamo ricondurlo ad un problema
di ottimizzazione corrispondente:
Ognuno a casa sua
(Dalla Settimana Enigmistica N.3654 del 6 Aprile 2002)
Risolto da Giovanni Spoto
Testo del problema
Ciascuna coppia Bianchi, Celesti, Neri, Rossi e Verdi ha due figli già grandi,
una ragazza e un ragazzo. Essendo molto amiche, si sono costruite in condominio una palazzina di cinque piani, ciascuno diviso in tre appartamenti, uno
vasto e due molto più piccoli. Naturalmente ogni coppia ne possiede tre, uno
grande per se e due piccoli per i figli, ma, per sagge considerazioni di libertà
reciproca, li ha scelti su tre diversi piani, in modo che le persone di ogni
piano (la coppia, una ragazza e un ragazzo) sono di tre diverse famiglie. Gli
appartamentini del giovane Verdi e della signorina Rossi sono l’uno accanto
all’altro, sopra i coniugi Bianchi, mentre i coniugi Verdi e la signorina Neri
abitano sopra il giovane Celesti. I coniugi Bianchi stanno due piani più in
alto dei coniugi Verdi, e il giovane Verdi due piani sopra quello di sua sorella.
1
min
i,j
xij
Vincoli
a) Le persone di ogni piano sono di tre diverse famiglie:
xij + fij + mij ≤ 1
∀i ∈ Co, ∀j ∈ P
b) in ogni piano vi deve essere una sola coppia:
i
xij = 1
∀j ∈ P
c) per ogni coppia è disponibile uno e uno solo appartamento largo:
j
xij = 1
∀i ∈ Co
2
d) per ogni ragazza è disponibile uno e uno solo appartamento:
fij = 1
j
j
xB(j+2) = xV j
∀i ∈ Co
e) per ogni ragazzo è disponibile uno e uno solo appartamento:
o) la coppia Bianchi due piani sopra la coppia Verdi:
mij = 1
∀j ∈ P
p) il giovane Verdi due piani sopra sua sorella:
mV (j+2) = fV j
∀i ∈ Co
∀j ∈ P
q) il giovane Bianchi un piano sopra sua sorella:
mB(j+1) = fBj
f ) in ogni piano vi deve soltanto una ragazza:
i
fij = 1
∀j ∈ P
r) il giovane Rossi un piano sopra i suoi genitori:
mR(j+1) = xRj
g) in ogni piano vi deve essere soltanto un ragazzo:
i
mij = 1
∀j ∈ P
∀j ∈ P
∀j ∈ P
s) le variabili sono binarie:
xij , mij , fij ∈ {0, 1}.
h) il giovane Verdi nello stesso piano della signorina Rossi:
mV j = fRj
∀j ∈ P
i) la giovane Verdi sopra la coppia Bianchi: è indifferente, ma per coerenza
con altri vincoli preferivo l’uguaglianza
mV (j+1) ≥ xBj
∀j ∈ P
l) la signorina Rossi sopra la coppia Bianchi (questo vincolo è ridondante) 1 :
è indifferente, ma per coerenza con altri vincoli preferivo l’uguaglianza
fR(j+1) ≥ xBj
∀j ∈ P
m) la coppia Verdi sopra il giovane Celesti: è indifferente, ma per coerenza
con altri vincoli preferivo l’uguaglianza
xV (j+1) ≥ mCj
∀j ∈ P
n) la signorina Neri sopra il giovane Celesti: è indifferente, ma per coerenza
con altri vincoli preferivo l’uguaglianza
fN (j+1) ≥ mCj
1
infatti si deduce da h) e i)
3
∀j ∈ P
Preprocessing
Premesse
i)
m)
o); c); xV 1 = xB5 = 0
Implicazioni
xB5 = mV 1 = 0
xV 1 = mC5 = 0
xB4 = xV 2 = 1;
xB1 = xB2 = xB3 = xV 3 = xV 4 = xV 5 = 0
e); i); xB4 = 1
mV 5 = 1; mV 1 = mV 2 = mV 3 = mV 4 = 0
h); f); mV 5 = 1
fR5 = 1; fR1 = fR2 = fR3 = fR4 = 0
m); c); g); xV 2 = 1; mC5 = 0
mC1 = 1; mC2 = mC3 = mC4 = 0
d); n); mC1 = 1
fN 2 = 1; fN 1 = fN 3 = fN 4 = fN 5 = 0
d); p); mV 5 = 1
fV 3 = 1; fV 1 = fV 2 = fV 4 = fV 5 = 0
a); f); xB4 = fR5 = fN 2 = fV 3 = 1
fB1 = fC4 = 1
q); fB1 = 1
mB2 = 1
r); a); c); g); fR5 = xV 2 = mB2 = 1
mR4 = xR3 = 1
g); mV 5 = mB2 = mC1 = mR4 = 1
mN 3 = 1
a); c); d); mC1 = fC4 = xV 2 = xR3 = 1 xC5 = 1
b); xC5 = xB4 = xV 2 = xR3 = 1
xN 1 = 1
Non tutte le variabili a zero che sono implicate sono in realtà indicate
Soluzione proposta
I coniugi Neri abitano al 1o piano, la figlia al 2o e il figlio al 3o .
4
3
Il bugiardo
b) ad ogni età corrisponde un solo bambino:
(Dalla Settimana Enigmistica N.3657 del 27 Aprile 2002)
Risolto da Arianna Giannone
i
La signora Stefania porta i suoi quattro bambini a vedere un film di cartoni
animati e, mentre sta comprando i biglietti alla cassa, sente che essi attaccano
bottone con una simpatica ragazza che è lì in attesa di qualcuno. L’uno dopo
l’altro, i bambini le dicono le seguenti frasi: ”Ciao! Noi siamo fratelli e io,
che sono il secondo, non sono quello che si chiama Massimo”, ”io sono il
maggiore e il più piccolo si chiama Cesare”, ”No, il maggiore sono io e mi
chiamo Pierluigi” e ”Ma no: Pierluigi è il secondo ”. Quando raggiunge i
figli, la signora ridendo dice alla ragazza: ”Eh! Il mio Federico è un gran
bugiardo!”. Chi ha detto ciascuna frase e qual è l’ordine di età dei bambini?
Risoluzione
Variabili:
x(i, j) = 

y(i, k) = 

∀i ∈ B, ∀j ∈ E
∀i ∈ B, ∀k ∈ K
0 altrimenti
Funzione obiettivo
Si tratta di un problema decisionale ma possiamo ricondurlo ad un problema
di ottimizzazione corrispondente:
min
i,j
xij
a) ogni bambino ha una sola età:
j
xij = 1
∀i ∈ B
5
yik = 1
∀k ∈ K
d) ad ogni bambino corrisponde una sola affermazione:
yik = 1
∀i ∈ B
k
e) Federico o ha detto la terza o la quarta affermazione (questo vincolo
si deduce dal fatto che una delle affermazione dei bimbi è falsa, e in
particolare la terza e la quarta sono in contraddizione. Di conseguenza
il contenuto delle prime due affermazioni è certamente vero):
xM 2 = 0, xF 2 = 0, xi2 = yi1
∀i
g) (seconda affermazione) Cesare è il più piccolo, poiché l’affermazione è
certamente vera, il bambino che la esprime è il maggiore):
xC4 = 1, xi1 = yi2
∀i
h) (terza e quarta affermazione) Pierluigi è il maggiore oppure è il secondo:
xP 1 + xP 2 = 1
i) se Federico ha detto la terza affermazione allora Federico non è il maggiore:
xF 1 ≤ 1 − yF 3
Vincoli
i
f) (prima affermazione) Massimo non è il secondo, e Federico non è il
secondo, poiché l’affermazione è vera, inoltre, sempre siccome questa
affermazione è certamente vera, il bambino che la esprime è il secondo):
0 altrimenti


 1 se il bambino i-esimo ha detto frase k-esima
yF 3 + yF 4 = 1
B) {C, F, M, P } : insieme dei bambini ;
E) {1..4}
: insieme delle età
K) {1, 2, 3, 4}
: insieme delle frasi ;


 1 se il bambino i-esimo ha età j-esima
∀j ∈ E
c) ad ogni affermazione corrisponde un solo bambino:
Testo del problema
Insiemi:
xij = 1
l) se Federico ha detto la quarta affermazione allora Pierluigi è il maggiore:
xP 1 ≥ yF 4
6
m) le variabili sono binarie:
xij , yik ∈ {0, 1}
Preprocessing
Premesse
g), a), b)
Implicazioni
xM 4 = xF 4 = xP 4 = 0, xC4 = 1,
xC1 = xC2 = xC3 = 0
f)
xM 2 = xF 2 = 0
b), xM 2 = xC2 = xF 2 = 0 xP 2 = 1
a), xP 2 = 1
xP 1 = xP 3 = 0
l), xP 1 = 0
yF 4 = 0
e), i), yF 4 = 0
yF 3 = 1, xF 1 = 0
b), xP 1 = xC1 = xF 1 = 0 xM 1 = 1
a), xM 1 = 1
xM 3 = 0
b), xP 3 = xC3 = xM 3 = 0 xF 3 = 1
c), d), yF 3 = 1
yM 3 = yC3 = yP 3 = 0
yF 1 = yF 2 = 0
c), d), f), xP 2 = 1
yP 1 = 1, yM 1 = yC1 = 0
yP 2 = yP 4 = 0
g), d), f), xM 1 = 1
yM 2 = 1, yC2 = yM 4 = 0
c), yF 4 = yP 4 = yM 4 = 0 yC4 = 1
La soluzione proposta
I bambini dal più grande sono: Massimo, Pierluigi, Federico e Cesare.
Le affermazioni appartengono nell’ordine a: Pierluigi, Massimo, Federico e
Cesare.
7