Anteprima parziale del testo
Scarica Algoritmi e probabilità e più Dispense in PDF di Fondamenti di informatica solo su Docsity!
DAL TESTO LÀ STRUTTURA, DEGLI ALGORITMI fasrzio LULaio BORINGHIERI 1982 Capitolo 1 Analisi di un problema semiserio A molti di noi, durante l'adolescenza, è stato proposto il famoso Problema delle dodici monete. Tra dodici monete di identico aspetto potrebbe nascondersene una falsa e pertanto di peso diverso. Disponendo di una bilancia a due piatti per confrontare gruppi di monete, si vuole in- dividuare la moneta falsa e stabilire se essa pesi più o meno delle altre, me- diante non più di tre pesate. Chi si sia cimentato con questo problema lo avrà probabilmente consi- derato difficilissimo, non trovando nelle suo conoscenze traccia di alcun procedimento da seguire. Vorremmo proporre a tutti di spendere qualche istante a riconsiderare il problema. prima di procedere nella lettura: sarà così più interessante scoprire in seguito quali considerazioni generali possano guidars alla soluzione, La prima domanda che dobbiamo porci è se'il problema si possa risol- vere con un numero di pesate inferiore a tre, A tal fine, numerate per semplicità le monete da 1 a 12, elenchiamo tutte le soluzioni. Esse sono venticinque, e precisamente: la moneta I è falsa e più pesante delle altre (indichiamo questa soluzione con 1P); la moneta 1 è falsa e più leggera delle altre (1); la moneta 2 è falsa e più pesante (2P), o più leggera (2L), a così via fino ai casi 12P e 12L, oppure nessuna moneta è falsa (indichia- mo questa soluzione con 0). Notiamo ora che per risolvere il problema dobbiamo effettuare una serie di pesate che si arresta quando è stato individuato uno dei venticinque casi detti. Poiché ogni pesata dà luogo a tre alternative (il piatto destro sale e il sinistro scende, il piatto destro sceride e il sinistro sale, i due piatti restano in equilibrio) dopo una pesata siamo in grado di distinguere fra tre —— 10 Capitolo primo situazioni differenti; dopo due pesate, tra nove situazioni differenti, poiché ciascuno dei precedenti tre casi si divide ancora in tre; dopo tre pesate pos- siamo distinguere tra ventisette situazioni differenti, e così via. Vediamo quindi che non sì può risolvere il problema con due pesate, che non permet- tono di aprire le venticinque alternative necessarie per tutte le soluzioni possibili; tre pesate invece potrebbero essere sufficienti, € costituiscono quindi un limite inferiore al numero di operazioni. In altre parole, abbia- mo provato che non si può risolvere il problema con meno di tre pesate, ma non siamo ancora in grado di affermare che esiste un algoritmo che impieghi effettivamente tre pesate, La prova di tale esistenza-è, come d’uso, costruttiva, poiché conseguirà dalla determinazione dell’algoritmo stesso. Procediamo per tentativi. Immaginiamo che nella prima pesata si con- frontino tra loro due monete: diciamo, senza perdere in generalità, la 1 con la 2, e indichiamo tale confronto con 1 : 2. E un buon inizio? La risposta è negativa, e possiamo rendercene conto utilizzando la rappre- sentazione grafica della figura 1, di ovvio significato: se risulta che I è più leggera di 2 (indicato con 1<2), conseguono le due possibili soluzioni 1Lo 2P (fig. 1a); un successivo confronto, per esempio tra 1 e 3 che cer- tamente non è falsa, consente di giungere in modo ovvio alla soluzione (fig. 15). Il caso “1 più pesante di 2” (1>2) è simmetrico, e conduce con un’altra pesata alla soluzione IP o 2L. In questi due casi cioè il problema si risolve con due sole pesate. Tuttavia il caso in cui 1 e 2 hanno ugual peso (1=2) vede aperte innanzi a sé le rimanenti ventuno soluzioni: 3L, 3P,..., 12L, 12P, 0. Ora è chiaro, per quanto detto sopra, che per discer- nere tra ventuno soluzioni non sono sufficienti due ulteriori pesate, che aprono solo nove alternative; quindi, sotto Îa scelta iniziale di confrontare due singole monete, vi sono casi in cui è impossibile risolvere il problema con tre pesate, Proviamo ora a confrontare inizialmente due coppie di monete, dicia- mo 1e2suunpiatto e 3 e 4 sull'altro (1, 2: 3,4). Dal risultato 1,2< <3, 4 conseguono le soluzioni 1L, 2L, 3P; 4P. Similmente dal risultato 1, 2>3, 4 conseguono le soluzioni 1P, 2P, 3L, 4L. Dal risultato 1,2=3,4 conseguono invece le diciassette soluzioni SL, SP,...., 12L, 12P, 0, che non possono essere tutte individuate con meno di tre ulteriori pesate: anche la scelta iniziale di confrontare due coppie di monete è quindi da scartare, Similmente scartiamo il confronto iniziale tra due terne 1, 2,3:4,5, 6, poiché dal risultato 1, 2,3= 4, 5, 6 conseguono tredici soluzioni, non individuabili con meno di tre ulteriori pesate; e veniamo al confronto iniziale tra due quaterne 1, 2, 3, 4 : 5, 6, 7, 8 (fig. 2). Qui si vede che le : u Analisi dì un problema semiserio 1<2 152 1=2 ! 1/29 1P,21 128, 129, 0 1<2 1>2 x1>3 x impossibile ) 3L, 3P 121, 12P, 6 È Figura 1 Confronto iniziale tra singo?e monete: (4) la divisione delle soluzioni dopo un con- fronto; (b) determinazione delle soluzioni nei casi 1<2e1>2 1P, 2P, 3P, 4P 9L, SP, 10L, 10P SL, 6L, 7L, 8L iL, 21, 3L, 4L Pi 1IL, 11P, 12L, 12P, 0 SF, 6P, 7P, gi Figura 2 Confronto iniziale fra quaterne. 15 Analisi di un problema semiserio 112° 69% 4 (N [e] i corso che dall'alto giunge a una soluzione rappresenta l'esecuzione dell’al- ® A goritmo su un particolare insieme di dati. a SII pri ito ci i i ; ‘evi SÉ L ® Nel seguito si studieranno alcune linee generali lungo cui si sviluppano x 9 y i gli algoritmi, e si scoprirà come tante considerazioni fatte sull’albero di & ' decisione siano particolari esempi di affermazioni valide in genere. In par- di i ticolare, si vedrà come dal numero di soluzioni di un problema si possa n " inferire un limite inferiore al numero di passi richiesti da qualsiasi algo- x N Aa] î ritmo che lo risolva e come dal bilanciamento del lavoro nelle diverse vie aa jc|izlo[y n che conducono alle soluzioni derivi un miglioramento dell'efficienza N set ei complessiva dell’algoritmo. ga £ Ig Cia iN Y E se/lsl — Nr du Ea NWASSZEI Ss À (1 su è }5PHe] ® 22,3 N CRA ra d dt hi n (il Tr © tal z EE e ; è Nea # ws $ i 3541 DA 5 n GI 1: i a n ti & VA I E [A A 3 a di bri ua ci 3% P =] # a A a pri S N & v (o) VI s 85 <|,® YK 5 3 È no SUIS] 8 ba #5 [sl alr 777* 8 bd CH n E 5 Bi \/ Li $ n Ei $ E I o Ei ES d E D C bd Figura 4