DETERMINAZIONE DEL MASSIMO E DEL SECONDO MASSIMO DI n OGGETTI?

Documenti analoghi
Moltiplicazione. Divisione. Multipli e divisori

ALGORITMI DI ORDINAMENTO (Unica informazione iniziale sugli insiemi: gli oggetti sono tutti diversi)

MAPPA MULTIPLI E DIVISORI

Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n

Il Sistema di numerazione decimale

Algoritmo di Branch & Bound

Le quattro operazioni fondamentali

Piccolo teorema di Fermat

CONVERSIONE DA DECIMALE A BINARIO

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

TEOREMA DEL RESTO E REGOLA DI RUFFINI

A lezione sono stati presentati i seguenti passi per risolvere un problema:

Minimo Comune multiplo

Le quattro operazioni fondamentali

Esercitazione del 09/03/ Soluzioni

Il problema La scelta della rappresentazione: il piano cartesiano, i vettori e le traslazioni

TERMINOLOGIA. Indice della radice. radice. Segno di radice. Radicando

Il nano sulle spalle del gigante

Quando possiamo dire che un numero a è sottomultiplo del numero b? Al posto dei puntini inserisci è divisibile per oppure è divisore di

Problemi, istanze, soluzioni

Tecniche di Ordinamento dei Vettori

Criteri di divisibilità

L operazione inversa dell elevamento a potenza è l estrazione della radice quadrata

Corso di Programmazione Problem Solving. Tipi di Problemi. Problemi Complessi Soluzione. Dott. Pasquale Lops. Primitivi. Complessi

Insiemi numerici. Teoria in sintesi NUMERI NATURALI

L operazione inversa dell elevamento a potenza è l estrazione della radice quadrata

Teodoro Cristiano

LE RADICI QUADRATE 9=3. è il simbolo dell operazione e prende il nome di segno di radice

Esercitazioni di Analisi Matematica FUNZIONI CUBICHE. Effettuare lo studio completo delle seguenti funzioni di terzo grado intere:

Scrivo l equazione di circonferenze di cui mi vengono forniti alcuni elementi

Corso di Fondamenti di Informatica

Rappresentazione di numeri interi

1 L estrazione di radice

Per la terza classe della scuola secondaria di I grado. Numeri e rettangoli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Integrazione numerica

Argomento 7. Studio di funzione

Rappresentazione ottale e esadecimale. 22 settembre 2017

GLI ERRORI DI MISURA

Problema. Equazioni non lineari. Metodo grafico. Teorema. Cercare la soluzione di

Esercizio L1 L2 L3. Il numero 1152 scomposto in fattori primi si scrive [1] [2] [3] 7 31 [4] Risposta

Raccolta di esercizi di Calcolo Numerico Prof. Michela Redivo Zaglia

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

Equazioni, funzioni e algoritmi: il metodo delle secanti

Architettura degli Elaboratori

GIOCO DELLE 12 PALLINE

della classe; le ragazze sono della classe. della tavoletta Frazione Intero Frazione complementare

ISTITUTO SCOLASTICO COMPRENSIVO MINEO

ESERCITAZIONE: ESPONENZIALI E LOGARITMI

Calcolo Numerico con elementi di programmazione

Due esempi di inferenze per assurdo. Numeri ineffabili e diadi effabili. La diagonale ed il lato di un quadrato non sono commensurabili

La codifica digitale

z =[a 4 a 3 a 2 a 1 a 0 ] 10

RICERCA IN UN VETTORE

Calcolatori Elettronici

CALCOLO NUMERICO. Rappresentazione virgola mobile (Floating Point)

Moltiplicazione e Divisione tra numeri relativi

La fattorizzazione e la phi di Eulero

Progettazione di Algoritmi: Approccio Top-Down e Bottom Up

Capitolo 2 Svolgimento degli esercizi proposti

Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti

7 2 =7 2=3,5. Casi particolari. Definizione. propria se < impropria se > e non è multiplo di b. apparente se è un multiplo di. Esempi.

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale

La frazione. BM2 teoria pag es. pag ) La frazione come parte. della classe; le ragazze sono. della classe. 13. della tavoletta 28

1 Unità. Le frazioni e i numeri decimali. Giochiamo insieme

Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti

6 dicembre 2012 Gara a squadre di matematica per le scuole medie

Daniela Tondini

ORDINE DI INSERIMENTO DELLE CHIAVI <35 >35

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo

Lezioni di Informarica. Prof. Giovanni Occhipinti

TRAGUARDI DI SVILUPPO DELLE COMPETENZE MATEMATICA OBIETTIVI DI APPRENDIMENTO

CALCOLO NUMERICO. Prof. Di Capua Giuseppe. Appunti di Informatica - Prof. Di Capua 1

Concentriamo la nostra attenzione sull insieme dei numeri razionali Q. In Q sono definite

Esempio 1: virgola mobile

Elementi di Informatica e Programmazione

DISTRIBUZIONE NORMALE STANDARDIZZATA ESEMPIO DI USO DELLE TAVOLE

Il Ricevente comunica pubblicamente una chiave e. Il Mittente codifica il messaggio usando la funzione f(m, e) = C e

Metodo di Euclide delle sottrazioni successive per il calcolo del M.C.D.

Come cercare nel computer con le nuove funzionalità di Windows Vista

4. METODI DUALI DEL SIMPLESSO

Corso di Matematica per la Chimica

Congruenze. Classi resto

LICEO STATALE G.P. VIEUSSEUX. Classico, Scientifico e. Scientifico opzione scienze applicate

Esercitazioni di Informatica B A.A. 2010/2011 Pseudocodice. Nicola Vitucci

GREZZO ( MAX : ) VOTO

La RELAZIONE DI LABORATORIO

Fondamenti della Matematica a.a LUMSA. Basi di numerazione. Scrittura in forma polinomiale e scrittura in una base

Lezione 9: Il problema del consumatore: Il vincolo di bilancio

24 : 3 = 8 con resto 0 26 : 4 = 6 con resto 2

2. Algoritmi e Programmi

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

ESTRAZIONE DI RADICE

Possibile applicazione

Corso di Fondamenti di Informatica Algoritmi ed esecutori

Università degli Studi di Cassino e del Lazio Meridionale Corso di Fondamenti di Informatica Algoritmi ed esecutori

SISTEMI DI NUMERAZIONE

Università degli Studi di Cassino e del Lazio Meridionale Corso di Fondamenti di Informatica Algoritmi ed esecutori

Scritto da Maria Rispoli Domenica 09 Gennaio :07 - Ultimo aggiornamento Martedì 01 Marzo :11

Ancora sui criteri di divisibilità di Marco Bono

Transcript:

DETERMINAZIONE DEL MASSIMO E DEL SECONDO MASSIMO DI n OGGETTI? (Gli oggetti sono tutti diversi) Se si ragiona in modo analogo al caso della ricerca del massimo e del minimo, si può vedere che si ottiene lo stesso risultato. Con 2 oggetti 1 passo Con 3 oggetti 1+ 2 passi infatti dopo aver confrontato due devo confrontare il terzo sia con uno che con l altro Con 4 oggetti 1+ 3 passi infatti dopo aver fatto due gruppi A1 A2 A3 A4 di due e averli confrontati a due a due, confronto i due massimi, ad esempio A1 e A3 e trovo il Massimo, confronto inoltre il più piccolo dei due massimi, ad esempio A3 con A2, cioè con l elemento con il quale A3 non è stato ancora confrontato, e trovo così il secondo massimo Per contare il numero dei passi quando gli oggetti sono n, procedo come segue: Se il numero è pari 1+ 3*(n/2-1) = 3*n/2 2 Se il numero è dispari 3*(n-1)/2 2 + 2 = 3*(n-1)/2 Identico risultato che nel caso del massimo e minimo Se invece si fa il seguente calcolo Cioè 1 passo dovuto al confronto dei primi due, più 2 passi per ogni elemento aggiunto, gli elementi rimasti sono proprio n-2, ottengo 1

1 + 2*(n-2) = 2*n 3 Il risultato, 2*n-3, si poteva anche raggiungere in altro modo, ragionando come segue: per trovare il massimo di n elementi, n-1 passi, per trovare il massimo di n-1 elementi, n-2 passi; Quindi n-1+ n-2 = 2*n 3 2*n-3 passi L ALGORITMO MIGLIORE PER LA RICERCA DEL I E DEL II DI UN INSIEME MASSIMO 1 2 3 4 5 6 7 8 Si può notare che il numero di livelli dell albero è il numero di divisioni per due del numero di oggetti, quindi, in questo caso 3, che è anche l esponente da dare a 2 per ottenere 8, cioè n = 2*2*2. Alla fine si vede che l elemento n. 3 è il massimo dell insieme. 2

Per trovare il massimo dell insieme ci sono voluti nel nostro caso 7 confronti, in generale n-1 confronti. Come fare per trovare il secondo massimo? L albero mette bene in evidenza come il secondo massimo non può che essere uno tra quelli che hanno perso con il primo massimo: la pallina azzurra, la pallina rosa e la verde Tutte le altre palline diverse dal vincitore rosso hanno perso o con quella rosa o con quella azzurra, e sono quindi certamente sconfitte, non possono certamente essere il secondo massimo, non portano più alcuna informazione. Invece quelle che hanno perso solo con il vincitore rosso, non hanno veramente perso, hanno perso solo la possibilità di accedere al primo posto. Il numero di quelle che hanno perso con il vincitore è pari al numero di livelli, dato che il vincitore va su di un livello ad ogni vittoria, cioè ad ogni serie di confronti, quindi ad ogni suddivisione per 2. Basterà ora il confronto tra le ultime tre concorrenti per trovare chi vince il secondo posto. Per trovare la più grande fra 3 servono 2 passi. Il numero delle palline che hanno perso con il massimo è pari all esponente che bisogna dare a 2 per ottenere il numero, e cioè log 2 n. Per trovare poi il massimo tra queste servono log 2n 1 passi, dove il log 2n è approssimato per eccesso, perché qualora il numero degli oggetti di un livello non sia divisibile per 2, cioè il numero non è una potenza esatta di 2, basterà approssimare per difetto, lasciando da parte un oggetto che verrà confrontato con il primo che resta solo e questo farà aumentare di un livello l albero. Anche se i resti dovessero essere tanti quanti i livelli, come per il numero 15, ogni livello dal secondo aumenterebbe di un confronto e quindi l ultimo elemento dovrebbe confrontarsi con un altro e questo farebbe aumentare il numero dei livelli di uno. Ogni resto, escluso l elemento finale, fa aumentare i confronti. esempio log 215 = r 3 < r < 4 h rappresenta il numero dei livelli per un numero che è esprimibile come una potenza di 2 ad esponente intero, come 8 = 2 3 h = 3 Tra 9 e 16 il numero di livelli sarà 4 e così via. 3

CONCLUDENDO Il numero di confronti sarà pari al numero di passi che servono per trovare il massimo, n-1, più il numero di passi che serve per trovare il secondo, e cioè il numero di elementi da confrontare meno 1, cioè h 1: n/2 + n/4 +... + 1 + log 2n 1 = n-1 + log 2n-1 COME COMUNICARE L ALGORITMO AD UNA MACCHINA? Per poter sviluppare un programma in Pascal, o in qualche altro linguaggio di programmazione, sono utili le liste, che permettono di memorizzare gli elementi che hanno perduto con il massimo, in modo da non sprecare informazione. Se si vuole arrivare a un ordinamento totale è necessario conservare ad ogni passo memoria degli sconfitti con uno qualunque degli elementi dell insieme, perché non sono veramente sconfitti.. Per riuscire a comunicare ad una macchina questo procedimento in modo abbastanza lineare, si può utilizzare le liste Si può visualizzare il procedimento nel modo che segue. x 1 x 2 x 3 x 4 x 5... x n Si confrontano gli elementi della lista a due a due Supponiamo che si abbia x 2 > x 1 x 3 > x 4 e così via Si può tenere memoria di tutti i confronti con un sistema che si può rappresentare come segue 4

x 2 x 3 x n-1 x 1 x 4 x n Continuando si ha x 2... x n-1 x 1 x n x 3 x n-3 Alla fine resta MAX catena di h elementi h è il numero delle divisioni per due, quindi è l esponente che bisogna dare a 2 per ottenere il numero, cioè il log 2n, (è la lunghezza del numero in base 2, diminuita di uno) Il massimo trovato è seguito dalla catena degli elementi che ha sconfitto, in modo tale da non perdere informazioni e poterle così riutilizzare nel momento i cui bisognerà trovare il secondo dell insieme. E se si vuole arrivare a un ordinamento bisogna per ogni elemento dell insieme tenere conto di tutti gli sconfitti. 5