STRUTTURE NON LINEARI
|
|
- Silvestro Martinelli
- 8 anni fa
- Visualizzazioni
Transcript
1 PR1 Lezione 13: STRUTTURE NON LINEARI Michele Nappi Per la realizzazione della presentazione è stato utilizzato in parte materiale didattico prodotto da Oronzo Altamura, Maria Francesca, Costabile e Floriana Esposito, Università degli Studi di Bari.
2 Indice Astrazione e Specifiche Esempi di Specifiche Assiomatiche: Vettori e Liste Generalità su grafi e alberi. Alberi binari: specifiche sintattiche e semantiche. Realizzazioni. Visita di alberi binari. M. Nappi/PR1 2
3 Astrazione Dati e Funzionale L astrazione di dati ricalca ed estende il concetto di astrazione funzionale. Così come l'astrazione funzionale permette di ampliare l'insieme dei modi di operare sui dati, cioè gli operatori sui tipi di dati già disponibili, l astrazione di dati permette di ampliare i tipi di dati disponibili attraverso l'introduzione sia di nuovi tipi di dati che di nuovi operatori. L astrazione funzionale stimola gli sforzi per evidenziare operazioni ricorrenti o ben caratterizzate all interno della soluzione di un problema. L astrazione di dati sollecita ad individuare le organizzazioni dei dati più adatte alla soluzione del problema. M. Nappi/PR1 3
4 Astrazione Dati e Funzionale Un'astrazione di dati consente una estensione dell algebra dei dati disponibile in un linguaggio di programmazione. Cosa e un algebra? È un sistema matematico costituito da un dominio, cioè un insieme di valori e da un insieme di funzioni applicabili su tali valori. Un algebra dei dati può essere definita come costituita da: Una famiglia di insiemi (insieme di dati) Una famiglia di operatori sui dati (operatori) Un repertorio di simboli (o nomi) per indicare l insieme di dati Un repertorio di simboli (o nomi) per indicare gli operatori Un repertorio di simboli (detti costanti) per indicare elementi singoli degli insiemi di dati M. Nappi/PR1 4
5 Astrazione Dati e Funzionale Un astrazione di dati è costituita da una specifica e da una realizzazione: La Specifica ha il compito di descrivere sinteticamente il tipo dei dati e gli operatori che li caratterizzano La Realizzazione stabilisce come i dati e gli operatori vengono ricondotti ai tipi di dati e agli operatori già disponibili M. Nappi/PR1 5
6 Le Specifiche Assiomatiche Specifica Sintattica determina: l ELENCO dei nomi dei domini e delle operazioni i DOMINI di partenza e di arrivo per ogni nome di operatore M. Nappi/PR1 6
7 Le Specifiche Assiomatiche Specifica Semantica assegna: un INSIEME ad ogni nome di tipo introdotto nella Specifica Sintattica una FUNZIONE ad ogni nome di operatore, esplicitando le seguenti condizioni sui domini precondizione, che definisce quando l operatore è applicabile postcondizione, che stabilisce la relazione tra argomenti e risultato M. Nappi/PR1 7
8 Il tipo astratto Vettore: Una Specifica Assiomatica M. Nappi/PR1 8
9 Il tipo astratto Lista Una lista è una sequenza di elementi di un certo tipo, in cui è possibile aggiungere o togliere elementi. Per far questo occorre specificare la posizione relativa all interno della sequenza nella quale il nuovo elemento va aggiunto o nella quale il vecchio elemento va tolto. A differenza del array, che è una struttura a dimensione fissa dove è possibile accedere direttamente ad ogni elemento specificandone l indice, la lista è a dimensione variabile e si può accedere direttamente solo al primo elemento della lista. Per accedere ad un generico elemento, occorre scandire sequenzialmente gli elementi della lista. M. Nappi/PR1 9
10 Il tipo astratto Lista: Una Specifica Assiomatica Specifica sintattica Tipi: lista, tipoelem, booleano Operatori: CREALISTA: ( ) lista LISTAVUOTA: (lista) booleano INSERISCI: (tipoelem, lista) lista CANCELLA: (lista) lista PRIMOLISTA: (lista) tipoel M. Nappi/PR1 10
11 Il tipo astratto Lista: Una Specifica Assiomatica Specifica semantica Tipi: lista = insieme delle sequenze L=a1,a2,,an di tipo tipoelem booleano = insieme dei valori di verità {vero,falso} M. Nappi/PR1 11
12 Il tipo astratto Lista: Una specifica assiomatica Specifica semantica Operatori: CREALISTA()=L Post: L = ^, la sequenza vuota LISTAVUOTA(L)=b Post: b=vero, se L=^; b=falso, altrimenti INSERISCI(el,L)=L Pre: L = a1, a2,, an n>=0 Post: L = el, a1, a2,, an M. Nappi/PR1 12
13 Il tipo astratto Lista: Una specifica assiomatica Specifica semantica Operatori: CANCELLA(L)= L Pre: L = a1, a2,, an n>0 Post: L = a2,, an PRIMOLISTA(L)= el Pre: L = a1, a2,, an n>0 Post: el = a1 M. Nappi/PR1 13
14 Il tipo astratto Lista: Realizzazione // prototipi lista crealista(void); typedef struct nodo *lista; typedef struct nodo { tipoelem val; lista next; } nodo; int listavuota(lista L); lista cancella (lista L); lista inserisci(tipoelem val, lista L); tipoelem primolista (lista L); M. Nappi/PR1 14
15 I Grafi Una relazione tra due insiemi U e V è un sottoinsieme A di UxV La descrizione di A in forma diagrammatica si ottiene congiungendo elementi di U con elementi di V. La rappresentazione che si ottiene e detta grafo (bipartito). M. Nappi/PR1 15
16 I Grafi U V A UxU. In tal caso gli elementi di u vengono scritti una sola volta e viene segnata una freccia sulla congiunzione da ui a uj per quelle coppie <ui,uj > A. Si parla in questo caso di grafo orientato. Gli elementi u U sono detti nodi o vertici del grafo orientato. La linea di congiunzione è detta arco. Se <ui,uj > sono congiunti tanto attraverso l arco (i,j) quanto attraverso l arco (j,i) si potrà utilizzare una unica connessione senza freccia: l arco incide sui due nodi e si parla di grafo non orientato. M. Nappi/PR1 16
17 I Grafi Un grafo orientato G è una coppia <N,A> dove N è un insieme finito non vuoto (insieme di nodi) e A NxN è un insieme finito di coppie ordinate di nodi, detti archi (o spigoli o linee). Se < ui, uj > A nel grafo vi è un arco da ui ad uj Nell esempio N= {u1,u2,u3}, A= {(u1,u1),(u1,u2),(u2,u1),(u1,u3)}. M. Nappi/PR1 17
18 I Grafi In un grafo orientato G un cammino è una sequenza di nodi u0, u1,.., uk tali che (ui, ui+1) A, per i = 0, 1, 2,, k-1. Il cammino parte dal nodo u0, attraversa i nodi u1,, uk-1, arriva al nodo uk, ed ha lunghezza uguale a k. Se non ci sono nodi ripetuti il cammino è semplice (ui u j per 0 j k ) Se u0=uk il cammino è chiuso. Un cammino sia semplice che chiuso è un ciclo. Un grafo è detto completo se per ogni coppia di nodi ui, uj N esiste un arco che va da ui ad uj (A = NxN) M. Nappi/PR1 18
19 I Grafi M. Nappi/PR1 19
20 Gli Alberi Il GRAFO è una struttura dati alla quale si possono ricondurre strutture più semplici: LISTE ed ALBERI L ALBERO è una struttura informativa per rappresentare: partizioni successive di un insieme in sottoinsiemi disgiunti organizzazioni gerarchiche di dati procedimenti decisionali enumerativi M. Nappi/PR1 20
21 Gli Alberi M. Nappi/PR1 21
22 Gli Alberi M. Nappi/PR1 22
23 Gli Alberi M. Nappi/PR1 23
24 Gli Alberi Proprietà Un albero e un grafo aciclico, in cui per ogni nodo esiste un solo arco entrante (tranne che per la radice che non ne ha nessuno) Un albero è un grafo debolmente connesso Se esiste un cammino che va da un nodo u ad un altro nodo v, tale cammino è unico In un albero esiste un solo cammino che va dalla Radice a qualunque altro nodo Tutti i nodi di un albero t (tranne la radice) possono essere ripartiti in insiemi disgiunti ciascuno dei quali individua un albero: dato un nodo u, i suoi discendenti costituiscono un albero detto sottoalbero di radice u M. Nappi/PR1 24
25 Gli Alberi La natura ricorsiva degli alberi Un albero può essere definito ricorsivamente Un albero e un insieme di nodi ai quali sono associate delle informazioni Tra i nodi esiste un nodo particolare che e la radice (livello 0) Gli altri nodi sono partizionati in sottoinsiemi che sono a loro volta alberi (livelli successivi): Vuoto o costituito da un solo nodo (detto radice) Oppure è una radice cui sono connessi altri alberi M. Nappi/PR1 25
26 Gli Alberi Alberi Binari Sono particolari alberi ordinati in cui ogni nodo ha al più due figli e si fa sempre distinzione tra il figlio sinistro, che viene prima nell ordinamento e il figlio destro. Nell esempio gli alberi sono etichettati con interi e con caratteri Un albero binario è un grafo orientato che o è vuoto o è costituito da un solo nodo o è formato da un nodo n (detto radice) e da due sottoalberi binari, chiamati rispettivamente sottoalbero (o figlio) sinistro e sottoalbero (o figlio) destro M. Nappi/PR1 26
27 Gli Alberi M. Nappi/PR1 27
28 Gli Alberi M. Nappi/PR1 28
29 Gli Alberi M. Nappi/PR1 29
30 Gli Alberi M. Nappi/PR1 30
31 Gli Alberi L algebra che abbiamo presentato ovviamente rappresenta una scelta precisa di progetto: enfatizzare la natura ricorsiva degli Alberi e di costruire l albero binario dal basso verso l alto, cioè dal livello delle foglie verso la radice. Non sempre questa scelta è opportuna: soprattutto se l albero è usato per rappresentare un processo decisionale è preferibile un algebra che preveda di costruire l albero dall alto verso il basso, inserendo prima la radice e poi i nodi figli via via. In tal caso, mentre rimangono validi gli operatori creabinalbero, binalberovuoto, binradice, binpadre, figliosinistro, figliodestro, sinistrovuoto, destrovuoto, cancsottobinalbero Andrebbe sostituito l operatore di costruzione con tre operatori nuovi, uno dedicato all inserimento della radice e gli altri due dedicati all inserimento del figlio sinistro e del figliodestro. M. Nappi/PR1 31
32 Gli Alberi M. Nappi/PR1 32
33 Algoritmi di Visita La visita di un albero consiste nel seguire una rotta di viaggio che consenta di esaminare ogni nodo dell albero esattamente una volta. Visita in pre-ordine: si applica ad un albero non vuoto e richiede dapprima l analisi della radice dell albero e, poi, la visita, effettuata con lo stesso metodo, dei due sottoalberi, prima il sinistro, poi il destro Visita in post-ordine: si applica ad un albero non vuoto e richiede dapprima la visita, effettuata con lo stesso metodo, dei sottoalberi, prima il sinistro e poi il destro, e, in seguito, l analisi della radice dell albero Visita simmetrica: richiede prima la visita del sottoalbero sinistro (effettuata sempre con lo stesso metodo), poi l analisi della radice, e poi la visita del sottoalbero destro M. Nappi/PR1 33
34 Algoritmi di Visita M. Nappi/PR1 34
35 Algoritmi di Visita visita in preordine l albero binario t { se l albero non è vuoto allora visita la radice di t visita in preordine il sottoalbero sinistro di t visita in preordine il sottoalbero destro di t fine } M. Nappi/PR1 35
Corso di Laurea in INFORMATICA
Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica
DettagliMATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010
elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre
DettagliLa struttura dati ad albero binario
La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,
DettagliAlberi binari. Ilaria Castelli castelli@dii.unisi.it A.A. 2009/2010. Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione
Alberi binari Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/2010 I. Castelli Alberi binari, A.A. 2009/2010 1/20 Alberi binari
DettagliQuando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.
Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale
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
DettagliCorrispondenze e funzioni
Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliAlgoritmi 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
DettagliDefinizione di nuovi tipi in C
Definizione di nuovi tipi in C typedef Ancora sui tipi di dato Ogni elaboratore è intrinsecamente capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe
DettagliAPPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)
ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,
DettagliEsempi di funzione. Scheda Tre
Scheda Tre Funzioni Consideriamo una legge f che associa ad un elemento di un insieme X al più un elemento di un insieme Y; diciamo che f è una funzione, X è l insieme di partenza e X l insieme di arrivo.
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,
DettagliAlgebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.
Algebra booleana Nel lavoro di programmazione capita spesso di dover ricorrere ai principi della logica degli enunciati e occorre conoscere i concetti di base dell algebra delle proposizioni. L algebra
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
DettagliI tipi di dato astratti
I tipi di dato astratti.0 I tipi di dato astratti c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 001/00.0 0 I tipi di dato astratti La nozione di tipo di dato
DettagliLE FUNZIONI A DUE VARIABILI
Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre
DettagliB+Trees. Introduzione
B+Trees Introduzione B+Trees Il B+Trees e la variante maggiormente utilizzata dei BTrees BTrees e B+trees fanno parte della famiglia degli alberi di ricerca. Nel B+Trees i dati sono memorizzati solo nelle
DettagliGrafi. Moreno Marzolla Dip. di Informatica Scienza e Ingegneria Università di Bologna. moreno.marzolla@unibo.it http://www.moreno.marzolla.
Grafi Moreno Marzolla ip. di Informatica Scienza e Ingegneria Università di ologna moreno.marzolla@unibo.it http://www.moreno.marzolla.name/ opyright lberto Montresor, Università di Trento, Italy (http://www.dit.unitn.it/~montreso/asd/index.shtml)
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
DettagliAlgoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione
Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Esercizi II parte Esercizio 1 Discutere la correttezza di ciascuna delle seguenti affermazioni. Dimostrare formalmente la validità
DettagliProgetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso
Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso Flusso di costo minimo È dato un grafo direzionato G = (N, A). Ad ogni arco (i, j) A è associato il costo c ij
DettagliMacchine 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
DettagliSistemi 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
DettagliMacchine 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
Dettagli(anno accademico 2008-09)
Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato
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
DettagliMacchine 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:
DettagliProgetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di Network design
Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di Network design Network Design È data una rete rappresentata su da un grafo G = (V, A) e un insieme di domande K, ciascuna
DettagliAlgoritmi e Strutture Dati
schifano@fe.infn.it Laurea di Informatica - Università di Ferrara 2011-2012 [1] Strutture dati Dinamiche: Le liste Una lista è una sequenza di elementi di un certo tipo in cui è possibile aggiungere e/o
DettagliAnno 1. Le relazioni fondamentali (equivalenza, d'ordine, inverse, fra insiemi)
Anno 1 Le relazioni fondamentali (equivalenza, d'ordine, inverse, fra insiemi) 1 Introduzione In questa lezione imparerai a utilizzare le diverse tipologie di relazione e a distinguerle a seconda delle
DettagliRicorsione in SQL-99. Introduzione. Idea di base
Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione
DettagliTipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi
TIPI DI DATO Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe di caratteri e quasi sempre anche collezioni di oggetti,
DettagliSemantica Assiomatica
Semantica Assiomatica Anche nella semantica assiomatica, così come in quella operazionale, il significato associato ad un comando C viene definito specificando la transizione tra stati (a partire, cioè,
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
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
DettagliMacchine 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
DettagliSTRINGHE di un ALFABETO. Consideriamo un alfabeto di simboli V V è un insieme finito e non vuoto. Alfabeto della lingua inglese I={a,b,c,..
STRINGHE di un ALFABETO Consideriamo un alfabeto di simboli V V è un insieme finito e non vuoto Alfabeto binario A={0,1} Alfabeto della lingua inglese I={a,b,c,..z} Stringhe o parole Gli elementi di V
DettagliAlcuni Preliminari. Prodotto Cartesiano
Alcuni Preliminari Prodotto Cartesiano Dati due insiemi A e B, si definisce il loro prodotto cartesiano A x B come l insieme di tutte le coppie ordinate (a,b) con a! A e b! B. Es: dati A= {a,b,c} e B={,2,3}
DettagliLezione 1. Gli Insiemi. La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme:
Lezione 1 Gli Insiemi La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme: degli iscritti ad un corso di laurea delle stelle in cielo dei punti di un piano
DettagliMetodi 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
Dettaglif(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da
Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede
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
DettagliIl Metodo Branch and Bound
Il Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 4 Novembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale
DettagliAppunti di Algoritmi e Strutture Dati. Grafi. Gianfranco Gallizia
Appunti di Algoritmi e Strutture Dati Grafi Gianfranco Gallizia 12 Dicembre 2004 2 Indice 1 Grafi 5 1.1 Definizione.............................. 5 1.2 Implementazione........................... 5 1.2.1
Dettagli4. Operazioni elementari per righe e colonne
4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:
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
DettagliGestione Turni. Introduzione
Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente
DettagliRappresentazione 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
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
DettagliIl tipo di dato astratto Pila
Il tipo di dato astratto Pila Il tipo di dato Pila Una pila è una sequenza di elementi (tutti dello stesso tipo) in cui l inserimento e l eliminazione di elementi avvengono secondo la regola seguente:
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
DettagliSCHEDA M MOSAICI CLASSIFICARE CON LA SIMMETRIA
SCHEDA M MOSAICI CLASSIFICARE CON LA SIMMETRIA Qui sotto avete una griglia, che rappresenta una normale quadrettatura, come quella dei quaderni a quadretti; nelle attività che seguono dovrete immaginare
DettagliTeoria degli insiemi
Teoria degli insiemi pag 1 Easy Matematica di dolfo Scimone Teoria degli insiemi Il concetto di insieme si assume come primitivo, cioè non riconducibile a concetti precedentemente definiti. Sinonimi di
DettagliMATLAB. 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
DettagliUna funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente.
Ricorsione Funzioni ricorsive Una funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente. Un esempio di funzione ricorsiva
DettagliExcel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it
Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
DettagliLaboratorio di Algoritmi e Strutture Dati
Realizzazione di Liste Laboratorio di Algoritmi e Strutture Dati Domenico Redavid redavid@di.uniba.it Materiale di base gentilmente concesso dal dott. Nicola Di Mauro Ricercatore presso l'univ. di Bari
DettagliL amministratore di dominio
L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un
DettagliAnno 3. Funzioni: dominio, codominio e campo di esistenza
Anno 3 Funzioni: dominio, codominio e campo di esistenza 1 Introduzione In questa lezione parleremo delle funzioni. Ne daremo una definizione e impareremo a studiarne il dominio in relazione alle diverse
DettagliComparatori. Comparatori di uguaglianza
Comparatori Scopo di un circuito comparatore é il confronto tra due codifiche binarie. Il confronto può essere effettuato per verificare l'uguaglianza oppure una relazione d'ordine del tipo "maggiore",
DettagliReti 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
DettagliAlgebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE
Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Andrea Bobbio Anno Accademico 2000-2001 Algebra Booleana 2 Calcolatore come rete logica Il calcolatore può essere visto come una rete logica
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
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
DettagliALGEBRA DELLE PROPOSIZIONI
Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra
DettagliLe 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
DettagliModellazione dei dati in UML
Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):
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
Dettagli4 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
DettagliA intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
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
DettagliOperazioni sui database
Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle
Dettagli3 GRAFICI DI FUNZIONI
3 GRAFICI DI FUNZIONI Particolari sottoinsiemi di R che noi studieremo sono i grafici di funzioni. Il grafico di una funzione f (se non è specificato il dominio di definizione) è dato da {(x, y) : x dom
DettagliLE FUNZIONI E LE LORO PROPRIETÀ
LE FUNZIONI E LE LORO PROPRIETÀ LE FUNZIONI REALI DI VARIABILE REALE COSA SONO LE FUNZIONI Dati due sottoinsiemi A e B non vuoti di R, una FUNZIONE da A a B è una relazione che associa ad ogni numero reale
Dettagli4. Operazioni aritmetiche con i numeri binari
I Numeri Binari 4. Operazioni aritmetiche con i numeri binari Contare con i numeri binari Prima di vedere quali operazioni possiamo effettuare con i numeri binari, iniziamo ad imparare a contare in binario:
DettagliSoluzione dell esercizio del 2 Febbraio 2004
Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo
DettagliReti di Telecomunicazione Lezione 8
Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato
DettagliProtezione. Protezione. Protezione. Obiettivi della protezione
Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in
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
DettagliEVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO
EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi
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
DettagliOsservazioni sulla continuità per le funzioni reali di variabile reale
Corso di Matematica, I modulo, Università di Udine, Osservazioni sulla continuità Osservazioni sulla continuità per le funzioni reali di variabile reale Come è noto una funzione è continua in un punto
DettagliAlbero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni.
Albero semantico Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni. A differenza dell albero sintattico (che analizza la formula da un punto di vista puramente
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
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
DettagliLezioni di Matematica 1 - I modulo
Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può
DettagliCOEFFICIENTI BINOMIALI
COEFFICIENTI BINOMIALI Michele Impedovo micheleimpedovo@uni-bocconiit Una definizione insiemistica Se n è un numero naturale e è un numero naturale compreso tra e n, si indica con il simbolo il coefficiente
DettagliProgettazione del Software A.A.2008/09
Laurea in Ing. Informatica ed Ing. dell Informazione Sede di latina Progettazione del Software A.A.2008/09 Domenico Lembo* Dipartimento di Informatica e Sistemistica A. Ruberti SAPIENZA Università di Roma
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
DettagliSistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliMECCANISMI E POLITICHE DI PROTEZIONE 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
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
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
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
DettagliAlgoritmi e Strutture Dati
Alberi Binari di Ricerca (BST) Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Alberi Binari di Ricerca (Binary Search Trees BST)
DettagliEsempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante
Esercizio 0 Scambio lettere Scrivere la funzione void scambiolettere(char *dest, char *lettere, int p_o_d) che modifichi la stringa destinazione (dest), sostituendone i caratteri pari o dispari (a seconda
DettagliAppunti di Sistemi Elettronici
Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare
DettagliAnalisi dei requisiti e casi d uso
Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................
DettagliAnno 5 4. Funzioni reali: il dominio
Anno 5 4 Funzioni reali: il dominio 1 Introduzione In questa lezione impareremo a definire cos è una funzione reale di variabile reale e a ricercarne il dominio. Al termine di questa lezione sarai in grado
Dettagli