Intelligenza Artificiale. Pianificazione. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 0

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Intelligenza Artificiale. Pianificazione. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 0"

Transcript

1 Intelligenza Artificiale Pianificazione Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 0

2 Pianificazione automatica (Capitolo 12 del R& N) Estensioni di POP: Partial Order Planning Applicazioni Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 1

3 Limitazioni di POP: Piani gerarchici Per trattare l aumento di complessità è utile specificare piani con livelli variabili di dettagli: Piano di livello più alto: preparare il razzo vettore, preparare la capsula, inserire il carico e effettuare il lancio. Livello delle azioni eseguibili: inserire il dado A nel buco B e fermarlo con il bullone C. Rappresentare piani gerarchici può semplificare la pianificazione rendere i piani più comprensibili Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 2

4 Limitazioni di POP: Condizioni complesse Gli operatori di Strips sono essenzialmente proposizionali, l uso di variabili è molto limitato: non si può descrivere il fatto che l operatore Lancia comporta che tutti gli oggetti che sono nella navicella spaziale vadano in orbita. Gli operatori di Strips sono incondizionati: non si può esprimere il fatto che se tutti i sistemi sono pronti, Lancia condurrà la navicella spaziale in orbita, altrimenti la condurrà nell oceano. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 3

5 Limitazioni di POP: Tempo In Strips si assume che tutte le azioni accadano istantaneamente, mentre spesso occorre un modello in cui: le azioni hanno una durata (l azione di lancio può richiedere diversi minuti); i passi dei piani possono avere delle finestre temporali (la macchina che verifica l assemblaggio di XYZ è disponibile dal 1 maggio al 1 giugno (eccetto i fine settimana), ma deve essere prenotata una settimana prima). Le tecniche di ricerca operativa permettono il soddisfacimento di vincoli temporali per un piano completo con ordinamento parziale. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 4

6 Limitazioni di POP: Risorse risorse: budget, personale,... vincoli: max totale, numero max (contemporaneamenteimpiegate)... Le descrizioni di azioni devono incorporare il consumo e la generazione di risorse. Gli algoritmi di pianificazione devono essere in grado di occuparsi efficientemente dei vincoli sulle risorse. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 5

7 Decomposizione gerarchica [V ai(supermercato), Compra(Latte), Compra(Banane), V ai(casa)] [Avanti(1cm), Gira(1grado), Avanti(1cm),...] Decomposizione gerarchica: un operatore astratto può essere decomposto in un gruppo di passi che forma un piano che lo implementa. Riduzione di operatori(riduzione di un operatore ad alto livello a un insieme di operatori di livello più basso) Espansione di operatori (espansione di un operatore, visto come una macro, nella struttura che lo implementa) Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 6

8 Build House decomposes to Obtain Permit Hire Builder Construction Pay Builder decomposes to Build Foundation Build Frame Build Roof Build Walls Build Interior Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 7

9 Pianificazione gerarchica Estendere il linguaggio Strips per permettere operatori non primitivi. Modificare l algoritmo di pianificazione per permettere la sostituzione di un operatore non primitivo con la sua decomposizione. Il piano è completo quando ogni passo è un operatore primitivo. La decomposizione gerarchica è più utile quando gli operatori possono essere decomposti in più di un modo. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 8

10 Estendere il linguaggio Si divide l insieme di operatori in operatori primitivi e non primitivi (ma la distinzione tra primitivo e non primitivo è relativa all agente che eseguirà il piano). Si aggiunge un insieme di metodi di decomposizione Decomponi(o, p): un operatore non primitivo che unifica con o può essere decomposto in un piano p. Decomponi(Costruzione, P iano(passi:{s 1 : Costruisci(F ondamenta), S 2 : Costruisci(Struttura), S 3 : Costruisci(T etto), S 4 : Costruisci(Muri), S 5 : Costruisci(Interni)} Ordinamenti:{S 1 S 2 S 3 S 5, S 2 S 4 S 5 }, Legami:{}, Relazioni:{S F ondamenta 1 S 2, S Struttura 2 S 5, S Muri 4 S 5 })) S 3, S 2 Struttura S 4, S T etto 3 Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 9

11 Correttezza della decomposizione Un piano p realizza correttamente un operatore o se è un piano completo e consistente per il problema di raggiungere gli effetti di o date le precondizioni di o: 1. p deve essere consistente (senza contraddizioni nei vincoli sull ordinamento o sui legami delle variabili di p.) 2. Ogni effetto di o deve essere asserito da almeno un passo di p (e non essere annullato da qualche altro passo successivo di p). 3. Ogni precondizione dei passi di p deve essere raggiunta da un passo di p oppure deve essere una delle precondizioni di o. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 10

12 Modificare il pianificatore Pianificatore a decomposizione gerarchica: HD-POP 1. realizzare dei raffinamenti (scelte indipendenti): (1) raggiungere condizioni non raggiunte nel piano (2) decomporre gli operatori non primitivi 2. l algoritmo prende un piano come input e non solo un obiettivo. 3. modificare Soluzione? per verificare che ogni passo del piano sia primitivo Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 11

13 function HD-POP( plan, operators, methods) returns plan inputs: plan, an abstract plan with start and goal steps (and possibly other steps) loop do if Solution?( plan) then return plan S need, c Select-Sub-Goal( plan) Choose-Operator( plan, operators, S need, c) S nonprim Select-Nonprimitive( plan) Choose-Decomposition( plan, methods, S nonprim ) Resolve-Threats( plan) end Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 12

14 HD-POP Seleziona-Nonprimitivo seleziona arbitrariamente un passo non primitivo del piano Scegli-Decomposizione sceglie ed applica una decomposizione. Se metodo è scelto come decomposizione per il passo S nonprim, allora i campi del piano vengono alterati nel modo seguente: Passi: aggiungere tutti i passi del metodo al piano, rimuovendo S nonprim. Legami: aggiungere tutti i vincoli sui legami delle variabili di metodo al piano. Fallimento se ciò introduce una contraddizione. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 13

15 Ordinamenti Ordinamenti: seguendo il principio del minimo impegno, sostituiamo S a S m a ciascun vincolo di ordinamento della forma S a S nonprim dei vincoli che ordinano S a prima dell ultimo passo (eventualmente più di uno) di metodo (S m è un passo di metodo, e non c è nessun altro S j in metodo tale che S m S j ). Analogamente per S nonprim S z. Quindi chiamiamo Risolvi-Minacce per aggiungere qualsiasi vincolo di ordinamento necessario. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 14

16 Relazioni Relazioni: se S c i S nonprim è una relazione causale di piano, si sostituisce con un insieme di relazioni S c i S m (e i vincoli di ordinamento corrispondenti), dove ciascun S m è un passo di metodo che ha c come precondizione e non esiste alcun passo precedente di metodo che abbia c come precondizione. (Se ci sono diversi passi con c come precondizione, allora si inserisce una relazione causale per ciascuno di essi. Se non ce n è nessuno, allora la relazione causale da S i può essere eliminata, poiché c era una precondizione non necessaria di S nonprim.) Analogamente si sostituisce S c nonprim S j con un insieme di relazioni S c m S j, dove S m è un passo di metodo che ha c come effetto e non c è nessun passo successivo di metodo che abbia c come effetto. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 15

17 Soluzioni astratte soluzione discendente: se p è una soluzione astratta, esiste una soluzione primitiva di cui p è un astrazione; appena trovata una soluzione astratta, possiamo potare tutti gli altri piani astratti dall albero di ricerca; soluzione ascendente: se un piano astratto è inconsistente, allora non esiste alcuna soluzione primitiva di cui il piano rappresenti un astrazione (implica anche che tutte le astrazioni complete di soluzioni primitive sono soluzioni astratte); possiamo potare tutti i discendenti di qualsiasi piano astratto inconsistente. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 16

18 b=3 branching factor: number of decomposition methods per step s=4 steps in a decomposition method d=3 depth of the hierarchical plan Depth d=0 d=1 d=2 d=3 Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 17

19 Complessità Un pianificatore non gerarchico dovrebbe generare un piano di n passi, scegliendo tra b possibilità per ciascuno, impiega un tempo pari a O(b n ) nel caso peggiore ( ) Il pianificatore gerarchico deve guardare sb passi a profondità d = 1. A profondità d = 2, guarda altri sb passi per ciascun passo che decompone, ma ne deve decomporre solo 1/b di essi, per un totale di bs 2. Perciò, il numero totale di piani considerati è: d i=1 bs i = O(bs d ) (252). In generale (senza proprietà delle soluzioni), un pianificatore gerarchico non funziona meglio di un pianificatore non gerarchico nel caso peggiore (anche se meglio nel caso medio). Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 18

20 Watch Hair Happy(He) Happy(She) Watch Hair Watch Comb Happy(She) Start Finish Start Finish Give Comb (a) Initial Problem Watch Hair Give Chain L L Hair Happy(He) Chain (b) Abstract Inconsistent Plan Watch Hair Give Comb (On Credit) Comb Owe(Watch) Happy(She) Watch Deliver Watch L L Watch Owe(Watch) Start Finish Hair Watch Give Chain (On Credit) Chain Owe(Hair) Happy(He) Hair Deliver Hair L L Hair Owe(Hair) (c) Decomposition of (b) into a Consistent Solution Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 19

21 Decomposizione e condivisione Scegli-Decomposizione fa semplicemente la fusione di ciascun passo di decomposizione del piano esistente. Spesso l unica soluzione a un problema comporta l unione di due soluzioni attraverso passi di condivisione piuttosto che la congiunzione di insiemi distinti di passi. si aggiunge un punto di scelta per ogni operatore di una decomposizione in Scegli-Decomposizione (analogo a Scegli-Operatore) si fondono le decomposizioni senza condivisione ma permettendo a dei critici di modificare il piano risultante La scelta tra condividere e fondere passi ha un effetto sull efficienza della pianificazione ed anche sulla completezza. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 20

22 Decomposizione ed approssimazione Pianificazione gerarchica: operatore astratto, non primitivo può essere decomposto in una rete di passi più complessa Gerarchie d astrazione: in cui un singolo operatore può essere pianificato a differenti livelli di astrazione. Al livello primitivo, l operatore ha un insieme completo di precondizioni e effetti; al livelli più alti, il pianificatore ignora alcuni di questi dettagli (gerarchia d approssimazione) Op(Action:Compra(x), Effect:Ha(x) Ha(Denaro), Precond:1: V ende(n egozio, x) 2: A(Negozio) 3: Ha(Denaro)) Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 21

23 Pianificatore a gerarchia d approssimazione Prima si risolve il problema usando solo le precondizioni con criticità 1. Trovata una soluzione, si espande considerando le precondizioni al livello 2, finché sono soddisfatte tutte le precondizioni. Compra 1, che ha solo la precondizione con livello di criticità 1 e ha un singolo metodo di decomposizione Compra 2, che ha precondizioni a criticità 1 e 2 e così via. La decomposizione ha solo un passo e ha tutte le precondizioni e gli effetti dell operatore astratto: vale la proprietà della soluzione ascendente e si realizza un pianificatore a gerarchia d approssimazione con quello a decomposizione gerarchica. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 22

24 Effetti condizionali Mondo dei blocchi: siamo stati costretti a introdurre due operatori con lo scopo di gestire correttamente il predicato Libero: Op(Action:Sposta(b, x, y), Precond:Su(b, x) Libero(b) Libero(y), Effect:Su(b, y) Libero(x) Su(b, x) Libero(y)) Op(Action:SpostaSulT avolo(b, x), Precond:Su(b, x) Libero(b), Effect:Su(b, T avolo) Libero(x) Su(b, x)) Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 23

25 Estensione del linguaggio Sposta(b, x, y) con un effetto condizionale: tavolo allora un effetto è Libero(y). se y non è il effetto when condizione, dove effetto e condizione sono entrambi letterali o congiunzioni di letterali. Op(Action:Sposta(b, x, y), Precond:Su(b, x) Libero(b) Libero(y), Effect:Su(b, y) Libero(x) Su(b, x) Libero(y) when y T avolo) Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 24

26 Pianificatore: scelta delle precondizioni Seleziona-Sottobiettivo decide se una precondizione c in un effetto condizionale della forma e when c è candidata per la selezione. Se l effetto e fornisce una condizione protetta da una relazione causale, allora si può selezionare c, ma non quando c è la relazione causale, che implica che il piano non funzionerà a meno che non sia vera anche c. Il pianificatore per il mondo dei blocchi non ha alcuna necessità di stabilire y T avolo perché Libero(y) perché non è (di solito) necessaria come precondizione di qualche altro passo del piano. Quindi si può usare il tavolo per mettere un blocco che non deve essere un posto speciale. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 25

27 Modifica del pianificatore: minacce In Risolvi-Minacce qualsiasi passo che abbia l effetto ( c when p) è una possibile minaccia per la relazione causale S c i S j ogni volta che c e c unificano. Possiamo risolvere la minaccia assicurando che p non sia valido. Questa tecnica viene chiamata confronto. Nel mondo dei blocchi se è necessario che un dato blocco sia libero per effettuare qualche passo, l operatore Sposta(b, x, y) può minacciare questa condizione se y non è istanziata. La minaccia si verifica solo se y T avolo; il confronto rimuove la minaccia ponendo y = T avolo. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 26

28 procedure Resolve-Threats(plan) for each S c i S j in Links( plan) do for each S threat in Steps( plan) do for each c in Effect(S threat ) do if Subst(Bindings( plan), c) = Subst(Bindings( plan), c ) then choose either Promotion: Add S threat S i to Orderings( plan) Demotion: Add S j S threat to Orderings( plan) Confrontation: if c is (c when p) then Choose-Operator( plan, operators, S threat, p) Resolve-Threats( plan) if not Consistent( plan) then fail end end end Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 27

29 Obiettivi negati La tecnica del confronto chiama Scegli-Operatore con l obiettivo p: fino ad ora tutti gli obiettivi (e le precondizioni) sono letterali positivi. Per i letterali negati negli obiettivi dobbiamo verificare che gli effetti rispecchino ancora l obiettivo assicurare che la nostra funzione di unificazione permetta di associare p e p. Inoltre per lo stato iniziale: un obiettivo della forma p può essere soddisfatto o con un effetto esplicito che unifica con p o con lo stato iniziale, se non contiene p. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 28

30 Precondizioni disgiuntive Se scegliamo un passo con una precondizione della forma p q in Seleziona-Sottobiettivo, scegliamo in modo non deterministico di restituire p o q e di riservare l altro come punto di backtracking. Qualsiasi operatore con la precondizione p q potrebbe essere sostituito con due operatori, uno con p come precondizione e uno con q, ma allora il pianificatore dovrebbe vincolarsi all uno o all altro. Mantenere le condizioni in un singolo operatore ci permette di rimandare l assunzione dell impegno. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 29

31 Effetti disgiuntivi Modificano l ambiente da deterministico a non deterministico. Un effetto disgiuntivo è usato per modellare effetti casuali o effetti che non sono determinati dalle precondizioni dell operatore. Ad esempio, l operatore Lancia(moneta) avrebbe l effetto disgiuntivo T esta(moneta) Croce(moneta). Gli effetti disgiuntivi e la pianificazione con azioni non deterministiche sono, in generale, difficili da trattare. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 30

32 Quantificazione universale Precondizioni quantificate universalmente: invece di scrivere Libero(b) come precondizione, si usa l espressione x Blocco(x) Su(x, b) Effetti quantificati universalmente: l operatore T rasporta(borsa, x, y) ha l effetto che tutti gli oggetti che sono nella borsa siano in y e non più in x. Op(Action:T rasporta(borsa, x, y), Precond:Borsa(borsa) A(borsa, x), Effect:A(borsa, y), A(borsa, x) i Articolo(i) (A(i, y) A(i, x)) when In(i, borsa)) Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 31

33 Universo finito Si considerano solo mondi con un universo di oggetti: finito, statico e tipato la condizione quantificata universalmente viene soddisfatta per enumerazione. La descrizione dello stato iniziale deve contenere tutti gli oggetti e assegnare a ciascuno un tipo, specificato come predicato unario. Borsa(B) Articolo(I 1 ) Articolo(I 2 ) Articolo(B) È possibile che un oggetto abbia più di un tipo: B è sia una borsa sia un articolo. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 32

34 Universo statico Gli oggetti menzionati nello stato iniziale non possono cambiare tipo o essere distrutti e non può essere creato alcun oggetto nuovo. Nessun operatore, eccetto Inizia, può avere Borsa(x) o Borsa(x) come effetto. Avere un universo finito, statico e tipato significa che possiamo espandere sempre questa formula in una espressione congiuntiva equivalente senza quantificatori: [ x T (x) C(x)] C(X 1 )... C(X n ) dove X 1,..., X n sono gli oggetti nello stato iniziale che soddisfano T (x). Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 33

35 Esempio Stato iniziale: Borsa(B) Latte(M 1 ) Latte(M 2 ) Latte(M 3 ) Espressione: x Latte(x) In(x, B) Espansione: In(M 1, B) In(M 2, B) In(M 3, B) Il pianificatore espande obiettivi quantificati universalmente per eliminare il quantificatore. Per gli effetti quantificati universalmente non è necessario espandere l effetto, vengono trattati da Risolvi-Minacce per riconoscere le minacce Scegli-Operatore che lo può usare per le relazioni causali. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 34

36 Domini dinamici Alcuni domini sono dinamici in quanto gli oggetti vengono creati o distrutti o cambiano il loro tipo nel tempo. I piani in cui gli oggetti vengono prima generati e poi usati, sembrano abbastanza naturali. Si trattano specificando tipi statici generali nelle espressioni quantificate universalmente e usando predicati aggiuntivi dinamici unari per fare discriminazioni più sottili. Gli oggetti che possono esistere potenzialmente in grandi quantità indifferenziate possono essere spesso trattati come risorse. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 35

37 function Select-Sub-Goal( plan) returns plan, precondition conjunct pick a plan step S need from Steps( plan) with a precondition conjunct c that has not been achieved if c is a universally quantified expression then return S need, Expansion(c) else if c is a disjunction c 1 c 2 then return S need, choose(c 1, c 2 ) else return S need, c Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 36

38 procedure Choose-Operator(plan, operators, S need, c) choose a step S add from operators or Steps( plan) that has c add as an effect such that u = Unify(c, c add, Bindings( plan)) if there is no such step then fail u u without the universally quantified variables of c add add u to Bindings( plan) add S c add S need to Links( plan) add S add S need to Orderings( plan) if S add is a newly added step from operators then add S add to Steps( plan) add Start S add F inish to Orderings( plan) Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 37

39 procedure Resolve-Threats(plan) for each S c i S j in Links( plan) do for each S threat in Steps( plan) do for each c in Effect(S threat ) do if Subst(Bindings( plan), c) = Subst(Bindings( plan), c ) then choose either Promotion: Add S threat S i to Orderings( plan) Demotion: Add S j S threat to Orderings( plan) Confrontation: if c is (c when p) then Choose-Operator( plan, operators, S threat, p) Resolve-Threats( plan) if not Consistent( plan) then fail end end end Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 38

40 POP-DUNC La funzione Seleziona-Sottobiettivo è stata modificata per espandere le precondizioni quantificate universalmente e per scegliere uno dei due modi possibili per soddisfare una precondizione disgiuntiva. Scegli-Operatore è stata modificata solo leggermente, per trattare correttamente le variabili quantificate universalmente. Risolvi-Minacce è modificato per includere il confronto come metodo per risolvere una minaccia da un effetto condizionale. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 39

41 Vincoli sulle risorse Problema: esprimere una precondizione come Ha($1.89) Possiamo rappresentare nello stato iniziale tutte le monete e le banconote nel mondo: Dollaro(d 1 ) Dollaro(d 2 ) Quarto(q 1 ).... Possiamo poi aggiungere metodi di decomposizione per enumerare i modi in cui è possibile avere un dollaro. Dobbiamo stare attenti ai vincoli di disuguaglianza, perché non vorremmo che l obiettivo Ha($2.00) venga soddisfatto da Ha(d 1 ) Ha(d 1 ). La rappresentazione finale sarebbe fattibile, ma totalmente inadatta alla pianificazione. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 40

42 Usare misure in pianificazione Una misura è una quantità di qualcosa, come denaro o volume, valutata numericamente. Ci si può riferire alle misure attraverso termini logici come $(1.50) o Galloni(6) o LivelloBenzina. Le funzioni di misure come V olume si applicano a oggetti come BenzinaInM acchina per produrre misure: LivelloBenzina = V olume(benzinainm acchina) = Galloni(6). Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 41

43 Dichiarazione di misure I pianificatori che usano misure tipicamente richiedono che siano dichiarate con l informazione dell intervallo associato. $(0) Contante Galloni(0) LivelloBenzina Galloni(15) $(1.00) P rezzou nitario(benzina) Galloni(1) $(1.50) $(1.00) P rezzou nitario(latte) Quarti(1) $(1.50) Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 42

44 Risorse Le misure come il prezzo della benzina sono realtà di cui il pianificatore si deve occupare, ma su cui ha poco controllo. Altre misure, come Contante e LivelloBenzina, sono trattate come risorse che possono essere prodotte e consumate. Ci sono operatori come Guida che richiedono e consumano la risorsa LivelloBenzina e ci sono operatori come F aiilp ieno che aumentano la risorsa LivelloBenzina (mentre consumano parte della risorsa Contante). Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 43

45 Esempio Op(Action:Inizia, Effetto: Contante $(12.50) LivelloBenzina Galloni(5). L azione Compra riduce la somma di Contante che si ha: Op(Action:Compra(x, negozio), Effect:Ha(x) Contante Contante P rezzo(x, negozio)) Rifornirsi di benzina può essere descritto da un operatore astratto F aiilp ieno: Op(Action:F aiilp ieno(livellobenzina), Effetto: LivelloBenzina Galloni(15) Contante Contante (P rezzou nitario(benzina) (Galloni(15) LivelloBenzina))) Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 44

46 Precondizioni per le misure I limiti superiori e inferiori dichiarati servono come precondizioni implicite per ciascun operatore. Compra(x) ha la precondizione implicita Contante P rezzo(x) per assicurare che la quantità sarà all interno dell intervallo dopo l azione. Una verifica grossolana sulle risorse tiene conto dei valori minimi e massimi possibili di ciascuna quantità in ogni passo del piano. Tutti i pianificatori pratici come Sipe, O-Plan e Deviser hanno meccanismi per la collocazione di risorse. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 45

47 Vincoli temporali Nella maggior parte dei casi il tempo può essere trattato come qualsiasi altra risorsa. Lo stato iniziale specifica un tempo d inizio per il piano, ad esempio, T empo 8:30. Quindi possiamo dire quanto tempo consuma ciascuna operazione. Un effetto di F aiilp ieno è T empo T empo + Minuti(3) + (Secondi(10)/Gall(1)) (Gall(15) LivelloBenzina)) Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 46

48 Tempo e risorse le azioni che sono eseguite in parallelo consumano il massimo dei rispettivi tempi e non la somma i vincoli sulle risorse di tempo devono essere consistenti con vincoli di ordinamento. Cioè, se S i S j è uno dei vincoli di ordinamento, allora T empo a S i deve essere minore di T empo a S j. il tempo non torna mai indietro: nessun operatore genera tempo invece di consumarlo. Perciò, se lo stato obiettivo specifica una scadenza (un tempo massimo) e si ha un piano parziale i cui passi richiedono più tempo di quello che è permesso, si può fare backtracking immediatamente, senza considerare alcun completamento del piano. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 47

49 Applicazioni industriali Problema: assemblaggio di materie grezze e componenti e assemblarli in prodotti finiti. Esempio tipico: una linea di produzione con 350 prodotti differenti, 35 macchine di assemblaggio e più di 2000 operazioni differenti. Il pianificatore deve determinare uno scheduling di 30 giorni per tre turni di 8 ore al giorno. un compito di pianificazione (per decidere quali passi di assemblaggio saranno eseguiti) un compito di scheduling (per decidere quando e dove ciascun passo verrà eseguito) Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 48

50 O-Plan O-Plan è simile a POP, esteso per rappresentare tempo, risorse e piani gerarchici. Accetta euristiche per guidare la ricerca e registra le ragioni di ciascuna scelta, rendendo la ripianificazione più facile quando è necessaria. la pianificazione delle commesse software alla Price Waterhouse, la pianificazione del processo di assemblaggio dell asse posteriore alla Jaguar Cars la pianificazione completa della produzione industriale alla Hitachi Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 49

51 ISIS Le industrie con minore differenziazione dei prodotti seguono spesso un piano fissato, ma possono ancora aver bisogno di scheduling automatizzato. Il sistema Isis è stato sviluppato specificamente per lo scheduling ad applicato alla fabbricazione di componenti di turbine della Westinghouse. Isis usa una ricerca gerarchica con minimo impegno per trovare piani di alta qualità che soddisfino tutti i requisiti. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 50

52 Scheduling per missioni spaziali errori possono essere costosi e/o irrecuperabili effetti in genere prevedibili Telescopio spaziale Hubble Navicelle spaziali: Voyager, Uosat-II e ERS-1 L obiettivo è dirigere gli strumenti di osservazione, i trasmettitori di segnali e i meccanismi di controllo dell assetto e della velocità, in modo da massimizzare il valore delle informazioni acquisite dalle osservazioni, pur rispettando i vincoli sulle risorse di tempo ed energia. Simile allo scheduling di attività di reparto Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 51

53 SIPE Sipe (System for Interactive Planning and Execution monitoring) primo pianificatore ad occuparsi del problema della ripianificazione e il primo a compiere dei passi importanti in direzione di operatori espressivi. pianificazione delle operazioni sul ponte di volo di una portaerei scheduling delle attività di reparto di una fabbrica di birra pianificazione della la costruzione di edifici a più piani Sipe permette vincoli sugli stati, la definizione di classi di oggetti e un insieme espressivo di vincoli. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 52

54 Vantaggi della pianificazione automatica Approccio classico: piano costruito manualmente scheduling fatto con tecniche di ricerca operativa La pianificazione automatica comporta un lavoro di modellazione e rappresentazione delle risorse, ma consentono di ripianificare agevolmente a fronte di cambiamenti. Intelligenza Artificiale Daniele Nardi, 2003 Pianificazione 53

Tipologie di pianificatori. Pianificazione. Partial Order Planning. E compiti diversi. Pianificazione gerarchica. Approcci integrati

Tipologie di pianificatori. Pianificazione. Partial Order Planning. E compiti diversi. Pianificazione gerarchica. Approcci integrati Tipologie di pianificatori Pianificazione Intelligenza Artificiale e Agenti II modulo Pianificazione a ordinamento parziale (POP) (HTN) pianificazione logica (SatPlan) Pianificazione come ricerca su grafi

Dettagli

Ricerca non informata in uno spazio di stati

Ricerca non informata in uno spazio di stati Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_2 V2.4 Ricerca non informata in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli

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

Logica del primo ordine

Logica del primo ordine Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A7_4 V1.3 Logica del primo ordine Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio

Dettagli

Logica del primo ordine

Logica del primo ordine Logica del primo ordine Sistema formale sviluppato in ambito matematico formalizzazione delle leggi del pensiero strette relazioni con studi filosofici In ambito Intelligenza Artificiale logica come linguaggio

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

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

Algebra di Boole ed Elementi di Logica

Algebra di Boole ed Elementi di Logica Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

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

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni

Dettagli

LIVELLO STRATEGICO E TATTICO

LIVELLO STRATEGICO E TATTICO Corso di Laurea Triennale in INGEGNERIA GESTIONALE Anno Accademico 2012/13 Prof. Davide GIGLIO 1 ESEMPI DI PROBLEMI DECISIONALI LIVELLO STRATEGICO Capacity growth planning LIVELLO TATTICO Aggregate planning

Dettagli

Prolog: aritmetica e ricorsione

Prolog: aritmetica e ricorsione Capitolo 13 Prolog: aritmetica e ricorsione Slide: Aritmetica e ricorsione 13.1 Operatori aritmetici In logica non vi è alcun meccanismo per la valutazione di funzioni, che è fondamentale in un linguaggio

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

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Progettazione concettuale Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

Dettagli

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:!

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:! Scrum descrizione I Principi di Scrum I Valori dal Manifesto Agile Scrum è il framework Agile più noto. E la sorgente di molte delle idee che si trovano oggi nei Principi e nei Valori del Manifesto Agile,

Dettagli

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Cos è l Ingegneria del Software?

Cos è l Ingegneria del Software? Cos è l Ingegneria del Software? Corpus di metodologie e tecniche per la produzione di sistemi software. L ingegneria del software è la disciplina tecnologica e gestionale che riguarda la produzione sistematica

Dettagli

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata Supponiamo sempre di avere un ponte stretto che permette il passaggio delle auto solo in un verso per volta,

Dettagli

Data Alignment and (Geo)Referencing (sometimes Registration process)

Data Alignment and (Geo)Referencing (sometimes Registration process) Data Alignment and (Geo)Referencing (sometimes Registration process) All data aquired from a scan position are refered to an intrinsic reference system (even if more than one scan has been performed) Data

Dettagli

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE Il problema Un computer è usato per risolvere dei problemi Prenotazione di un viaggio Compilazione e stampa di un certificato in un ufficio comunale Preparazione

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Studente: SANTORO MC. Matricola : 528

Studente: SANTORO MC. Matricola : 528 CORSO di LAUREA in INFORMATICA Corso di CALCOLO NUMERICO a.a. 2004-05 Studente: SANTORO MC. Matricola : 528 PROGETTO PER L ESAME 1. Sviluppare una versione dell algoritmo di Gauss per sistemi con matrice

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Ricapitoliamo. Ricapitoliamo

Ricapitoliamo. Ricapitoliamo Ricapitoliamo Finora ci siamo concentrati sui processi computazionali e sul ruolo che giocano le procedure nella progettazione dei programmi In particolare, abbiamo visto: Come usare dati primitivi (numeri)

Dettagli

Guida alle offerte di finanziamento per le medie imprese

Guida alle offerte di finanziamento per le medie imprese IBM Global Financing Guida alle offerte di finanziamento per le medie imprese Realizzata da IBM Global Financing ibm.com/financing/it Guida alle offerte di finanziamento per le medie imprese La gestione

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

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

Il Business Process Management: nuova via verso la competitività aziendale

Il Business Process Management: nuova via verso la competitività aziendale Il Business Process Management: nuova via verso la competitività Renata Bortolin Che cosa significa Business Process Management? In che cosa si distingue dal Business Process Reingeneering? Cosa ha a che

Dettagli

Dall italiano al linguaggio della logica proposizionale

Dall italiano al linguaggio della logica proposizionale Dall italiano al linguaggio della logica proposizionale Dall italiano al linguaggio della logica proposizionale Enunciati atomici e congiunzione In questa lezione e nelle successive, vedremo come fare

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

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

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

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi

Dettagli

Istruzioni per il controllo di ciclo - ciclo a condizione generica

Istruzioni per il controllo di ciclo - ciclo a condizione generica Istruzioni per il controllo di ciclo - ciclo a condizione generica Permette di ripetere l esecuzione di un blocco di istruzioni finchè non viene verificata una condizione logica. Sintassi istruzione_1...

Dettagli

e-spare Parts User Manual Peg Perego Service Site Peg Perego [Dicembre 2011]

e-spare Parts User Manual Peg Perego Service Site Peg Perego [Dicembre 2011] Peg Perego Service Site Peg Perego [Dicembre 2011] 2 Esegui il login: ecco la nuova Home page per il portale servizi. Log in: welcome to the new Peg Perego Service site. Scegli il servizio selezionando

Dettagli

Teoria della misurazione e misurabilità di grandezze non fisiche

Teoria della misurazione e misurabilità di grandezze non fisiche Teoria della misurazione e misurabilità di grandezze non fisiche Versione 12.6.05 Teoria della misurazione e misurabilità di grandezze non fisiche 1 Il contesto del discorso (dalla lezione introduttiva)

Dettagli

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 Download Si può scaricare gratuitamente la versione per il proprio sistema operativo (Windows, MacOS, Linux) dal sito: http://www.codeblocks.org

Dettagli

Modal 2 Modulo Analisi modale Modulo per l Analisi della dinamica strutturale.

Modal 2 Modulo Analisi modale Modulo per l Analisi della dinamica strutturale. Modal 2 Modulo Analisi modale Modulo per l Analisi della dinamica strutturale. L analisi modale è un approccio molto efficace al comportamento dinamico delle strutture, alla verifica di modelli di calcolo

Dettagli

Che cosa abbiamo fatto fin ora. Perché? Agente basato su conoscenza. Introduzione alla rappresentazione della conoscenza

Che cosa abbiamo fatto fin ora. Perché? Agente basato su conoscenza. Introduzione alla rappresentazione della conoscenza Che cosa abbiamo fatto fin ora Introduzione alla rappresentazione della conoscenza ovvero Come costruire agenti basati su conoscenza e dotati di capacità di ragionamento Maria Simi, 2014/2015 Abbiamo trattato:

Dettagli

METODI ITERATIVI PER SISTEMI LINEARI

METODI ITERATIVI PER SISTEMI LINEARI METODI ITERATIVI PER SISTEMI LINEARI LUCIA GASTALDI 1. Metodi iterativi classici Sia A R n n una matrice non singolare e sia b R n. Consideriamo il sistema (1) Ax = b. Un metodo iterativo per la soluzione

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

Criteri di valutazione e certificazione della sicurezza delle informazioni. Cesare Gallotti Milano, 14 maggio 2004 1

Criteri di valutazione e certificazione della sicurezza delle informazioni. Cesare Gallotti Milano, 14 maggio 2004 1 Criteri di valutazione e certificazione della sicurezza delle informazioni Cesare Gallotti Milano, 14 maggio 2004 1 AGENDA Introduzione Valutazione dei prodotti Valutazione dell organizzazione per la sicurezza

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

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

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

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Attività 9. La città fangosa Minimal Spanning Trees

Attività 9. La città fangosa Minimal Spanning Trees Attività 9 La città fangosa Minimal Spanning Trees Sommario la nostra società ha molti collegamenti in rete: la rete telefonica, la rete energetica, la rete stradale. Per una rete in particolare, ci sono

Dettagli

Il mondo in cui viviamo

Il mondo in cui viviamo Il mondo in cui viviamo Il modo in cui lo vediamo/ conosciamo Dalle esperienze alle idee Dalle idee alla comunicazione delle idee Quando sono curioso di una cosa, matematica o no, io le faccio delle domande.

Dettagli

Esercizi sull Association Analysis

Esercizi sull Association Analysis Data Mining: Esercizi sull Association Analysis 1 Esercizi sull Association Analysis 1. Si consideri il mining di association rule da un dataset T di transazioni, rispetto a delle soglie minsup e minconf.

Dettagli

General Linear Model. Esercizio

General Linear Model. Esercizio Esercizio General Linear Model Una delle molteplici applicazioni del General Linear Model è la Trend Surface Analysis. Questa tecnica cerca di individuare, in un modello di superficie, quale tendenza segue

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti Project Management Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Project Management 2 Metodi per supportare le decisioni relative alla gestione di progetti esempi sono progetti nell

Dettagli

Dall italiano alla logica proposizionale

Dall italiano alla logica proposizionale Rappresentare l italiano in LP Dall italiano alla logica proposizionale Sandro Zucchi 2009-10 In questa lezione, vediamo come fare uso del linguaggio LP per rappresentare frasi dell italiano. Questo ci

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

STRUTTURE (O COSTRUTTI) DI CONTROLLO

STRUTTURE (O COSTRUTTI) DI CONTROLLO Le strutture di controllo Le strutture di controllo STRUTTURE (O COSTRUTTI) DI CONTROLLO determinano l ordine con cui devono essere eseguite le istruzioni sono indipendenti dalla natura delle istruzioni

Dettagli

1) IL MOMENTO DI UNA FORZA

1) IL MOMENTO DI UNA FORZA 1) IL MOMENTO DI UNA FORZA Nell ambito dello studio dei sistemi di forze, diamo una definizione di momento: il momento è un ente statico che provoca la rotazione dei corpi. Le forze producono momenti se

Dettagli

Analisi dei requisiti e casi d uso

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

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi. 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A.

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A. Università di Venezia Corso di Laurea in Informatica Laboratorio di Informatica Applicata Introduzione all IT Governance Lezione 5 Marco Fusaro KPMG S.p.A. 1 CobiT: strumento per la comprensione di una

Dettagli

Il ciclo di vita del software

Il ciclo di vita del software Il ciclo di vita del software Il ciclo di vita del software Definisce un modello per il software, dalla sua concezione iniziale fino al suo sviluppo completo, al suo rilascio, alla sua successiva evoluzione,

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

9. Urti e conservazione della quantità di moto.

9. Urti e conservazione della quantità di moto. 9. Urti e conservazione della quantità di moto. 1 Conservazione dell impulso m1 v1 v2 m2 Prima Consideriamo due punti materiali di massa m 1 e m 2 che si muovono in una dimensione. Supponiamo che i due

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

DOCUMENTO DI SINTESI STRATEGIA DI ESECUZIONE E TRASMISSIONE DEGLI ORDINI BANCA CENTROPADANA CREDITO COOPERATIVO

DOCUMENTO DI SINTESI STRATEGIA DI ESECUZIONE E TRASMISSIONE DEGLI ORDINI BANCA CENTROPADANA CREDITO COOPERATIVO DOCUMENTO DI SINTESI STRATEGIA DI ESECUZIONE E TRASMISSIONE DEGLI ORDINI LA NORMATIVA MIFID BANCA CENTROPADANA CREDITO COOPERATIVO Novembre 2010 La Markets in Financial Instruments Directive (MiFID) è

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

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

Dettagli

P a s q u a l e t t i V e r o n i c a

P a s q u a l e t t i V e r o n i c a PHP: OOP Pasqualetti Veronica Oggetti Possiamo pensare ad un oggetto come ad un tipo di dato più complesso e personalizzato, non esistente fra i tipi tradizionali di PHP, ma creato da noi. 2 Gli oggetti

Dettagli

Introduzione al linguaggio C Gli array

Introduzione al linguaggio C Gli array Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome

Dettagli

Prof. Caterina Rizzi Dipartimento di Ingegneria Industriale

Prof. Caterina Rizzi Dipartimento di Ingegneria Industriale RUOLO DELLA MODELLAZIONE GEOMETRICA E LIVELLI DI MODELLAZIONE PARTE 2 Prof. Caterina Rizzi... IN QUESTA LEZIONE Modelli 2D/3D Modelli 3D/3D Dimensione delle primitive di modellazione Dimensione dell oggettoy

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

Dettagli

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore Cicli in Visual Basic for Application Le strutture del programma che ripetono l'esecuzione di una o più istruzioni sono chiamate Cicli. Alcune strutture per i cicli sono costruite in modo da venire eseguite

Dettagli

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam. Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 Dynamic Host Configuration Protocol fausto.marcantoni@unicam.it Prima di iniziare... Gli indirizzi IP privati possono essere

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli

Dettagli

Anno di corso: 2004/2005. Istruzioni. Istruzioni per lo svolgimento dei progetti didattici. versione 1.1

Anno di corso: 2004/2005. Istruzioni. Istruzioni per lo svolgimento dei progetti didattici. versione 1.1 versione 1.1 per lo svolgimento dei progetti didattici Corso di Laboratorio di Programmazione II Prof. Luca Forlizzi Anno Accademico 2004-2005 GENERALITÀ...3 Scopo del documento...3 Struttura del documento...3

Dettagli

Ricognizione di alcune Best Practice

Ricognizione di alcune Best Practice Linee guida sulla qualità dei beni e dei servizi ICT per la definizione ed il governo dei contratti della Pubblica Amministrazione Manuale di riferimento Ricognizione di alcune Best Practice applicabili

Dettagli

LIBRO DELLE REGOLE UFFICIALI Versione 8.0

LIBRO DELLE REGOLE UFFICIALI Versione 8.0 EDIZIONE IN ITALIANO LIBRO DELLE REGOLE UFFICIALI Versione 8.0 Indice Informazioni sul gioco... 1 1 2 3 Come Iniziare Per duellare hai bisogno delle seguenti cose... 2 Carte del Gioco Carte Mostro... 6

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

Elementi di semantica denotazionale ed operazionale

Elementi 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

Dettagli

CMMI-Dev V1.3. Capability Maturity Model Integration for Software Development, Version 1.3. Roma, 2012 Ercole Colonese

CMMI-Dev V1.3. Capability Maturity Model Integration for Software Development, Version 1.3. Roma, 2012 Ercole Colonese CMMI-Dev V1.3 Capability Maturity Model Integration for Software Development, Version 1.3 Roma, 2012 Agenda Che cos è il CMMI Costellazione di modelli Approccio staged e continuous Aree di processo Goals

Dettagli

LEAR ITALIA MES/LES PROJECT

LEAR ITALIA MES/LES PROJECT LEAR ITALIA MES/LES PROJECT La peculiarità del progetto realizzato in Lear Italia da Hermes Reply è quello di integrare in un unica soluzione l execution della produzione (con il supporto dell RFID), della

Dettagli

FUNZIONI AVANZATE DI EXCEL

FUNZIONI AVANZATE DI EXCEL FUNZIONI AVANZATE DI EXCEL Inserire una funzione dalla barra dei menu Clicca sulla scheda "Formule" e clicca su "Fx" (Inserisci Funzione). Dalla finestra di dialogo "Inserisci Funzione" clicca sulla categoria

Dettagli

APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI

APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI Le disequazioni fratte Le disequazioni di secondo grado I sistemi di disequazioni Alessandro Bocconi Indice 1 Le disequazioni non lineari 2 1.1 Introduzione.........................................

Dettagli

Business Process Management

Business Process Management Business Process Management Comprendere, gestire, organizzare e migliorare i processi di business Caso di studio a cura della dott. Danzi Francesca e della prof. Cecilia Rossignoli 1 Business process Un

Dettagli

Funzioni. Corso di Fondamenti di Informatica

Funzioni. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Funzioni Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e dei

Dettagli

Guida ai Parametri di negoziazione dei mercati regolamentati organizzati e gestiti da Borsa Italiana

Guida ai Parametri di negoziazione dei mercati regolamentati organizzati e gestiti da Borsa Italiana Guida ai Parametri di negoziazione dei mercati regolamentati organizzati e gestiti da Borsa Italiana Versione 04 1/28 INTRODUZIONE La Guida ai Parametri contiene la disciplina relativa ai limiti di variazione

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

REALIZZARE UN MODELLO DI IMPRESA

REALIZZARE UN MODELLO DI IMPRESA REALIZZARE UN MODELLO DI IMPRESA - organizzare e gestire l insieme delle attività, utilizzando una piattaforma per la gestione aziendale: integrata, completa, flessibile, coerente e con un grado di complessità

Dettagli

Quando troncare uno sviluppo in serie di Taylor

Quando troncare uno sviluppo in serie di Taylor Quando troncare uno sviluppo in serie di Taylor Marco Robutti October 13, 2014 Lo sviluppo in serie di Taylor di una funzione è uno strumento matematico davvero molto utile, e viene spesso utilizzato in

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

E SE IL TUO SMARTPHONE INDOSSASSE GLI OCCHIALI?

E SE IL TUO SMARTPHONE INDOSSASSE GLI OCCHIALI? E SE IL TUO SMARTPHONE INDOSSASSE GLI OCCHIALI? Buona Caccia e Buon Volo, giovani amici di Eureka! Siete tra gli eletti che hanno deciso di passare al livello successivo: site pronti? Questo mese vi proponiamo

Dettagli

Un programma GOLOG è un azione complessa, che viene ridotta ad azioni primitive, corrispondenti ad azioni reali nel dominio di applicazione.

Un programma GOLOG è un azione complessa, che viene ridotta ad azioni primitive, corrispondenti ad azioni reali nel dominio di applicazione. GOLOG GOLOG è un linguaggio di programmazione ad altissimo livello che permette di modellare comportamenti complessi in un mondo che evolve dinamicamente. Nei linguaggi di programmazione standard i programmi

Dettagli

SCHEMA DI DOCUMENTO DI SINTESI STRATEGIA DI ESECUZIONE E TRASMISSIONE DEGLI ORDINI BCC del Carso

SCHEMA DI DOCUMENTO DI SINTESI STRATEGIA DI ESECUZIONE E TRASMISSIONE DEGLI ORDINI BCC del Carso SCHEMA DI DOCUMENTO DI SINTESI STRATEGIA DI ESECUZIONE E TRASMISSIONE DEGLI ORDINI BCC del Carso LA NORMATIVA MIFID La Markets in Financial Instruments Directive (MiFID) è la Direttiva approvata dal Parlamento

Dettagli

Il test valuta la capacità di pensare?

Il test valuta la capacità di pensare? Il test valuta la capacità di pensare? Per favore compili il seguente questionario senza farsi aiutare da altri. Cognome e Nome Data di Nascita / / Quanti anni scolastici ha frequentato? Maschio Femmina

Dettagli