Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati
|
|
- Silvio Rostagno
- 8 anni fa
- Visualizzazioni
Transcript
1 Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Strategie per la progettazione di algoritmi: semplificazione e trasformazione algebrica, tecniche di Montecarlo Horner's rule simulated annealing Copyright by Claudio Salati. Lez SEMPLIFICAZIONE ALGEBRICA Strategia: una formula di calcolo e' espressa in forma diversa per ridurre (minimizzare) il numero di operazioni necessarie per calcolarla Esempio: Vogliamo calcolare la somma dei primi n numeri naturali N maggiori di 0: k k Ma noi sappiamo che: = 1 N k 1 = k = N ( + ) Quindi, anziche utilizzare per il calcolo n-1 somme (un algoritmo O(n)), possiamo utilizzare solo 1 somma, 1 prodotto e 1 divisione (un algoritmo O(1)) N
2 Semplificazione algebrica Esempio: calcolo di un polinomio Abbiamo un polinomio P(x) di grado n rappresentato come vettore dei suoi coefficienti. (compresi quelli di valore 0.0!) Vogliamo valutarlo in un punto x La prima e piu ovvia maniera di scrivere il polinomio e' la seguente: P(x) = p n * x n + p n-1 * x n-1 + +p 1 * x + p 0 Questa formula puo' ovviamente essere immediatamente utilizzata per realizzare la funzione desiderata. 3 Calcolo di un polinomio: algoritmo base float evalp(int n, float P[], float x) { // n e' il grado del polinomio P(x) float y = P[0]; for (int i = 1; i <= n; i += 1) y = y + P[i] * pow(x, i); // end for return (y); questa procedura si basa sull'utilizzo della funzione della libreria standard C #include <math.h> float pow(float x, float y); che ritorna il valore x y 4 2
3 Calcolo di un polinomio: regola di Horner Il polinomio P(x) puo' pero' anche essere scritto come: P(x) = ( (p n * x + p n-1 ) * x + p n-2 ) * x + +p 1 ) * x + p 0 secondo la regola di Horner. A partire da questa riscrittura possiamo scrivere una nuova funzione per il calcolo di P(x): float hornerp(int n, float P[], float x) { // n e' il grado del polinomio P(x) float y = P[n]; for (int i = n-1; i >= 0; i -= 1) y = y * x + P[i]; // end for return (y); 5 Confronto tra evalp() e hornerp() Le due funzioni hanno lo stesso ordine di complessita' ma solo a condizione che il calcolo di pow(x, i) avvenga in tempo costante! In ogni caso il calcolo di una potenza e' ovviamente molto piu' complesso del calcolo di un semplice prodotto l'algoritmo evalp() richiede comunque anche il calcolo di un prodotto (un prodotto e una potenza contro un prodotto e basta) N.B.: in effetti, nel calcolo secondo la regola di Horner, sarebbe stato piu conveniente memorizzare i coefficienti nel vettore in ordine di potenza decrescente (most significant digit first, o big endian, che e anche l ordine di scrittura fisiologico), a differenza di quello che si e fatto nell altro caso N.B.: un numero in notazione posizionale puo essere visto come un polinomio valutato nella sua base, ma in questo caso le potenze 6 sono decrescenti da sinistra a destra (la notazione e big endian)! 3
4 La funzione atoi() della libreria standard C Esercizio: la funzione della libreria standard (modulo stdlib) int atoi(const char *s); che converte in un intero la stringa numerica s (che noi assumiamo non negativa), puo' essere realizzata efficientemente utilizzando la Horner's rule: la stringa s viene scandita una sola volta da sinistra (inizio, digit piu' pesante) a destra (fine, digit piu' leggero). si considera sostanzialmente che la stringa rappresenti un polinomio P(x) di grado strlen(s)-1, in cui il k-esimo carattere della stringa (k numerato a partire da 0) rappresenti il coefficiente del termine di grado strlen(s)-1-k e con x==10 Notare che la lunghezza di s non e' nota (a priori), e non puo' essere calcolata da atoi() tramite strlen(), perche' cio' vorrebbe dire scandire tutta s. Scrivere in C la funzione atoi(). 7 Prologo, da A. Natali: "Come esempio di linguaggio, consideriamo la notazione posizionale dei numeri interi, che siamo cosi' abituati ad usare da confonderla spesso con il concetto di numero. Se scriviamo la seguente configurazione di segni: 135 la maggior parte delle persone la leggera' pronunciando la parola centotrentacinque, modo sintetico per esprimere il significato inteso, cioe' il numero uno*cento+tre*dieci+cinque*uno. Un numero costituisce pero' una astrazione che non va assolutamente confusa con la notazione che si usa per esprimerla. Ed infatti vi sono molteplici modi per denotare lo stesso numero." Cosi' come ci sono diversi modi di leggere la stringa 135 (pur sempre vista come stringa in notazione posizionale in base 10) per arrivare ad assegnarle il significato centotrentacinque. 8 4
5 distinzione tra astrazione numero (di seguito espressa, come nelle righe precedenti, scrivendo il numero in linguaggio naturale) e notazione utilizzata per rappresentarlo ci si limita a considerare la notazione posizionale base B B simboli diversi nell'alfabeto B = otto, A = {0, 1, 2, 3, 4, 5, 6, 7 B = sedici, A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f B = due, A = {0, 1 o anche {-, = tredici, 13 8 = undici, = diciannove, 13 2 = errore = undici, - = undici la frase a n a n-1... a 1 a 0 ha il seguente significato a n * B n + a n-1 * B n a 1 * B 1 + a 0 * B 0 a k e' una cifra B-esimale da zero a B-1 il linguaggio dei numeri naturali espressi in notazione posizionale in base B coincide con A+ 9 lo stesso linguaggio puo' essere descritto in forma costruttiva tramite una sua grammatica. esempio, per B = due grammatica 1 (regolare) VT = {0, 1 VN = {N S = N P = { N ::= N 0 N grammatica 2 (context-free) VT = {0, 1 VN = {N, C S = N P = { N ::= N C C C ::=
6 l'albero di derivazione di una espressione ci fornisce informazioni addizionali sulla struttura reale dell'espressione (e.g. quali operatori sono operandi-sottoespressioni di quali altri operatori) l'albero di derivazione di una frase del nostro linguaggio ci puo aiutare a interpretare la frase (ad assegnarle il significato) N / \ N C / \ N C 1 / \ N C 1 C in maniera alternativa all'interpretazione basata sulla notazione posizionale che leggerebbe la frase come uno*due tre + zero*due due + uno*due uno + uno*due zero = undici qui si vuole definire una diversa regola di lettura semantica basata sulla struttura sintattica della frase un numero N e' composto da una parte N e da una parte C, e cosi' ricorsivamente N = 1011 N = N 0 (=101) C(1) N = N 0 (=N 1 (=10) C(1)) C(1)... A. Natali: "Per stabilire il significato delle frasi di L(G), occorre fissare una corrispondenza tra ciascuna frase e uno specifico dominio di interpretazione, che in questo caso e' evidentemente il dominio NAT dei numeri naturali" 12 6
7 A. Natali: Seguendo un approccio di tipo denotazionale, il significato delle frasi di L(G) puo' essere stabilito introducendo opportune funzioni di interpretazione per stabilire la corrispondenza tra ogni categoria sintattica (simbolo non terminale) e i numeri naturali" Cioe tra ogni produzione di ogni simbolo non terminale e i numeri naturali: cio' porta ad assegnare anche un significato ai simboli terminali L(G) semantica denotazionale NAT C2NAT: C NAT C2NAT( 0 ) = zero C2NAT( 1 ) = uno N2NAT: N NAT N2NAT( C ) = C2NAT( C ) N2NAT( N C ) = due * N2NAT( N ) + C2NAT( C ) in grassetto sono indicati gli elementi del dominio di interpretazione, valori (zero, uno, due) e funzioni semantiche (* e +) 13 A. Natali: Se la frase generata da N e' derivabile con la produzione N ::= C, il suo significato e' ricondotto alla funzione C2NAT. Se la frase generata da N e' derivabile con la produzione N ::= N C, il significato e' ricondotto alla struttura della frase moltiplicando per due il significato denotato dalla parte N e sommando il valore (significato) della parte C." N2NAT(1011) = N2NAT(101) * due + C2NAT(1) = (N2NAT(10) * due + C2NAT(1)) * due + uno = ((N2NAT(1) * due + C2NAT(0)) * due + uno) * due + uno = ((C2NAT(1) * due + zero) * due + uno) * due + uno = ((uno * due + zero) * due + uno) * due + uno = (due * due + uno) * due + uno = cinque * due + uno = undici 14 7
8 Semantica di un linguaggio: descrizione formale non solo la sintassi di un linguaggio di programmazione puo' essere specificata in modo formale, ma anche la sua semantica tre metodi per specificare in modo formale la semantica di un linguaggio semantica interpretativa si da' un interprete modello (il metodo del metro campione dell'istituto Galileo Ferraris) semantica denotazionale si associa una funzione di interpretazione ad ogni simbolo non terminale della grammatica semantica assiomatica 15 Semantica delle espressioni grammatica per espressioni aritmetiche su numeri interi E ::= E + T T T ::= T * F F F ::= ( E ) N in grassetto sono segnati i simboli terminali questa grammatica si collega a quella che descrive il linguaggio dei numeri naturali (simbolo non terminale N) il dominio di interpretazione dei numeri naturali (in realta' interi) e' ovviamente anche il dominio di interpretazione per le espressioni aritmetiche qui considerate E2NAT( E + T ) = E2NAT( E ) + T2NAT( T ) E2NAT( T ) = T2NAT( T ) T2NAT( T * F ) = T2NAT( T ) * F2NAT( F ) T2NAT( F ) = F2NAT( F ) F2NAT( ( E ) ) = E2NAT( E ) F2NAT( N ) = N2NAT( N ) 16 8
9 TRASFORMAZIONE ALGEBRICA Strategia: per risolvere un problema A lo si trasforma in un problema correlato B, si risolve B, e si opera la trasformazione inversa del risultato Tutto dipende ovviamente dal costo relativo delle trasformazioni diretta e inversa, e dal costo del calcolo della soluzione per il problema trasformato B Esempio banale: OPERAZIONI ARITMETICHE SU STRINGHE DI DIGIT CHE RAPPRESENTANO NUMERI INTERI O REALI ATTRAVERSO LA TRASFORMAZIONE IN RAPPRESENTAZIONE BINARIA O FLOATING-POINT Esempio complesso (e importantissimo): TRASFORMATA DI FOURIER 17 TECNICHE DI MONTECARLO Strategia: basate sulla generazione a l utilizzo di numeri random, possibilmente con diverse distribuzioni. Utilizzate per simulazioni Utilizzate anche per altri tipi di problemi (e.g. ottimizzazione) Esempio: calcolare la media di n numeri, con n molto grande L algoritmo ovvio e O(n), perche devo considerare tutti i numeri della sequenza Ma il problema si puo risolvere in tempo O(1)! Scelgo m << n (m fisso, indipendente da n) numeri a caso nella sequenza, e faccio la loro media Ovviamente ho solo una stima approssimata, ma questa stima quanto e vicina al valore medio vero? La media aritmetica MA su m valori e una stima corretta (media delle MA = valore medio) consistente (lim (MA) = valore medio) m n efficiente (converge in fretta) 18 9
10 Montecarlo, esempio: Simulated Annealing CONSIDERIAMO DI DOVERE POSIZIONARE DEI CHIP SU UNA SCHEDA O DELLE MACROFUNZIONI IN UN CHIP I SOTTOCIRCUITI DEBBONO ESSERE CONNESSI TRA LORO IN MODO NOTO, E LA DISTANZA RECIPROCA E' CONDIZIONATA DAL NUMERO DI INTERCONNESSIONI RECIPROCHE IL POSIZIONAMENTO DEVE TENERE CONTO DI VINCOLI QUALI VELOCITA' AREA PER DRIVER DELLE LINEE OCCUPAZIONE DI AREA DELLE CONNESSIONI IL NUMERO DI INCROCI DEVE ESSERE MINIMIZZATO 19 Montecarlo, esempio: Simulated Annealing Si deve minimizzare una funzione costo definita su un dominio multidimensionale (posizione di tutti i sottocircuiti) Il problema e oggi intrattabile, e con le euristiche note risulta facile farsi intrappolare in minimi locali (e ovvio che cio accada utilizzando una strategia greedy!) La soluzione e': simulated annealing ( o cristallizzazione simulata) (to anneal = to heat and then slowly cool (metal, glass, etc.) in order to make it stronger [Merriam-Webster] in italiano, temprare) Come e che in natura si formano anche (mono-)cristalli e non solo solidi amorfi e poli-cristalli? 20 10
11 Montecarlo: Simulated Annealing.1 stato simulatedannealing(stato x, float temp) { // x : configurazione considerata nel dominio // degli stati possibili // temp : temperatura simulata del processo // y : configurazione verso la quale si // ipotizza di muoversi stato y; while (!acceptable(x)) { while (stabile(temp)) { y = nuovostato(x, temp); if (siaccetta(costo(y), costo(x), temp)) x = y; // end if temp = decrementa(temp); return (x); 21 Montecarlo: Simulated Annealing.2 int siaccetta(float oldcost, float newcost, float temp) { float delta = newcost - oldcost; if (delta<0.0) return (1); //1==true else { float probabilita = exp(-delta/temp); return ((float)rand()/(float)rand_max) < probabilita)); una nuova configurazione e sempre accettabile se il suo costo e minore di quello della configurazione precedente una nuova configurazione puo essere accettata anche se il suo costo e maggiore o uguale del costo della configurazione precedente: ma cio e tanto meno probabile quanto piu la temperatura si avvicina allo 0 cio consente, all inizio del processo di cristallizzazione, di allontanarsi da minimi locali 22 11
12 Simulated Annealing: raffreddamento e convergenza IL CRITERIO DI RAFFREDDAMENTO E' REALIZZATO DALLE PROCEDURE stabile() E decrementa(): stabile() DETERMINA LA FREQUENZA DI RAFFREDDAMENTO decrementa() STABILISCE DI QUANTO SI ABBASSA LA TEMPERATURA PIU' SI MANTIENE ELEVATA temp E PIU' SI DA' SPAZIO AL SISTEMA PER RAGGIUNGERE LA CONFIGURAZIONE PIU' PROBABILE, CHE E' QUELLA CON costo() MINIMO PER NUMERO DI PASSI INFINITO LA PROBABILITA' DI COVERGERE ALLA CONFIGURAZIONE DI COSTO MINIMO E' COMUNQUE 1 23 Simulated Annealing: raffreddamento e convergenza PIU' ALTA E' LA TEMPERATURA INIZIALE E PIU' IN FRETTA SI RAGGIUNGE LA CONDIZIONE PIU' PROBABILE PER GARANTIRE LA CONVERGENZA IN UN NUMERO FINITO DI PASSI LA POLITICA DI stabile() / decrementa() DEVE ESSERE OPPORTUNA, CIOE' IL RAFFREDDAMNETO NON DEVE ESSERE TROPPO RAPIDO SE SI FA UNA SOLA MOSSA AD OGNI LIVELLO DI TEMPERATURA (temp E' decrementa()-to IN CONTINUAZIONE) ALLORA decrementa() DEVE FARE DIMINUIRE temp DI POCO 24 12
4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0
Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice
DettagliSiamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.
DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti
DettagliSemantica operazionale dei linguaggi di Programmazione
Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.
DettagliCOS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle
DettagliCorso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile
Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione
DettagliInformazione analogica e digitale
L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica
DettagliMatematica generale CTF
Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione
DettagliParte 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
DettagliLINGUAGGI 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
DettagliElementi 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
DettagliInformatica. 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
Dettaglila scienza della rappresentazione e della elaborazione dell informazione
Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione
DettagliAritmetica dei Calcolatori 1
Architettura degli Elaboratori e Laboratorio 1 Marzo 2013 1 Sistema di numerazione sistema posizionale 2 rappresentazione binaria cambio di base basi potenze di 2 3 Rappresentazione binaria con segno Sistema
Dettaglirisulta (x) = 1 se x < 0.
Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente
Dettagli(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896
2 Esercizio 2.2 La rappresentazione esadecimale prevede 16 configurazioni corrispondenti a 4 bit. Il contenuto di una parola di 16 bit può essere rappresentato direttamente con 4 digit esadecimali, sostituendo
DettagliElementi di Informatica e Programmazione
Elementi di Informatica e Programmazione La Codifica dell informazione (parte 1) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente:
DettagliCodifica binaria dei numeri relativi
Codifica binaria dei numeri relativi Introduzione All interno di un calcolatore, è possibile utilizzare solo 0 e 1 per codificare qualsiasi informazione. Nel caso dei numeri, non solo il modulo ma anche
DettagliSISTEMI DI NUMERAZIONE E CODICI
SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema
DettagliVariabili e tipi di dato
Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per
DettagliComplemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno
Rappresentazione di numeri Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Un numero e un entità teorica,
Dettagliu 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k
Capitolo 4 Serie numeriche 4. Serie convergenti, divergenti, indeterminate Data una successione di numeri reali si chiama serie ad essa relativa il simbolo u +... + u +... u, u 2,..., u,..., (4.) oppure
Dettagli1 Principali funzioni e loro domini
Principali funzioni e loro domini Tipo di funzione Rappresentazione Dominio Polinomio intero p() = a n + + a n R p() Polinomio fratto q() 6= q() 2n Radici pari p f() f() 2n+ Radici dispari p f() R Moduli
DettagliCONCETTO DI LIMITE DI UNA FUNZIONE REALE
CONCETTO DI LIMITE DI UNA FUNZIONE REALE Il limite di una funzione è uno dei concetti fondamentali dell'analisi matematica. Tramite questo concetto viene formalizzata la nozione di funzione continua e
DettagliLa distribuzione Normale. La distribuzione Normale
La Distribuzione Normale o Gaussiana è la distribuzione più importante ed utilizzata in tutta la statistica La curva delle frequenze della distribuzione Normale ha una forma caratteristica, simile ad una
Dettaglila scienza della rappresentazione e della elaborazione dell informazione
Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione
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
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
DettagliAppunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio
Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento
DettagliInterpolazione ed approssimazione di funzioni
Interpolazione ed approssimazione di funzioni Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 9 novembre 2007 Outline 1 Polinomi Valutazione di un polinomio Algoritmo di Horner
Dettagli1 Serie di Taylor di una funzione
Analisi Matematica 2 CORSO DI STUDI IN SMID CORSO DI ANALISI MATEMATICA 2 CAPITOLO 7 SERIE E POLINOMI DI TAYLOR Serie di Taylor di una funzione. Definizione di serie di Taylor Sia f(x) una funzione definita
DettagliPer lo svolgimento del corso risulta particolarmente utile considerare l insieme
1. L insieme R. Per lo svolgimento del corso risulta particolarmente utile considerare l insieme R = R {, + }, detto anche retta reale estesa, che si ottiene aggiungendo all insieme dei numeri reali R
DettagliESEMPIO 1: eseguire il complemento a 10 di 765
COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento
DettagliPROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE
Matematica e statistica: dai dati ai modelli alle scelte www.dima.unige/pls_statistica Responsabili scientifici M.P. Rogantin e E. Sasso (Dipartimento di Matematica Università di Genova) PROBABILITÀ -
DettagliAPPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI
APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................
DettagliRAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997
1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:
DettagliObiettivi 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.
Dettagli13. Campi vettoriali
13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello
DettagliProf. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:
LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto
DettagliSistemi 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
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica
DettagliRappresentazione delle informazioni
Rappresentazione delle informazioni Abbiamo informazioni (numeri, caratteri, immagini, suoni, video... ) che vogliamo rappresentare (e poter elaborare) in un calcolatore. Per motivi tecnologici un calcolatore
DettagliCome ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Problema Strategia
DettagliAutomazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it
Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
DettagliDall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
DettagliLogica e codifica binaria dell informazione
Politecnico di Milano Corsi di Laurea in Ingegneria Matematica e Ingegneria Fisica Dipartimento di Elettronica ed Informazione Logica e codifica binaria dell informazione Anno Accademico 2002 2003 L. Muttoni
DettagliINTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI
INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.
Dettagli1 Giochi a due, con informazione perfetta e somma zero
1 Giochi a due, con informazione perfetta e somma zero Nel gioco del Nim, se semplificato all estremo, ci sono due giocatori I, II e una pila di 6 pedine identiche In ogni turno di gioco I rimuove una
DettagliPolitecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria).
Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria). Aprile 20 Indice Serie numeriche. Serie convergenti, divergenti, indeterminate.....................
DettagliLa selezione binaria
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per
DettagliCodici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.
Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. A partire da questa lezione, ci occuperemo di come si riescono a codificare con sequenze binarie, quindi con sequenze di 0 e 1,
DettagliOttimizzazione delle interrogazioni (parte I)
Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di
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)
DettagliGli 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
DettagliIntelligenza Artificiale
Intelligenza Artificiale Esercizi e Domande di Esame Tecniche di Ricerca e Pianificazione Esercizi Griglia Si consideri un ambiente costituito da una griglia n n in cui si muove un agente che può spostarsi
DettagliElementi di semantica denotazionale ed operazionale
Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato
Dettaglivoid funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }
FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo
DettagliI sistemi di numerazione
I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono
DettagliSistemi 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
DettagliVC-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
DettagliDimensione 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
DettagliModelli di Programmazione Lineare e Programmazione Lineare Intera
Modelli di Programmazione Lineare e Programmazione Lineare Intera 1 Azienda Dolciaria Un azienda di cioccolatini deve pianificare la produzione per i prossimi m mesi. In ogni mese l azienda ha a disposizione
DettagliIntroduzione 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
DettagliLe funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1
Le funzioni continue A. Pisani Liceo Classico Dante Alighieri A.S. -3 A. Pisani, appunti di Matematica 1 Nota bene Questi appunti sono da intendere come guida allo studio e come riassunto di quanto illustrato
DettagliAppunti 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
Dettagli1. Limite finito di una funzione in un punto
. Limite finito di una funzione in un punto Consideriamo la funzione: f ( ) = il cui dominio risulta essere R {}, e quindi il valore di f ( ) non è calcolabile in =. Quest affermazione tuttavia non esaurisce
DettagliConvertitori numerici in Excel
ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel
DettagliLE SUCCESSIONI 1. COS E UNA SUCCESSIONE
LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe
DettagliCapitolo 2. Operazione di limite
Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A
Dettagli( x) ( x) 0. Equazioni irrazionali
Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza
DettagliPsicometria (8 CFU) Corso di Laurea triennale STANDARDIZZAZIONE
Psicometria (8 CFU) Corso di Laurea triennale Un punteggio all interno di una distribuzione è in realtà privo di significato se preso da solo. Sapere che un soggetto ha ottenuto un punteggio x=52 in una
DettagliPROGETTO EM.MA PRESIDIO
PROGETTO EM.MA PRESIDIO di PIACENZA Bentornati Il quadro di riferimento di matematica : INVALSI e TIMSS A CONFRONTO LE PROVE INVALSI Quadro di riferimento per la valutazione Quadro di riferimento per i
DettagliI PROBLEMI ALGEBRICI
I PROBLEMI ALGEBRICI La risoluzione di problemi è una delle attività fondamentali della matematica. Una grande quantità di problemi è risolubile mediante un modello algebrico costituito da equazioni e
DettagliMisure finanziarie del rendimento: il Van
Misure finanziarie del rendimento: il Van 6.XI.2013 Il valore attuale netto Il valore attuale netto di un progetto si calcola per mezzo di un modello finanziario basato su stime circa i ricavi i costi
DettagliElementi di semantica operazionale
Elementi di semantica operazionale 1 Contenuti sintassi astratta e domini sintattici un frammento di linguaggio imperativo semantica operazionale domini semantici: valori e stato relazioni di transizione
DettagliEsempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione
Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione Fondamenti di Informatica Michele Ceccarelli Università del Sannio ceccarelli@unisannio.it Angelo Ciaramella DMI-Università degli
DettagliCAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI
CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI Abbiamo studiato successioni e serie numeriche, ora vogliamo studiare successioni e serie di funzioni. Dato un insieme A R, chiamiamo successione di funzioni
DettagliCome visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)
Transitori Analisi nel dominio del tempo Ricordiamo che si definisce transitorio il periodo di tempo che intercorre nel passaggio, di un sistema, da uno stato energetico ad un altro, non è comunque sempre
Dettagli11010010 = 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210
Il sistema BINARIO e quello ESADECIMALE. Il sistema di numerazione binario è particolarmente legato ai calcolatori in quanto essi possono riconoscere solo segnali aventi due valori: uno alto e uno basso;
DettagliRappresentazione 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
DettagliLezione 10: Il problema del consumatore: Preferenze e scelta ottimale
Corso di Scienza Economica (Economia Politica) prof. G. Di Bartolomeo Lezione 10: Il problema del consumatore: Preferenze e scelta ottimale Facoltà di Scienze della Comunicazione Università di Teramo Scelta
DettagliMisure finanziarie del rendimento: il Van
Misure finanziarie del rendimento: il Van 12.XI.2014 Il valore attuale netto Il valore attuale netto di un progetto si calcola l per mezzo di un modello finanziario basato su stime circa i ricavi i costi
DettagliLinguaggi e Paradigmi di Programmazione
Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliCos è un Calcolatore?
Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per
DettagliLEZIONE 7. Esercizio 7.1. Quale delle seguenti funzioni è decrescente in ( 3, 0) e ha derivata prima in 3 che vale 0? x 3 3 + x2. 2, x3 +2x +3.
7 LEZIONE 7 Esercizio 7.1. Quale delle seguenti funzioni è decrescente in ( 3, 0) e ha derivata prima in 3 che vale 0? x 3 3 + x2 2 6x, x3 +2x 2 6x, 3x + x2 2, x3 +2x +3. Le derivate sono rispettivamente,
DettagliLA CORRELAZIONE LINEARE
LA CORRELAZIONE LINEARE La correlazione indica la tendenza che hanno due variabili (X e Y) a variare insieme, ovvero, a covariare. Ad esempio, si può supporre che vi sia una relazione tra l insoddisfazione
Dettagli1. PRIME PROPRIETÀ 2
RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,
DettagliInformatica (Basi di Dati)
Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.
DettagliIntroduzione ai tipi di dato astratti: applicazione alle liste
Universitàdegli Studi di L Aquila Facoltàdi Scienze M.F.N. Corso di Laurea in Informatica Corso di Laboratorio di Algoritmi e Strutture Dati A.A. 2005/2006 Introduzione ai tipi di dato astratti: applicazione
DettagliAlcune nozioni di base di Logica Matematica
Alcune nozioni di base di Logica Matematica Ad uso del corsi di Programmazione I e II Nicola Galesi Dipartimento di Informatica Sapienza Universitá Roma November 1, 2007 Questa é una breve raccolta di
DettagliCalcolatori: Algebra Booleana e Reti Logiche
Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato
DettagliEsercitazione Informatica I AA 2012-2013. Nicola Paoletti
Esercitazione Informatica I AA 2012-2013 Nicola Paoletti 4 Gigno 2013 2 Conversioni Effettuare le seguenti conversioni, tenendo conto del numero di bit con cui si rappresenta il numero da convertire/convertito.
DettagliUn ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti
Un ripasso di aritmetica: Rappresentazione binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti 1 1 0 + 1 0 = 1 0 0 24 Un ripasso di aritmetica: Rappresentazione
Dettagli3 - 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
Dettagli1. LE GRANDEZZE FISICHE
1. LE GRANDEZZE FISICHE La fisica (dal greco physis, natura ) è una scienza che ha come scopo guardare, descrivere e tentare di comprendere il mondo che ci circonda. La fisica si propone di descrivere
DettagliMetodologie di programmazione in Fortran 90
Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di
DettagliAritmetica: operazioni ed espressioni
/ A SCUOLA DI MATEMATICA Lezioni di matematica a cura di Eugenio Amitrano Argomento n. : operazioni ed espressioni Ricostruzione di un abaco dell epoca romana - Museo RGZ di Magonza (Germania) Libero da
DettagliNell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo
Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo - la durata del mutuo in anni - l importo del mutuo
DettagliCorso 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
Dettagli