Algoritmi e Strutture Dati - II modulo Soluzioni degli esercizi
|
|
- Alina Sole
- 7 anni fa
- Visualizzazioni
Transcript
1 Algoritmi e Strutture Dati - II modulo Soluzioni degli esercizi Francesco Pasquale 6 maggio 2015 Esercizio 1. Su una strada rettilinea ci sono n case nelle posizioni 0 c 1 < c 2 < < c n. Bisogna installare dei ripetitori di segnale lungo la strada in modo da garantire che tutte le case siano coperte dal segnale. Ogni ripetitore ha un range d > 0, quindi una casa è coperta dal segnale se ha un ripetitore a distanza minore o uguale a d. Descrivere un algoritmo che prenda in input le posizioni delle case e il range dei ripetitori e restituisca in output le posizioni dove installare i ripetitori in modo che tutte le case siano coperte dal segnale e il numero di ripetitori installati sia il piú piccolo possibile. Dimostrare la correttezza dell algoritmo. Soluzione. L input del problema è dato dalla posizione delle case e dal range dei ripetitori. Una soluzione ammissibile è un insieme di ripetitori, che possiamo indicare con dei numeri r 1,..., r m dove r i rappresenta la posizione del ripetitore i-esimo, tale che ogni casa c sia a distanza minore o uguale a d da almeno un ripetitore. L obiettivo è minimizzare il numero di ripetitori. Possiamo quindi formalizzare il problema in questo modo: input: C = {c 1,..., c n } N con 0 c 1 < c 2 < < c s ; d N sol: S = {r 1,..., r m } N tale che per ogni c C esiste r S con c r d goal: min S Idea: Le case sono ordinate in senso crescente c 1 < < c n. Se devo coprire la prima casa c 1 dovrò posizionare almeno un ripetitore nell intervallo [c 1 d, c 1 +d]. In che punto dell intervallo mi conviene posizionarlo? Una scelta naturale sembra quella di posizionarlo nel punto più lontano possibile verso destra, ossia nel punto c 1 +d, in modo da coprire certamente c 1 e magari anche qualcuna delle case che vengono dopo. Un semplice algoritmo greedy allora è il seguente: - Se c è la posizione della prima casa non ancora coperta, metti un ripetitore r nel punto c + d - Elimina tutte le case coperte da r - Ripeti finchè ci sono case non ancora coperte In pseudocodice: Algorithm 1 Ripetitori input: Le posizioni delle case C = {c 1,..., c n } con 0 c 1 c n ; Il range dei ripetitori d > 0 output: Le posizioni dei ripetitori S = {r 1,..., r k }. S = while C do c = min C r = c + d S = S {r} C = C \ {x C : x r d } return S
2 L algoritmo trova chiaramente una soluzione ammissibile, perché una casa in posizione c viene tolta dall insieme C solo dopo che è stato inserito in S un ripetitore in posizione r tale che c r d. Quindi quando l algoritmo termina, in al più n iterazioni del ciclo while, tutte le case hanno un ripetitore a distanza minore o uguale a d. Ora dimostriamo che l algoritmo trova effettivamente una soluzione ottima. Per farlo useremo la tecnica greedy stays ahead. In particolare, se S A = {r 1,..., r k } è la soluzione fornita dal nostro algoritmo e S = {r 1,..., r m} è una soluzione ottima ordinata in senso crescente, faremo prima vedere che deve essere r i r i per ogni i. Da questo poi sarà facile vedere che S A è effettivamente una soluzione ottima. Lemma 1.1. Sia S A = {r 1,..., r k } la soluzione fornita dal nostro algoritmo e sia S = {r1,..., r m} una soluzione ottima con r1 < < r m. Allora per ogni i = 1,..., m si ha che ri r i. Proof. Lo dimostriamo per induzione su i: Base (Verifichiamo che r1 r 1): Siccome S deve essere una soluzione ammissibile, ci deve essere un r S che copre la casa c 1, ossia r [c 1 d, c 1 + d]. In particolare deve essere r c 1 + d, ma c 1 + d = r 1 è proprio la posizione del primo ripetitore posizionato dal nostro algoritmo, e siccome r1 è il piú piccolo in S deve essere r1 r r 1. Passo induttivo (Supponiamo che ri r i e dimostriamo che ri+1 r i+1): Consideriamo la (i+1)-esima iterazione del ciclo while del nostro algoritmo. Se l algoritmo ha inserito il ripetitore in posizione r i+1 vuol dire che dopo l iterazione i-esima c era ancora una casa non coperta da nessuno dei ripetitori r 1,..., r i, quindi la sua posizione deve essere c > r i + d, e per l ipotesi induttiva ri r i si ha anche c > ri + d. La casa in posizione c quindi non è coperta dal ripetitore ri della soluzione ottima. Siccome S è una soluzione ammissibile, il ripetitore ri+1 deve coprire la casa c, quindi deve stare nell intervallo [c d, c + d]. In particolare ri+1 c + d e siccome il nostro algoritmo posiziona l (i + 1)-esimo ripetitore in r i+1 = c + d abbiamo che ri+1 r i+1. Theorem 1.2. La soluzione fornita dal nostro algoritmo è ottima. Proof. Sia S A = {r 1,..., r k } la soluzione fornita dal nostro algoritmo e sia S = {r 1,..., r m} una soluzione ottima con r 1 < < r m. Siccome S è ottima, S A deve contenere almeno tanti elementi quanti ne contiene S, ossia k = S A S = m. Ora dimostriamo che in realtà vale l uguaglianza k = S A = S = m. Osserviamo che non ci può essere nessuna casa in posizione c > r m + d, altrimenti quella casa non sarebbe coperta da nessuno dei ripetitori in S. L ultima casa quindi deve essere in posizione c n r m + d. Per il Lemma 1.1, il ripetitore posizionato all m-esima iterazione del ciclo while del nostro algoritmo si trova in posizione r m r m c n d. Quindi dopo al più m iterazioni del ciclo while tutte le case sono coperte e il nostro algoritmo termina. Esercizio 2 (Gara di Triathlon). State organizzando una gara di Triathlon in cui i partecipanti devono completare 20 vasche in piscina, poi percorrere 10 km in bicicletta, infine correre per 3 km. Per evitare confusione in piscina, questa può essere usata da un solo partecipante per volta. Quindi all inizio della gara fate entrare in piscina il primo partecipante, nel momento in 2
3 cui il primo completa le 20 vasche e inizia il tratto in bicicletta fate entrare in piscina il secondo partecipante e così via. Per ogni partecipante i avete una stima sui tempi p i, b i, c i che impiega rispettivamente in piscina, in bicicletta e di corsa. La gara termina quando tutti i partecipanti hanno completato tutte e tre le specialità. In che ordine fate entrare in piscina i partecipanti per minimizzare la durata della gara? Perché? Soluzione. Indichiamo con n il numero degli atleti e indichiamo con σ S n l ordine con cui li facciamo entrare in piscina, ossia σ(1) indica l atleta che parte per primo, σ(2) quello che parte per secondo, σ(n) quello che parte per ultimo. Se assumiamo che la gara parte all istante 0, allora l atleta che parte per primo dovrebbe arrivare al traguardo all istante p σ(1) + b σ(1) + c σ(1) ; quello che parte per secondo entra in piscina appena il primo esce dalla piscina, quindi dovrebbe arrivare al traguardo all istante p σ(1) + p σ(2) + b σ(2) + c σ(2). In generale quindi, se indichiamo con l σ (j) il tempo atteso in cui l atleta che parte j-esimo arriva al traguardo, abbiamo che l σ (j) = j p σ(k) + b σ(j) + c σ(j) La durata della gara pertato è L σ = max{l σ (j) : j = 1,..., n}. In che modo scegliamo σ per minimuzzare L σ? Idea: Osserviamo che siccome tutti gli atleti devono passare in piscina uno per volta, la gara deve per forza avere un tempo superiore a n i=1 p i. Per comodità chiamiamo P questa quantità P = n i=1 p i. Se per esempio osserviamo l arrivo degli ultimi due atleti, abbiamo che l atleta σ(n), che parte per ultimo, dovrebbe arrivare al traguardo al tempo P +b σ(n) +c σ(n) ; l atleta σ(n 1), che parte per penultimo, dovrebbe arrivare al traguardo al tempo (P p σ(n) )+b σ(n 1) +c σ(n 1). Per minimizzare la durata della gara allora sembra ragionevole mandare i partecipanti che sono più veloci a terra (b i + c i ) per ultimi. Proviamo quindi a usare questa strategia: Ordiniamo i partecipanti per b i + c i decrescente. Per comodità, per ogni atleta i chiamiamo t i il suo tempo a terra, ossia t i = b i + c i. Il nostro ordinamento allora soddisfa t σ(1) t σ(2) t σ(n) (1) Osserviamo che potrebbe esserci più di un ordinamento che soddisfa la condizione (1), perché non stiamo specificando come ci comportiamo se abbiamo due atleti i e h che hanno lo stesso tempo a terra t i = t h. Se tutti i t i sono distinti, allora c è un unico ordinamento σ che soddisfa la (1) e possiamo passare direttamente al Teorema 2.2. Altrimenti, non è difficile convincersi che tutti gli ordinamenti che soddisfano la (1) devono avere la stessa durata; lo dimostriamo formalmente nel prossimo lemma. Lemma 2.1. Tutti gli ordinamenti che soddisfano la (1) hanno la stessa durata. Proof. Due ordinamenti σ e µ che soddisfano la (1) possono differire solo per l ordine dei partecipanti con lo stesso tempo a terra, ossia deve essere t σ(i) = t µ(i) per ogni i. Infatti, se per assurdo così non fosse, prendiamo il più piccolo i per cui t σ(i) t µ(i) e supponiamo senza perdita di generalità che t σ(i) > t µ(i), allora dovrebbe esistere un k > i tale che t µ(k) = t σ(i) > t µ(i), ma questo contraddirrebbe l ipotesi che µ soddisfa la (1). 3
4 Per quanto riguarda i tempi di arrivo dei singoli atleti nei due ordinamenti ( j ) ( j ) l σ (j) = p σ(k) + t σ(k) e l µ (j) = p µ(k) + t µ(k) (2) in generale non è vero che queste due quantità coincidono per ogni j, ma certamente coincidono se j è l ultimo indice fra quelli che hanno uno stesso tempo a terra. Infatti, se j < n è un indice tale che t σ(j) > t σ(j+1) allora entrambe le somme in (2) sono estese a tutti e soli gli atleti che hanno un tempo a terra minore o uguale a t σ(j), quindi coincidono. Più formalmente, se indichiamo con S l insieme S = {n} {j = 1,..., n 1 : t σ(j) > t σ(j+1) } = {n} {j = 1,..., n 1 : t µ(j) > t µ(j+1) } allora l σ (j) = l µ (j) per ogni j S. Infine osserviamo che se j / S, allora l atleta che parte j-esimo non può arrivare per ultimo né in σ né in µ. Infatti, se j / S allora t σ(j+1) = t σ(j) e t µ(j+1) = t µ(j), quindi in entrambi gli ordinamenti l istante di arrivo dell atleta che parte (j + 1)-esimo è maggiore di quello che parte j-esimo l σ (j + 1) = l σ (j) + p σ (j + 1) > l σ (j) l µ (j + 1) = l µ (j) + p µ (j + 1) > l µ (j) Quindi in entrambi gli ordinamenti un atleta che arriva per ultimo deve essere il j-esimo, per qualche indice j S, ma siccome per tutti i j S si ha l σ (j) = l µ (j) la durata della gara deve essere la stessa in entrambi gli ordinamenti. A questo punto siamo pronti per dimostrare che un ordinamento che soddisfa la (1) minimizza la durata della gara. Theorem 2.2. Sia σ A un ordinamento che soddisfa la (1), allora σ A è ottimo. Proof. Sia σ un ordinamento ottimo. Se σ soddisfa la (1), allora per il Lemma 2.1 il nostro ordinamento σ A ha la stessa durata di σ, quindi σ A è ottimo. Se invece σ non soddisfa la (1) allora deve esistere un j {1,..., n 1} tale che il tempo a terra di σ (j) è più piccolo del tempo a terra di σ (j + 1), t σ (j) < t σ (j+1) (3) Siccome l atleta σ (j) ha un tempo a terra più piccolo di quello di σ (j +1) e parte anche prima deve chiaramente arrivare al traguardo prima di σ (j + 1). Scriviamo esplicitamente il tempo di arrivo dell atleta σ (j + 1), ché ci servirà più avanti l σ (j + 1) = P j 1 + p σ (j) + p σ (j+1) + t σ (j+1) (4) Dove per comodità abbiamo chiamato P j 1 = j 1 p σ(k) il tempo che impiegano in piscina i primi j 1 atleti. Ora proviamo a scambiare l ordine degli atleti σ (j) e σ (j + 1), ossia consideriamo una nuova soluzione µ tale che µ(j) = σ (j + 1) µ(j + 1) = σ (j) µ(k) = σ (k) per ogni k j, j + 1 4
5 Osserviamo che i tempi di arrivo di tutti gli atleti che partono prima di µ(j) non cambiano, e siccome p σ (j) + p σ (j+1) = p µ(j) + p µ(j+1) anche tutti i tempi di arrivo degli atleti che partono dopo µ(j + 1) sono gli stessi che nell ordinamento σ, ossia l µ (k) = l σ (k) per ogni k j, j + 1 L atleta µ(j) = σ (j + 1) parte prima nell ordinamento µ che nell ordinamento σ, quindi il suo tempo di arrivo nell ordinamento µ è senz altro più piccolo del suo tempo di arrivo nell ordinamento σ : l µ (j) l σ (j + 1). Per quanto riguarda l atleta µ(j + 1) = σ (j) abbiamo che l µ (j + 1) = P j 1 + p µ(j) + p µ(j+1) + t µ(j+1) (5) = P j 1 + p σ (j+1) + p σ (j) + t σ (j) Confrontando la (5) con la (4) e tenendo conto della (3) abbiamo quindi che l µ (j+1) < l σ (j+1). Complessivamente quindi abbiamo dimostrato che l µ (k) l σ (k) per ogni k = 1,..., n. Ma allora la durata della gara con l ordinamento µ è L µ = max{l µ (k) : k = 1,..., n} max{l σ (k) : k = 1,..., n} = L σ Quindi anche µ è una soluzione ottima! Se µ soddisfa la (1) allora per il Lemma 2.1 anche la nostra soluzione σ A è ottima. Altrimenti possiamo ripetere l operazione con cui siamo passati da σ a µ per ottenere una nuova soluzione µ 2 che sarà ancora ottima, e così via finché non arriviamo a una soluzione ordinata 1 come la nostra σ A. 1 L operazione con cui siamo passati da σ a µ non è nient altro che uno step dell algoritmo Bubblesort 5
Cammini minimi fra tutte le coppie
Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)
DettagliDAI NUMERI NATURALI AI NUMERI RAZIONALI
DAI NUMERI NATURALI AI NUMERI RAZIONALI 1. L insieme dei numeri naturali Nel sistema assiomatico ZF, l Assioma dell infinito stabilisce che: Esiste un insieme A, i cui elementi sono insiemi e tale che
DettagliLunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27
Lunghezza media Teorema Codice D-ario prefisso per v.c. X soddisfa L H D (X). Uguaglianza vale sse D l i = p i.. p.1/27 Lunghezza media Teorema Codice D-ario prefisso per v.c. X soddisfa L H D (X). Uguaglianza
DettagliLOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)
LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema
DettagliVISITA IL SITO PER ALTRO MATERIALE E GUIDE
COPYRIGHT SEGO LICENSE Questo documento viene fornito così come è: se pensate che faccia schifo problemi vostri, nessuno vi obbliga a leggerlo. Se pensate che sia qualcosa di positivo e/o avete suggerimenti
DettagliPermutazioni. 1 Introduzione
Permutazioni 1 Introduzione Una permutazione su un insieme di n elementi (di solito {1, 2,...,n}) è una funzione biiettiva dall insieme in sé. In parole povere, è una regola che a ogni elemento dell insieme,
DettagliAppunti di informatica. Lezione 10 anno accademico Mario Verdicchio
Appunti di informatica Lezione 10 anno accademico 2016-2017 Mario Verdicchio Esercizio Scrivere un programma che, data una sequenza di 10 interi (scelta dall utente), la ordini in ordine crescente Soluzione
DettagliCriteri di Scelta Finanziaria
3 Criteri di Scelta Finanziaria 3.1 Introduzione Spesso occorre confrontare operazioni definite su scadenzari diversi. Nel seguito presentiamo due criteri, quello del valore attuale netto (VAN) e quello
DettagliIl Teorema di Kakutani
Il Teorema di Kakutani Abbiamo visto, precedentemente, il seguente risultato: 1 Sia X uno spazio di Banach. Se X è separabile, la palla è debolmente compatta. B X = {x X x 1} Il Teorema di Kakutani è un
DettagliAlgoritmi e Strutture Dati. Capitolo 4 Ordinamento
Algoritmi e Strutture Dati Capitolo 4 Ordinamento Ordinamento Dato un insieme S di n oggetti presi da un dominio totalmente ordinato, ordinare S Esempi: ordinare una lista di nomi alfabeticamente, o un
Dettagli1 Se X e Y sono equipotenti, Sym(X) e Sym(Y ) sono isomorfi
In ogni esercizio c è la data del giorno in cui l ho proposto. 1 Se X e Y sono equipotenti, Sym(X) e Sym(Y ) sono isomorfi Se X è un insieme indichiamo con Sym(X) l insieme delle biiezioni X X. Si tratta
Dettagli( ) le colonne della matrice dei coefficienti, con. , risulta A 3 = A 1 + 4A 2 + 4A 5, A 4 = A 1 + A 2,
1 Elementi di Analisi Matematica e Ricerca Operativa prova del 6 luglio 2016 1) Discutere il seguente problema di Programmazione Lineare: Trovare il massimo di p x 1, x 2, x 3, x 4 # x 2 + 4 x 3 + x 4
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione
DettagliDispense del corso di Algebra 1. Soluzioni di alcuni esercizi
Dispense del corso di Algebra 1 Soluzioni di alcuni esercizi Esercizio 1.1. 1) Vero; ) Falso; 3) V; 4) F; 5) F; 6) F (infatti: {x x Z,x < 1} {0}); 7) V. Esercizio 1.3. Se A B, allora ogni sottoinsieme
DettagliAlgoritmi di Ricerca
Algoritmi e Strutture Dati Autunno 01 Algoritmi di Ricerca Dip. Informatica ed Appl. Prof. G. Persiano Università di Salerno 1 Ricerca esaustiva 1 2 Backtrack 3 2.1 Backtrack per enumerazione......................................
DettagliArray e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli
DettagliAlgoritmi e Strutture Dati Esercizi Svolti. Giuseppe Persiano Dipartimento di Informatica ed Appl. Renato M. Capocelli Università di Salerno
Algoritmi e Strutture Dati Esercizi Svolti Giuseppe Persiano Dipartimento di Informatica ed Appl Renato M Capocelli Università di Salerno Indice Esercizio 12-3 5 Esercizio 23-4 6 Esercizio 63-3 7 Esercizio
DettagliAlberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa
Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni
DettagliIL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE.
IL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE. PH. ELLIA Indice Introduzione 1 1. Divisori di un numero. 1 2. Il Teorema Fondamentale dell Aritmetica. 2 3. L insieme dei numeri primi è
DettagliEsercizi di Matematica per la prova di ammissione alla Scuola Galileiana /16
Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana - 015/16 Esercizio 1 Per quali valori n Z \ {0} l espressione è un numero intero positivo? (n + 5)(n + 6) 6n Soluzione. Il problema
Dettagli8. Completamento di uno spazio di misura.
8. Completamento di uno spazio di misura. 8.1. Spazi di misura. Spazi di misura completi. Definizione 8.1.1. (Spazio misurabile). Si chiama spazio misurabile ogni coppia ordinata (Ω, A), dove Ω è un insieme
DettagliLezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi
Lezione 4 Problemi trattabili e soluzioni sempre più efficienti Gianluca Rossi Trattabile o intrattabile? Consideriamo ora il problema, ben noto a tutti gli studenti a partire dalla scuola media, di calcolare
DettagliLiceo Galilei - ROMA 27 maggio 2010
Liceo Galilei - ROMA 27 maggio 2010 L. Lamberti Dipartimento di Matematica La Sapienza L. Lamberti Dipartimento di Matematica La Sapienza 27 maggio 2010 L. Lamberti Dipartimento di Matematica La Sapienza
DettagliGara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011
Gara Matematica Dipartimento di Matematica Ulisse Dini Viale Morgagni 67/a - 50134 Firenze Soluzioni edizione 011 Esercizio 1. Determinare tutti gli interi positivi non nulli n che sono uguali alla somma
DettagliNell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi:
Pag 24 3) Il problema della ricerca Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi: si incontrano in una grande varietà di situazioni reali; appaiono come sottoproblemi
DettagliALGEBRE DI BOOLE. (d) x, y X x y oppure y x.
ALGEBRE DI BOOLE Un insieme parzialmente ordinato è una coppia ordinata (X, ) dove X è un insieme non vuoto e " " è una relazione binaria definita su X tale che (a) x X x x (riflessività) (b) x, y, X se
Dettagli3. Successioni di insiemi.
3. Successioni di insiemi. Per evitare incongruenze supponiamo, in questo capitolo, che tutti gli insiemi considerati siano sottoinsiemi di un dato insieme S (l insieme ambiente ). Quando occorrerà considerare
Dettagli4 0 = 4 2 = 4 4 = 4 6 = 0.
Elementi di Algebra e Logica 2008. Esercizi 4. Gruppi, anelli e campi. 1. Determinare la tabella additiva e la tabella moltiplicativa di Z 6. (a) Verificare dalla tabella moltiplicativa di Z 6 che esistono
DettagliGli insiemi N, Z e Q. I numeri naturali
Università Roma Tre L. Chierchia 1 Gli insiemi N, Z e Q Il sistema dei numeri reali (R, +,, ) può essere definito tramite sedici assiomi: quindici assiomi algebrici (si veda ad esempio 2.3 in [Giusti,
DettagliL algoritmo AKS. L algoritmo AKS. Seminario per il corso di Elementi di Algebra Computazionale. Oscar Papini. 22 luglio 2013
L algoritmo AKS Seminario per il corso di Elementi di Algebra Computazionale Oscar Papini 22 luglio 2013 Test di primalità Come facciamo a sapere se un numero n è primo? Definizione (Test di primalità)
DettagliTEN Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2.
TEN 2008. Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2. Lemma 1. Sia n Z. Sia p > 2 un numero primo. (a) n è un quadrato modulo p se e solo se n p 1 2 1 mod p; (b) Sia n 0
DettagliMinimo albero di copertura
apitolo 0 Minimo albero di copertura efinizione 0.. ato un grafo G = (V, E) non orientato e connesso, un albero di copertura di G è un sottoinsieme T E tale che il sottografo (V, T ) è un albero libero.
DettagliPossibile applicazione
p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile
DettagliProgetto e analisi di algoritmi
Progetto e analisi di algoritmi Roberto Cordone DTI - Università degli Studi di Milano Polo Didattico e di Ricerca di Crema Tel. 0373 / 898089 E-mail: cordone@dti.unimi.it Ricevimento: su appuntamento
DettagliIL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero
IL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero Il teorema degli zeri è fondamentale per determinare se una funzione continua in un intervallo chiuso [ a ; b ] si annulla in almeno un punto interno
DettagliGrafi (non orientati e connessi): minimo albero ricoprente
.. Grafi (non orientati e connessi): minimo albero ricoprente Una presentazione alternativa (con ulteriori dettagli) Problema: calcolo del minimo albero di copertura (M.S.T.) Dato un grafo pesato non orientato
Dettagli2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
. Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,
Dettagli1 Esercizi in pseudocodice
Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.
DettagliDivide et impera. Divide et impera. Divide et impera. Divide et impera
Divide et impera Divide et impera La tecnica detta divide et impera è una strategia generale per impostare algoritmi (par. 9.4). Consideriamo un problema P e sia n la dimensione dei dati, la strategia
DettagliEsercizi sul Principio d Induzione
AM110 - ESERCITAZIONI I - II - 4 OTTOBRE 01 Esercizi sul Principio d Induzione Esercizio svolto 1. Dimostrare che per ogni n 1, il numero α(n) := n 3 + 5n è divisibile per 6. Soluzione. Dimostriamolo usando
DettagliDati e Algoritmi I (Pietracaprina) Esercizi sugli Alberi
Dati e Algoritmi I (Pietracaprina) Esercizi sugli Alberi Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1 Dimostrare che un albero non vuoto con n nodi interni, dove ogni nodo interno ha almeno
DettagliTeoria dei Giochi. Anna Torre
Teoria dei Giochi Anna Torre Almo Collegio Borromeo 5 maggio 2011 email: anna.torre@unipv.it sito web del corso:www-dimat.unipv.it/atorre/borromeo2011.html VALORE SHAPLEY per Giochi cooperativi ad utilità
Dettagli2. Algoritmi e Programmi
12 2. Algoritmi e Programmi Dato un problema, per arrivare ad un programma che lo risolva dobbiamo: individuare di cosa dispongo: gli input; definire cosa voglio ottenere: gli output; trovare un metodo
DettagliRiassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.
Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo
DettagliIl problema delle azioni
Il problema delle azioni Per studiare l andamento del mercato azionario bisogna seguire i prezzi delle azioni in un lasso di tempo abbastanza lungo, diciamo n giorni. Se si dispone dei prezzi di un azione
Dettagli04 - Numeri Complessi
Università degli Studi di Palermo Scuola Politecnica Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 04 - Numeri Complessi Anno Accademico 2015/2016 M. Tumminello,
DettagliBranch-and-bound per KNAPSACK
p. 1/1 Branch-and-bound per KNAPSACK Rispetto allo schema generale visto in precedenza dobbiamo specificare: come si calcola un upper bound su un sottinsieme; come si effettua il branching; come si individuano
DettagliOttimizzazione dei Sistemi Complessi
1 Giovedì 2 Marzo 2017 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Pseudo-code del metodo Fermi-Metropolis Input: x 0, 0, min, maxit k 0, x x 0, 0 while k maxit and min do k k + 1, x x
DettagliLezione 10: Teorema di Rouchè-Capelli e la classificazione dei sistemi lineari
Lezione 10: Teorema di Rouchè-Capelli e la classificazione dei sistemi lineari In questa lezione ci dedicheremo a studiare a fondo quali proprietà della matrice dei coefficienti di un sistema (e della
DettagliEsercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
DettagliMacchine di Turing: somma di due numeri
Informatica Teorica 2/2 M.Di Ianni Macchine di Turing: somma di due numeri Vogliamo definire una macchina di Turing che, presi in input due numeri n e m espressi in notazione binaria, calcola il valore
DettagliUn esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
Dettagli1 I numeri naturali. 1.1 Gli assiomi di Peano
1 I numeri naturali I numeri naturali sono il punto di partenza per la costruzione degli altri insiemi numerici: numeri interi, razionali, reali e quindi complessi, interi modulo n. Il concetto di numero
DettagliCapitolo 1. Gli strumenti. 1.1 Relazioni
Capitolo 1 Gli strumenti Consideriamo un insieme X. In geometria siamo abituati a considerare insiemi i cui elementi sono punti ad esempio, la retta reale, il piano cartesiano. Più in generale i matematici
DettagliAlgoritmi e Strutture Dati
Analisi asintotica e Ricorrenze Esercizi Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Notazioni O, Ω e Θ Parte I Notazioni
DettagliParte V: Rilassamento Lagrangiano
Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice
DettagliCenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B)
Cenni di programmazione ricorsiva Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B) Corso di Laurea in Informatica Università di Pisa A.A. 2009/10 R. Barbuti, P. Mancarella Indice
DettagliIntroduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard
Introduzione al Metodo del Simplesso Giacomo Zambelli 1 Soluzioni di base e problemi in forma standard Consideriamo il seguente problema di programmazione lineare (PL), relativo all esempio di produzione
DettagliAppunti di informatica. Lezione 4 anno accademico 2015-2016 Mario Verdicchio
Appunti di informatica Lezione 4 anno accademico 2015-2016 Mario Verdicchio Numeri primi Si definisce primo un numero intero maggiore di 1 che ha due soli divisori: se stesso e 1 Esempi di numeri primi:
DettagliMacchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29
Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,
DettagliSecondo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale
Secondo allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini luca@chiodini.org - l.chiodini@campus.unimib.it 15 marzo 2016 Programma 1. Lettura di un problema tratto dalle
DettagliEsercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande/ VERSIONE 1 1) L approccio con cui si studia un sistema focalizzandosi solo sul rapporto tra input e output si chiama
Dettagli2. I numeri reali e le funzioni di variabile reale
. I numeri reali e le funzioni di variabile reale Introduzione Il metodo comunemente usato in Matematica consiste nel precisare senza ambiguità i presupposti, da non cambiare durante l elaborazione dei
Dettaglimisura. Adesso, ad un arbitrario punto P dello spazio associamo una terna di numeri reali x
4. Geometria di R 3. Questo paragrafo è molto simile al paragrafo : tratta infatti delle proprietà geometriche elementari dello spazio R 3. Per assegnare delle coordinate nello spazio, fissiamo innanzitutto
DettagliIGiochidiArchimede-SoluzioniBiennio 23 novembre 2005
PROGETTO OLIMPIADI DI MATEMATIA U.M.I. UNIONE MATEMATIA ITALIANA SUOLA NORMALE SUPERIORE IGiochidiArchimede-SoluzioniBiennio 3 novembre 00 1 Griglia delle risposte corrette Risoluzione dei problemi Problema
DettagliUniversità degli Studi di Roma Tor Vergata. Principio di induzione matematica
Università degli Studi di Roma Tor Vergata. Principio di induzione matematica Il Principio di induzione matematica è una tecnica di dimostrazione che permette la dimostrazione simultanea di infinite affermazioni.
DettagliA lezione sono stati presentati i seguenti passi per risolvere un problema:
Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi
DettagliF 2. i = F n F n+1. i=1 F 2 1 = 1 = F 1 F 2. Per n 1, supponiamo vero per n, dimostriamo per n + 1. F 2i+1 = F 2n+2. i=0
1 ESERCIZI 1 Esercizi 1.1 Fibonacci1 Dimostrare che F 2 i = F n F n+1. Dimostrazione. Per induzione su n. Per n = 1 si ha F 2 1 = 1 = F 1 F 2. Per n 1, supponiamo vero per n, dimostriamo per n + 1. n+1
Dettagli2.6 Calcolo degli equilibri di Nash
92 2 Giochi non Cooperativi Per queste estensioni di giochi non finiti si possono provare risultati analoghi a quelli visti per i giochi finiti. Rimandiamo alla bibliografia per uno studio più approfondito
Dettagli1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):
. equivalenze e implicazioni logiche Esercizio.. Trovare le implicazioni che legano i seguenti enunciati (x, y R): () x < y, () x = y, () x y, () x y, () (x y) > 0. Osserviamo subito che (x y) > 0 equivale
DettagliSuccessioni, massimo e minimo limite e compattezza in R
Università di Roma Tor Vergata Corso di Laurea in Scienze e Tecnologie per i Media Successioni, massimo e minimo limite e compattezza in R Massimo A. Picardello BOZZA 10.11.2011 21:24 i CAPITOLO 1 Successioni
DettagliAnalisi Matematica I per Ingegneria Gestionale, a.a Scritto del secondo appello, 1 febbraio 2017 Testi 1
Analisi Matematica I per Ingegneria Gestionale, a.a. 206-7 Scritto del secondo appello, febbraio 207 Testi Prima parte, gruppo.. Trovare le [0, π] che risolvono la disequazione sin(2) 2. 2. Dire se esistono
DettagliCorso di Analisi Numerica
Corso di Laurea in Ingegneria Informatica Corso di 3 - PROBLEMI DI INTERPOLAZIONE Lucio Demeio Dipartimento di Scienze Matematiche 1 Interpolazione: Polinomio di Lagrange 2 3 Introduzione Problemi di interpolazione
DettagliEsercizi. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Test di primalità Definizione (Numeri primi) Un numero naturale è primo se è maggiore di
Dettagli(2) se A A, allora A c A; (3) se {A n } A, allora +
1. Spazi di misura In questo paragrafo accenneremo alla nozione di spazio di misura. Definizione 1. Sia X un insieme non vuoto. Una famiglia A di sottoinsiemi di X è una σ-algebra se : (1) A; (2) se A
Dettaglim = a k n k + + a 1 n + a 0 Tale scrittura si chiama rappresentazione del numero m in base n e si indica
G. Pareschi COMPLEMENTI ED ESEMPI SUI NUMERI INTERI. 1. Divisione con resto di numeri interi 1.1. Divisione con resto. Per evitare fraintendimenti nel caso in cui il numero a del Teorema 0.4 sia negativo,
DettagliEsercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 10 novembre 2010 1 La bandiera nazionale (problema 4.7 del libro di testo). Il problema della bandiera
DettagliProblemi, istanze, soluzioni
lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un
DettagliERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }
ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il
DettagliAlgoritmi e strutture di dati 2
Algoritmi e strutture di dati 2 Paola Vocca Lezione 1: Divide et Impera 1 Paradigma del divide et impera Strutturato in tre fasi. Sia Π() istanza di dimensione di un problema computazionale Π (dove è immediato
DettagliRICERCA OPERATIVA. Tema d esame del 04/03/2008 (Simulazione)
RICERCA OPERATIVA Tema d esame del 04/03/2008 (Simulazione) COGNOME: NOME: MATRICOLA:. Una nota azienda automobilistica produce due modelli di auto (un utilitaria e una berlina), che rivende con un guadagno
DettagliFattorizzazione QR con pivoting per colonne
Fattorizzazione QR con pivoting per colonne Mele Giampaolo May 14, 211 1 Traccia Abstract Breve descrizione dell algoritmo implementato per l esame di calcolo scientifico con sperimentazione Implementare
Dettagli04 - Logica delle dimostrazioni
Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 04 - Logica delle dimostrazioni Anno Accademico 013/014 D. Provenzano,
DettagliConvergenza del Simplesso e regole anti-ciclaggio
Convergenza del Simplesso e regole anti-ciclaggio degenerazione e ciclaggio un esempio di ciclaggio regole anti-ciclaggio rif. Fi 3.2.6, BT 3.4 (Esempio 3.6), BT 3.7; Sulla convergenza del metodo del simplesso
DettagliProprieta dei Linguaggi regolari
Proprieta dei Linguaggi regolari Pumping Lemma. Ogni linguaggio regolare soddisfa il pumping lemma. Se qualcuno vi presenta un falso linguaggio regolare, l uso del pumping lemma mostrera una contraddizione.
DettagliAlgoritmi e Strutture Dati
Analisi Asintotica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Un graduale processo di astrazione Passo 1: abbiamo ignorato il costo effettivo
DettagliTeoria dei Giochi Prova del 30 Novembre 2012
Cognome, Nome, Corso di Laurea, email: Teoria dei Giochi Prova del 30 Novembre 2012 Esercizio 1. Si consideri il seguente gioco. Il primo giocatore può scegliere un numero tra {3,4,8,16,38}; il secondo
DettagliLinguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
Dettaglix 1 Fig.1 Il punto P = P =
Geometria di R 2 In questo paragrafo discutiamo le proprietà geometriche elementari del piano Per avere a disposizione delle coordinate nel piano, fissiamo un punto, che chiamiamo l origine Scegliamo poi
Dettagliax 1 + bx 2 + c = 0, r : 2x 1 3x 2 + 1 = 0.
. Rette in R ; circonferenze. In questo paragrafo studiamo le rette e le circonferenze in R. Ci sono due modi per descrivere una retta in R : mediante una equazione cartesiana oppure mediante una equazione
DettagliNOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE
NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE ROBERTO GIAMBÒ 1. DEFINIZIONI E PRIME PROPRIETÀ In queste note saranno presentate alcune proprietà principali delle funzioni convesse di una variabile
DettagliLuca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1
Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Esercizio 1.12 Per dimostrare che per ogni funzione esiste una formula in cui compaiono le variabili tale che la corrispondente
DettagliInformatica e Bioinformatica: Algoritmi
Informatica e Bioinformatica: Algoritmi 20 Marzo 2014 Programmi Applicativi Programmi Applicativi Sistema Operativo (lezione 3) Macchina Hardware (lezione 1 e 2) La macchina hardware permette l esecuzione
DettagliProblema del cammino minimo
Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento
Dettagli14. Confronto tra l integrale di Lebesgue e l integrale di Riemann.
4. Confronto tra l integrale di Lebesgue e l integrale di Riemann. Lo scopo di questo capitolo è quello di mettere a confronto i vari tipi di integrale (di Riemann, generalizzato e improprio) di funzioni
Dettagli4.5 Tempo di calcolo: introduzione.
4.5 Tempo di calcolo: introduzione. Perché un programma o sottoprogramma sia una soluzione accettabile di un problema, non basta che sia corretto rispetto alla specifica del problema; occorre anche che
DettagliPrecorsi di matematica
Precorsi di matematica Francesco Dinuzzo 12 settembre 2005 1 Insiemi Il concetto di base nella matematica moderna è l insieme. Un insieme è una collezione di elementi. Gli elementi di un insieme vengono
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
DettagliIGiochidiArchimede--Soluzionibiennio
PROGETTO OLIMPIADI DI MATEMATICA U.M.I. UNIONE MATEMATICA ITALIANA MINISTERO DELLA PUBBLICA ISTRUZIONE SCUOLA NORMALE SUPERIORE IGiochidiArchimede--Soluzionibiennio 9 novembre 008 Griglia delle risposte
Dettagli