Algoritmi Genetici. e programmazione genetica
|
|
|
- Giulia Orlandi
- 10 anni fa
- Просмотров:
Транскрипт
1 Algoritmi Genetici e programmazione genetica
2 Algoritmi Genetici Algoritmi motivati dall analogia con l evoluzione biologica Lamarck: le specie trasmutano nel tempo Darwin e Wallace: variazioni consistenti ereditabili si osservano negli individui di una popolazione; selezione naturale dei più sani Mendel e la genetica: esiste un meccanismo per ereditare tratti genetici A partire da un insieme di ipotesi (popolazione), generano successori delle ipotesi producendo perturbazioni su di esse che si spera producano risultati migliori Caratteristiche: Gli AG possono effettuare ricerche nello spazio di ipotesi i cui elemento interagiscono in modo complesso (ovvero laddove è difficile valutare l impatto di un singolo elemento) Gli AG sono ottimizzatori, non sono veri apprendisti Gli AG sono facilmente parallelizzabili (si avvantaggiano del basso costo dell hardware)
3 Algoritmi Genetici Una Funzione Fitness che assegna un valore di benessere a ogni ipotesi h Una Soglia di Fitness che specifica un criterio di terminazione p numero di ipotesi da includere nella popolazione r la frazione della popolazione che deve essere rimpiazzata dall operatore di incrocio (crossover) m il tasso di mutazione
4 Algoritmo Tipo GA(Fitness, Soglia-Fitness, p, r, m) Inizializza: P = insieme di p ipotesi generate a caso o specificate a mano Valuta: per ogni h in P, calcola Fitness(h) While max h Fitness(h) < Soglia-Fitness Seleziona: seleziona (1-r) p membri di P da aggiungere a una nuova generazione P S Crossover: Seleziona r p/2 coppie di ipotesi da P Per ogni coppia (h 1, h 2 ) produci due successori (offspring) applicando l operatore di crossover Muta: Inverti un bit a caso di m% individui di P S scelti a caso Aggiorna: P = P S Valuta: per ogni h in P, calcola Fitness(h) Return argmax h P Fitness(h)
5 Rappresentazione delle Ipotesi (1) La rappresentazione di base in GA è la stringa binaria (cromosoma) La mappatura dipende dal dominio e dal progetto La stringa di bit rappresenta una ipotesi Elementi dell ipotesi (es. clausole di una regola, caratteristiche, ecc.) sono rappresentati ciascuno da una sottostringa che si trova in una posizione specifica (se la stringa ha lunghezza fissa)
6 Rappresentazione delle Ipotesi (2) Esempio 1: rappresentiamo l ipotesi (Outlook = Overcast Rain) (Wind = Strong) con: Outlook Wind Esempio 2: rappresentiamo l ipotesi IF Wind = Strong THEN PlayTennis = yes con: Outlook Wind PlayTennis Esempio 3: rappresentiamo un architettura di rete neurale definita da un grafo codificato mediante una stringa binaria
7 Operatori per gli Algoritmi Genetici Stringhe iniziali Maschera di crossover Successori (offspring) Single-point crossover Two-point crossover Uniform crossover Point mutation Gli operatori di crossover creano dei discendenti di una coppia di ipotesi mescolando le caratteristiche dei due genitori L operatore di mutazione crea un discendente da un ipotesi invertendo un bit scelto a caso Altri operatori specializzati possono essere definiti sulla base del problema specifico
8 Selezione delle ipotesi migliori (fittest hypotheses) La selezione degli (1-r) p membri avviene sulla base della probabilità: Fitness( h = i ) Pr( hi ) p Fitness( h ) j= 1 Può causare crowding (alcuni individui tendono a prendere il sopravvento, riducendo drasticamente la diversità della popolazione) j
9 GABIL (DeJong et al., 1993) Un sistema per apprendere insiemi di regole proposizionali Ogni ipotesi corrisponde a un insieme di regole La rappresentazione a stringhe di ciascuna regole viene concatenata alle altre La lunghezza complessiva della stringa cresce con l aumentare delle regole IF a 1 = T a 2 = F THEN c = T; IF a 2 = T THEN c = F a 1 a 2 c a 1 a 2 c Fitness(h) = correct(h) 2 Correct(h) è il numero di esempi di addestramento correttamente classificati da h Point mutation standard e operatore crossover che preservi la ben formatezza dell ipotesi
10 GABIL: operatore di crossover L operatore di crossover è un estensione del two-point crossover Date due ipotesi h 1 e h 2 si seleziona per h 1 un intervallo di bit (m 1, m 2 ) Si calcola la distanza d 1 (d 2 ) di m 1 (m 2 ) dal confine della regola immediatamente alla sua sinistra Per h 2 si sceglie un intervallo di bit tale che preservi le stesse distanze d 1 e d 2 Esempio: a 1 a 2 c a 1 a 2 c a 1 a 2 c h 1 : 10 [ ] 0 d 1 = 1, d 2 = 3 h 2 : 01 [ 11 ] d 1 = 1, d 2 = 3 ottenendo come offspring: h 3 : h 4 :
11 GABIL: estensioni Aggiungiamo due operatori specializzati da applicare con una certa probabilità: AggiungiAlternativa (AA) Generalizza il vincolo su un attributo cambiando uno 0 in 1 nella sottostringa corrispondente all attributo EliminaCondizione (EC) Generalizzazione ancora più drastica: rimpiazza tutti i bit di un attributo con 1 Possiamo anche aggiungere due bit alla fine di ogni ipotesi, AA e EC, per indicare se su quell individuo si potranno applicare i due operatori oppure no Questi bit possono essere modificati da una generazione all altra come tutti gli altri mediante crossover e mutazione Anche la strategia di apprendimento evolve!
12 Ricerca nello spazio delle ipotesi Gli AG effettuano ricerche randomizzate sullo spazio delle ipotesi Differente rispetto agli altri metodi di apprendimento (es. BackPropagation si muove molto più lentamente da un ipotesi all altra) E meno probabile che gli AG cadano in un minimo locale Il crowding è una difficoltà reale: alcuni individui con buon fitness si riproducono velocemente e copie simili a queste prendono il sopravvento sulla popolazione, riducendone la diversità Soluzione: creare perturbazioni o alterazioni della funzione di selezione Tempi di apprendimento lunghi (necessario hw ad hoc ) Prestazioni paragonabili a C4.5
13 Risolvere il problema del crowding Tournament selection (selezione per torneo): Scegli h 1 e h 2 casualmente con probabilità uniforme Con probabilità p, seleziona l ipotesi migliore delle due (la peggiore con probabilità 1-p) Rank selection (selezione per grado): Ordina tutte le ipotesi per fitness La probabilità di selezione è proporzionale al rank
14 Programmazione Genetica Metodologia di programmazione evolutiva in cui gli individui nella popolazione in evoluzione sono programmi informatici La PG utilizza la stessa struttura algoritmica degli AG I programmi manipolati dalla PG sono rappresentati da alberi che corrispondono agli alberi sintattici (parse tree) dei programmi
15 PG: un esempio Supponiamo che il nostro programma calcoli la funzione: 2 sen ( x) + x + y Il suo albero sintattico è il seguente: Simboli terminali: x, y e costanti (es. 2) Funzioni: sen, +, radice, quadrato
16 Crossover nella PG
17 Passi preparatori per la PG Determinare l insieme dei terminali ammessi Determinare l insieme delle funzioni Determinare la misura di fitness: Il fitness di un singolo programma (individuo) è determinato dall accuratezza del programma eseguito su un insieme di addestramento Determinare i parametri per il run Determinare il criterio per terminare un run
18 Esempio: Il problema dei blocchi (Koza, 1992) Vogliamo sviluppare un algoritmo che prenda in input qualsiasi configurazione iniziale di blocchi distribuiti a caso tra una pila e il tavolo e li inserisca correttamente nella pila nell ordine corretto (per leggere: UNIVERSAL) Azioni permesse: Il blocco in cima alla pila può essere spostato sul tavolo Un blocco sul tavolo può essere spostato in cima alla pila
19 Il problema dei blocchi (Koza, 1992) La scelta della rappresentazione può influenzare la facilità di risolvere il problema Simboli terminali: CS ( current stack ) = denota il blocco in cima alla pila o F se non c è nulla TB ( top correct block ) = nome del blocco in cima alla pila tale che tutti i blocchi sulla pila sono nell ordine corretto NN ( next necessary ) = nome del prossimo blocco richiesto sopra TB sulla pila per poter leggere universal o F se abbiamo finito
20 Il problema dei blocchi (Koza, 1992) Funzioni: (MS x): ( move to stack ), se il blocco x è sul tavolo, sposta x in cima alla pila e restituisce il valore T. Altrimenti non fa niente e restituisce il valore F (MT x): ( move to table ), se il blocco x è da qualche parte nello stack, sposta il blocco che è in cima allo stack sul tavolo e restituisce il valore T. Altrimenti restituisce F. (EQ x y): ( equal ), restituisce T se x è uguale a y e restituisce F altrimenti (NOT x): restituisce T se x = F, altrimenti restituisce F (DU x y): ( do until ) esegue l espressione x ripetutamente finché l espressione y restituisce il valore T
21 Il programma appreso Allenato su 166 configurazioni iniziali di blocchi Il fitness di qualsiasi programma è dato dal numero di esempi risolti dallo stesso Usando una popolazione di 300 programmi, si trova il seguente programma dopo 10 generazioni che risolvono i 166 problemi: (EQ (DU (MT CS)(NOT CS)) (DU (MS NN)(NOT NN)) )
Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo
Evoluzione In ogni popolazione si verificano delle mutazioni. Intelligenza Artificiale In un ambiente che varia, le mutazioni possono generare individui che meglio si adattano alle nuove condizioni. Questi
Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini
Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Dipartimento di Ingegneria della Informazione Via Diotisalvi, 2 56122 PISA ALGORITMI GENETICI (GA) Sono usati per risolvere problemi di ricerca
Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini
Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Dipartimento di Ingegneria della Informazione Via Diotisalvi, 2 56122 PISA ALGORITMI GENETICI (GA) Sono usati per risolvere problemi di ricerca
Intelligenza Artificiale. Introduzione al calcolo evolutivo
Intelligenza Artificiale Introduzione al calcolo evolutivo Marco Piastra Calcolo evolutivo - 1 Calcolo evolutivo ed IA Universe Borg Vogons Earth etc Biotop Society Stones & Seas etc Art Science Politics
Breve introduzione al Calcolo Evoluzionistico
Breve introduzione al Calcolo Evoluzionistico Stefano Cagnoni Dipartimento di Ingegneria dell Informazione, Università di Parma [email protected] 1 Introduzione Il mondo fisico ed i fenomeni naturali
Parte I. Prima Parte
Parte I Prima Parte Capitolo 1 Introduzione generale 1.1 Il problema dell assegnazione Corsi-Borsisti Il problema dell assegnazione delle borse dei corsi ai vari studenti può essere riassunto nei punti
TECNICHE DI SIMULAZIONE
TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione
Ricerca Operativa A.A. 2007/2008
Ricerca Operativa A.A. 2007/2008 9. Cenni su euristiche e metaeuristiche per ottimizzazione combinatoria Motivazioni L applicazione di metodi esatti non è sempre possibile a causa della complessità del
Automazione Industriale (scheduling+mms) scheduling+mms. [email protected]
Automazione Industriale (scheduling+mms) scheduling+mms [email protected] Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
Corso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
Esercizi 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
Riproduzione Crossover Mutazione
Algoritmi Genetici Sono algoritmi di ricerca basati sui principi evolutivi della selezione naturale e della genetica, che implicano la sopravvivenza degli elementi migliori e lo scambio di informazioni
Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort
Due algoritmi di ordinamento basati sulla tecnica Divide et Impera: Mergesort e Quicksort (13 ottobre 2009, 2 novembre 2010) Ordinamento INPUT: un insieme di n oggetti a 1, a 2,, a n presi da un dominio
Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione
Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione presentato in questo file trova la seq. a costo minimo per
Lezione 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
Macchine sequenziali
Corso di Calcolatori Elettronici I A.A. 2010-2011 Macchine sequenziali Lezione 14 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Automa a Stati Finiti (ASF) E una prima astrazione di
10 - Programmare con gli Array
10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
Le Macchine di Turing
Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella
AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio
AXO Architettura dei Calcolatori e Sistema Operativo processo di assemblaggio linguaggio assembly è il linguaggio simbolico che consente di programmare un calcolatore utilizzando le istruzioni del linguaggio
Domande a scelta multipla 1
Domande a scelta multipla Domande a scelta multipla 1 Rispondete alle domande seguenti, scegliendo tra le alternative proposte. Cercate di consultare i suggerimenti solo in caso di difficoltà. Dopo l elenco
Introduzione 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
I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.
UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d
Sono 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
Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006
Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006 Esercizio 1 - Heapsort Si consideri la seguente struttura dati, chiamata heap. Essa è un albero binario semi-completo (ossia un
Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing
Informatica 3 LEZIONE 21: Ricerca su liste e tecniche di hashing Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing Informatica 3 Lezione 21 - Modulo 1 Algoritmi sequenziali e basati su
Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e
Alberi di decisione Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e lanciarlo con i parametri di default.
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: 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
Fogli Elettronici: MS Excel
Fogli Elettronici: MS Excel Informatica - A.A. 2010/2011 - Excel 7.0 Foglio Elettronico Un foglio elettronico (o spreadsheet) è un software applicativo nato dall esigenza di: organizzare insiemi di dati
Algoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
Algoritmi 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
Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015
Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015 Chi deve recuperare il progetto del modulo 1 ha 1 ora e 30 minuti per svolgere gli esercizi 1, 2, 3 Chi deve recuperare
LINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
Più processori uguale più velocità?
Più processori uguale più velocità? e un processore impiega per eseguire un programma un tempo T, un sistema formato da P processori dello stesso tipo esegue lo stesso programma in un tempo TP T / P? In
Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007
Sommario Macchine a stati finiti M. Favalli 5th June 27 4 Sommario () 5th June 27 / 35 () 5th June 27 2 / 35 4 Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:
Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.
Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito
Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico
M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p. 3/43 M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p.
Informatica Generale 02 - Rappresentazione numeri razionali
Informatica Generale 02 - Rappresentazione numeri razionali Cosa vedremo: Rappresentazione binaria dei numeri razionali Rappresentazione in virgola fissa Rappresentazione in virgola mobile La rappresentazione
Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:
Sommario Macchine a stati finiti M. Favalli Engineering Department in Ferrara 4 Sommario (ENDIF) Analisiesintesideicircuitidigitali / 35 (ENDIF) Analisiesintesideicircuitidigitali 2 / 35 4 Le macchine
Fondamenti di Automatica
Fondamenti di Automatica Progetto di controllo e reti correttrici Dott. Ing. Marcello Bonfè Dipartimento di Ingegneria - Università di Ferrara Tel. +39 053 974839 E-mail: [email protected] pag. 1
Rappresentazione dei numeri in un calcolatore
Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri
Parte 1. Vettori di bit - AA. 2012/13 1.1
1.1 Parte 1 Vettori di bit 1.2 Notazione posizionale Ogni cifra assume un significato diverso a seconda della posizione in cui si trova Rappresentazione di un numero su n cifre in base b: Posizioni a n
Linguaggio C - Stringhe
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - Stringhe La presente dispensa e da utilizzarsi ai
Sistemi Operativi. 5 Gestione della memoria
Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria
VC-dimension: Esempio
VC-dimension: Esempio Quale è la VC-dimension di. y b = 0 f() = 1 f() = 1 iperpiano 20? VC-dimension: Esempio Quale è la VC-dimension di? banale. Vediamo cosa succede con 2 punti: 21 VC-dimension: Esempio
Introduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory
FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File
Introduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
Implementazione parallela di algoritmi genetici per la stima di HMM
Università degli Studi di Trieste Implementazione parallela di algoritmi genetici per la stima di HMM Relatore Enzo Mumolo Candidato Nicola Timeus 14 marzo 2014 Motivazioni Pattern recognition mediante
MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c
Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione
STRATEGIA DI TRADING. Turning Points
STRATEGIA DI TRADING Turning Points ANALISI E OBIETTIVI DA RAGGIUNGERE Studiare l andamento dei prezzi dei mercati finanziari con una certa previsione su tendenze future Analisi Tecnica: studio dell andamento
Elementi di informatica
Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni
Dimensione di uno Spazio vettoriale
Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione
Scopo della lezione. Informatica. Informatica - def. 1. Informatica
Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni
Gli algoritmi: definizioni e proprietà
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da
Macchine a Stati finiti
Macchine a Stati finiti Prof. Alberto Borghese Dipartimento di Scienze dell nformazione [email protected] Università degli Studi di Milano Riferimento al Patterson: Sezione B.0 /3 Sommario Macchine
Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri
Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri 1 Da base 2 a base 10 I seguenti esercizi richiedono di convertire in base 10 la medesima stringa binaria codificata rispettivamente
Metodi statistici per l economia (Prof. Capitanio) Slide n. 9. Materiale di supporto per le lezioni. Non sostituisce il libro di testo
Metodi statistici per l economia (Prof. Capitanio) Slide n. 9 Materiale di supporto per le lezioni. Non sostituisce il libro di testo 1 TEST D IPOTESI Partiamo da un esempio presente sul libro di testo.
Programmazione 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)
Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012
Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono
Informatica. Rappresentazione dei numeri Numerazione binaria
Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione
Introduzione all analisi dei segnali digitali.
Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza
Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo
Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito
Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto LEZIONE
GESTIONE DELLA MEMORIA CENTRALE
GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:
GESTIONE INFORMATICA DEI DATI AZIENDALI
GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy [email protected] Rudimenti di programmazione Programming
Il modello generale di commercio internazionale
Capitolo 6 Il modello generale di commercio internazionale [a.a. 2013/14] adattamento italiano di Novella Bottini (ulteriore adattamento di Giovanni Anania) 6-1 Struttura della presentazione Domanda e
METODI per effettuare previsioni con analisi di tipo WHAT-IF
METODI per effettuare previsioni con analisi di tipo WHAT-IF 1. TABELLA DATI Una tabella di dati è un intervallo che mostra come la modifica di alcuni valori nelle formule ne influenza i risultati. Le
uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda
Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo
Il Metodo Branch and Bound
Il Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa [email protected] http://www.di.unipi.it/~galli 4 Novembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale
Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci
Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme
Utilizzo delle formule in Excel
Utilizzo delle formule in Excel Excel è dotato di un potente motore di calcolo che può essere utilizzato per elaborare i dati immessi dagli utenti. I calcoli sono definiti mediante formule. Ogni formula
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
Inizializzazione degli Host. BOOTP e DHCP
BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta [email protected] http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un
Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno
Parte II Indice Operazioni aritmetiche tra valori rappresentati in binario puro somma sottrazione Rappresentazione di numeri con segno modulo e segno complemento a 2 esercizi Operazioni aritmetiche tra
Matematica in laboratorio
Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a
Reti sequenziali sincrone
Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T
CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU
Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi
Rappresentazione grafica di entità e attributi
PROGETTAZIONE CONCETTUALE La progettazione concettuale, ha il compito di costruire e definire una rappresentazione corretta e completa della realtà di interesse, e il prodotto di tale attività, è lo schema
Sistemi di Numerazione
Fondamenti di Informatica per Meccanici Energetici - Biomedici 1 Sistemi di Numerazione Sistemi di Numerazione I sistemi di numerazione sono abitualmente posizionali. Gli elementi costitutivi di un sistema
Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO
Macchine a stati finiti 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Al più alto livello di astrazione il progetto logico impiega un modello, la cosiddetta macchina a stati finiti, per descrivere
Sistemi di Numerazione Binaria NB.1
Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato
Appunti sulla Macchina di Turing. Macchina di Turing
Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso
Capitolo 26. Stabilizzare l economia: il ruolo della banca centrale. Principi di economia (seconda edizione) Robert H. Frank, Ben S.
Capitolo 26 Stabilizzare l economia: il ruolo della banca centrale In questa lezione Banca centrale Europea (BCE) e tassi di interesse: M D e sue determinanti; M S ed equilibrio del mercato monetario;
Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput
Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare
Istruzioni condizionali. Istruzioni condizionali IF-THEN- ELSE IF-THEN-ELSE. Statistica computazionale Carla Rampichini a.a.
Istruzioni condizionali Istruzioni condizionali Statistica computazionale Carla Rampichini a.a. 2008/09 Subsetting I I espressione; I-THEN-ELSE I espress THEN istr; [ELSE istr;] DO WHILE DO UNTIL I-THEN-
Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
Codifica dei numeri negativi
E. Calabrese: Fondamenti di Informatica Rappresentazione numerica-1 Rappresentazione in complemento a 2 Codifica dei numeri negativi Per rappresentare numeri interi negativi si usa la cosiddetta rappresentazione
Statistica. Lezione 6
Università degli Studi del Piemonte Orientale Corso di Laurea in Infermieristica Corso integrato in Scienze della Prevenzione e dei Servizi sanitari Statistica Lezione 6 a.a 011-01 Dott.ssa Daniela Ferrante
Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
