La programmazione con vincoli in breve. La programmazione con vincoli in breve

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "La programmazione con vincoli in breve. La programmazione con vincoli in breve"

Transcript

1

2 Obbiettivi Introdurre la nozione di equivalenza di CSP. Dare una introduzione intuitiva dei metodi generali per la programmazione con vincoli. Introdurre il framework di base per la programmazione con vincoli. Illustrare il framework con due esempi.

3 Proiezioni Dati: variabili X := x 1,...,x n con i domini D 1,...,D n. Consideriamo d := (d 1,..., d n ) D 1... D n, sottosequenza Y := x i1,..., x il di X. Denotiamo (d i1,...,d il ) con d[y ]. d[y ]: proiezione di d su Y. In particolare: d[x i ] = d i. Nota Per un CSP P := C ; x 1 D 1,...,x n D n (d 1,...,d n ) D 1... D n e una soluzione di P sse per ogni vincolo C di P su una sequenza di variabili Y d[y ] C.

4 Equivalenza di CSP P 1 e P 2 sono equivalenti se hanno lo stesso insieme di soluzioni. CSP P 1 e P 2 sono equivalenti rispetto a X sse {d[x] d e una soluzione di P 1 } = {d[x] d e una soluzione di P 2 }. L unione di P 1,..., P m e equivalente rispetto a X a P 0 se {d[x] d e una soluzione di P 0 } = m {d[x] d e una soluzione di P i }. i=1

5 CSP risolti e falliti C vincolo sulle variabili y 1,...,y k con domini D 1,...,D k, quindi C D 1... D k. C e risolto se C = D 1... D k. Un CSP e risolto se tutti i suoi vincoli sono risolti, nessun dominio e vuoto. Un CSP e fallito se o contiene il vincolo falso, alcuni dei suoi domini sono vuoti.

6 Programmazione con vincoli: Framework di base Solve: VAR continue: BOOLEAN; continue:= TRUE; WHILE continue AND NOT Happy DO Preprocess; Constraint Propagation; IF NOT Happy THEN IF Atomic THEN continue:= FALSE ELSE Split; Proceed by Cases END END END

7 Programmazione con vincoli: Framework di base continue e locale a Solve. Proceed by Cases porta ad una chiamata ricorsiva di Solve per ogni nuovo CSP.

8 Preprocess Porta alla forma sintattica desiderata. Esempio: Vincoli sui reali. Forma sintattica desiderata: senza occorrenze ripetute di una variabile. ax 7 + bx 5 y + cy 10 = 0 ax 7 + z + cy 10 = 0, bx 5 y = z

9 Happy E stata trovata una soluzione, Sono state trovate tutte le soluzioni, E stata trovata una forma risolta da cui e possibile generare tutte le soluzioni, E stato provato che non esistono soluzioni (inconsistenza), E stata trovata una soluzione ottima, Sono state trovate tutte le soluzioni ottime.

10 Atomic Controlla se il CSP si puo spezzare (splitting), o se la ricerca sotto il CSP e ancora necessaria.

11 Split: divisione di un dominio D finito (Enumerazione) D finito (Labeling) x D x {a} x D {a} x {a 1,...,a k } x {a 1 }... x {a k } D intervallo dei reali (Bisezione) x [a..b] x [a.. a+b 2 ] x [a+b 2..b]

12 Split: divisione di un vincolo Vincoli disgiuntivi Esempio: Start[task 1 ] +Duration[task 1 ] Start[task 2 ] Start[task 2 ] +Duration[task 2 ] Start[task 1 ] Vincoli in forma composta Esempio: p( x) = a p( x) = a p( x) = a C 1 C 2 C 1 C 2

13 Effetto dello Split Ogni chiamata a Split rimpiazza il CSP corrente P con i CSP P 1,..., P n tali che l unione di P 1,..., P n e equivalente a P. Esempio: Enumerazione. Rimpiazza C ; DE,x D con e C ; DE,x {a} C ; DE,x D {a}. dove C e C sono restrizioni dei vincoli di C ai nuovi domini. Split determina anche in quale operazione deve essere applicato successivamente.

14 Euristiche Quale variabile scegliere, valore scegliere, vincolo dividere. Esempi: Seleziona una variabile che appare nel numero piu alto di vincoli (most constrained variable). per un dominio che e un intervallo degli interi: seleziona l elemento centrale.

15 Proceed by Cases Varie tecniche di ricerca Backtracking, Branch and bound, Possono essere combinate con Constraint Propagation Backtracking intelligente

16 Backtracking Albero di ricerca Radice: CSP iniziale Da un nodo ad un figlio: assegnamento di un valore ad una variabile Foglia: CSP risolto o fallito (tutte le variabili hanno un valore) Soluzioni del CSP: corrispondono ad alcune foglie L albero non e dato in input, ma e costruito durante la ricerca Backtracking: quando siamo in un nodo da cui non e possibile andare piu sotto, pena la violazione di qualche vincolo. Si torna al nodo padre del nodo corrente e si prova con un altro figlio.

17 Branch and Bound Modifica del backtracking che vuole trovare una soluzione ottima (massima). Considera una funzione obbiettivo. Si mantiete il migliore valore corrente della funzione obbiettivo nella variabile bound. bound e inizializzata a e aggiornata ogni volta che viene trovata una soluzione migliore. Usato in combinazione con una funzione euristica. Condizioni su una funzione euristica h: A. Se ψ e un discendente diretto di φ, h(ψ) h(φ). B. Se ψ e un CSP risolto con domini singoletti, obj(ψ) h(ψ). h ci permette di tagliare pezzi dell albero di ricerca.

18 Constraint Propagation Intuizione: Rimpiazzare un CSP con un CSP equivalente che sia piu semplice. La propagazione di vincoli e effettuata riducendo ripetutamente e/o i domini i vincoli mantenendo l equivalenza.

19 Ridurre un dominio: esempi CSP arbitrari. Regola di proiezione: Prendi un vincolo C. Scegli una variabile x del vincolo, con dominio D. Rimuovi da D tutti i valori per x che non partecipano in una soluzione di C. Disequazioni lineari sugli interi. x < y ; x [ ],y [0..100] x < y ; x [50..99],y [ ]

20 Piu generalmente... dove h x = min(h x,h y 1), l y = max(l y,l x + 1). x < y ; x [l x..h x ],y [l y..h y ] x < y ; x [l x..h x ],y [l y..h y]

21 Riduzione ripetuta dei domini: esempio Considera x < y,y < z ; x [ ],y [0..100],z [0..100]. Applica la regola sopra a x < y: x < y,y < z ; x [50..99],y [ ],z [0..100]. Applicala ora a y < z: x < y,y < z ; x [50..99],y [51..99],z [ ]. Applicala ancora a x < y: x < y,y < z ; x [50..98],y [51..99],z [ ].

22 Ridurre i vincoli Di solito introducendo nuovi vincoli. Transitivita di < x < y,y < z ; DE x < y,y < z,x < z ; DE Questa regola introduce un nuovo vincolo, x < z. Regola di risoluzione. C 1 e C 2 clausole (disgiunzioni di letterali) C 1 L,C 2 L ; DE C 1 L,C 2 L,C 1 C 2 ; DE Questa regola introduce un nuovo vincolo, la clausola C 1 C 2.

23 Algoritmi di propagazione di vincoli Gestiscono la schedulazione di passi di riduzione atomici. Tentano di evitare applicazioni inutili di passi di riduzione atomici Criterio di stop: una nozione di consistenza locale. Esempio: Regola di proiezione Prendi un vincolo C. Scegli una variabile x del vincolo con dominio D. Rimuovi da D tutti i valori per x che non partecipano in una soluzione di C. Nozione di consistenza locale corrispondente: Consistenza sugli iper-archi Per ogni vincolo C e ogni variabile x con dominio D, ogni valore per x da D partecipa in una soluzione di C.

24 Esempio: vincoli Booleani Happy: trovate tutte le soluzioni. Forma sintattica desiderata (per il preprocessing): x = y, x = y, x y = z, x y = z. Preprocessing: Constraint propagation: Scritto come: x s = z x y = z,s = y x y = z ; x D x,y D y,z {1} ; x D x {1},y D y {1},z {1} x y = z,z = 1 x = 1,y = 1.

25 Vincoli Booleani EQU 1 x = y,x = 1 y = 1 EQU 2 x = y,y = 1 x = 1 EQU 3 x = y,x = 0 y = 0 EQU 4 x = y,y = 0 x = 0 NOT 1 x = y,x = 1 y = 0 NOT 2 x = y,x = 0 y = 1 NOT 3 x = y,y = 1 x = 0 NOT 4 x = y,y = 0 x = 1

26 Vincoli Booleani AND 1 x y = z,x = 1,y = 1 z = 1 AND 2 x y = z,x = 1,z = 0 y = 0 AND 3 x y = z,y = 1,z = 0 x = 0 AND 4 x y = z,x = 0 z = 0 AND 5 x y = z,y = 0 z = 0 AND 6 x y = z,z = 1 x = 1,y = 1 OR 1 x y = z,x = 1 z = 1 OR 2 x y = z,x = 0,y = 0 z = 0 OR 3 x y = z,x = 0,z = 1 y = 1 OR 4 x y = z,y = 0,z = 1 x = 1 OR 5 x y = z,y = 1 z = 1 OR 6 x y = z,z = 0 x = 0,y = 0

27 Vincoli Booleani Split: Scegli la variabile piu vincolata. Applica la regola di labeling: x {0,1} x {0} x {1} Proceed by cases: backtrack.

28 Esempio: Vincoli polinomiali su Intervalli interi Domini: intervalli interi [a..b]. [a..b] := {x Z a x b}. Vincoli: s = 0, s e un polinomio (anche di molte variabili) con coefficienti interi. Esempio: 2 x 5 y 2 z x y 3 z 5 4 x 4 y 6 z = 0. Funzione obbiettivo: un polinomio.

29 Esempio Trova una soluzione a x 3 + y 2 z 3 = 0 in [ ] tale che sia massimo. 2 x y z Risposta: x = 112,y = 832,z = 128. Allora 2 x y z =

30 Vincoli polinomiali su Intervalli interi Forma sintattica desiderata: Σ n i=1 a ix i = b, x y = z. Preprocess: Usare regole di trasformazione appropriate. Esempio: Σ n i=1 m i = 0 ; DE Σ n i=1 v i = 0, m 1 = v 1,..., m n = v n ; DE,v 1 Z,...,v n Z dove alcuni m i non sono della forma ax i, v 1,...,v n non appaiono in DE. Happy: trovata una soluzione ottima rispetto alla funzione obbiettivo.

31 Vincoli polinomiali su Intervalli interi Constraint propagation: usa l aritmetica sugli intervalli. X,Y insiemi di interi. somma: sottrazione: moltiplicazione: divisione: X + Y := {x + y x X,y Y }, X Y := {x y x X,y Y }, X Y := {x y x X,y Y }, X/Y := {u Z x X y Y u y = x}. Per un intero a e op {+,,,/} identificare a op X con {a} op X, X op a con X op {a}.

32 Aritmetica sugli intervalli Nota X,Y intervalli interi, a un intero. Esempi X Y, X + Y,X Y sono intervalli interi. X/{a} e un intervallo intero. X Y non e necessariamente un intervallo intero, anche se X = {a} o Y = {a}. X/Y non e necessariamente un intervallo intero. [2..4] + [3..8] = [5..12], [3..7] [1..8] = [6.. 5], [3..3] [1..2] = {3,6}, [3..5]/[ 1..2] = { 5, 4, 3,2,3,4,5}, [ 3..5]/[ 1..2] = Z.

33 Trasformare insiemi in intervalli { piu piccolo int. X se X finito int(x) := Z altrimenti. Esempi: int([3..3] [1..2]) = [3..6], int([3..5]/[ 1..2]) = [ 5..5], int([ 3..5]/[ 1..2]) = Z.

34 Regole per equazioni lineari implica che per j [1..n] dove j [1..n], e n a i x i = b i=1 x j = b i [1..n] {j} a ix i a j LINEAR EQUALITY n i=1 a ix i = b ; x 1 D 1,...,x n D n n i=1 a ix i = b ;...,x j D j,... D j := D j b i [1..n] {j} int(a i D i ) a j

35 Regole di moltiplicazione MULTIPLICATION 1 x y = z ; x D x,y D y,z D z x y = z ; x D x,y D y,z D z int(d x D y ) MULTIPLICATION 2 x y = z ; x D x,y D y,z D z x y = z ; x D x int(d z /D y ),y D y,z D z MULTIPLICATION 3 x y = z ; x D x,y D y,z D z x y = z ; x D x,y D y int(d z /D x ),z D z

36 Effetto delle regole MULTIPLICATION Consideriamo x y = z ; x [1..20],y [9..11],z [ ]. Usando le regole MULTIPLICATION possiamo trasformarlo in x y = z ; x [16..16],y [10..10],z [ ].

37 Vincoli polinomiali su Intervalli interi Split: Scegli la variabile con il piu piccolo dominio (intervallo). Applica la regola di bisezione: dove a < b. x [a..b] x [a.. a+b 2 ] x [ a+b b] Combinala con la seguente euristica: scegli la variabile con il piu piccolo dominio (intervallo). Proceed by cases: branch and bound.

38 Ancora sull aritmetica sugli intervalli Data una funzione obbiettivo obj, sia obj + una estensione di obj ad una funzione da insiemi di interi ad insiemi di interi. Definita per induzione usando l aritmetica sugli intervalli. Esempio Supponiamo obj(x,y) := x 2 y 3x y Allora obj + (X,Y ) = X X Y 3 X Y Y + 5. Lemma Dato: obj: espressione aritmetica, X 1,...,X n : intervalli interi, obj + (X 1,...,X n ) insieme finito di interi. Per tutti gli a i X i, i [1..n], obj(a 1,...,a n ) obj + (X 1,...,X n ). Per tutti gli Y i X i, i [1..n], obj + (Y 1,...,Y n ) obj + (X 1,...,X n ).

39 Funzione euristica Prendi P := C ; x 1 D 1,...,x n D n, con D 1,...,D n intervalli interi, obj: polinomio con variabili x 1,...,x n. Definisci h(p) := max(obj + (D 1,...,D n )). Grazie al Lemma, h soddisfa le condizioni A e B per la funzione euristica.

40 Obbiettivi Nozione di equivalenza di CSP. Introduzione intuitiva di metodi generali per la Programmazione con Vincoli. Framework di base per la Programmazione con Vincoli. Illustrazione de framwork con 2 esempi.

UNIVERSITÀ DEGLI STUDI DI PARMA

UNIVERSITÀ DEGLI STUDI DI PARMA UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE e NATURALI Corso di Laurea in Informatica Tesi di Laurea Triennale Progettazione e realizzazione in Java di un risolutore di vincoli

Dettagli

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi Problemi di soddisfacimento di vincoli Maria Simi a.a. 2014/2015 Problemi di soddisfacimento di vincoli (CSP) Sono problemi con una struttura particolare, per cui conviene pensare ad algoritmi specializzati

Dettagli

Intelligenza Artificiale Ing. Tiziano Papini

Intelligenza Artificiale Ing. Tiziano Papini Intelligenza Artificiale Ing. Tiziano Papini Email: papinit@dii.unisi.it Web: http://www.dii.unisi.it/~papinit Constraint Satisfaction metodi costruttivi Intelligenza Artificiale - CSP Tiziano Papini -

Dettagli

Introduzione al MATLAB c Parte 2

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

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Dettagli

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

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

Dettagli

Ottimizzazione in ECLiPSe

Ottimizzazione in ECLiPSe OTTIMIZZAZIONE In molte applicazioni non siamo interessati a soluzioni ammissibili, ili, ma alla soluzione ottima rispetto a un certo criterio. ENUMERAZIONE trova tutte le soluzioni ammissibili scegli

Dettagli

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

Studio e realizzazione in Java di domini e regole per la risoluzione di vincoli su interi e insiemi di interi

Studio e realizzazione in Java di domini e regole per la risoluzione di vincoli su interi e insiemi di interi UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE e NATURALI Corso di Laurea Specialistica in Informatica Tesi di Laurea Specialistica Studio e realizzazione in Java di domini e regole

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 13 Febbraio 2015 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (punti 6) Si esprimano in logica dei predicati del I ordine le seguenti frasi:

Dettagli

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6 EQUAZIONI DIFFERENZIALI.. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x log t (d) x = e t x log x (e) y = y 5y+6 (f) y = ty +t t +y (g) y = y (h) xy = y (i) y y y = 0 (j) x = x (k)

Dettagli

Introduzione alla tecnica di Programmazione Dinamica

Introduzione alla tecnica di Programmazione Dinamica Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/37 Sommario della lezione Introduzione alla tecnica di Programmazione Dinamica Esempio di applicazione n. 1:

Dettagli

Test del Software. Definizione SCOPO LIMITI DEL TEST

Test del Software. Definizione SCOPO LIMITI DEL TEST Definizione! Verifica dinamica del comportamento del software rispetto a quello atteso, utilizzando un insieme finito di casi di test, appropriatamente selezionati nel dominio di tutti i casi possibili

Dettagli

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. Universitá di Bologna

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. <sacerdot@cs.unibo.it> Universitá di Bologna Linguaggi 18: Semantica della logica del prim ordine Universitá di Bologna 11/04/2011 Outline Semantica della logica del prim ordine 1 Semantica della logica del prim ordine Semantica

Dettagli

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Prof. 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

Dettagli

EQUAZIONI DIFFERENZIALI Esercizi svolti. y = xy. y(2) = 1.

EQUAZIONI DIFFERENZIALI Esercizi svolti. y = xy. y(2) = 1. EQUAZIONI DIFFERENZIALI Esercizi svolti 1. Determinare la soluzione dell equazione differenziale (x 2 + 1)y + y 2 =. y + x tan y = 2. Risolvere il problema di Cauchy y() = 1 2 π. 3. Risolvere il problema

Dettagli

Interpolazione ed approssimazione di funzioni

Interpolazione 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

Dettagli

I tre concetti si possono descrivere in modo unitario dicendo che f e iniettiva, suriettiva, biiettiva se e solo se per ogni b B l equazione

I tre concetti si possono descrivere in modo unitario dicendo che f e iniettiva, suriettiva, biiettiva se e solo se per ogni b B l equazione Lezioni del 29 settembre e 1 ottobre. 1. Funzioni iniettive, suriettive, biiettive. Sia f : A B una funzione da un insieme A ad un insieme B. Sia a A e sia b = f (a) B l elemento che f associa ad a, allora

Dettagli

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

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

Dettagli

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice. Convalida: attività volta ad assicurare che il SW sia conforme ai requisiti dell utente. Verifica: attività volta ad assicurare che il SW sia conforme alle specifiche dell analista. Goal: determinare malfunzionamenti/anomalie/errori

Dettagli

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Algebra 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

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

Il Metodo Branch and Bound

Il 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

Dettagli

Appunti di Logica Matematica

Appunti di Logica Matematica Appunti di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Una proposizione è un affermazione che esprime un valore di verità, cioè una affermazione che è VERA oppure FALSA. Ad esempio: 5

Dettagli

Gli algoritmi: definizioni e proprietà

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

Dettagli

Indice generale. Modulo 1 Algebra 2

Indice generale. Modulo 1 Algebra 2 Indice generale Modulo 1 Algebra 2 Capitolo 1 Scomposizione in fattori. Equazioni di grado superiore al primo 1.1 La scomposizione in fattori 2 1.2 Raccoglimento a fattor comune 3 1.3 Raccoglimenti successivi

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

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

Dettagli

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0.

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0. EQUAZIONI E DISEQUAZIONI Le uguaglianze fra espressioni numeriche si chiamano equazioni. Cercare le soluzioni dell equazione vuol dire cercare quelle combinazioni delle lettere che vi compaiono che la

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

I tipi di dato astratti

I 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

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

Dettagli

Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale

Planning 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

Dettagli

Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012

Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012 Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012 Nicola Febbrari Università degli Studi di Verona Facoltà MM.FF.NN. nicola.febbrari@studenti.univr.it 22 gennaio 2013 1 Introduzione

Dettagli

Nel seguito, senza ulteriormente specificarlo, A indicherà un anello commutativo con identità.

Nel seguito, senza ulteriormente specificarlo, A indicherà un anello commutativo con identità. 1 ANELLI Definizione 1.1. Sia A un insieme su cui sono definite due operazioni +,. (A, +, ) si dice Anello se (A, +) è un gruppo abeliano è associativa valgono le leggi distributive, cioè se a, b, c A

Dettagli

Corso di Laurea in INFORMATICA

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

Dettagli

b) Costruire direttamente le relazioni e poi correggere quelle che presentano anomalie

b) Costruire direttamente le relazioni e poi correggere quelle che presentano anomalie TEORIA RELAZIONALE: INTRODUZIONE 1 Tre metodi per produrre uno schema relazionale: a) Partire da un buon schema a oggetti e tradurlo b) Costruire direttamente le relazioni e poi correggere quelle che presentano

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

Macchine di Turing. a n B B. Controllo Finito

Macchine di Turing. a n B B. Controllo Finito Macchine di Turing Il modello standard di macchina di Turing era un controllo finito, un nastro di input, diviso in celle, e una testina che prende in considerazione una cella del nastro alla volta. Il

Dettagli

DIARIO DEL CORSO DI ALGEBRA A.A. 2012/13 DOCENTE: ANDREA CARANTI

DIARIO DEL CORSO DI ALGEBRA A.A. 2012/13 DOCENTE: ANDREA CARANTI DIARIO DEL CORSO DI ALGEBRA A.A. 2012/13 DOCENTE: ANDREA CARANTI Lezione 1. lunedí 17 settembre 2011 (1 ora) Presentazione del corso. Esercizio: cosa succede a moltiplicare per 2, 3, 4,... il numero 052631578947368421,

Dettagli

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Dettagli

Esercitazioni in Maple

Esercitazioni in Maple Esercitazioni in Maple 6 giugno 2007 Capitolo 1 Prima esercitazione 1.1 Anelli di polinomi Per cominciare bisogna dichiarare un anello di polinomi. Possiamo lavorare con un qualsiasi anello di tipo dove

Dettagli

Esercizi di Ricerca Operativa I

Esercizi di Ricerca Operativa I Esercizi di Ricerca Operativa I Dario Bauso, Raffaele Pesenti May 10, 2006 Domande Programmazione lineare intera 1. Gli algoritmi per la programmazione lineare continua possono essere usati per la soluzione

Dettagli

Funzioni in più variabili

Funzioni in più variabili Funzioni in più variabili Corso di Analisi 1 di Andrea Centomo 27 gennaio 2011 Indichiamo con R n, n 1, l insieme delle n-uple ordinate di numeri reali R n4{(x 1, x 2,,x n ), x i R, i =1,,n}. Dato X R

Dettagli

Interpretazione astratta

Interpretazione astratta Interpretazione astratta By Giulia Costantini (819048) e Giuseppe Maggiore (819050) Contents Interpretazione astratta... 2 Idea generale... 2 Esempio di semantica... 2 Semantica concreta... 2 Semantica

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno UD 3.1b: Costrutti di un Algoritmo Dispense 1.2 I Costrutti di base 13 apr 2010

Dettagli

Approcci esatti per il job shop

Approcci esatti per il job shop Approcci esatti per il job shop Riferimenti lezione: Carlier, J. (1982) The one-machine sequencing problem, European Journal of Operational Research, Vol. 11, No. 1, pp. 42-47 Carlier, J. & Pinson, E.

Dettagli

Progettazione e realizzazione di uno strumento per la risoluzione distribuita e decentralizzata di problemi di soddisfacimento di vincoli.

Progettazione e realizzazione di uno strumento per la risoluzione distribuita e decentralizzata di problemi di soddisfacimento di vincoli. UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Tesi di Laurea Triennale Progettazione e realizzazione di uno strumento per la risoluzione

Dettagli

Analisi Complessa. Prova intermedia del 7 novembre 2002 - Soluzioni. (z 11 1) 11 1 = 0.

Analisi Complessa. Prova intermedia del 7 novembre 2002 - Soluzioni. (z 11 1) 11 1 = 0. Analisi Complessa Prova intermedia del 7 novembre 2002 - Soluzioni Esercizio. Si consideri l equazione z 0. Quante soluzioni distinte esistono in C? Quante di esse sono contenute all interno del disco

Dettagli

Alberi auto-aggiustanti

Alberi auto-aggiustanti Alberi auto-aggiustanti Dispensa didattica per il corso di Algoritmi e Strutture Dati a.a. 2007/2008 ver. 1.3 Ing. Claudio Mazzariello, Prof. Carlo Sansone 27 Maggio 2008 A differenza di altre possibili

Dettagli

La selezione binaria

La 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

Dettagli

Lezione 8. La macchina universale

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

Dettagli

Fasi di creazione di un programma

Fasi 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

Dettagli

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

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

Dettagli

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE 1. EQUAZIONI Definizione: un equazione è un uguaglianza tra due espressioni letterali (cioè in cui compaiono numeri, lettere

Dettagli

10 - Programmare con gli Array

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

Dettagli

ISTITUZIONI DI MATEMATICHE E FONDAMENTI DI BIOSTATISTICA. 2. Insiemi numerici. A. A. 2014-2015 L.Doretti

ISTITUZIONI DI MATEMATICHE E FONDAMENTI DI BIOSTATISTICA. 2. Insiemi numerici. A. A. 2014-2015 L.Doretti ISTITUZIONI DI MATEMATICHE E FONDAMENTI DI BIOSTATISTICA 2. Insiemi numerici A. A. 2014-2015 L.Doretti 1 INSIEMI NUMERICI rappresentano la base su cui la matematica si è sviluppata costituiscono le tappe

Dettagli

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010) Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica, Ingegneria dei Sistemi Informatici Esercitazioni

Dettagli

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

Esercitazioni di Reti Logiche. Lezione 2 Algebra Booleana e Porte Logiche. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Esercitazioni di Reti Logiche. Lezione 2 Algebra Booleana e Porte Logiche. Zeynep KIZILTAN zkiziltan@deis.unibo.it Esercitazioni di Reti Logiche Lezione 2 Algebra Booleana e Porte Logiche Zeynep KIZILTAN zkiziltan@deis.unibo.it Argomenti Algebra booleana Funzioni booleane e loro semplificazioni Forme canoniche Porte

Dettagli

Selezione di un portafoglio di titoli in presenza di rischio. Testo

Selezione di un portafoglio di titoli in presenza di rischio. Testo Selezione di un portafoglio di titoli in presenza di rischio Testo E ormai pratica comune per gli operatori finanziari usare modelli e metodi basati sulla programmazione non lineare come guida nella gestione

Dettagli

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO 1. Load Balancing Un istanza del problema del load balancing consiste di una sequenza p 1,..., p n di interi positivi (pesi dei job) e un

Dettagli

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = , dove: Finite State Machine (2)

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = <Q,,, q0, F>, dove: Finite State Machine (2) Idee guida ASM = FSM con stati generalizzati Le ASM rappresentano la forma matematica di Macchine Astratte che estendono la nozione di Finite State Machine Ground Model (descrizioni formali) Raffinamenti

Dettagli

Corso di Esercitazioni di Programmazione

Corso di Esercitazioni di Programmazione Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami.. http://www.dsi.unive.it/~prog1

Dettagli

MATEMATICA. { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un numero x ed un numero y che risolvano entrambe le equazioni.

MATEMATICA. { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un numero x ed un numero y che risolvano entrambe le equazioni. MATEMATICA. Sistemi lineari in due equazioni due incognite. Date due equazioni lineari nelle due incognite x, y come ad esempio { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un

Dettagli

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,...

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... Entropia Motivazione Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... ) s,s 2,s 3,... ognuno dei quali appartiene ad un alfabeto A di M elementi.? Quant è l informazione portata

Dettagli

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio Test (o analisi dinamica) Verifica parte IIA Rif. Ghezzi et al. 6.3-6.3.3 Consiste nell osservare il comportamento del sistema in un certo numero di condizioni significative Non può (in generale) essere

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

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 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

Dettagli

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi

Tipicamente 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,

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

LICEO CLASSICO, LICEO DELLE SCIENZE UMANE, LICEO MUSICALE E COREUTICO, LICEO LINGUISTICO MATEMATICA

LICEO CLASSICO, LICEO DELLE SCIENZE UMANE, LICEO MUSICALE E COREUTICO, LICEO LINGUISTICO MATEMATICA LICEO CLASSICO, LICEO DELLE SCIENZE UMANE, LICEO MUSICALE E COREUTICO, LICEO LINGUISTICO MATEMATICA PROFILO GENERALE E COMPETENZE Al termine del percorso liceale lo studente dovrà padroneggiare i principali

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (7 punti) Si formalizzi in logica dei predicati del primo ordine la seguente

Dettagli

estratto da Competenze assi culturali Raccolta delle rubriche di competenza formulate secondo i livelli EFQ a cura USP Treviso Asse matematico

estratto da Competenze assi culturali Raccolta delle rubriche di competenza formulate secondo i livelli EFQ a cura USP Treviso Asse matematico Competenza matematica n. BIENNIO, BIENNIO Utilizzare le tecniche e le procedure del calcolo aritmetico ed algebrico, rappresentandole anche sotto forma grafica BIENNIO BIENNIO Operare sui dati comprendendone

Dettagli

LE FUNZIONI A DUE VARIABILI

LE 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

Dettagli

Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006

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

Dettagli

DEFINIZIONE DI NUOVI TIPI Un tipo è un insieme di valori.

DEFINIZIONE DI NUOVI TIPI Un tipo è un insieme di valori. 1 DEFINIZIONE DI NUOVI TIPI Un tipo è un insieme di valori. Per definire un nuovo tipo occorre specificare: 1. un nome per il tipo 2. come costruire i valori del tipo, cioè quali sono i costruttori del

Dettagli

Sono definite in sottoinsiemi di R n (n N), a valori in R Ci si limiterà al caso di R 2 o di R 3

Sono definite in sottoinsiemi di R n (n N), a valori in R Ci si limiterà al caso di R 2 o di R 3 1 FUNZIONI DI PIÙ VARIABILI 1 1 Funzioni di più variabili Sono definite in sottoinsiemi di R n (n N), a valori in R Ci si limiterà al caso di R 2 o di R 3 Definizione 1.1 Dati D R 2 e f : D R, l insieme

Dettagli

Questionario per casa 6 Febbraio 2012

Questionario per casa 6 Febbraio 2012 1 Il numero 4 2004 + 2 4008 è uguale a a) 4 4012 b) 4 4008 c) 4 2004 d) 2 4009 e) 2 2012 Questionario per casa 6 Febbraio 2012 2 La statura media dei 20 studenti di una certa classe è 163,5 cm. Se ciascuno

Dettagli

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI PROBLEMA: un azienda deve scegliere fra due possibili investimenti al fine di massimizzare il profitto netto nel rispetto delle condizioni interne e di mercato

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione

Dettagli

Capitolo 7: Teoria generale della calcolabilitá

Capitolo 7: Teoria generale della calcolabilitá Capitolo 7: Teoria generale della calcolabilitá 1 Differenti nozioni di calcolabilitá (che seguono da differenti modelli di calcolo) portano a definire la stessa classe di funzioni. Le tecniche di simulazione

Dettagli

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete Funzioni in due variabili Raccolta di FAQ by Andrea Prevete 1) Cosa intendiamo, esattamente, quando parliamo di funzione reale di due variabili reali? Quando esiste una relazione fra tre variabili reali

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Matematica II. Risolvere o integrare una e.d. significa trovarne tutte le soluzione, che costituiscono il cosidetto integrale generale.

Matematica II. Risolvere o integrare una e.d. significa trovarne tutte le soluzione, che costituiscono il cosidetto integrale generale. Definizione Si dice equazione differenziale di ordine n nella funzione incognita y = y (x) una relazione fra y, le sue derivate y,..., y (n), e la variabila indipendente x Risolvere o integrare una e.d.

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE 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.

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

Descrizione di un algoritmo

Descrizione 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

Dettagli

Indecidibilità, indefinibilità e incompletezza. 1

Indecidibilità, indefinibilità e incompletezza. 1 Indecidibilità, indefinibilità e incompletezza. 1 Possiamo ora trattare unitariamente alcuni dei principali risultati negativi della logica: il teorema di Church sull'indecidibilità della logica, il teorema

Dettagli

La Logica Proposizionale. (Algebra di Boole)

La Logica Proposizionale. (Algebra di Boole) 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY La Logica Proposizionale (Algebra di Boole) Prof. G. Ciaschetti 1. Cenni storici Sin dagli antichi greci, la logica è intesa come lo studio del logos, che in greco

Dettagli

Algoritmi e strutture dati. Codici di Huffman

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

Dettagli

Capitolo I STRUTTURE ALGEBRICHE ELEMENTARI

Capitolo I STRUTTURE ALGEBRICHE ELEMENTARI Capitolo I STRUTTURE ALGEBRICHE ELEMENTARI In matematica, per semplificare la stesura di un testo, si fa ricorso ad un linguaggio specifico. In questo capitolo vengono fornite in maniera sintetica le nozioni

Dettagli

4.1 Modelli di calcolo analisi asintotica e ricorrenze

4.1 Modelli di calcolo analisi asintotica e ricorrenze 4 Esercizi Prima Parte 4.1 Modelli di calcolo analisi asintotica e ricorrenze Esercizio 4 1 Rispondere alle seguenti domande: 1. Come misuriamo l efficienza di un algoritmo?. Quali sono gli algoritmi più

Dettagli

Le funzioni elementari. La struttura di R. Sottrazione e divisione

Le funzioni elementari. La struttura di R. Sottrazione e divisione Le funzioni elementari La struttura di R La struttura di R è definita dalle operazioni Addizione e moltiplicazione. Proprietà: Commutativa Associativa Distributiva dell addizione rispetto alla moltiplicazione

Dettagli

Intelligenza Artificiale Ing. Tiziano Papini

Intelligenza Artificiale Ing. Tiziano Papini Intelligenza Artificiale Ing. Tiziano Papini Email: papinit@dii.unisi.it Web: http://www.dii.unisi.it/~papinit Constraint Satisfaction Introduzione Intelligenza Artificiale - CSP Tiziano Papini - 2011

Dettagli

Tipi di Dato Ricorsivi

Tipi di Dato Ricorsivi Tipi di Dato Ricorsivi Luca Abeni September 2, 2015 1 Tipi di Dato Vari linguaggi di programmazione permettono all utente di definire nuovi tipi di dato definendo per ogni nuovo tipo l insieme dei suoi

Dettagli

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO SISTEMI DI NUMERAZIONE DECIMALE E BINARIO Il sistema di numerazione decimale (o base dieci) possiede dieci possibili valori (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9) utili a rappresentare i numeri. Le cifre possiedono

Dettagli

Si basano sul seguente Teorema: S = A sse S { A} è insoddisfacibile.

Si basano sul seguente Teorema: S = A sse S { A} è insoddisfacibile. Deduzione automatica La maggior parte dei metodi di deduzione automatica sono metodi di refutazione: anziché dimostrare direttamente che S A, si dimostra che S { A} è un insieme insoddisfacibile (cioè

Dettagli