Programmazione dinamica: Selezione di intervalli pesati. 4 novembre 2014

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione dinamica: Selezione di intervalli pesati. 4 novembre 2014"

Transcript

1 Programmazione dinamica: Selezione di intervalli pesati 4 novembre 2014

2 6.1 Weighted Interval Scheduling

3 Interval scheduling problem. Interval Scheduling Job j starts at s j, finishes at f j. Two jobs compatible if they don't overlap. Goal: find biggest subset of mutually compatible jobs. a b c d e f g h Time

4 Weighted Interval Scheduling Weighted interval scheduling problem. Job j starts at s j, finishes at f j, and has weight or value v j. Two jobs compatible if they don't overlap. Goal: find maximum weight subset of mutually compatible jobs. weight = 9 a weight = 10 b weight = 7 c weight = 2 weight = 8 d e weight = 12 f 4 weight = 2 weight = g h Time

5 Weighted Interval Scheduling Weighted interval scheduling problem. Job j starts at s j, finishes at f j, and has weight or value v j. Two jobs compatible if they don't overlap. Goal: find maximum weight subset of mutually compatible jobs. Copyright 2005 Pearson Addison-Wesley. All rights reserved. 5 Insiemi compatibili: {1,3} di peso 2 {2} di peso 3 è la soluzione ottimale

6 Unweighted Interval Scheduling Review Note: Greedy algorithm works if all weights are 1. Consider jobs in ascending order of finish time. Add job to subset if it is compatible with previously chosen jobs. Observation. Greedy algorithm can fail spectacularly if arbitrary weights are allowed. weight = 999 weight = 1 6 a b Time

7 Esercizio Immaginate un problema reale (o concreto) che si possa formalizzare in un problema computazionale di Interval Scheduling pesato.

8 Weighted Interval Scheduling Notation. Label jobs by finishing time: f 1 f 2... f n. Def. p(j) = largest index i < j such that job i is compatible with j. Ex: (independently from weights) p(8) = 5, p(7) = 3, p(2) = Time

9 Soluzione = {5, 3, 1} Valore = = 8 Copyright 2005 Pearson Addison-Wesley. All rights reserved. 6-9

10 Dynamic Programming: Binary Choice Notation. OPT(j) = value of optimal solution to the problem consisting of job requests 1, 2,..., j. Case 1: OPT selects job j. can't use incompatible jobs { p(j) + 1, p(j) + 2,..., j - 1 } must include optimal solution to problem consisting of remaining compatible jobs 1, 2,..., p(j) Case 2: OPT does not select job j. optimal substructure must include optimal solution to problem consisting of remaining compatible jobs 1, 2,..., j-1 OPT ( j) 0 max v j OPT ( p( j)), OPT ( j 1) if j 0 otherwise 10

11 Weighted Interval Scheduling: Brute Force Brute force recursive algorithm. Input: n, s 1,,s n, f 1,,f n, v 1,,v n Sort jobs by finish times so that f 1 f 2... f n. Compute p(1), p(2),, p(n) Compute-Opt(j) { if (j = 0) return 0 else return max(v j + Compute-Opt(p(j)), Compute-Opt(j-1)) } 11

12 OPT ( j) 0 max v j OPT ( p( j)), OPT ( j 1) if j 0 otherwise Copyright 2005 Pearson Addison-Wesley. All rights reserved. 6-12

13 Weighted Interval Scheduling: Brute Force Observation. Recursive algorithm fails spectacularly because of redundant sub-problems exponential algorithms. Ex. Number of recursive calls for family of "layered" instances grows like Fibonacci sequence p(1) = 0, p(j) = j-2 T(n)= O(2 n ): too much!

14 Weighted Interval Scheduling: Memoization Memoization. Store results of each sub-problem in a cache; lookup as needed. Input: n, s 1,,s n, f 1,,f n, v 1,,v n Sort jobs by finish times so that f 1 f 2... f n. Compute p(1), p(2),, p(n) for j = 1 to n M[j] = empty M[0] = 0 M-Compute-Opt(j) { if (M[j] is empty) M[j] = max(w max(v j + M-Compute-Opt(p(j)), M-Compute-Opt(j-1)) return M[j] } 14

15 Weighted Interval Scheduling: Running Time Claim. Memoized version of algorithm takes O(n log n) time. Sort by finish time: O(n log n). Computing p( ) : O(n) after sorting by start time (exercise). M-Compute-Opt(j): each invocation takes O(1) time and either (i) returns an existing value M[j] (ii) fills in one new entry M[j] and makes two recursive calls Progress measure = # nonempty entries of M[]. initially = 0, throughout n. (ii) increases by 1 at most 2n recursive calls. Overall running time of M-Compute-Opt(n) is O(n). Remark. O(n) if jobs are pre-sorted by start and finish times. 15

16 Weighted Interval Scheduling: Bottom-Up Bottom-up dynamic programming. Unwind recursion. Input: n, s 1,,s n, f 1,,f n, v 1,,v n Sort jobs by finish times so that f 1 f 2... f n. Compute p(1), p(2),, p(n) Iterative-Compute-Opt { M[0] = 0 for j = 1 to n M[j] = max(v j + M[p(j)], M[j-1]) } 16

17 Iterative-Compute-Opt { M[0] = 0 for j = 1 to n M[j] = max(w j + M[p(j)], M[j-1]) } M[1] = max ( 2+M[0], M[0]) = max (2+0, 0) = 2 M[2] = max ( 4+M[0], M[1]) = max (4+0, 2) = 4 M[3] = max ( 4+M[1], M[2]) = max (4+2, 4) = 6 M[4] = max ( 7+M[0], M[3]) = max (7+0, 6) = 7 M[5] = max ( 2+M[3], M[4]) = max (2+6, 7) = 8 M[6] = max ( 1+M[3], M[5]) = max (1+6, 8) = Copyright 2005 Pearson Addison-Wesley. All rights reserved.

18 Weighted Interval Scheduling: Finding a Solution Q. Dynamic programming algorithms computes optimal value. What if we want the solution itself (the set of intervals)? A. Do some post-processing. 18 # of recursive calls n O(n). Run M-Compute-Opt(n) Run Find-Solution(n) Find-Solution(j) { if (j = 0) output nothing else if (v j + M[p(j)] > M[j-1]) print j Find-Solution(p(j)) else Find-Solution(j-1) }

19 Esempio del calcolo di una soluzione OPT ( j) 0 max v j OPT ( p( j)), OPT ( j 1) if j 0 otherwise M[1] = max ( 2+M[0], M[0]) = max (2+0, 0) = 2 M[2] = max ( 4+M[0], M[1]) = max (4+0, 2) = 4 M[3] = max ( 4+M[1], M[2]) = max (4+2, 4) = 6 M[4] = max ( 7+M[0], M[3]) = max (7+0, 6) = 7 M[5] = max ( 2+M[3], M[4]) = max (2+6, 7) = 8 M[6] = max ( 1+M[3], M[5]) = max (1+6, 8) = 8 M[6]=M[5]: 6 non appartiene a OPT M[5]=v 5 +M[3]: OPT contiene 5 e una soluzione ottimale al problema per {1,2,3} M[3]=v 3 +M[1]: OPT contiene 5, 3 e una soluzione ottimale al problema per {1} M[1]=v 1 +M[0]: OPT contiene 5, 3 e 1 (e una soluzione ottimale al problema vuoto) Soluzione = {5, 3, 1} Valore = = 8

20 Dynamic Programming Summary Recipe. Characterize structure of problem. Recursively define value of optimal solution. Compute value of optimal solution. Construct optimal solution from computed information. Dynamic programming techniques. Binary choice: weighted interval scheduling. Multi-way choice: segmented least squares. Adding a new variable: knapsack. Dynamic programming over intervals: RNA secondary structure. Top-down vs. bottom-up: different people have different intuitions. 20

21 Tale proprietà è detta: Proprietà della Sottostruttura Ottima.

22 Proprietà della sottostruttura ottima: Scheduling di attività Il punto cruciale qui è che O {n} : è una soluzione, cioè è un insieme di attività compatibili di {1,, p(n)} (perché le attività di O sono compatibili) è ottima, cioè ha cardinalità massima fra le soluzioni al sottoproblema relativo alle attività {1,, p(n)} (infatti, se così non fosse, esisterebbe una soluzione O per {1,, p(n)} di cardinalità strettamente superiore a quella di O {n} e allora O {n} sarebbe una soluzione strettamente migliore di O.

23 Riepilogo e riferimenti Primi esempi della programmazione dinamica: calcolo dei numeri di Fibonacci (la volta scorsa), selezione di intervalli pesati (oggi: [KT] par. 6.1) Domani mercoledì 5: ancora programmazione dinamica e breve test di valutazione su algoritmi ricorsivi e analisi, relazioni di ricorrenza, tecnica divide et impera e in particolare MergeSort, Partition, QuickSort.

Programmazione dinamica: Selezione di intervalli pesati. 12 ottobre 2015

Programmazione dinamica: Selezione di intervalli pesati. 12 ottobre 2015 Programmazione dinamica: Selezione di intervalli pesati 12 ottobre 2015 Appello 29 gennaio 2015 Quesito 2 (24 punti) Dopo la Laurea in Informatica avete aperto un campo di calcetto che ha tantissime richieste

Dettagli

6.5 RNA Secondary Structure. 18 novembre 2014

6.5 RNA Secondary Structure. 18 novembre 2014 6.5 RNA Secondary Structure 18 novembre 2014 Calendario Oggi è la lezione 17/24: ultima lezione su Programmazione dinamica Metodo greedy: 18, 19 Grafi: 20, 21, 22, 23 Reti di flusso: 23, 24 (=mercoledì

Dettagli

6.5 RNA Secondary Structure

6.5 RNA Secondary Structure 6.5 RNA Secondary Structure Struttura di una biomolecola Biomolecola: DNA, RNA Struttura primaria: descrizione esatta della sua composizione atomica e dei legami presenti fra gli atomi Struttura secondaria:

Dettagli

Algoritmi e strutture di dati 2

Algoritmi e strutture di dati 2 Algoritmi e strutture di dati 2 Paola Vocca Lezione 2: Tecniche golose (greedy) Lezione1- Divide et impera 1 Progettazione di algoritmi greedy Tecniche di dimostrazione (progettazione) o Greedy algorithms

Dettagli

Programmazione dinamica. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis

Programmazione dinamica. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis Programmazione dinamica Progettazione di Algoritmi a.a. 2016-17 Matricole congrue a 1 Docente: Annalisa De Bonis 1 Paradigmi della Progettazione degli Algoritmi Greedy. Costruisci una soluzione in modo

Dettagli

6.6 Sequence Alignment

6.6 Sequence Alignment 6.6 Sequence Alignment E capitato anche a voi? Di digitare sul computer una parola in maniera sbagliata (per esempio usando un dizionario sul Web): AGORITNI E sentirsi chiedere: «Forse cercavi ALGORITMI?»

Dettagli

Finite Model Theory / Descriptive Complexity: bin

Finite Model Theory / Descriptive Complexity: bin , CMPSCI 601: Recall From Last Time Lecture 19 Finite Model Theory / Descriptive Compleity: Th: FO L DSPACE Fagin s Th: NP SO. bin is quantifier-free.!#"$&% ('*), 1 Space 0 1 ) % Time $ "$ $ $ "$ $.....

Dettagli

Metodo greedy. 26 novembre esima lezione

Metodo greedy. 26 novembre esima lezione Metodo greedy 26 novembre 2014 19-esima lezione Calendario 19. Mercoledì 26 novembre (oggi): Greedy 2 20. Martedì 2 dicembre 9-11: Greedy 3:Huffman 21. Mercoledì 3 dicembre: Grafi 1 22. Martedì 9 dicembre:

Dettagli

Tipici tempi di esecuzione. Martedì 7 ottobre 2014

Tipici tempi di esecuzione. Martedì 7 ottobre 2014 Tipici tempi di esecuzione Martedì 7 ottobre 2014 Punto della situazione Abbiamo definito il tempo di esecuzione di un algoritmo Scelto l analisi asintotica Abbiamo definito le notazioni asintotiche che

Dettagli

Programmazione dinamica (I parte)

Programmazione dinamica (I parte) Programmazione dinamica (I parte) Progettazione di Algoritmi a.a. 207-8 Matricole congrue a Docente: Annalisa De Bonis Paradigmi della Progettazione degli Algoritmi Greedy. Costruisci una soluzione in

Dettagli

Tempo di esecuzione e Analisi asintotica

Tempo di esecuzione e Analisi asintotica Tempo di esecuzione e Analisi asintotica Corso di Algoritmi Progettazione e analisi di algoritmi Progettazione: tecnica Divide-et-impera, Greedy, Programmazione dinamica Analisi «asintotica» delle risorse

Dettagli

Graphs: Cycles. Tecniche di Programmazione A.A. 2012/2013

Graphs: Cycles. Tecniche di Programmazione A.A. 2012/2013 Graphs: Cycles Tecniche di Programmazione Summary Definitions Algorithms 2 Definitions Graphs: Cycles Cycle A cycle of a graph, sometimes also called a circuit, is a subset of the edge set of that forms

Dettagli

Tempo di esecuzione e Analisi asintotica

Tempo di esecuzione e Analisi asintotica Tempo di esecuzione e Analisi asintotica Corso di Algoritmi Progettazione e analisi di algoritmi Progettazione: tecnica Divide-et-impera, Greedy, Programmazione dinamica Analisi «asintotica» delle risorse

Dettagli

! Bioinformatica. ! Teoria dei Controlli. ! Teoria dell Informazione. ! Ricerca Operativa. ! Informatica: teoria, grafica, Inteligenza Artificiale,.

! Bioinformatica. ! Teoria dei Controlli. ! Teoria dell Informazione. ! Ricerca Operativa. ! Informatica: teoria, grafica, Inteligenza Artificiale,. Paradigmi algoritmici Chapter Dynamic Programming reedy. Costruisce la soluzione incrementalmente, ottimizzando qualche criterio locale. Divide-and-conquer. Divide un problema in due (o più) sottoproblemi,

Dettagli

Tempo di esecuzione e Analisi asintotica

Tempo di esecuzione e Analisi asintotica Tempo di esecuzione e Analisi asintotica Corso di Algoritmi Progettazione e analisi di algoritmi Progettazione: tecnica Divide-et-impera, Greedy, Programmazione dinamica Analisi «asintotica» delle risorse

Dettagli

Aree. ! Bioinformatica. ! Teoria dei Controlli. ! Teoria dell Informazione. ! Ricerca Operativa.

Aree. ! Bioinformatica. ! Teoria dei Controlli. ! Teoria dell Informazione. ! Ricerca Operativa. 0// Paradigmi algoritmici Chapter Dynamic Programming reedy. Costruisce la soluzione incrementalmente, ottimizzando qualche criterio locale. Divide-and-conquer. Divide un problema in diversi sottoproblemi,

Dettagli

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio A.A. 2006/2007 Laurea di Ingegneria Informatica Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio Obbiettivi Acquisire familiarità con la nozione di oggetto Apprendere le proprietà

Dettagli

College Algebra. Logarithms: Denitions and Domains. Dr. Nguyen November 9, Department of Mathematics UK

College Algebra. Logarithms: Denitions and Domains. Dr. Nguyen November 9, Department of Mathematics UK College Algebra Logarithms: Denitions and Domains Dr. Nguyen nicholas.nguyen@uky.edu Department of Mathematics UK November 9, 2018 Agenda Logarithms and exponents Domains of logarithm functions Operations

Dettagli

WEB OF SCIENCE. COVERAGE: multidisciplinary TIME RANGE: DOCUMENT TYPES: articles, proceedings papers, books

WEB OF SCIENCE. COVERAGE: multidisciplinary TIME RANGE: DOCUMENT TYPES: articles, proceedings papers, books WEB OF SCIENCE COVERAGE: multidisciplinary TIME RANGE: 1985- DOCUMENT TYPES: articles, proceedings papers, books WEB OF SCIENCE: SEARCH you can add one or more search field you can limit results to a specific

Dettagli

Programmazione dinamica

Programmazione dinamica Programmazione dinamica Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Programmazione

Dettagli

ECOLE POLYTECHNIQlE FEDERALE DE LAUSANNE

ECOLE POLYTECHNIQlE FEDERALE DE LAUSANNE ).> ECOLE POLYTECHNIQlE.>.> FEDERALE DE LAUSANNE case class : Int : Int : Boolean : String : String : Boolean : Boolean val = case class : Int : Boolean : Boolean : Boolean : Int val = val = val = =>

Dettagli

Single-rate three-color marker (srtcm)

Single-rate three-color marker (srtcm) 3. Markers Pag. 1 The Single Rate Three Color Marker (srtcm) can be used as component in a Diffserv traffic conditioner The srtcm meters a traffic stream and marks its packets according to three traffic

Dettagli

Sommario della lezione

Sommario della lezione Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/36 Sommario della lezione Ulteriori esempi di applicazione della Programmazione Dinamica Esempio di applicazione

Dettagli

Question 1: algorithms, data structures, problem classes, and algorithmic techniques

Question 1: algorithms, data structures, problem classes, and algorithmic techniques Question 1: alg. s, data struct. s, problem classes, and alg. techniques Question 1: algorithms, data structures, problem classes, and algorithmic techniques What is a dynamic data structure? (4 points).

Dettagli

Probability Distributions T O P I C # 1

Probability Distributions T O P I C # 1 Probability Distributions ١ T O P I C # 1 Discrete Random Variable A discrete random variable is a variable that can assume only a countable number of values Many possible outcomes: number of complaints

Dettagli

Note per la Lezione 14 Ugo Vaccaro

Note per la Lezione 14 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2018 2019 Note per la Lezione 14 Ugo Vaccaro Applichiamo la tecnica di Programmazione Dinamica al seguente problema. Input del problema: Supponiamo di avere un

Dettagli

Analisi algoritmi ricorsivi e relazioni di ricorrenza

Analisi algoritmi ricorsivi e relazioni di ricorrenza Analisi algoritmi ricorsivi e relazioni di ricorrenza Punto della situazione Finora abbiamo affrontato: il tempo di esecuzione di un algoritmo, l analisi asintotica con le notazioni asintotiche e la tecnica

Dettagli

Tipici tempi di esecuzione

Tipici tempi di esecuzione Tipici tempi di esecuzione Punto della situazione Abbiamo definito il tempo di esecuzione di un algoritmo e Scelto l analisi asintotica Abbiamo definito le notazioni asintotiche che ci permettono di confrontarlo

Dettagli

Divide-and-Conquer. Divide et impera Giulio Cesare

Divide-and-Conquer. Divide et impera Giulio Cesare Divide-et-Impera Divide-and-Conquer Divide et impera Giulio Cesare Divide-and-conquer. Break up problem into several parts. Solve each part recursively. Combine solutions to sub-problems into overall solution.

Dettagli

Quicksort Moltiplicazione di interi Master Theorem Valutazione del tempo di esecuzione di algoritmi iterativi e ricorsivi

Quicksort Moltiplicazione di interi Master Theorem Valutazione del tempo di esecuzione di algoritmi iterativi e ricorsivi Quicksort Moltiplicazione di interi Master Theorem Valutazione del tempo di esecuzione di algoritmi iterativi e ricorsivi Algoritmi basati sulla tecnica Divide et Impera In questo corso: Ricerca binaria

Dettagli

Constant Propagation. A More Complex Semilattice A Nondistributive Framework

Constant Propagation. A More Complex Semilattice A Nondistributive Framework Constant Propagation A More Complex Semilattice A Nondistributive Framework 1 The Point Instead of doing constant folding by RD s, we can maintain information about what constant, if any, a variable has

Dettagli

I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO

I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO READ ONLINE AND DOWNLOAD EBOOK : I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO

Dettagli

Scheduling. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4

Scheduling. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4 Course of Multimedia Internet (Sub-course Reti Internet Multimediali ), AA 2010-2011 Prof. 4. Scheduling Pag. 1 Scheduling In other architectures, buffering and service occur on a per-flow basis That is,

Dettagli

Divide et Impera MergeSort. Mercoledì 8 ottobre 2014

Divide et Impera MergeSort. Mercoledì 8 ottobre 2014 Divide et Impera MergeSort Mercoledì 8 ottobre 2014 Punto della situazione Corso di Algoritmi: Analisi e progettazione di algoritmi Abbiamo acquisito alcuni strumenti per effettuare l analisi asintotica

Dettagli

Programmazione dinamica Primi esempi

Programmazione dinamica Primi esempi Programmazione dinamica Primi esempi (20 ottobre 2009 e 9 novembre 2010) Programmazione dinamica e Divide et Impera Entrambe le tecniche dividono il problema in sottoproblemi: dalle soluzioni dei sottoproblemi

Dettagli

REGISTRATION GUIDE TO RESHELL SOFTWARE

REGISTRATION GUIDE TO RESHELL SOFTWARE REGISTRATION GUIDE TO RESHELL SOFTWARE INDEX: 1. GENERAL INFORMATION 2. REGISTRATION GUIDE 1. GENERAL INFORMATION This guide contains the correct procedure for entering the software page http://software.roenest.com/

Dettagli

Quadrature. Emma Perracchione. Corso di Calcolo Numerico per Ingegneria Meccanica - Matr. PARI (Univ. PD)

Quadrature. Emma Perracchione. Corso di Calcolo Numerico per Ingegneria Meccanica - Matr. PARI (Univ. PD) Emma Perracchione Corso di Calcolo Numerico per Ingegneria Meccanica - Matr. PARI (Univ. PD) Gli esercizi sono presi dal libro: S. De Marchi, D. Poggiali, Exercices of numerical calculus with solutions

Dettagli

Corso di Algoritmi e Strutture Dati con Laboratorio. The JCF(continua): L interfaccia Map

Corso di Algoritmi e Strutture Dati con Laboratorio. The JCF(continua): L interfaccia Map Corso di Algoritmi e Strutture Dati con Laboratorio The JCF(continua): L interfaccia Map Unamappaè unaraccolta (oggetto che contiene elementi: es: array, oggetto di tipo Collection) in cui ogni elemento

Dettagli

Ottimizzazione Combinatoria J and 6.855J and ESD.78J

Ottimizzazione Combinatoria J and 6.855J and ESD.78J Ottimizzazione Combinatoria 2 Cammino Minimo Vincolato Un esempio basato sulle slide della seguente lezione del Corso Network Optimization MITOpenCourseware http://ocw.mit.edu/courses/sloan-school-of-management/-082j-network-optimization-fall-200/.082j

Dettagli

Tipici tempi di esecuzione Divide et Impera e Relazioni di ricorrenza. Lunedì 5 ottobre 2015

Tipici tempi di esecuzione Divide et Impera e Relazioni di ricorrenza. Lunedì 5 ottobre 2015 Tipici tempi di esecuzione Divide et Impera e Relazioni di ricorrenza Lunedì 5 ottobre 2015 Punto della situazione Abbiamo definito il tempo di esecuzione di un algoritmo Scelto l analisi asintotica Abbiamo

Dettagli

Percorsi: L'Italia Attraverso La Lingua E La Cultura, Books A La Carte Plus MyItalianLab By Francesca Italiano, Irene Marchegiani READ ONLINE

Percorsi: L'Italia Attraverso La Lingua E La Cultura, Books A La Carte Plus MyItalianLab By Francesca Italiano, Irene Marchegiani READ ONLINE Percorsi: L'Italia Attraverso La Lingua E La Cultura, Books A La Carte Plus MyItalianLab By Francesca Italiano, Irene Marchegiani READ ONLINE Percorsi: L'Ialia attraverso la lingua e la cultura, Books

Dettagli

PROGRAMMA LEZIONI ASD (II SEMESTRE) PROF. CLEMENTI

PROGRAMMA LEZIONI ASD (II SEMESTRE) PROF. CLEMENTI PROGRAMMA LEZIONI ASD 2017-2018 (II SEMESTRE) PROF. CLEMENTI Lezione n. 1 (8-3-18): 9.00-11.00 ( 2.5 ore acc) 1. Introduzione generale al II modulo, modalità dell'esame. 2. Def. del problema dei cammini

Dettagli

Accesso Mul*plo - modelli

Accesso Mul*plo - modelli Accesso Mul*plo - modelli Conceptual Model of Mul/ple Access A B C D Station A Station B Station C Station D Master Channel The Master does not know if and how many packets are present in each queue (i.e.,

Dettagli

Esercizi Programming Contest

Esercizi Programming Contest Esercizi Programming Contest Alberto Montresor 22 maggio 2012 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Sorting Algorithms Prof. Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Sorting algorithms n selection sort n Insertion sort incremental algorithms progressively ext a

Dettagli

introduzione al corso di sistemi operativi a.a maurizio pizzonia

introduzione al corso di sistemi operativi a.a maurizio pizzonia introduzione al corso di sistemi operativi a.a. 2008-2009 maurizio pizzonia contatti Maurizio Pizzonia pizzonia@dia.uniroma3.it ricevimento studenti mercoledì 17:30 Dip. Informatica e Automazione secondo

Dettagli

AVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION

AVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION AVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION READ ONLINE AND DOWNLOAD EBOOK : AVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION PDF Click button to download

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

IM-IU v0.1. alternata e continua. pag. 1 / 5

IM-IU v0.1. alternata e continua. pag. 1 / 5 MANUALE OPERATIVO IM-IU v0.1 INSTRUCTION MANUAL SERIE TTC-V-485 Trasformatore di corrente alternata e continua PROTOCOLLO DI COMUNICAZIONE MODBUS TTC-V-485 SERIES AC/DC current transformer MODBUS COMMUNICATION

Dettagli

Algoritmi Priority-Driven RT. Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo

Algoritmi Priority-Driven RT. Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo Algoritmi Priority-Driven RT Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo 2 Algoritmi Real Time Earliest Due Date (statico) Seleziona il task con la deadline relativa più

Dettagli

Relative error analysis of matrix exponential approximations for numerical integration

Relative error analysis of matrix exponential approximations for numerical integration Relative error analysis of matrix exponential approximations for numerical integration S. Maset Dipartimento di Matematica e Geoscienze Università di Trieste Due giorni di Algebra Lineare Numerica e Applicazioni

Dettagli

Stringhe. Prof. Lorenzo Porcelli

Stringhe. Prof. Lorenzo Porcelli Stringhe Prof. Lorenzo Porcelli definizione Una stringa è un vettore di caratteri terminato dal carattere nullo \0. Il carattere nullo finale permette di determinare la lunghezza della stringa. char vet[32];

Dettagli

Code: GW-IMP-WEB-1. Datalogger web pulses counter. Version 6 inputs with Ethernet. MarCom

Code: GW-IMP-WEB-1. Datalogger web pulses counter. Version 6 inputs with Ethernet. MarCom Datalogger web pulses counter Code: GW-IMP-WEB-1 Version 6 inputs with Ethernet Datalogger web pulses counter The web datalogger pulses counter is able to count the pulses on digital inputs (2 by default

Dettagli

Downloading and Installing Software Socio TIS

Downloading and Installing Software Socio TIS Object: Downloading and Installing Software Socio TIS compiler: L.D. Date Revision Note April 17 th 2013 --- For SO XP; Win 7 / Vista step Operation: Image A1 Open RUN by clicking the Start button, and

Dettagli

Copyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem.

Copyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem. CRWM CRWM (Web Content Relationship Management) has the main features for managing customer relationships from the first contact to after sales. The main functions of the application include: managing

Dettagli

ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2.

ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Sono date le seguenti regole: regola(1,[p,q],a) regola(2,[b,x,a],w) regola(3,[h],c) regola(4,[a,n,q],v)

Dettagli

Maps. a.k.a, associative array, map, or dictionary

Maps. a.k.a, associative array, map, or dictionary Maps a.k.a, associative array, map, or dictionary Definition } In computer science, an associative array, map, or dictionary is an abstract data type composed of (key, value) pairs, such that each key

Dettagli

Capitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java

Capitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java Capitolo 1 Introduzione Cay S. Horstmann Concetti di informatica e fondamenti di Java Obiettivi del capitolo Comprendere la distinzione fra linguaggi macchina e linguaggi di programmazione di alto livello

Dettagli

Quando mi collego ad alcuni servizi hosting ricevo un messaggio relativo al certificato di protezione del sito SSL, come mai?

Quando mi collego ad alcuni servizi hosting ricevo un messaggio relativo al certificato di protezione del sito SSL, come mai? IT FAQ-SSL Quando mi collego ad alcuni servizi hosting ricevo un messaggio relativo al certificato di protezione del sito SSL, come mai? Il certificato SSL relativo ai servizi hosting è stato rinnovato

Dettagli

Fiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note

Fiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note Fiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note M. Teresa Della Beffa Click here if your download doesn"t start automatically Fiori di campo. Conoscere, riconoscere

Dettagli

Note per la Lezione 7 Ugo Vaccaro

Note per la Lezione 7 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 7 Ugo Vaccaro Sempre sulla tecnica Programmazione Dinamica Ricordiamo che lo sviluppo di algoritmi basati sulla Programmazione Dinamica

Dettagli

Programmazione dinamica

Programmazione dinamica Programmazione dinamica Primi esempi 29 ottobre 2014 Punto della situazione Abbiamo visto: analisi asintotica relazioni di ricorrenza (vedremo altri esempi) prima tecnica di programmazione: divide-etimpera

Dettagli

Canti Popolari delle Isole Eolie e di Altri Luoghi di Sicilia (Italian Edition)

Canti Popolari delle Isole Eolie e di Altri Luoghi di Sicilia (Italian Edition) Canti Popolari delle Isole Eolie e di Altri Luoghi di Sicilia (Italian Edition) L. Lizio-Bruno Click here if your download doesn"t start automatically Canti Popolari delle Isole Eolie e di Altri Luoghi

Dettagli

E Facile Smettere Di Fumare Se Sai Come Farlo By Allen Carr

E Facile Smettere Di Fumare Se Sai Come Farlo By Allen Carr E Facile Smettere Di Fumare Se Sai Come Farlo By Allen Carr If searching for a ebook E Facile Smettere Di Fumare Se Sai Come Farlo by Allen Carr in pdf form, in that case you come on to the correct website.

Dettagli

Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2.

Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Scuola Sec. SECONDO Grado Gara 2 IND - 15/16 ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Sono date le seguenti regole: regola(1,[a],b)

Dettagli

Corso di Perfezionamento

Corso di Perfezionamento Programmazione Dinamica 1 1 Dipartimento di Matematica e Informatica Università di Camerino 15 febbraio 2009 Tecniche di Programmazione Tecniche di progettazione di algoritmi: 1 Divide et Impera 2 Programmazione

Dettagli

IL GIOVANE HOLDEN FRANNY E ZOOEY NOVE RACCONTI ALZATE LARCHITRAVE CARPENTIERI E SEYMOUR INTRODUZIONE BY JD SALINGER

IL GIOVANE HOLDEN FRANNY E ZOOEY NOVE RACCONTI ALZATE LARCHITRAVE CARPENTIERI E SEYMOUR INTRODUZIONE BY JD SALINGER IL GIOVANE HOLDEN FRANNY E ZOOEY NOVE RACCONTI ALZATE LARCHITRAVE CARPENTIERI E SEYMOUR INTRODUZIONE BY JD SALINGER READ ONLINE AND DOWNLOAD EBOOK : IL GIOVANE HOLDEN FRANNY E ZOOEY NOVE RACCONTI ALZATE

Dettagli

Programmazione dinamica. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis

Programmazione dinamica. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis Programmazione dinamica Progettazione di Algoritmi a.a. 2015-16 Matricole congrue a 1 Docente: Annalisa De Bonis 1 Paradigmi della Progettazione degli Algoritmi reedy. Costruisci una soluzione in modo

Dettagli

Enel App Store - Installation Manual - Mobile

Enel App Store - Installation Manual - Mobile Model Design Digital Revolution Enel App Store - Installation Manual - Mobile V 1.1 Manual Questo documento contiene informazioni di proprietà di Enel SpA e deve essere utilizzato esclusivamente dal destinatario

Dettagli

Pimsleur Italian 11. Listen to this conversation

Pimsleur Italian 11. Listen to this conversation Pimsleur Italian 11 DISCLAIMER I recommend only referring to the lesson transcript if you are unsure of a word that is being spoken. Otherwise, we run the risk of disrupting the intended learning process.

Dettagli

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Algoritmi greedy Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Gli algoritmi greedy sono algoritmi basati sull idea

Dettagli

Progettazione Fisica

Progettazione Fisica Progettazione Fisica Progettazione Fisica Ingresso: Schema logico della base di dati Caratteristiche del sistema scelto Previsioni sul carico applicativo (queries) Uscita: Strutture fisiche utilizzate

Dettagli

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Algoritmi greedy Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Gli algoritmi greedy sono algoritmi basati sull idea

Dettagli

Algoritmi e Strutture Dati. Luciano Gualà

Algoritmi e Strutture Dati. Luciano Gualà Algoritmi e Strutture Dati Luciano Gualà guala@mat.uniroma2.it www.mat.uniroma2.it/~guala Programmazione dinamica una tecnica di progettazione algoritmica molto potente Sommario La tecnica della programmazione

Dettagli

100 consigli per vivere bene (Italian Edition)

100 consigli per vivere bene (Italian Edition) 100 consigli per vivere bene (Italian Edition) Raffaele Morelli Click here if your download doesn"t start automatically 100 consigli per vivere bene (Italian Edition) Raffaele Morelli 100 consigli per

Dettagli

L'università in Italia (Farsi un'idea) (Italian Edition)

L'università in Italia (Farsi un'idea) (Italian Edition) L'università in Italia (Farsi un'idea) (Italian Edition) Giliberto Capano Click here if your download doesn"t start automatically L'università in Italia (Farsi un'idea) (Italian Edition) Giliberto Capano

Dettagli

Exam of ELECTRONIC SYSTEMS June 15 th, 2012 Prof. Marco Sampietro

Exam of ELECTRONIC SYSTEMS June 15 th, 2012 Prof. Marco Sampietro Exam of ELECTRONIC SYSTEMS June 15 th, 2012 Prof. Marco Sampietro Matr. N NAME Problem 1 Operational Amplifier circuit 1. Considerare l amplificatore della figura seguente. Supporre inizialmente di usare

Dettagli

How to register for exam sessions ( Appelli ) Version updated on 17/10/2018

How to register for exam sessions ( Appelli ) Version updated on 17/10/2018 How to register for exam sessions ( Appelli ) Version updated on 17/10/2018 Course catalogue and Piano Carriera (Career Plan) At the beginning of your exchange period in Torino you will need to register

Dettagli

Self-Calibration Hands-on CASA introduction

Self-Calibration Hands-on CASA introduction Self-Calibration Hands-on CASA introduction Adam North American ALMA Science Center Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long

Dettagli

Combinazioni serie HL-MHL + MHL. Sono disponibili varie combinazioni tra e riduttori coassiali serie MHL (2 stadio).

Combinazioni serie HL-MHL + MHL. Sono disponibili varie combinazioni tra e riduttori coassiali serie MHL (2 stadio). Combinazioni tra riduttori serie HL-MHL e MHL Possible combined units of helical inline gearboxes HL-MHL+MHL Combinazioni serie HL-MHL + MHL Sono disponibili varie combinazioni tra riduttori coassiali

Dettagli

Le piccole cose che fanno dimagrire: Tutte le mosse vincenti per perdere peso senza dieta (Italian Edition)

Le piccole cose che fanno dimagrire: Tutte le mosse vincenti per perdere peso senza dieta (Italian Edition) Le piccole cose che fanno dimagrire: Tutte le mosse vincenti per perdere peso senza dieta (Italian Edition) Istituto Riza di Medicina Psicosomatica Click here if your download doesn"t start automatically

Dettagli

Algoritmi e Strutture Dati. Divide-et-impera

Algoritmi e Strutture Dati. Divide-et-impera Algoritmi e Strutture Dati Divide-et-impera Alberto Montresor Università di Trento 2018/12/05 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Sommario 1

Dettagli

Qui u ck c k PE P R E L

Qui u ck c k PE P R E L Quick PERL Why PERL??? Perl stands for practical extraction and report language Similar to shell script but lot easier and more powerful Easy availability All details available on web Basic Concepts Perl

Dettagli

Question 1: introduction to computer programming

Question 1: introduction to computer programming Question 1: introduction to computer programming Question 1: introduction to computer programming What is a compiler? (4 points). Cos è un compilatore? (4 punti). c 2006 Marco Bernardo 1/14 Question 1:

Dettagli

Optmization Methods for Machine Learning. Gradient method for multilayer perceptron

Optmization Methods for Machine Learning. Gradient method for multilayer perceptron Optmization Methods for Machine Learning Laura Palagi http://www.dis.uniroma1.it/ palagi Dipartimento di Ingegneria informatica automatica e gestionale A. Ruberti Sapienza Università di Roma Via Ariosto

Dettagli

Divide et impera (Divide and Conquer) Dividi il problema in sottoproblemi piu` semplici e risolvili ricorsivamente

Divide et impera (Divide and Conquer) Dividi il problema in sottoproblemi piu` semplici e risolvili ricorsivamente Divide et impera (Divide and Conquer) Dividi il problema in sottoproblemi piu` semplici e risolvili ricorsivamente Divide et impera - Schema generale Divide-et-impera (P, n) if n k then risolvi direttamente

Dettagli

Programming challenges

Programming challenges Programming challenges Rossano Venturini rossano.venturini@unipi.it Rod-cutting problem We have a steal rod of length n to cut into smaller rods. We know, for each i=1, 2, 3,, n, the price pi of a rod

Dettagli

General info on using shopping carts with Ingenico epayments

General info on using shopping carts with Ingenico epayments Tabella dei contenuti 1. Disclaimer 2. What is a PSPID? 3. What is an API user? How is it different from other users? 4. What is an operation code? And should I choose "Authorisation" or "Sale"? 5. What

Dettagli

Programmazione Dinamica (PD)

Programmazione Dinamica (PD) Programmazione Dinamica (PD) Altra tecnica per risolvere problemi di ottimizzazione, piu generale degli algoritmi greedy La programmazione dinamica risolve un problema di ottimizzazione componendo le soluzioni

Dettagli

Notazioni asintotiche. Martedì 30 settembre 2014

Notazioni asintotiche. Martedì 30 settembre 2014 Notazioni asintotiche Martedì 30 settembre 2014 Punto della situazione Cos è un algoritmo Tempo di esecuzione T(n) Analisi di algoritmi: analisi asintotica di T(n) Argomento di oggi: Notazioni asintotiche:

Dettagli

Marketing non Convenzionale: Viral, Guerrilla e prospettive future (Italian Edition)

Marketing non Convenzionale: Viral, Guerrilla e prospettive future (Italian Edition) Marketing non Convenzionale: Viral, Guerrilla e prospettive future (Italian Edition) Luca Taborelli Click here if your download doesn"t start automatically Marketing non Convenzionale: Viral, Guerrilla

Dettagli

COMPUTATIONAL THINKING

COMPUTATIONAL THINKING COMPUTATIONAL THINKING Università degli Studi di Verona Tandem 2014/15 Presentazione Area di Scienze e Ingegneria 17 ottobre 2015 ultimo aggiornamento 22/01/15 SOMMARIO Che cos è il Pensiero Computazionale?

Dettagli

Fondamenti di informatica

Fondamenti di informatica Fondamenti di informatica Estendere un linguaggio nuovi domini di dati (II) Obiettivi di apprendimento generali uso del meccanismo list per costruire rappresentazione di oggetti strutturati in particolare,

Dettagli

Gocce d'anima (Italian Edition)

Gocce d'anima (Italian Edition) Gocce d'anima (Italian Edition) Marco Fusaroli Click here if your download doesn"t start automatically Gocce d'anima (Italian Edition) Marco Fusaroli Gocce d'anima (Italian Edition) Marco Fusaroli Non

Dettagli

Algoritmi greedy. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis

Algoritmi greedy. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis Algoritmi greedy Progettazione di Algoritmi a.a. 2015-16 Matricole congrue a 1 Docente: Annalisa De Bonis 1 Scelta greedy Un algoritmo greedy è un algoritmo che effettua ad ogni passo la scelta che in

Dettagli

Functional programming in F#: Data Structures

Functional programming in F#: Data Structures Programmazione Avanzata Corso di Laurea in Informatica (L31) Scuola di Scienze e Tecnologie 31 / 51 Summary of previous lectures In the previous lecture we have... : introduced basic principles of programming

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

WELCOME UNIPA REGISTRATION:

WELCOME UNIPA REGISTRATION: WELCOME This is a Step by Step Guide that will help you to register as an Exchange for study student to the University of Palermo. Please, read carefully this guide and prepare all required data and documents.

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli