Intelligenza Artificiale Ing. Tiziano Papini
|
|
|
- Rosa Sacchi
- 10 anni fa
- Просмотров:
Транскрипт
1 Intelligenza Artificiale Ing. Tiziano Papini Web:
2 Constraint Satisfaction metodi costruttivi Intelligenza Artificiale - CSP Tiziano Papini
3 Metodi Costruttivi Si parte da uno stato privo di assegnamenti e si cerca di immettere valori senza violare i vincoli. In questo caso si formalizza un CSP come un PS e si risolve attraverso tecniche di Search. Stato: assegnamento di valori dal dominio D i a variabili X i X 0 : assegnamento vuoto {} Successor function: un valore per ogni var non assegnata consistente con quelle già assegnate Goal test: assegnamento completo senza violazione di vincoli Costo di cammino: costante per ogni step Intelligenza Artificiale - CSP Tiziano Papini
4 Metodi Costruttivi vantaggi Commutatività del CSP: l ordine degli assegnamenti è indifferente (non interessa il percorso), quindi: Op: genera nodi da una sola variabile (qualsiasi) Non c è bisogno di memorizzare il cammino Non c è bisogno di calcolare il costo di cammino La profondità dell albero è finita e conosciuta: d = numero di variabili da assegnare Gli algoritmi depth-first sono i più usati Le soluzioni proposte non violano i vincoli e svantaggi Grosso problema: le grandi dimensioni che può assumere D i che definisce il branching factor Intelligenza Artificiale - CSP Tiziano Papini
5 Backtracking Search E una ricerca Depth-First (per problemi CSP) in cui si espande facendo assegnamenti ad una sola variabile per volta. E l algoritmo base per i CSP. 1. assignment = {}; 2. STACK.insert(assignment); 3. do if (STACK.isEmpty()) return failure; assignment = STACK.remove(); if (complete(assignment)) return assignment; STACK.insertAll (expand(assignment)); while (true); Intelligenza Artificiale - CSP Tiziano Papini
6 Backtracking - simulazione Empty assignment 1 st variable 2 nd variable 3 rd variable Assignment = {(X {(X = {} {(X 1 1 =v11),(x 1 1 =v11),(x =v11)} =v11)} =v21),(x =v22)} =v21)} 2 =v21)} 3 =v31)} =v32)} Intelligenza Artificiale - CSP Tiziano Papini
7 Backtracking - simulazione Intelligenza Artificiale - CSP Tiziano Papini
8 Migliorare il backtracking (I) La ricerca Depth-First semplice non è molto efficiente. (Come già visto in PS). Nel PS si introduce un informazione problem-specific (euristiche) per migliorare le prestazioni della ricerca. Il framework CSP permette di ottenere euristiche generali problem-independent considerando il concetto di espansione. Espandere vuol dire assegnare dei valori ad una variabile a scelta senza violare i vincoli. Intelligenza Artificiale - CSP Tiziano Papini
9 Migliorare il backtracking (II) Dal concetto di espansione: La scelta della variabile da espandere è determinante! L ordine d inserimento dei valori nello STACK è determinante! Le euristiche general-purpose del Constraint Programming rispondono quindi alle seguenti domande: 1. Quale variabile scegliere per l espansione? 2. In che ordine provare i valori? 3. E possibile scoprire in anticipo dei fallimenti? Intelligenza Artificiale - CSP Tiziano Papini
10 Scelta della Variabile (I) Minimum Remaining Values (MRV) Heuristic: Si sceglie la variabile con il minor numero di valori legali (non viola nessun vincolo) rimanenti. MRV è anche detta: Most Constrained Variable Heuristic Fail First Heuristic Cheapest First Heuristic Vantaggi: Riduce il branching factor (da cui cheapest first) Porta più facilmente ad un fallimento superficiale (da cui fail first) con conseguente backtracking e quindi aiuta a potare l albero. Intelligenza Artificiale - CSP Tiziano Papini
11 Scelta della Variabile (II) L euristica del grado (o most constraining variable ) Heuristic: In alcuni casi conviene scegliere la variabile coinvolta in più vincoli Riduce il branching factor delle scelte future Degree Heuristic ed è spesso associata a MRV (come un tiebreaker perchè è meno informativa di MRV). Intelligenza Artificiale - CSP Tiziano Papini
12 Scelta del Valore Least Constraining Value (LCV) Heuristic: Preferisci i valori che lasciano il più grande sottoinsieme di valori legali per le variabili non assegnate (numero di scelte possibili rispetto alle variabili adiacenti). E il criterio di ordinamento dell espansione L euristica LCV può permettere di arrivare più in fretta ad una soluzione Se una soluzione non c è, o se ci serve trovarle tutte, l euristica LCV non ha alcuna utilità; L idea è che si danno maggiori possibilità alla ricerca di trovare futuri assegnamenti legali. Intelligenza Artificiale - CSP Tiziano Papini
13 Evitare i fallimenti La LCV Heuristic richiede il controllo previo del numero di valori rimanenti per variabile. Per fare questo si adotta il forward checking. Il Forward checking può essere utilizzato contemporaneamente per anticipare i dead-end. Per ogni variabile non-assegnata si tiene traccia del subset di valori ancora legali. Ogni volta che v è assegnato a X i : per ogni variabile non ass. X j connessa a X i da un vincolo si cancella dal dominio D j ogni valore inconsistente con v Intelligenza Artificiale - CSP Tiziano Papini
14 Forward Checking E applicabile all interno dell algoritmo di backtracking come tecnica per stabilire quando tornare indietro. Ogni volta che si raggiunge uno stato non-consistente (con almeno una variabile priva di valori rimasti node-consistency) si effettua il backtracking. Intelligenza Artificiale - CSP Tiziano Papini
15 Forward Checking (es: colorazione grafo) WA NT SA Q V NSW T Nell esempio non vengono adottate le altre euristiche WA NT Q NSW V SA T RGB RGB RGB RGB RGB RGB RGB Intelligenza Artificiale - CSP Tiziano Papini
16 Forward Checking (es: colorazione grafo) WA NT SA Q V NSW T Nell esempio non vengono adottate le altre euristiche WA NT Q NSW V SA T RGB RGB RGB RGB RGB RGB RGB R RGB RGB RGB RGB RGB RGB Forward checking rimuove il RED da NT e da SA Intelligenza Artificiale - CSP Tiziano Papini
17 Forward Checking (es: colorazione grafo) WA NT SA Q V NSW T Nell esempio non vengono adottate le altre euristiche WA NT Q NSW V SA T RGB RGB RGB RGB RGB RGB RGB R GB RGB RGB RGB GB RGB R GB G RGB RGB GB RGB Intelligenza Artificiale - CSP Tiziano Papini
18 Forward Checking (es: colorazione grafo) WA NT SA Q V NSW T Nell esempio non vengono adottate le altre euristiche WA NT Q NSW V SA T RGB RGB RGB RGB RGB RGB RGB R GB RGB RGB RGB GB RGB R B G RB RGB B RGB R B G RB B B RGB Intelligenza Artificiale - CSP Tiziano Papini
19 Forward Checking (es: colorazione grafo) WA NT SA Q V NSW T Nell esempio non vengono adottate le altre euristiche WA NT Q NSW V SA T RGB RGB RGB RGB RGB RGB RGB R GB RGB RGB RGB GB RGB R GB G RGB RG GB RGB Intelligenza Artificiale - CSP Tiziano Papini
20 Forward Checking (es: colorazione grafo) WA NT SA Q V NSW T Nell esempio non vengono adottate le altre euristiche WA NT Q NSW V SA T RGB RGB RGB RGB RGB RGB RGB R GB RGB RGB RGB GB RGB R B G RB RGB B RGB R B G RB G B RGB Intelligenza Artificiale - CSP Tiziano Papini
21 Arc Consistency (Waltz, 72) Il metodo dell arc-consistency usa un constraint graph orientato; Un arco (X,Y ) è detto consistente se per ogni valore legale di X esiste un valore legale di Y ; L idea dell arco-consistenza è di far sì che ogni arco (orientato) nel grafo dei vincoli sia consistente; Si procede per eliminazione dei valori che generano inconsistenze. Se si elimina un valore di una variabile X, occorre ricontrollare tutti gli archi (Y,X); L arc consistency può essere usata o in fase di preprocessing, o dopo ciascuna assegnazione durante una ricerca incrementale. Intelligenza Artificiale - CSP Tiziano Papini
22 Arc Consistency (Waltz, 72) Forward Checking stabilisce un criterio di stop, ma non prevede i fallimenti con anticipo. In figura, per esempio, NT e SA sono entrambe Blu: nessuna soluzione è raggiungibile! Arc-consistency: per evitare di dead-end ci dobbiamo assicurare che, per ogni vincolo, rimanga un insieme di valori assegnabili alle variabili vincolate. Intelligenza Artificiale - CSP Tiziano Papini
23 Contraint Propagation Arc-consistency può essere usato come controllo a supporto del backtracking dopo ogni assegnamento. Individua i dead-end prima di Forward Checking. Contraint Propagation: L approccio può però essere generalizzato facendo ripetutamente il controllo di arcconsistency, rimuovendo i valori che non la garantiscono. Intelligenza Artificiale - CSP Tiziano Papini
24 Contraint Propagation Intelligenza Artificiale - CSP Tiziano Papini
25 Algoritmi di Arc Consistency Invece di affrontare un CSP facendo search sulle variabili, si effettua un search sui vincoli (gli archi della CN). Si parte da una configurazione con i domini delle variabili pieni. Se un arco è inconsistente lo si rende consistente rimuovendo i valori inconsistenti. L arco x i x j (arco diretto) è definito consistente iff: v D i v D j cioè per ogni valore di V i esiste un assegnamento legale di V j. Quando si è reso consistente ogni arco allora si ritorna l assegnamento delle variabili come soluzione. Intelligenza Artificiale - CSP Tiziano Papini
26 AC-3 (Mackworth, 77) AC-3 ARCS = {tutti gli archi della CN}; while (!ARCS.isEmpty()) (X i,x j ) ARCS.remove(); if (REMOVE-INC-VALUES(X i,x j )==true) for all X k in NEIGHBORS[X i ] ARCS.put(X k, X i ); REMOVE-INC-VALUES(X i,x j ) boolean removed = false; for all v in DOMAIN(X i ) if no value v in DOMAIN(X j ) satisfies (X i,x j ) DOMAIN(X i ).remove(v); removed = true; return removed; Intelligenza Artificiale - CSP Tiziano Papini
27 L algoritmo AC-3: Complessità di calcolo Un CSP binario ha al massimo O(n 2 ) archi; Se d è la massima cardinalità dei domini delle variabili, ogni arco (X,Y ) può essere inserito in coda al massimo d volte (perché Y ha al massimo d valori da cancellare); La consistenza di un arco si può controllare in tempo O(d 2 ); La complessità di calcolo di AC-3 è O(n 2 d 3 ). Intelligenza Artificiale - CSP Tiziano Papini
28 K-Consistency Generalizzazione del concetto di arc-consistency da coppie a gruppi di variabili: Un grafo è K-consistente se per ogni assegnamento legale di K-1 variabili esiste sempre un valore legale per ogni K-esima variabile V k nel grafo dei vincoli. Strong k-consistency = i-consistency per ogni i da 1 a k Node-consistency = strong 1-consistency Arc-consistency = strong 2-consistency Path-consistency = strong 3-consistency Un CSP con N variabili che sia strongly N-consistent, è risolvibile senza backtracking. Un CSP strongly K-consistent, è risolvibile senza backtracking se si trova l ordinamento di variabili appropriato. Intelligenza Artificiale - CSP Tiziano Papini
29 Migliorare il backtracking (III) Abbiamo sin qui visto tecniche di look-ahead che mirano ad evitare i dead-end (profondi). Possiamo anche migliorare il backtracking con tecniche di look-back: Backjump Constraint recording Backtracking: si torna indietro alla variabile precedentemente assegnata Backjumping: si torna indietro direttamente alla variabile che a creato problemi. Intelligenza Artificiale - CSP Tiziano Papini
30 Backjumping Motivazione: il motivo di un fallimento non si trova per forza nell ultima coppia di assegnamenti, ma in assegnamenti precedenti. Backjumping = non-chronological backtracking. x 1 x 2 x 3 Fare backtracking a x 5 non cambia niente. Si rimane in un dead-end. x 4 x 5 x 6 x 7 Per un backtracking efficace va scelta un altra variabile (secondo un criterio a scelta es: conflict set). x Intelligenza Artificiale - CSP Tiziano Papini
31 Conflict Set Si tiene traccia in CS[x i ] delle variabili assegnate, anche una sola, che entrano in conflitto con qualche valore presente in D i. Nogood variables. Directed-conflict Backtracking torna direttamente all assegnamento (+ recente) causa del dead-end. si rimuovono le decisioni intermedie e si aggiorna CS[] {} x 1 {1} 1 1 x 2 {1,2} x 3 {1,2,3} X 4 {1,2,3,4} x 5 {1,2,3,4} x x 7 x Directed-conflict Backtracking Ha il vantaggio di accelerare il processo di backtracking Intelligenza Artificiale - CSP Tiziano Papini
32 Dynamic Backtracking (Ginsberg, 90, 92) E un non-chronological backtracking (backjumping) che: torna alla variabile nogood causa del dead-end NON rimuove le decisioni intermedie, ma ricostruisce l albero eliminando un solo assegnamento X 1 = 1 X 2 = 3 X 3 = 5 X 4 = 2 X 5 = 4 X 1 = 1 X 2 = 3 X 3 = 5 X 5 = 4 Stabilire la variabile effettivamente causa del dead-end non è sempre ovvio Intelligenza Artificiale - CSP Tiziano Papini
33 Dynamic Backtracking (es: crossword generation) A 3A 5A 1D 2D 4D AS FUN GO IT NAG NO IN TAD TO IF SAG DO IS LA AT NUT NUL 1 I 2 N 1 I 2 N 1 I 2 N 1 I 2 N 1 I 2 N U 4 3 F U 4 3 F U 4 N 3 F U 4 N 5 5 L 5 L 5 L 5 T O 1A 2D 1D 3A 5A Intelligenza Artificiale - CSP Tiziano Papini
34 Dynamic Backtracking (es: crossword generation) (Ginsberg, 90) ha usato: euristica MRV (cheapest-first) euristica LCV min-look = 10 sul backtracking Schema di hashing (degli ingressi del dizionario) per calcolare rapidamente il dominio (matching dei pattern) 1 position 2 position 3 position A position B C il valore k è alto se l ingresso k del dizionario contiene la data lettera i alla data posizione j Schemi grandi (15x15) riempiti in pochi secondi! Intelligenza Artificiale - CSP Tiziano Papini
35 Euristiche e discrepanze In molti problemi reali lo spazio di ricerca è talmente vasto che si deve far ricorso a delle euristiche: Suggeriscono un assegnamento da fare Dipendono strettamente dal problema (es: nella generazione di cruciverba preferire le parole con vocali o lettere comuni). Gli algoritmi devono gestire l errore dell euristica: seguire sempre l euristica può portare ad una inconsistenza gli errori si verificano più spesso nelle prime fasi della ricerca Il numero di errori dell euristica è tipicamente ridotto Si usa il concetto di discrepanza : assegnamento per il quale non viene seguito il suggerimento dell euristica. L idea è che seguendo le indicazioni dell euristica, tranne in poche occasioni (discrepanze), si può arrivare rapidamente ad una soluzione. Intelligenza Artificiale - CSP Tiziano Papini
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
Intelligenza Artificiale Ing. Tiziano Papini
Intelligenza Artificiale Ing. Tiziano Papini Email: [email protected] Web: http://www.dii.unisi.it/~papinit Constraint Satisfaction Introduzione Intelligenza Artificiale - CSP Tiziano Papini - 2011
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
La programmazione con vincoli in breve. La programmazione con vincoli in breve
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
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:
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
Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >
Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego
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
Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale
Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale di Francesco Maria Milizia [email protected] Model Checking vuol dire cercare di stabilire se una formula è vera
Capitolo 3: Cenni di strategia
Capitolo 3: Cenni di strategia Le "Mobilità" L obiettivo fondamentale del gioco è, naturalmente, catturare semi, ma l obiettivo strategico più ampio è di guadagnare il controllo dei semi in modo da poter
TSP con eliminazione di sottocicli
TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79
Intelligenza Artificiale. Metodi di ricerca
Intelligenza Artificiale Metodi di ricerca Marco Piastra Metodi di ricerca - 1 Ricerca nello spazio degli stati (disegno di J.C. Latombe) I nodi rappresentano uno stato Gli archi (orientati) una transizione
Ottimizzazione Multi Obiettivo
Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali
A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
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
SODDISFACIMENTO DI VINCOLI
SODDISFACIMENTO DI VINCOLI Molti problemi di AI possono essere visti come problemi di soddisfacimento di vincoli. Obiettivo: trovare uno stato del problema che soddisfi un dato insieme di vincoli. Esempio:
Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
e e Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario e ed implementazione in Java Visita di un grafo e e Concetti di base Struttura
Esercizi su. Funzioni
Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità
Intelligenza Artificiale
Intelligenza Artificiale Esercizi e Domande di Esame Tecniche di Ricerca e Pianificazione Esercizi Griglia Si consideri un ambiente costituito da una griglia n n in cui si muove un agente che può spostarsi
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
Le Macchine di Turing
Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella
Ricerca Automatica. Esercitazione 3. Ascensore. Ascensore. Ascensore
Ascensore Ricerca Automatica Esercitazione In un grattacielo ci sono coppie formate da marito e moglie. Il cancello delle scale viene chiuso e l unico modo per scendere è con l ascensore che può portare
Schedulazione delle attività di un progetto in presenza di multi-calendari e di vincoli sulle risorse
Schedulazione delle attività di un progetto in presenza di multi-calendari e di vincoli sulle risorse Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR
ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi
ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,
Lezione 4 Le code. Informatica. 26 Aprile 2016. Le pizze devono essere preparate e consegnate seguendo l ordine di arrivo degli ordini
Lezione 4 Le code Informatica 26 Aprile 2016 Bender il pizzaiolo robot Bender ha aperto una pizzeria da asporto con i suoi amici: Dr. Zoidberg risponde al telefono e riceve gli ordini Bender prepara le
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
Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.
PROGETTO SeT Il ciclo dell informazione Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. Scuola media Istituto comprensivo di Fagagna (Udine) Insegnanti referenti: Guerra Annalja, Gianquinto
Modello di Controllo dell Accesso basato sui ruoli (RBAC)
Modello di Controllo dell Accesso basato sui ruoli (RBAC) POLITICHE RBAC Sistemi di tipo Role Based Access Control (RBAC) assegnano i privilegi non agli utenti, ma alla funzione che questi possono svolgere
Computational Game Theory
Computational Game Theory Vincenzo Bonifaci 24 maggio 2012 5 Regret Minimization Consideriamo uno scenario in cui un agente deve selezionare, più volte nel tempo, una decisione tra un insieme di N disponibili:
UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA
UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA Tutti gli anni, affrontando l argomento della divisibilità, trovavo utile far lavorare gli alunni sul Crivello di Eratostene. Presentavo ai ragazzi una
Esercizio su MT. Svolgimento
Esercizio su MT Definire una macchina di Turing deterministica M a nastro singolo e i concetti di configurazione e di transizione. Sintetizzare una macchina di Turing trasduttore che trasformi un numero
Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI
119 4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI Indice degli Argomenti: TEMA N. 1 : INSIEMI NUMERICI E CALCOLO
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
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
Ricerca informata. Scelta dell euristica
Ricerca informata Scelta dell euristica SMA* (Simplified Memory-Bounded A*) SMA* espande sempre la foglia migliore finché la memoria è piena A questo punto deve cancellare un nodo in memoria SMA* cancella
CONTROLLO DI GESTIONE DELLO STUDIO
CONTROLLO DI GESTIONE DELLO STUDIO Con il controllo di gestione dello studio il commercialista può meglio controllare le attività svolte dai propri collaboratori dello studio nei confronti dei clienti
Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso
Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso Flusso di costo minimo È dato un grafo direzionato G = (N, A). Ad ogni arco (i, j) A è associato il costo c ij
(a cura di Francesca Godioli)
lezione n. 12 (a cura di Francesca Godioli) Ad ogni categoria della variabile qualitativa si può assegnare un valore numerico che viene chiamato SCORE. Passare dalla variabile qualitativa X2 a dei valori
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
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
TSP con eliminazione di sottocicli
TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57
Alcuni Preliminari. Prodotto Cartesiano
Alcuni Preliminari Prodotto Cartesiano Dati due insiemi A e B, si definisce il loro prodotto cartesiano A x B come l insieme di tutte le coppie ordinate (a,b) con a! A e b! B. Es: dati A= {a,b,c} e B={,2,3}
CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
Esercizi Capitolo 2 - Analisi di Algoritmi
Esercizi Capitolo - Analisi di Algoritmi Alberto Montresor 19 Agosto, 014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare
Gestione della Memoria
Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,
Ammortamento di un debito
Algoritmi e dintorni: Ammortamento di un debito: Ricerca del tasso Prof. Ettore Limoli Ammortamento di un debito In questa nostra trattazione non ci addentreremo in problemi di matematica finanziaria o
Algoritmi di Visita di Grafi. Damiano Macedonio [email protected]
lgoritmi di Visita di rafi amiano Macedonio [email protected] Original work opyright lberto Montresor, Università di Trento, Italy Modifications opyright 00 0, Moreno Marzolla, Università di ologna, Italy
Gestione del conflitto o della negoziazione
1. Gestione del conflitto o della negoziazione Per ognuna delle 30 coppie di alternative scegli quella che è più vera per te. A volte lascio che siano gli altri a prendersi la responsabilità di risolvere
Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)
Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) 1 Aprire Access Appare una finestra di dialogo Microsoft Access 2 Aprire un
Uso di base delle funzioni in Microsoft Excel
Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce
I modelli di qualità come spinta allo sviluppo
I modelli di qualità come spinta allo sviluppo Paolo Citti Ordinario Università degli studi di Firenze Presidente Accademia Italiana del Sei Sigma 2005 1 Si legge oggi sui giornali che l azienda Italia
APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)
ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,
Guida all Applicazione. Tesseramento
Guida all Applicazione Tesseramento 1 Questa applicazione permette di gestire rapidamente il tesseramento e il rinnovo dei Soci. E possibile effettuare ricerche rapide, tesseramento singolo o di più soci
Tecniche di riconoscimento statistico
On AIR s.r.l. Tecniche di riconoscimento statistico Applicazioni alla lettura automatica di testi (OCR) Parte 4 Reti neurali per la classificazione Ennio Ottaviani On AIR srl [email protected]
Organizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
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.
B+Trees. Introduzione
B+Trees Introduzione B+Trees Il B+Trees e la variante maggiormente utilizzata dei BTrees BTrees e B+trees fanno parte della famiglia degli alberi di ricerca. Nel B+Trees i dati sono memorizzati solo nelle
b i 1,1,1 1,1,1 0,1,2 0,3,4
V o Appello // RICERCA OPERATIVA - Corso A (a.a. 9/) Nome Cognome: Corso di Laurea: L C6 LS LM Matricola: ) Si consideri il problema di flusso di costo minimo in figura. Si verifichi se il flusso ammissibile
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ù
Ricorsione in SQL-99. Introduzione. Idea di base
Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione
PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)
PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo
Calcolatori Elettronici. La memoria gerarchica La memoria virtuale
Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e
Deadlock e Starvation
DTI / ISIN / Titolo principale della presentazione 1 Deadlock e Starvation Amos Brocco, Ricercatore, DTI / ISIN 3 aprile 2012 Condivisione di risorse In un sistema si trovano delle risorse che possono
Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica
Crittografia Corso di Laurea Specialistica in Informatica Primalità e Fattorizzazione Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano Bicocca
Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi
Università degli Studi di L Aquila Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Prof. Gaetanino Paolone Dott. Ottavio Pascale a.a.2003-2004 Progetto Campo
B-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in:
B-Tree Prof. Rudolf Bayer Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in: Filesystem: btrfs, NTFS, ReiserFS, NSS, XFS, JFS
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
Manutenzione e manutenzione preventiva: un investimento fondamentale per abbattere i costi e migliorare l efficienza produttiva di macchine e impianti
Manutenzione e manutenzione preventiva: un investimento fondamentale per abbattere i costi e migliorare l efficienza produttiva di macchine e impianti Marco Viganò Omron Electronics Gruppo HMI e Software
GUIDA AL PRONTUARIO MOBILE
GUIDA AL PRONTUARIO MOBILE 1 SOMMARIO Installazione...3 Configurazione...3 Utilizzo...3 Note...10 INDICE DELLE FIGURE Figura 1: schermata di presentazione...4 Figura 2: schermata di login...4 Figura 3:
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
Reti sequenziali sincrone
Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T
Rappresentazione grafica di entità e attributi
PROGETTAZIONE CONCETTUALE La progettazione concettuale, ha il compito di costruire e definire una rappresentazione corretta e completa della realtà di interesse, e il prodotto di tale attività, è lo schema
Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
RISOLUTORE AUTOMATICO PER SUDOKU
RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU
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
Normalizzazione. Relazionali
Normalizzazione di Schemi Relazionali Normalizzazione Forme Normali Una forma normale è una proprietà di uno schema relazionale che ne garantisce la qualità, cioè l assenza di determinati difetti Una relazione
f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da
Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede
Schedulazione delle attività di un progetto in presenza di multi-calendari
Schedulazione delle attività di un progetto in presenza di multi-calendari Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR 1102/2010 La gestione dell
Alberi binari di ricerca
Alberi binari di ricerca Definizione Visita dell albero inorder Ricerca Ricerca minimo, massimo e successore. Inserimento ed eliminazione di un nodo Problema del bilanciamento dell albero Albero binario
CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique
CPM - PERT CPM - PERT CPM e PERT sono metodologie per la gestione di progetti composti da più attività in cui esistano relazioni di precedenza. Critical Path Method Project Evaluation and Review Technique
Istruzioni per leggere bene. Istruzioni per leggere bene
Istruzioni per leggere bene A cura di Silvana Loiero 1 La lettura orientativa La prima: farsi un idea generale La seconda: identificare le parti La terza: scorrere indici e sintesi La quarta: leggere rapidamente
PROMOZIONI ISTRUZIONI DI UTILIZZO
PROMOZIONI ISTRUZIONI DI UTILIZZO Prima di iniziare ad utilizzare le nuove promozioni, assicurarsi di aver posto un segno di spunta alla voce Usa nuove promozioni (versione BETA) da Menu File > Preferenze
Ricerca Operativa e Logistica
Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 2011/2012 Lezione 10: Variabili e vincoli logici Variabili logiche Spesso nei problemi reali che dobbiamo affrontare ci sono dei
NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.
NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti
regola(1,[e,f],b) regola(2,[m,f],e) regola(3,[m],f) regola(4,[b,f],g) regola(5,[b,g],c) regola(6,[g,q],a)
ESERCIZIO1 PREMESSA Per risolvere problemi spesso esistono delle regole che, dai dati del problema, permettono di calcolare o dedurre la soluzione. Questa situazione si può descrivere col termine regola(,
