Intelligenza Artificiale. Problem Solving -Agenti risolutori di problemi
|
|
|
- Gaspare Raimondi
- 9 anni fa
- Visualizzazioni
Transcript
1 Intelligenza Artificiale Problem Solving -Agenti risolutori di problemi
2 Ragionare per cercare soluzioni Un problema viene risolto ricercandone la soluzione in un ampio spazio di possibili soluzioni. La ricerca di una soluzione è la traduzione della conoscenza in una rappresentazione opportuna del mondo composta fra stati (situazioni del mondo) e in un insieme di operatori per passare da un o stato ad un altro.
3 Conoscenza: informazioni su cui ragionare per agire razionalmente Agire per risolvere problemi Formulazione dell obiettivo Organizza il comportamento, limitando il numero degli scopi da raggiungere Si basa sulla situazione corrente e sulle capacità del soggetto Formulazione del problema Processo che porta a decidere quali azioni da compiere dato un obiettivo La selezione della sequenza di azioni che porta all obiettivo è detta ricerca
4 Ragionare per cercare soluzioni Un agente con diverse opzioni immediate di esito sconosciuto può decidere cosa fare esaminando prima le differenti sequenze possibili di azioni che conducono a stati di esito conosciuto scegliendo, poi, quella migliore. Il processo di cercare tale sequenza è chiamato ricerca. L idea è quella di mantenere ed estendere un insieme di sequenze di soluzioni parziali. È utile pensare al processo di ricerca come la costruzione di un albero di ricerca i cui nodi sono stati e i cui rami sono operatori.
5 Risoluzione di problemi Gran parte dei problemi di Intelligenza Artificiale hanno la ricerca (o controllo) come componente fondamentale. I problemi si possono modellare come Problemi di Ricerca in uno spazio degli stati (Strategie di Ricerca).
6 Risoluzione di problemi Spazio degli stati Lo spazio degli stati è l insieme di tutti gli stati raggiungibili dallo stato iniziale con una qualunque sequenza di operatori. E caratterizzato da: Uno stato iniziale in cui l agente sa di trovarsi (non noto a priori); Un insieme di azioni possibili che sono disponibili da parte dell agente (Operatori che trasformano uno stato in un altro o più formalmente una funzione successore S(X) che riceve in ingresso uno stato e restituisce l insieme degli stati raggiungibili). Un cammino è una sequenza di azioni che conduce da uno stato a un altro.
7 Risoluzione di problemi Un algoritmo di ricerca prende un problema come input e restituisce una soluzione sotto forma di una sequenza di azioni Un agente razionale semplice opera quindi in tre fasi Formulazione del problema Ricerca della soluzione Esecuzione della sequenza di azioni
8 Risoluzione di problemi Un semplice agente risolutore di problemi NB durante l esecuzione delle azioni le percezioni vengono ignorate: si ipotizza che la soluzione funzioni sempre
9 Risoluzione di problemi Poiché durante l esecuzione delle azioni le percezioni vengono ignorate si ipotizza che l ambiente sia statico ed osservabile L idea poi di esaminare sequenze di azioni porta a pensare che l ambiente possa essere considerato discreto Infine si presuppone che l ambiente sia deterministico
10 Risoluzione di Problemi Problemi ben definiti e soluzioni Un problema è definito da un goal e dall insieme di strumenti a disposizione per raggiungerlo. La prima fase della risoluzione di un problema è la formulazione del problema. In questa fase, oltre a dare una buona definizione del goal, bisogna decidere quali sono le azioni, quale è lo spazio degli stati (insieme degli stati raggiungibili) e quale è lo stato da cui si parte (stato iniziale).
11 Risoluzione di Problemi A partire dallo stato iniziale bisogna trovare una sequenza di azioni, soluzione, che soddisfi l obiettivo E essenziale scegliere delle azioni, e quindi degli stati, che permettano di formulare soluzioni al giusto livello di dettaglio (processo di astrazione).
12 Risoluzione di Problemi L esecuzione di ogni azione ha un costo, che può variare da azione ad azione, che costituisce il criterio utilizzato nella ricerca della soluzione migliore. Quindi, ad ogni sequenza di azioni è possibile assegnare un costo complessivo (somma dei costi associati alle varie azioni), per valutare quale sia la soluzione migliore (soluzione ottima).
13 Risoluzione di Problemi La scelta della sequenza corrisponde alla seconda fase della risoluzione di un problema e viene individuata con il nome di ricerca. Infine, trovata la soluzione, nella terza fase, detta di esecuzione, le azioni sono eseguite per raggiungere il goal.
14 Risoluzione di Problemi Misurare l efficacia della ricerca: Si riesce a trovare una soluzione? È una buona soluzione? (con basso costo di cammino costo in linea) Qual è il costo della ricerca? (tempo per trovare una soluzione costo fuori linea) Costo totale della soluzione = costo di cammino + costo di ricerca. Scegliere stati e azioni ->L importanza dell astrazione
15 Risoluzione di Problemi Un esempio: vacanza in Romania. Attualmente in Arad. L aereo parte domani da Bucarest. Formulare un goal: esssere in Bucarest Formulare un problema: stati: varie città operatori: guidare da una città all altra Trovare una soluzione: sequenza di città, es: Arad, Sibiu, Faragas, Bucarest
16 Risoluzione di Problemi
17 Classi di Problemi I problemi possono poi essere divisi in quattro classi in dipendenza della conoscenza che si ha sullo stato del mondo e sulle azioni che si possono eseguire su di esso: Problemi a stato singolo (single-state problems) si ha conoscenza dello stato del mondo e degli effetti delle azioni (problema deterministico e osservabile). Problemi a stato multiplo (multiple-state or conformant problems) si ha conoscenza completa degli effetti delle azioni, ma non dello stato del mondo (problema non osservabile).
18 Classi di Problemi Problemi con imprevisti (contingency problems): alcune azioni possono avere effetti non del tutto determinati (incertezza, malfunzionamenti ecc.). Sono problemi non deterministici e,parzialmente osservabile. Spesso per la soluzione è necessario agire (e verificare l effetto della propria azione) prima di avere trovato una soluzione (interleave di ricerca e esecuzione). Problemi di esplorazione (exploration problems): non si ha conoscenza né sullo stato del mondo né sugli effetti delle azioni. Lo spazio degli stati è sconosciuto. E necessario apprendere i possibili stati del mondo e gli effetti delle proprie azioni attraverso l esperienza.
19 Risoluzione di problemi Formulazione di un problema a singolo stato: stato iniziale: essere in Arad operatori: Arad -> Zerind, Arad -> Sibiu etc. test obiettivo: La funzione successore S fa passare dallo stato x agli stati S(x). L insieme degli stati raggiungibili definisce lo spazio degli stati. esplicito: in Bucarest implicito: NonSporco(x) costo del cammino: es. Somma delle distanze, numero di operatori applicati, etc. soluzione: una sequenza di operatori che porta da uno stato iniziale a uno stato obiettivo.
20 Esempi di Problemi Problemi giocattolo (modelli semplificati di classi di problemi reali): Il problema dell 8-puzzle (versione ridotta del gioco del 15) Il problema delle 8 regine (disporre 8 regine su una scacchiera in modo che nessuna dia scacco alle altre) Le parole crociate (spazio di ricerca amplissimo) Il problema dei tre missionari e dei tre cannibali (trasportare 3 m. e 3 c. da un lato a un altro di un fiume con una barca a due posti in modo tale che sulle 2 rive non ci siano mai c. in sovrannumero rispetto ai m.)
21 Esempi di Problemi Una tipica istanza del rompicapo dell 8 Si hanno otto tessere scorrevoli numerate in una griglia 3 3. Le tessere possono scorrere nelle quattro direzioni (su, giù, destra e sinistra) ma solo se vanno ad occupare la posizione lasciata vuota. Lo scopo è quello di ordinare le tessere, lasciando lo spazio vuoto in fondo. Pur esistendo 9! = possibili disposizioni dei numeri nelle caselle, gli stati raggiungibili usando gli operatori consentiti sono , ovvero circa la metà, e solo uno di questi è quello vincente.
22 Esempi di Problemi Una tipica istanza del rompicapo dell 8 Stati: uno stato specifica la posizione di ciascuna delle 8 tessere. Operatori: lo spazio vuoto si muove a destra, a sinistra, sopra, sotto. Test obiettivo: lo stato rispecchia la configurazione obiettivo (Goal). Costo del cammino: ciascun passo costa 1. Il costo del cammino coincide con la sua lunghezza.
23 Esempi di problemi Il problema delle 8 regine Si dispongono 8 regine su una scacchiera 8 8 facendo in modo che queste non si mangino l'una con l'altra e tenendo presente che le regine dominano in orizzontale, verticale e lungo le diagonali.
24 Esempi di problemi Il problema delle 8 regine Stati: qualsiasi configurazione da 0 a 8 regine sulla scacchiera. Operatori: aggiungi una regina in qualsiasi quadrato Test obiettivo: 8 regine sulla scacchiera, nessuna minacciata. Costo cammino: 0 (perche conta solo lo stato finale). 64 x 63 x x 57 sequenze da considerare
25 Esempi di problemi Il problema dei Missionari e dei Cannibali: 3 missionari e 3 cannibali devono attraversare un fiume. C'è una sola barca che può contenere al massimo due persone. Per evitare di essere mangiati i missionari non devono mai essere meno dei cannibali sulla stessa sponda (stati di fallimento). Stato: sequenza ordinata di tre numeri che rappresentano il numero di missionari, cannibali e barche sulla sponda del fiume da cui sono partiti. Stato iniziale è: (3,3,1) (importanza dell astrazione). Operatori: gli operatori devono portare in barca 1 missionario, 1 cannibale, 2 missionari, 2 cannibali, 1 missionario e 1 cannibale. Al più 5 operatori (grazie all astrazione sullo stato scelta). Test Obiettivo: (0,0,0) Costo di cammino: numero di traversate.
26 Risoluzione di Problemi Problemi giocattolo (toy problem) Scopo: valutare i diversi metodi di risoluzione Descritto in modo sintetico e preciso, può essere usato da diversi ricercatori per confrontare le prestazioni
27 Esempi di Problemi Problemi reali Il calcolo di un percorso su un grafo Il problema del commesso viaggiatore (date n città, trovare il percorso più breve che passa una e una sola volta per ciascuna di esse) Il disegno di un layout VLSI La navigazione di robot Il calcolo di una sequenza di assemblaggio
28 Esempi di problemi
29 Esempi di Problemi Classi di problemi: Problemi a stato singolo Problemi a stato multiplo SEARCH Problemi di contingenza PLANNING Problemi di esplorazione LEARNING
30 Risoluzione di Problemi: toy problem Il mondo dell aspirapolvere: problema a stato singolo Due soli stati : A, B Percezioni: In quale stato si trova, se c è lo sporco Azioni: Aspirare lo sporco Muoversi a destra o a sinistra Test obiettivo Non c è sporco nè a destra nè a sinistra Azioni: destra, sinistra, aspira
31 Risoluzione di Problemi Il mondo dell aspirapolvere Funzione successore Genera gli stati legali che risulta dal tentativo di intrapprendere le azioni {1,2,3,4,5,6,7,8,} Spazio degli stati L agente si trova in uno dei due riquadri possibili, ognuno dei quali può contenere sporco oppure no (2x2^2=8) Azioni: destra, sinistra, aspira
32 Risoluzione di problemi Mondo dell aspirapolvere (singolo stato). Stati: uno degli 8 stati della figura. Operatori: spostati a destra, spostati a sinistra, aspira. Test obiettivo: non lasciare alcuna sporcizia nei quadrati. Costo del cammino: ciascuna azione costa 1. Risolvere il problema da uno stato di partenza comporta seguire le frecce nel diagramma degli stati fino a uno stato obiettivo.
33 Problemi stati singoli vs. stati multipli Problema a stati singoli: Lo stato è sempre accessibile. L agente conosce esattamente che cosa produce ciascuna delle sue azioni e può calcolare esattamente in quale stato sarà dopo qualunque sequenza di azioni. Problema a stati multipli: Lo stato non è completamente accessibile. L agente deve ragionare su possibili stati che potrebbe raggiungere. In più: anche l effetto delle azioni può essere sconosciuto o imprevisto. Agente deve ragionare su insiemi di stati piuttosto che su stati singoli
34 Risoluzione di problemi Mondo dell aspirapolvere : senza sensori: (problema a stato multiplo). In ogni istante l apirapolvere si trova in uno stato di un insieme ma non sa quale stato dell insieme è. Stati: sottoinsiemi degli stati 1-8 della figura. Operatori: spostati a destra, spostati a sinistra, aspira. Test obiettivo: tutti gli stati dell insieme degli stati non contengono sporcizia. Costo del cammino: ciascuna azione costa 1. Una soluzione del problema è una qualsiasi sequenza che porti dall insieme iniziale degli stati ad un insieme di stati senza sporcizia.
35 Esempi di Problemi Problemi di contingenza PLANNING conoscenza incompleta degli effetti delle azioni: le conseguenze dell azione non sono predicibili e quindi vanno considerati tutti possibili effetti: alcune azioni possono avere malfunzionamenti SOLUZIONE : alberi di stati
36 Risoluzione di problemi Mondo dell aspirapolvere con legge di Murphy: non deterministico (problema di contigenza). Aspirare talvolta deposita sporco, ma solo se in quel punto non c e gia sporcizia (legge di Murphy). Se l aspirapolvere si trova in 4 aspirare potrebbe rimanere nello stato 4 oppure andare a finire nello stato 2 Se ho capacita di rilevamento durante la fase di esecuzione ecco che posso scegliere l azione di aspirare solo nel caso ci sia sporcizia
37 Esempi di Problemi Problemi di esplorazione LEARNING nessuna informazione degli effetti delle azioni nessuna informazione dello stato del mondo l agente deve compiere azioni esplorative, provare ad agire
38 Cercare soluzioni I problemi che i sistemi basati sulla conoscenza devono risolvere sono non-deterministici (don't know) In un certo istante più azioni possono essere svolte (azioni: applicazioni di operatori)
39 Cercare soluzioni Passi da seguire: 1. Determinazione obiettivo 2. Formulazione del problema 3. Determinazione della soluzione mediante ricerca 4. Esecuzione del piano
40 Cercare soluzioni Stato iniziale Operatori: stato -> stato (funzione successore) Spazio degli stati insieme di tutti gli stati raggiungibili dallo stato iniziale attraverso qualsiasi sequenza di azioni Test obiettivo: stato -> {true, false} Costo del cammino: assegna un costo ad ogni cammino (somma dei costi delle azioni), spesso indicata con g Un cammino nello spazio degli stati e semplicemente una qualsiasi sequenza di azioni che conduce da uno stato all altro
41 Risoluzione di Problemi Vacanza in Romania
42 Risoluzione di problemi stato iniziale: essere in Arad operatori: Arad -> Zerind, Arad -> Sibiu etc. test obiettivo: La funzione successore S fa passare dallo stato x agli stati S(x). L insieme degli stati raggiungibili definisce lo spazio degli stati. esplicito: in Bucarest costo del cammino: es. Somma delle distanze, numero di operatori applicati, etc. soluzione: una sequenza di operatori che porta da uno stato iniziale a uno stato obiettivo.
43 Cercare soluzioni Generare sequenze di azioni. Espansione: si parte da uno stato e applicando gli operatori (o la funzione successore) si generano nuovi stati. Strategia di ricerca: ad ogni passo scegliere quale stato espandere. Albero di ricerca: rappresenta l espansione degli stati a partire dallo stato iniziale (la radice dell albero). Le foglie dell albero rappresentano gli stati da espandere.
44 Cercare soluzioni Albero di ricerca parziale per trovare un itinerario da Arad a Bucarest.
45 Cercare soluzioni Strutture dati per l albero di ricerca (struttura di un nodo). Lo stato nello spazio degli stati a cui il nodo corrisponde. Il nodo genitore. L operatore che è stato applicato per ottenere il nodo. La profondità del nodo. Il costo del cammino dallo stato iniziale al nodo
46 Cercare soluzioni L algoritmo generale di ricerca N.B. Spazio degli stati albero di ricerca Esempio Bucarest 20 Numero di nodi
47 Algoritmo Generale di ricerca Cerchiamo di definire un algoritmo generale di ricerca per il caso di problemi a stato singolo. Per semplificare la sua definizione, introduciamo alcune funzioni ausiliarie. Occorre definire il tipo di dato Problem Datatype Problem Components: Initial-State, Operators, Goal-Test, Path-Cost-Function Occorre una funzione per ricavare lo stato iniziale dalla descrizione del problema: Init-State(Problem) Occorre una funzione per trasformare una descrizione di stato nel nodo di un albero: Make-Node(State)
48 Algoritmo Generale di ricerca Occorre definire il tipo di dato Node Datatype Node Components: State, Parent-Node, Operator, Depth, Path-Cost Occorre una funzione per espandere un nodo: Expand(Node, Problem, [Depth ]), genera i successori del nodo se non è stata raggiunta la profondità Depth. Servono 4 funzioni per gestire delle code di nodi: Make-Queue(Elements), genera una coda contenente Elements; Empty(Queue), controlla se la coda è vuota; Remove-Front(Queue), estrae il primo elemento; Queueing-Fn(Queue, Elements), inserisce Elements nella coda. Infine serve una funzione per controllare se il nodo coincide con un goal del problema: Goal(Node, Problem)
49 Algoritmo Generale di ricerca Possiamo definire un algoritmo generale per la ricerca su alberi come segue: function General-Search(problem, Queueing-Fn[ Depth ]) { nodes = Make-Queue(Make-Node(Initial-State(problem))); while true { if Empty(nodes) return failure; node =Remove-Front(nodes); if Goal(State(node), problem) return node; nodes = Queueing-Fn(nodes, Expand(node, problem, Depth)); } L insieme di nodi contenuti in nodes è detta frontiera dell albero di ricerca.
50 Valutazione delle strategie di ricerca Completezza : l algoritmo garantisce di trovare una soluzione, se questa esiste? Complessità temporale : quanto tempo è necessario per raggiungerla? Complessità spaziale : quanta memoria è richiesta per raggiungerla? Ottimalità : la soluzione trovata è la migliore (a costo minimo) quando ci sono varie soluzioni differenti?
51 Valutazione delle strategie di ricerca La complessità temporale e spaziale è misurata in termini di: b - massimo fattore di diramazione dell albero di ricerca d - profondità della soluzione a costo minimo m - massima profondità dello spazio degli stati (può essere infinita)
52 Risoluzione di problemi La scelta di quale stato espandere nell albero di ricerca prende il nome di strategia. Distinguiamo: Strategie di ricerca non informata (blind search o ricerca cieca) Non si conosce informazione aggiuntiva sugli stati oltre a quelle fornite nella definizione del problema Strategie di ricerca informata (ricerca euristica) Sanno distinguere se un obiettivo è più promettente di un altro
Intelligenza Artificiale. Lezione 3. Intelligenza Artificiale Daniele Nardi, 2004/05 Lezione 3 0
Intelligenza Artificiale ezione 3 Intelligenza Artificiale Daniele Nardi, 2004/05 ezione 3 0 isoluzione automatica di problemi Prolem solving sommario(ussell&norvig Cap. 3) Agenti risolutori di problemi
Intelligenza Artificiale. Ricerca euristica Algoritmo A*
Intelligenza Artificiale Ricerca euristica Algoritmo A* Marco Piastra Metodi di ricerca - Ricerca non informata Ricerca nello spazio degli stati Definizione di un grafo come spazio degli stati I nodi rappresentano
Problemi, istanze, soluzioni
lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un
PROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
3.4 Metodo di Branch and Bound
3.4 Metodo di Branch and Bound Consideriamo un generico problema di Ottimizzazione Discreta dove X è la regione ammissibile. (P ) z = max{c(x) : x X} Metodologia generale di enumerazione implicita (Land
Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:
Esercizi su Python 14 maggio 2012 1. Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che: 1. conti quanti elementi pari sono presenti nella lista; 2. conti quanti quadrati
Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi
Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore
Heap e code di priorità
Heap e code di priorità Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010
Tecniche Computazionali Avanzate
Tecniche Computazionali Avanzate Modelli Probabilistici per le Decisioni A.A. 2007/08 Enza Messina Markov Decision Problem Come utilizare la conoscenza dell ambiente per prendere decisioni nel caso in
Note per la Lezione 4 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che
Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
Macchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29
Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,
UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013
A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N
Il problema del commesso viaggiatore
Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa [email protected] M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università
Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni.
Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni. Algoritmi e Strutture Dati + Lab A.A. 14/15 Informatica Università degli Studi di Bari Aldo Moro Nicola Di Mauro
Problema del cammino minimo
Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento
11.4 Chiusura transitiva
6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)
Esercizi proposti 10
Esercizi proposti 10 In questo gruppo di esercizi assumiamo, dove non sia specificato diversamente, di rappresentare i grafi mediante liste di archi, con il tipo di dati così dichiarato: type a graph =
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014
A Ricerca Operativa 1 Seconda prova intermedia Un tifoso di calcio in partenza da Roma vuole raggiungere Rio De Janeiro per la finale del mondiale spendendo il meno possibile. Sono date le seguenti disponibilità
Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara
Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ [email protected] Lorenzo Pareschi (Univ. Ferrara)
Esercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla [email protected] Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi
Cercare il percorso minimo Ant Colony Optimization
Cercare il percorso minimo Ant Colony Optimization Author: Luca Albergante 1 Dipartimento di Matematica, Università degli Studi di Milano 4 Aprile 2011 L. Albergante (Univ. of Milan) PSO 4 Aprile 2011
Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011
Gara Matematica Dipartimento di Matematica Ulisse Dini Viale Morgagni 67/a - 50134 Firenze Soluzioni edizione 011 Esercizio 1. Determinare tutti gli interi positivi non nulli n che sono uguali alla somma
LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve
LE STRUTTURE DATI DINAMICHE: GLI ALBERI Cosimo Laneve 1 argomenti 1. definizione di alberi e nozioni relative 2. implementazione degli alberi, creazione, visita 3. algoritmo di visita iterativa e sua implementazione
Algoritmi. Pagina 1 di 5
Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni
Sistemi Web per il turismo - lezione 3 -
Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa
Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento
Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento
Algoritmo basato su cancellazione di cicli
Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile
Informatica Generale Homework di Recupero 2016
Informatica Generale Homework di Recupero 016 docente: Ivano Salvo Sapienza Università di Roma Gruppo 1 Esercizio 1.1 Scrivere un programma C che presi in input due interi positivi a ed b (a, b > 0) calcola
Grandezze scalari e vettoriali
VETTORI Grandezze scalari e vettoriali Tra le grandezze misurabili alcune sono completamente definite da un numero e da un unità di misura, altre invece sono completamente definite solo quando, oltre ad
Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli
3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.
3.5 STAMPA UNIONE Le funzioni della stampa unione (o stampa in serie) permettono di collegare un documento principale con un elenco di nominativi e indirizzi, creando così tanti esemplari uguali nel contenuto,
Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:
Sviluppo di programmi Per scrivere un programma C corretto bisogna: E ora, finalmente Si comincia! DD Cap. pp.4974 Analizzare il problema (input, output, casi estremali) 2. Progettare una soluzione (algoritmo)
Algoritmi e giochi combinatori
Algoritmi e giochi combinatori Panoramica Giochi combinatori Programmi che giocano Albero di un gioco L algoritmo Minimax 1 Perché studiare i giochi? Problemi che coinvolgono agenti in competizione tra
c) 64 caselle, identificate prima da una lettera, poi da un numero.
La Notazione algebrica: caratteristiche e terminologia La scacchiera e a forma di quadrato, ed e composta da: a) 8 colonne, identificate da lettere b) 8 righe, identificate da numeri, e chiamate traverse
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande/ VERSIONE 1 1) In Python, se scrivo v = [ ] in un programma, vuol dire che a) v è un quadrato b) v è un insieme vuoto
Alberi ed Alberi Binari
Alberi ed Alberi Binari Il tipo di dato Albero Un albero è una struttura di data organizzata gerarchicamente. È costituito da un insieme di nodi collegati tra di loro: ogni nodo contiene dell informazione,
Alberi e alberi binari I Un albero è un caso particolare di grafo
Alberi e alberi binari Un albero è un caso particolare di grafo È costituito da un insieme di nodi collegati tra di loro mediante archi Gli archi sono orientati (ogni arco esce da un nodo origine ed entra
Come ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema
Algoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo
1 Cos è l informatica? L informatica è la scienza della rappresentazione e dell elaborazione dell informazione Algoritmi e loro proprietà Proprietà formali degli Algoritmi Efficienza rispetto al tempo
Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
Elementi di Teoria dei giochi
Elementi di Teoria dei giochi Teoria dei giochi Studio dei modelli matematici di cooperazione e conflitto tra individui intelligenti e razionali. Razionalità: ciascun individuo massimizza la sua utilità
Esercizi sugli Algoritmi numerici
Università di Udine, Facoltà di Scienze della Formazione Corso di Informatica Applicata alla Didattica (Giorgio T. Bagni) Esercizi sugli Algoritmi numerici 1. Esercizio risolto. Descrivere, attraverso
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
Sviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
Automi Automi finiti: macchine a stati su sistemi di transizioni finiti Modellare con TS e specificare con automi: si usa lo stesso tipo di
Automi Automi finiti: macchine a stati su sistemi di transizioni finiti Modellare con TS e specificare con automi: si usa lo stesso tipo di rappresentazione per descrivere programmi e specifiche. ω-automi:
REGOLE DI BASE DEL GIOCO DEGLI SCACCHI
REGOLE DI BASE DEL GIOCO DEGLI SCACCHI Queste sono le regole di base del gioco degli scacchi. Per giocare nei tornei occorre seguire anche altre regole comportamentali ed agonistiche. Il regolamento completo
Corso di elettrotecnica Materiale didattico: i grafi
Corso di elettrotecnica Materiale didattico: i grafi A. Laudani 12 ottobre 2005 I grafi costituiscono uno strumento matematico che permette di descrivere e schematizzare una grande varietà di problemi
Algoritmi di Ricerca
Algoritmi e Strutture Dati Autunno 01 Algoritmi di Ricerca Dip. Informatica ed Appl. Prof. G. Persiano Università di Salerno 1 Ricerca esaustiva 1 2 Backtrack 3 2.1 Backtrack per enumerazione......................................
Il teorema di Rouché-Capelli
Luciano Battaia Questi appunti (1), ad uso degli studenti del corso di Matematica (A-La) del corso di laurea in Commercio Estero dell Università Ca Foscari di Venezia, campus di Treviso, contengono un
Cosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura [email protected] 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
Minimo albero di copertura
apitolo 0 Minimo albero di copertura efinizione 0.. ato un grafo G = (V, E) non orientato e connesso, un albero di copertura di G è un sottoinsieme T E tale che il sottografo (V, T ) è un albero libero.
Corso di Informatica Modulo T1 1 - Il concetto di problema
Corso di Informatica Modulo T1 1 - Il concetto di problema 1 Prerequisiti Concetti intuitivi di: Proporzione Problema Variabile Numeri interi e reali 2 1 Introduzione Nel risolvere un problema abbiamo
Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
IL CURRICOLO VERTICALE DI MATEMATICA
IL CURRICOLO VERTICALE DI MATEMATICA Sinossi delle competenze per ciascun grado scolastico Scuola primaria Scuola secondaria I grado Scuola secondaria II grado Operare con i numeri nel calcolo scritto
A. Lorenzi, R. Giupponi - Visual Basic. Teoria e ambiente di programmazione - Istituto Italiano Edizioni Atlas
Problema: Calcolare il preventivo di una gita scolatica Il problema consiste nell esaminare i costi di una gita scolastica, confrontando i mezzi di trasporto autobus e treno per raggiungere la città, meta
Laboratorio di Python
Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una
Il concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
Lezione 6 Selection/Insertion Sort su interi e stringhe
Lezione 6 Selection/Insertion Sort su interi e stringhe Rossano Venturini [email protected] Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Tutoraggio Venerdì 14
Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti
Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente,
Argomento 7. Studio di funzione
Argomento 7 Studio di funzione Studiare una funzione significa ottenere, mediante strumenti analitici (iti, derivate, ecc.) informazioni utili a disegnare un grafico qualitativo della funzione data. I
Alberi. Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo. Fosco.
Alberi Alberi Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo Fosco Dora Drogo Frodo Dudo Daisy Alberi Gli alberi sono una generalizzazione
DECLINAZIONE COMPETENZE SCUOLA PRIMARIA: MATEMATICA CLASSI 1 a 2 a 3 a
DECLINAZIONE COMPETENZE SCUOLA PRIMARIA: MATEMATICA CLASSI 1 a 2 a 3 a COMPETENZE 1. Operare con i numeri nel calcolo scritto e mentale CONOSCENZE CONTENUTI A. I numeri da 0 a 20 B. I numeri da 20 a 100
UNITÀ DIDATTICA 5 LA RETTA
UNITÀ DIDATTICA 5 LA RETTA 5.1 - La retta Equazione generica della retta Dalle considerazioni emerse nel precedente capitolo abbiamo compreso come una funzione possa essere rappresentata da un insieme
Somma di numeri binari
Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
Corso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
Progettazione di Algoritmi
Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 29/01/2016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via
ESERCIZIO MIN-MAX Si consideri il seguente albero di gioco dove i punteggi sono tutti dal punto di vista del primo giocatore.
ESERCIZIO MIN- Si consideri il seguente albero di gioco dove i punteggi sono tutti dal punto di vista del primo giocatore. B C D E F G H I J K L M N O P Q R S T U (6) (8) (5) (0) (-2) (2) (5) (8) (9) (2)
Corso di Laurea in Matematica per l Informatica e la Comunicazione Scientifica
Corso di Laurea in Matematica per l Informatica e la Comunicazione Scientifica Soluzione del compito di Matematica Discreta 1 del 25 luglio 200 1. Qual è il numero di applicazioni f : A = {1,..., 5} B
Cammini minimi fra tutte le coppie
Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)
Intelligenza Artificiale. Lezione 6bis. Sommario. Problemi di soddisfacimento di vincoli: CSP. Vincoli CSP RN 3.8, 4.3, 4.5.
Sommario Intelligenza Artificiale CSP RN 3.8, 4.3, 4.5 Giochi RN 5 Lezione 6bis Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 0 Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 1 Problemi
Algoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
