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