1 Località negli algoritmi di ordinamento e trasposizione di una matrice
|
|
- Agnello Ruggeri
- 5 anni fa
- Visualizzazioni
Transcript
1 Corso: Gestione ed elaborazione grandi moli di dati Lezione del: 16 maggio 2006 Argomento: Località spaziale,temporale e trasformata di Fourier Scribes: Daniele unarin e Luca Spataro 1 Località negli algoritmi di ordinamento e trasposizione di una matrice Dopo aver considerato gli algoritmi di ordinamento e trasposizione di una matrice nel diskmodel ed avendo già affrontato nelle lezioni precedenti l analisi di complessità di I/O e del Work, è opportuno fare delle osservazioni sulla località esibiti da tali algoritmi. Infatti, in generale, quando si deve affrontare un algoritmo basandosi sul disk-model si deve cercare di utilizzare al meglio i dati che vengono trasferiti in memoria dal disco, al fine di minimizzare le operazioni di I/O. Come sappiamo esistono due tipi di località, una temporale e una spaziale. Osservazione 1 Un algoritmo con elevata località temporale esegue un work elevato per ogni blocco caricato in RA dal disco. Osservazione 2 Un algoritmo con elevata località spaziale cerca di elaborare tutti i dati del blocco che è stato caricato in RA, in modo da non dover caricare nuovamente quel blocco in un secondo momento. In altri termini quando trasferiamo in memoria dal disco un blocco di dati bisogna far in modo che l algoritmo li utilizzi tutti, non solo una piccola parte, e che li utilizzi il più possibile. Quindi chi sviluppa l algoritmo per il disk-model deve sempre preoccuparsi del layout dei dati su disco, cosa che nel modello RA tradizionale poteva essere tralasciata perchè era importante sapere solamente quali dati utilizzare e non la loro posizione reciproca. Ora dobbiamo concentrarci anche sul dove è memorizzato il dato e quali dati abbia vicino, quindi risultano necessari dei trasferimenti di blocchi di dati che non servono alla risoluzione effettiva del problema, ma che servono per migliorare le prestazioni portando vicini tra loro dati che verranno in seguito utilizzati insieme. Cerchiamo di capire come i problemi che abbiamo già trattato, l ordinamento e la trasposizione di matrici, sfruttino il principio di località. Facciamo una sintesi delle complessità di I/O e di Work degli algoritmi di ordinamento: 1
2 2-WAY ERGE SORT Complessità I/O: T,, = = Θ Θ 2T 2,, + Θ log + 1 > Work: W,, = Θ log 2W 2,, + Θ > = Θ log 2
3 -WAY ERGE SORT Complessità I/O: Work: T,, = Θ = Θ T /,, + Θ > log/ log/ W,, = Θ log W /,, + Θ log > = O log Analizziamo la località temporale guardando quanto lavoro viene fatto per ogni blocco caricato in RA dal disco. Entrambi gli algoritmi hanno Work totale ottimo pari a Θ log, ma mentre nel 2-Way erge Sort per ogni livello della ricorsione vengono eseguite Θ operazioni, nel -erge Sort vengono eseguite Θ log. Quindi per ogni blocco di taglia viene fatto nel primo caso un lavoro pari a mentre nel secondo viene fatto un lavoro pari a log. Siccome in generale > 2 log > 1 e quindi il lavoro per blocco fatto nel -erge Sort è maggiore di quello fatto nel 2-Way erge Sort. In altri termini a parità di operazioni di I/O proporzionale a faccio più lavoro nel secondo algoritmo. Siccome il lavoro totale dei due algoritmi deve essere uguale, significa che nel secondo verranno eseguite meno operazioni di I/O. Analizziamo la località spaziale. In entrambi gli algoritmi vengono utilizzati tutti i dati di ciascun blocco, prima di essere riportato su disco quindi la località spaziale è elevata per entrambi gli algoritmi. 1.1 Località spaziale nella trasposizione di una matrice Consideriamo una matrice di p q, con p q = elementi, sotto le ipotesi: - > ; - < < 2 ; - < minp, q} p, q molto grandi. 3
4 Andiamo ad analizzare la località spaziale degli algoritmi di trasposizione di matrici, prima dell approccio banale e poi di quello ricorsivo, realizzato mediante Chunk Transpose. Approccio banale La matrice A viene divisa in sottomatrici /, ma siccome < 2 < e quindi quando viene caricato il blocco che contiene una delle righe ci saranno anche dei dati che non verranno utilizzati. q p / Figure 1: Schema approccio banale. Per sistemare entry è necessario eseguire operazioni di I/O, quindi la perdita di località spaziale in questo caso è proporzionale a Siccome < 2 2 > 1 / > 1. /. 4
5 Approccio ricorsivo La matrice A viene divisa in sottomatrici : q p Figure 2: Schema approccio ricorsivo. Il numero di operazioni per trasporre 2 entry è operazioni per sistemare 2 entry è 2 log log/, facendo il rapporto si ottiene: log log/ 2 = quindi la perdità di località spaziale è pari a log log/,. Siccome il numero minimo di log log/ > 1, in quanto / <. essuno dei due algoritmi sfrutta la località spaziale in modo ottimo, ma la perdita di località è diversa: nell approccio banale è 2 log, mentre nell approccio ricorsivo è log/. onostante l algoritmo ricorsivo sfrutti la Chunk Transpose, facendo fare diversi salti ai dati da disco a memoria, la perdita di località è minore perchè gli spostamenti organizzano meglio i dati per le operazioni di I/O. 5
6 2 Trasformata di Fourier Definizione 1 Dato il vettore A a 0, a 1,..., a 1 con a k C la trasformata di Fourier di A è il vettore Y y 0, y 1,..., y 1 con: dove w = e 2πi Si indica: Y = DF T A. y k = 1 j=0 è la radice -esima dell unità. a j w k j Strategia di Cooley Tukey Possiamo vedere il vettore A come la rappresentazione in row-major di una matrice p q con = p q. A a ij p q La strategia di risoluzione di Cooley-Tukey prevede questi passi: - Calcolo della DF T p di ogni colonna di A - a ij a ij w ij moltiplicazione per il twiddle factors - Calcolo della DF T q di ogni riga - Lettura column-major della matrice risultante per ottenere il vettore Y. Come abbiamo anticipato precedentemente nell affrontare la risoluzione di un problema nel disk-model dobbiamo fare in modo di ottenere la maggior località spaziale possibile, cercando di avere gli elementi da trasferire consecutivi su disco. Inoltre possiamo scegliere opportunamente p e q in modo che almeno uno dei due gruppi di trasformate possa essere eseguito interamente in RA. on possiamo, in generale, sperare che entrambi siano. Innanzitutto poniamo alcune ipotesi per l implementazione dell algoritmo: -, potenze di 2; - 1 valore 1 word; 6
7 - q potenza di 2 tale che q posso fare le trasformate per riga di ordine q in memoria principale. Algoritmo E-FFT: E 1 -FFTA,,q if then risolvi il problema interamente in RA else p q ; //p è intero e potenza di 2 Vedi A come matrice p q in row-major e siano R i la riga i-esima di A e C j la colonna j-esima di A, con 0 i < p e 0 j < q; }. TransposeA,p,q; //cambiamo il layout dei dati /*colonne C j consecutive su disco*/ for j 0 to q 1 do E-FFTC j, p, q //chiamata ricorsiva TransposeA,q,p; /*righe R i consecutive su disco*/ for i 0 to p 1 do //seconda fase Cooley-Tukey for j 0 to q 1 do a ij a ij w ij ; for i 0 to p 1 do E-FFTR i,q,q; //caso base perchè q TransposeA,p,q; /*scriviamo la matrice in column-major in modo da ottenere il vettore risultato*/ return A; Possiamo vedere che l algoritmo implementa la strategia di Cooley-Tukey. Le funzioni aggiunte di Transpose servono per cambiare il layout dei dati su disco. Complessità di I/O al variare di q Caso 1 q = 2 Dobbiamo tener conto per l analisi sia del tempo impiegato dalle trasformazioni ma anche dalle trasposizioni: TransposeA,p,q TransposeA,q,p 2 1 E sta per External emory, per sottolineare che siamo in un disk-model 7
8 Dall analisi precedente sulle trasposizioni si può dire che il costo di ogni traspose è di Θ. Inoltre bisogna aggiungere il costo dell ultimo ciclo for che è Θ in quanto E-FFTR i,q,q è un caso base e si risolve senza ricorsione. Anche il costo delle trasformate sarà Θ 2 perchè basterà caricare in memoria un blocco di righe e fare la trasformata di ogni riga del blocco. Successivamente si caricherà il blocco successivo ripetendo il procedimento. La complessità di I/O risulta quindi: T 2,, = Θ 2T 2 2,, + Θ > ella parte ricorsiva compare il termine 2 perchè dobbiamo fare due chiamate per le due colonne, mentre il termine Θ tiene conto del costo delle trasposizioni e delle trasformazioni. Guardando l albero della ricorsione, si può vedere che a ogni livello corrisponde una complessità di I/O totale proporzionale a e quindi risulterà: T 2,, Θ 1 + log In cui il termine 1 + log rappresenta il numero di livelli se si riduce infatti a 1. Siccome le trasposizioni e le trasformate vengono eseguite efficientemente, possiamo dire che la località spaziale è elevata. 1 Caso 2 q = Complessità di I/O TransposeA,p,q: Θ 1 + log/x log/ 1 se < p dove x = p se p 2 Sappiamo che possiamo avere 3 casi per : 8
9 1. < p, q; 2. minp, q} maxp, q}; 3. > maxp, q}. Il caso 3 non si può mai verificare perchè q =, ma > q > quindi, non potrà mai superare sia p sia q. Quindi riprendendo da 2: Θ Θ Dalle ipotesi che abbiamo possiamo dire che: logmin, p} 1 + = log/ 3 log/ + logmin, p} log/ 4 p = q = Quindi semplificando la 4 otterremo il costo definitivo per le trasposizioni: Θ logmin, /} log/ 5 6 Per quanto riguarda l esecuzione delle trasformate per riga ultimo ciclo for esse sono efficienti perchè abbiamo righe di lunghezza, e quindi il numero di operazioni di I/O per eseguire queste trasformate è Θ. L espressione totale della complessità di I/O sarà allora: dove: T,, = Θ T,, + Θ σ,, σ,, = logmin, /} log/ > Procediamo allo sviluppo della forma ricorsiva considerando i diversi rapporti tra e : a T,, Θ b < 2 Le trasformate per righe e per colonne possono essere eseguite tutte in RA, quindi l albero della ricorsione ha una profondità pari a 1. e deriva che la complessità di I/O totale è dominata dalla complessità di I/O delle sole trasposizioni. Si ha che: T,, Θ σ,, 7 9
10 Sapendo dalle ipotesi che 2 log min, } tende asintoticamente a log/ e la 7 diventa equivalente a: T,, Θ log/ log/ 8 c > 2 Dall albero della ricorsione sappiamo che ad ogni livello di ricorsione la taglia scende di ogni volta il numero di livelli è Θ, ciascun livello ha complesità di I/O totale pari a: log log log Θ log/ Questo è verificato dal fatto che se è molto grande, il logmin, /} = log tranne all ultimo livello, e quindi: σ,, = log log/ 9 Sommando su tutti i livelli otteniamo: log T,, Θ log = Θ log log/ log log/ Semplifichiamo ulteriormente tenendo conto delle ipotesi imposte: se 2 e > Θlog Θ log Quindi 9 diventa: log/ T,, Θ log/ 12 In conclusione possiamo raccogliere in un unica espressione la complessità di I/O unendo i 3 casi: T,, Θ 1 + log / log/ 13 10
11 ibliografia [AV88] A. Aggarwal and J.S. Vitter. The input/output complexity of sorting and related problems. Communications of the AC, 319: , [CLR90] T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. cgraw-hill, ew York Y, [PCG01] The PC Guide, Versione 2.2.0, Sito web 11
METODI DI CONVERSIONE FRA MISURE
METODI DI CONVERSIONE FRA MISURE Un problema molto frequente e delicato da risolvere è la conversione tra misure, già in parte introdotto a proposito delle conversioni tra multipli e sottomultipli delle
DettagliEsercitazione n o 3 per il corso di Ricerca Operativa
Esercitazione n o 3 per il corso di Ricerca Operativa Ultimo aggiornamento October 17, 2011 Fornitura acqua Una città deve essere rifornita, ogni giorno, con 500 000 litri di acqua. Si richiede che l acqua
DettagliProgrammazione dinamica
Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliLaboratorio di Algoritmi e Strutture Dati II Semestre 2005/2006. Ordinamenti: mergesort e quicksort
Laboratorio di Algoritmi e Strutture Dati II Semestre 2005/2006 Ordinamenti: mergesort e quicksort Marco Antoniotti Mergesort e Quicksort Due importantissimi algoritmi di ordinamento La conoscenza completa
DettagliSistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
DettagliCapitolo 9. Esercizio 9.1. Esercizio 9.2
Capitolo 9 Esercizio 9.1 Considerare lo relazione in figura 9.19 e individuare le proprietà della corrispondente applicazione. Individuare inoltre eventuali ridondanze e anomalie nella relazione. Docente
DettagliIl calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
DettagliEsercizi Capitolo 2 - Analisi di Algoritmi
Esercizi Capitolo - Analisi di Algoritmi Alberto Montresor 19 Agosto, 014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare
Dettagli0.1 Esercizi calcolo combinatorio
0.1 Esercizi calcolo combinatorio Esercizio 1. Sia T l insieme dei primi 100 numeri naturali. Calcolare: 1. Il numero di sottoinsiemi A di T che contengono esattamente 8 pari.. Il numero di coppie (A,
Dettagli4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste
4 Le liste collegate 4.0 Le liste collegate c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 4.0 0 4 Le liste collegate Rappresentazione di liste 4.1
DettagliCalcolatori Elettronici
Calcolatori Elettronici La memoria gerarchica La cache: come migliorare le prestazioni Ricapitolando (1) La memoria principale e la cache sono scomposte in blocchi di uguale dimensione L indirizzo del
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
DettagliNote su quicksort per ASD 2010-11 (DRAFT)
Note su quicksort per ASD 010-11 (DRAFT) Nicola Rebagliati 7 dicembre 010 1 Quicksort L algoritmo di quicksort è uno degli algoritmi più veloci in pratica per il riordinamento basato su confronti. L idea
DettagliCentro Ausili Tecnologici TUTORIAL CREAZIONE TABELLE DI COMUNICAZIONE CON PROGRAMMI NON SPECIFICI
Centro Ausili Tecnologici Viale Cittadini 33, 52100 Arezzo - Tel 0575/254357 Email: cat@usl8.toscana.it Sito web: www.cat-arezzo.org TUTORIAL CREAZIONE TABELLE DI COMUNICAZIONE CON PROGRAMMI NON SPECIFICI
DettagliSistemi Web per il turismo - lezione 3 -
Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa
DettagliPARTE III MACCHINE A REGISTRI
PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson
DettagliEsercizi per il corso di Algoritmi e Strutture Dati
1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi
DettagliEsercizi sulla conversione tra unità di misura
Esercizi sulla conversione tra unità di misura Autore: Enrico Campanelli Prima stesura: Settembre 2013 Ultima revisione: Settembre 2013 Per segnalare errori o per osservazioni e suggerimenti di qualsiasi
DettagliTSP con eliminazione di sottocicli
TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79
DettagliB-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in:
B-Tree Prof. Rudolf Bayer Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in: Filesystem: btrfs, NTFS, ReiserFS, NSS, XFS, JFS
DettagliTSP con eliminazione di sottocicli
TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57
DettagliAlberi binari di ricerca
Alberi binari di ricerca Definizione Visita dell albero inorder Ricerca Ricerca minimo, massimo e successore. Inserimento ed eliminazione di un nodo Problema del bilanciamento dell albero Albero binario
DettagliSommario 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
DettagliCAPITOLO V. DATABASE: Il modello relazionale
CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono
DettagliAlberi auto-aggiustanti
Alberi auto-aggiustanti Dispensa didattica per il corso di Algoritmi e Strutture Dati a.a. 2007/2008 ver. 1.3 Ing. Claudio Mazzariello, Prof. Carlo Sansone 27 Maggio 2008 A differenza di altre possibili
DettagliSono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza
Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di
DettagliBridgemate App. Informazioni per i giocatori. Bridge Systems BV
Bridgemate App Informazioni per i giocatori Bridge Systems BV Bridgemate App Informazioni per i giocatori Pagina 2 Indice Introduzione... 3 Scarica app... 3 Eseguire l app e creare un account... 4 Avvio
DettagliINTRODUZIONE ALLE BASI DATI RELAZIONALI
INTRODUZIONE ALLE BASI DATI RELAZIONALI RELAZIONI E TABELLE Nelle BASI DI DATI RELAZIONALI le informazioni sono organizzate in TABELLE; Le tabelle sono rappresentate mediante griglie suddivise in RIGHE
DettagliFUNZIONI CONTINUE - ESERCIZI SVOLTI
FUNZIONI CONTINUE - ESERCIZI SVOLTI 1) Verificare che x è continua in x 0 per ogni x 0 0 ) Verificare che 1 x 1 x 0 è continua in x 0 per ogni x 0 0 3) Disegnare il grafico e studiare i punti di discontinuità
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
DettagliBanchi ortogonali Casi importanti
anchi ortogonali anchi ortogonali Casi importanti Trasformata a blocchi (JPEG, MPEG) anchi a due canali (JPEG 000) anchi modulati Trasformata di Fourier a blocchi (OFDM) anchi coseno-modulati (AC3, MUSICAM)
DettagliEsercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it 18 marzo 2011 Problema basato su 10.5 del libro di testo La CINA (Compagnia Italiana per il Noleggio di Automobili) dispone di
DettagliIstruzioni utilizzo Sitemanager area Amministrazione Trasparente per il personale comunale
Istruzioni utilizzo Sitemanager area Amministrazione Trasparente per il personale comunale Sommario Modalità di accesso... 4 Struttura del Sitemanager... 5 Cosa sono le cartelle e le sottocartelle... 6
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliCOGNOME E NOME (IN STAMPATELLO) MATRICOLA
Politecnico di Milano Facoltà di Ingegneria dell Informazione Informatica 3 Proff. Ghezzi, Lanzi, Matera e Morzenti Seconda prova in itinere 4 Luglio 2005 COGNOME E NOME (IN STAMPATELLO) MATRICOLA Risolvere
DettagliPROBLEMI DI SCELTA dipendenti da due variabili d azione
prof. Guida PROBLEMI DI SCELTA dipendenti da due variabili d azione in un problema di programmazione lineare, si ricorda che la funzione obiettivo z=f(x,y)=ax+by+c assume il suo valore massimo (o minimo)
DettagliUnità di misura di lunghezza usate in astronomia
Unità di misura di lunghezza usate in astronomia In astronomia si usano unità di lunghezza un po diverse da quelle che abbiamo finora utilizzato; ciò è dovuto alle enormi distanze che separano gli oggetti
DettagliProblem solving elementare su dati vettoriali
Problem solving elementare su dati vettoriali Introduzione Verifiche su sequenze di dati Selezione o ricerca di dati 2 2006 Politecnico di Torino 1 Introduzione (1/2) I problemi di verifica consistono
DettagliVia Oberdan, 42, 48018 Faenza (RA) Italy Tel.: ++39-0546-677111 Fax: ++39-0546-677577 E-mail: support_ahd@eu.irco.com WAVE MODE MOBILE GUIDA RAPIDA
Via Oberdan, 4, 4808 Faenza (RA) Italy Tel.: ++9-0546-677 Fax: ++9-0546-677577 E-mail: support_ahd@eu.irco.com WAVE MODE MOBILE GUIDA RAPIDA * tasti con doppia funzionalità : dipende dalla modalità di
DettagliEsercizio: memoria virtuale
Siano dati un indirizzo logico con la struttura ed il contenuto mostrati in figura, dove è anche riportata la funzione di rilocazione. Si indichi l indirizzo fisico corrispondente all indirizzo logico
DettagliMANUALE UTENTE PROCEDURA PLANET WEB INTERPRISE (II edizione)
UNIVERSITA DEGLI STUDI DI MACERATA AREA PERSONALE SETTORE P.T.A. Ufficio presenze e affari generali P.T.A. MANUALE UTENTE PROCEDURA PLANET WEB INTERPRISE (II edizione) Ufficio presenze affari generali
DettagliAA 2006-07 LA RICORSIONE
PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella
Dettagli3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura
Dettaglib i 1,1,1 1,1,1 0,1,2 0,3,4
V o Appello // RICERCA OPERATIVA - Corso A (a.a. 9/) Nome Cognome: Corso di Laurea: L C6 LS LM Matricola: ) Si consideri il problema di flusso di costo minimo in figura. Si verifichi se il flusso ammissibile
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliCOMPILAZIONE. Tarsformazione di linguaggi
COMPILAZIONE Tarsformazione di linguaggi Le fasi della compilazione File sorgente Compilazione File sorgente File sorgente File sorgente Compilazione Compilazione Compilazione Libreria di run-time File
DettagliVALORE PIÙ CONVENIENTE DEL RENDIMENTO
VALORE PIÙ CONVENIENTE DEL RENDIENTO In una macchina elettrica ad un rendimento più elevato corrisponde un minor valore delle perdite e quindi un risparmio nelle spese di esercizio (in quanto minori risultano
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
DettagliIntelligenza Artificiale. Lezione 14. Intelligenza Artificiale Daniele Nardi, 2003 Lezione 14 0
Intelligenza Artificiale Lezione 14 Intelligenza Artificiale Daniele Nardi, 2003 Lezione 14 0 Sommario Russell & Norvig Capitolo 4, Paragrafi 3 4 IDA* SMA* Ricerca Hill-climbing Simulated annealing Intelligenza
DettagliRICORSIVITA. Vediamo come si programma la soluzione ricorsiva al problema precedente: Poniamo S 1 =1 S 2 =1+2 S 3 =1+2+3
RICORSIVITA 1. Cos è la ricorsività? La ricorsività è un metodo di soluzione dei problemi che consiste nell esprimere la soluzione relativa al caso n in funzione della soluzione relativa al caso n-1. La
DettagliDiversamente dal caso precedente, che si concentrava sullo schema della trave appoggiata, affrontiamo ora il dimensionamento di una trave a sbalzo.
Come nell esercitazione precedente cerchiamo di dimensionare una trave, per la quale sono state scelte 3 soluzioni tipologiche: legno, acciaio e cemento armato. Diversamente dal caso precedente, che si
DettagliTecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy
Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette
DettagliIntroduzione alla tecnica di Programmazione Dinamica
Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/37 Sommario della lezione Introduzione alla tecnica di Programmazione Dinamica Esempio di applicazione n. 1:
Dettaglimin 4x 1 +x 2 +x 3 2x 1 +x 2 +2x 3 = 4 3x 1 +3x 2 +x 3 = 3 x 1 +x 2 3x 3 = 5 Innanzitutto scriviamo il problema in forma standard: x 1 x 2 +3x 3 = 5
IL METODO DEL SIMPLESSO 65 Esercizio 7.4.4 Risolvere utilizzando il metodo del simplesso il seguente problema di PL: min 4 + + + + = 4 + + = + = 5 Innanzitutto scriviamo il problema in forma standard:
DettagliEsercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it
Esercitazioni di Reti Logiche Lezione 1 Rappresentazione dell'informazione Zeynep KIZILTAN zkiziltan@deis.unibo.it Introduzione Zeynep KIZILTAN Si pronuncia Z come la S di Rose altrimenti, si legge come
DettagliRiconoscere e formalizzare le dipendenze funzionali
Riconoscere e formalizzare le dipendenze funzionali Giorgio Ghelli 25 ottobre 2007 1 Riconoscere e formalizzare le dipendenze funzionali Non sempre è facile indiduare le dipendenze funzionali espresse
DettagliInformatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees
Informatica 3 LEZIONE 23: Indicizzazione Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees Informatica 3 Lezione 23 - Modulo 1 Indicizzazione lineare, ISAM e
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliEsercizi Capitolo 6 - Alberi binari di ricerca
Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliFondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)
Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni
DettagliEsercizio. Fabrizio Dolcini (http://staff.polito.it/fabrizio.dolcini/) Dipartimento di Fisica del Politecnico di Torino - Esercitazioni di Fisica I
1 Esercizio Un automobile sfreccia alla velocità costante v A = 180 Km/h lungo una strada, passando per un punto di appostamento di una volante della polizia stradale. La volante, dopo un tempo tecnico
DettagliPlanning as Model Checking Presentazione della Tesina di Intelligenza Artificiale
Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale di Francesco Maria Milizia francescomilizia@libero.it Model Checking vuol dire cercare di stabilire se una formula è vera
DettagliFare matematica nelle prime due classi di scuola primaria IL NUMERO. Monica Falleri, Rossana Nencini, 2007
Fare matematica nelle prime due classi di scuola primaria IL NUMERO Monica Falleri, Rossana Nencini, 2007 ATTIVITA MOTORIA E RITMICA In continuità con la scuola dell infanzia Proponiamo esperienze che
DettagliLezione 12 Argomenti
Lezione 12 Argomenti Costi di produzione: differenza tra costo economico e costo contabile I costi nel breve periodo Relazione di breve periodo tra funzione di produzione, produttività del lavoro e costi
Dettagli4.1 Modelli di calcolo analisi asintotica e ricorrenze
4 Esercizi Prima Parte 4.1 Modelli di calcolo analisi asintotica e ricorrenze Esercizio 4 1 Rispondere alle seguenti domande: 1. Come misuriamo l efficienza di un algoritmo?. Quali sono gli algoritmi più
DettagliOFFERTA DI LAVORO. p * C = M + w * L
1 OFFERTA DI LAVORO Supponiamo che il consumatore abbia inizialmente un reddito monetario M, sia che lavori o no: potrebbe trattarsi di un reddito da investimenti, di donazioni familiari, o altro. Definiamo
DettagliGrafici e Pagina web
Grafici e Pagina web Grafici Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro. Quando si crea un grafico ogni riga
DettagliPIANO DI LAVORO. a.s. 2015 / 2016
PIANO DI LAVORO a.s. 2015 / 2016 Materia: INFORMATICA Classe: terza informatica- sez. A Data di presentazione: 15/10/2015 DOCENTI FIRMA Cerri Marta Bergamasco Alessandra Posta elettronica: itisleon@tin.it
DettagliGli asintoti di una funzione sono rette, quindi possono essere: rette verticali o rette orizzontali o rette oblique.
Asintoti Gli asintoti di una funzione sono rette, quindi possono essere: rette verticali o rette orizzontali o rette oblique. Asintoti verticali Sia 0 punto di accumulazione per dom(f). La retta = 0 è
DettagliL algoritmo di ricerca binaria. Daniele Varin LS Ing. Informatica Corso di Informatica teorica Docente: prof. Paolo Sipala
L algoritmo di ricerca binaria Daniele Varin LS Ing. Informatica Corso di Informatica teorica Docente: prof. Paolo Sipala L algoritmo di ricerca binaria (o dicotomica) In informatica,, la ricerca dicotomica
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Introduzione al corso Alberto Montresor Università di Trento This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of
DettagliEsercizi Capitolo 5 - Alberi
Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle
DettagliEsercizi per il corso di Algoritmi, anno accademico 2014/15
1 Esercizi per il corso di Algoritmi, anno accademico 2014/15 Esercizi sulle Notazioni Asintotiche 1. Esercizio: Provare le seguenti relazioni, esibendo opportune costanti c 1,c 2 ed n 0. Si assuma per
DettagliIl file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.
Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti
DettagliUD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita
UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m
DettagliLaboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
e e Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario e ed implementazione in Java Visita di un grafo e e Concetti di base Struttura
DettagliUnità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa
DettagliUniversità degli studi di Foggia SSIS D.M.85 2005 Laboratorio di didattica della matematica finanziaria Classe 17/A
Università degli studi di Foggia SSIS D.M.85 2005 Laboratorio di didattica della matematica finanziaria Classe 17/A Appunti sull utilizzo di Excel per la soluzione di problemi di matematica finanziaria.
Dettaglix 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0.
Problema. Sia W il sottospazio dello spazio vettoriale R 4 dato da tutte le soluzioni dell equazione x + x 2 + x = 0. (a. Sia U R 4 il sottospazio dato da tutte le soluzioni dell equazione Si determini
DettagliLaboratorio di Programmazione Lezione 1. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676
Dettagli16.3.1 Alberi binari di ricerca
442 CAPITOLO 16. STRUTTURE DI DATI DINAMICHE root 7 5 11 2 8 13 10 Figura 16.11 Esempio di albero binario: ogni nodo contiene il dato da immagazzinare e tre puntatori che definiscono le sue relazioni di
DettagliLa Macchina RAM Shepherdson e Sturgis (1963)
La Macchina RAM Shepherdson e Sturgis (963) Nastro di ingresso.......... PROGRAM COUNTER Nastro di uscita PROGRAMMA ACCUMULATORE UNITA' ARITMETICA............... 2 3 4 M E M O R I A Formato delle Istruzioni
DettagliOfferta in concorrenza perfetta: Cap.6
Offerta in concorrenza perfetta: il lato dei costi Cap.6 Curva di offerta Per capire meglio le origini della curva di offerta consideriamo ora una impresa che debba decidere quale livello di produzione
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Soluzione esercizi di approfondimento Stefano Leucci stefano.leucci@univaq.it Una terza variante dell IS InsertionSort3 (A) 1. for k=1 to n-1 do 2. x = A[k+1] 3. j = ricerca_binaria(a[1,k],x)
DettagliSimulazione di guasto
Simulazione di guasto Problemi e applicazioni Algoritmi Seriale Parallelo Deduttivo Concorrente Random Fault Sampling Sommario Problemi e Applicazioni Problema, dati: Un circuito Una sequenza di vettori
DettagliIl programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1
Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria R. Vitolo Dipartimento di Matematica Università di Lecce SaLUG! - Salento Linux User Group Il programma OCTAVE per l
DettagliANALISI DEI DATI PER IL MARKETING 2014
ANALISI DEI DATI PER IL MARKETING 2014 Marco Riani mriani@unipr.it http://www.riani.it LA CLASSIFICAZIONE CAP IX, pp.367-457 Problema generale della scienza (Linneo, ) Analisi discriminante Cluster Analysis
DettagliLavori di Fine Anno 2014 CUBE AUTOTRASPORTI CUBE AZIENDA CUBE TAGLIE & COLORI
Lavori di Fine Anno 2014 CUBE AUTOTRASPORTI CUBE AZIENDA CUBE TAGLIE & COLORI SOMMARIO Introduzione... 3 1. Ditte con esercizio contabile coincidente con l anno solare (01/01/..- 31/12/..)... 4 2. Ditte
DettagliDESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.
DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE. PIANIFICAZIONE La pianificazione è la prima fase. Questa è la più delicata
Dettagli2) Codici univocamente decifrabili e codici a prefisso.
Argomenti della Lezione ) Codici di sorgente 2) Codici univocamente decifrabili e codici a prefisso. 3) Disuguaglianza di Kraft 4) Primo Teorema di Shannon 5) Codifica di Huffman Codifica di sorgente Il
DettagliPolitecnico di Milano. Reti Wireless. Seminari didattici. Dalla teoria alla soluzione. Ilario Filippini
Politecnico di Milano Reti Wireless Seminari didattici Dalla teoria alla soluzione Ilario Filippini 2 Approccio euristico 3 Obiettivo dell approccio euristico 4 Tipi di euristiche Dalla teoria alla soluzione
DettagliElementi di Informatica
Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi
DettagliAlgoritmi. a.a. 2013/14 Classe 2: matricole dispari
Algoritmi a.a. 2013/14 Classe 2: matricole dispari Marcella Anselmo Presentazioni Info: http://www.di.unisa.it/professori/anselmo/ Orario ricevimento: Lunedì 15-17 Giovedì 12-13 Il mio studio è il n 57
DettagliMatematica con il foglio di calcolo
Matematica con il foglio di calcolo Sottotitolo: Classe: V primaria Argomento: Numeri e operazioni Autore: Guido Gottardi, Alberto Battaini Introduzione: l uso del foglio di calcolo offre l opportunità
DettagliEsercitazioni di contabilità
Esercitazioni di contabilità esercitazione n. 1 28-04-2016 Capitoli 1-4 libro Marchi Dipartimento di Economia e Management Corso di Economia Aziendale L-Z A.A. 2015-16 1 Le quattro operazioni fondamentali
DettagliAE RZT QSO RKPT SQZC
Laboratorio di Informatica Lezione 1: Introduzione al corso Prof. Riccardo Cassinis Dott. Marzia Tassi Siete seduti nel posto giusto? AE RZT QSO RKPT SQZC PRFGE BERTSZ KDTVSU ZQRPDE 2 1 Prima di cominciare,
DettagliPIANO DI LAVORO DEI DOCENTI
Pag. 1 di 6 Docente: Materia insegnamento: SISTEMI ELETTRONICI AUTOMATICI Dipartimento: ELETTRONICA Classe Anno scolastico: 1 Livello di partenza (test di ingresso, livelli rilevati) Sono richieste conoscenze
Dettagli1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata
Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani
Dettagli