Agenti che risolvono problemi attraverso la ricerca in uno spazio di stati
|
|
- Lelio Cavalli
- 6 anni fa
- Visualizzazioni
Transcript
1 Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_1 V1.4 Agenti che risolvono problemi attraverso la ricerca in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie. Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall autore. Sono graditi commenti o suggerimenti per il miglioramento del materiale Nota: è utilizzato in parte il materiale didattico associato al testo di Stuart J. Russell, Peter Norvig A5 Ricerca Spazio Stati Paolo Salvaneschi 1
2 INDICE Risolvere problemi con una ricerca Modellazione del problema Applicazioni Algoritmi di ricerca Misure di prestazioni (complessità di algoritmi e problemi) A5 Ricerca Spazio Stati Paolo Salvaneschi 2 A5 Ricerca Spazio Stati Paolo Salvaneschi 2
3 Risolvere problemi con una ricerca Model-based Goal-based agent Agenti basati su un modello del mondo in cui il mondo è descritto come uno spazio di stati nel quale applicare un processo di ricerca Agenti dotati di un obiettivo A5 Ricerca Spazio Stati Paolo Salvaneschi 3 A5 Ricerca Spazio Stati Paolo Salvaneschi 3
4 Risolvere problemi con una ricerca I problemi si possono modellare come problemi di ricerca in uno spazio degli stati Spazio degli stati: lo spazio degli stati è l insieme di tutti gli stati raggiungibili dallo stato iniziale con una qualunque sequenza di operatori. Strategie di ricerca. A5 Ricerca Spazio Stati Paolo Salvaneschi 4 A5 Ricerca Spazio Stati Paolo Salvaneschi 4
5 Risolvere problemi con una ricerca Formulazione del problema Definizione degli stati Definizione dell obiettivo Definizione delle azioni (transizioni tra stati) Problema Ricerca di una soluzione Esame di diverse sequenze di azioni e scelta di una sequenza che permetta di raggiungere l obiettivo Soluzione: sequenza di azioni Esecuzione Realizzazione della sequenza di azioni trovata A5 Ricerca Spazio Stati Paolo Salvaneschi 5 A5 Ricerca Spazio Stati Paolo Salvaneschi 5
6 Risolvere problemi con una ricerca Schema di funzionamento dell agente (dato uno stato iniziale restituisce una singola azione) A5 Ricerca Spazio Stati Paolo Salvaneschi 6 A5 Ricerca Spazio Stati Paolo Salvaneschi 6
7 Risolvere problemi con una ricerca Dato uno stato iniziale restituisce una singola azione Se è invocato con una lista di azioni vuota Definisce lo stato di partenza Formula un obiettivo Formula il problema (quali sono gli stati, quali sono le azioni applicabili agli stati) Esegue una ricerca e produce una sequenza di azioni da eseguire Estrae un azione dalla sequenza e la restituisce Altrimenti Estrae un azione dalla sequenza e la restituisce Aspetti diversi: Formulazione obiettivo e modellazione del problema; Ricerca; Esecuzione A5 Ricerca Spazio Stati Paolo Salvaneschi 7 A5 Ricerca Spazio Stati Paolo Salvaneschi 7
8 Risolvere problemi con una ricerca Nota: L agente percepisce il mondo esterno solo all inizio (stato iniziale) Quando esegue la sequenza di azioni ignora le percezioni e suppone che la soluzione trovata funzioni in ogni caso A5 Ricerca Spazio Stati Paolo Salvaneschi 8 A5 Ricerca Spazio Stati Paolo Salvaneschi 8
9 Risolvere problemi con una ricerca Tipo di agente Statico: la formulazione e la soluzione del problema non considerano cambiamenti nell ambiente Ambiente completamente osservabile: lo stato iniziale è noto Discreto Deterministico Open Loop System A5 Ricerca Spazio Stati Paolo Salvaneschi 9 A5 Ricerca Spazio Stati Paolo Salvaneschi 9
10 Modellazione del problema Esempio A5 Ricerca Spazio Stati Paolo Salvaneschi 10 A5 Ricerca Spazio Stati Paolo Salvaneschi 10
11 Modellazione del problema Esempio A5 Ricerca Spazio Stati Paolo Salvaneschi 11 A5 Ricerca Spazio Stati Paolo Salvaneschi 11
12 Modellazione del problema Definizione del problema Un problema è definito da quattro elementi: Stato iniziale Funzione successore Test obiettivo Costo del cammino A5 Ricerca Spazio Stati Paolo Salvaneschi 12 A5 Ricerca Spazio Stati Paolo Salvaneschi 12
13 Modellazione del problema Stato iniziale Es. in Arad Funzione successore S(x) Un insieme di coppie azione-stato Es. Test obiettivo Un test per verificare se abbiamo raggiunto l obiettivo Può essere esplicito Es. in Bucharest o implicito (la proprietà scaccomatto nel gioco degli scacchi) A5 Ricerca Spazio Stati Paolo Salvaneschi 13 A5 Ricerca Spazio Stati Paolo Salvaneschi 13
14 Modellazione del problema Costo del cammino g Somma dei costi delle singole azioni lungo il cammino (es. somma delle distanze, numero di azioni eseguite) C(x,a,y) costo del singolo step >= 0 Soluzione Sequenza di azioni che portano dallo stato iniziale allo stato obiettivo A5 Ricerca Spazio Stati Paolo Salvaneschi 14 A5 Ricerca Spazio Stati Paolo Salvaneschi 14
15 Modellazione del problema Soluzione Una sequenza di azioni che porta dallo stato iniziale allo stato obiettivo Soluzione ottima Soluzione a path cost minimo tra tutte le soluzioni A5 Ricerca Spazio Stati Paolo Salvaneschi 15 A5 Ricerca Spazio Stati Paolo Salvaneschi 15
16 Modellazione del problema Modellazione degli stati e degli operatori A5 Ricerca Spazio Stati Paolo Salvaneschi 16 A5 Ricerca Spazio Stati Paolo Salvaneschi 16
17 Modellazione del problema Gli algoritmi di ricerca sono stati oggetto di ampio studio La modellazione è un processo creativo A5 Ricerca Spazio Stati Paolo Salvaneschi 17 A5 Ricerca Spazio Stati Paolo Salvaneschi 17
18 Applicazioni Esempio NB A5 Ricerca Spazio Stati Paolo Salvaneschi 18 A5 Ricerca Spazio Stati Paolo Salvaneschi 18
19 Applicazioni Esempio j j j A5 Ricerca Spazio Stati Paolo Salvaneschi 19 A5 Ricerca Spazio Stati Paolo Salvaneschi 19
20 Applicazioni Il problema del commesso viaggiatore: Un commesso viaggiatore ha una lista di città che deve visitare tutte una sola volta. Vi sono strade dirette fra ogni coppia di città. Si trovi la strada più breve che il commesso deve seguire per compiere un viaggio completo che inizi e termini in una qualsiasi delle città. Problema NP-Hard Esempio A5 Ricerca Spazio Stati Paolo Salvaneschi 20 A5 Ricerca Spazio Stati Paolo Salvaneschi 20
21 Applicazioni Pianificazione dei movimenti delle perforatrici automatiche di circuiti su schede VLSI layout Esempio Posizionamento dei componenti e delle piste su un circuito Navigazione di un robot A5 Ricerca Spazio Stati Paolo Salvaneschi 21 A5 Ricerca Spazio Stati Paolo Salvaneschi 21
22 Algoritmi di ricerca Algoritmi di ricerca Idea di base: generare un albero (grafo) di ricerca Nota: grafo lo stesso stato può essere raggiunto da percorsi multipli Vedi Il problema degli stati ripetuti A5 Ricerca Spazio Stati Paolo Salvaneschi 22 A5 Ricerca Spazio Stati Paolo Salvaneschi 22
23 Algoritmi di ricerca Algoritmi di ricerca Idea di base: generare un albero (grafo) di ricerca Stato iniziale Stato finale Operatore (trasforma uno stato in un altro) Funzione successore (dato uno stato attuale lo espande genera gli stati che si raggiungono applicando tutti gli operatori che si possono applicare) Soluzione (sequenza di operatori la cui applicazione trasforma lo stato iniziale nello stato finale) A5 Ricerca Spazio Stati Paolo Salvaneschi 23 A5 Ricerca Spazio Stati Paolo Salvaneschi 23
24 Algoritmi di ricerca Strategia di ricerca Regole di scelta dello stato da espandere Nota: lo spazio degli stati e l albero di ricerca sono due concetti distinti Es. nell esempio di ricerca del percorso da Arad a Bucharest ci sono: 20 stati (uno per città) un infinito numero di possibili percorsi (è un grafo) => albero di ricerca con infiniti nodi A5 Ricerca Spazio Stati Paolo Salvaneschi 24 A5 Ricerca Spazio Stati Paolo Salvaneschi 24
25 Algoritmi di ricerca Stati del problema e nodi dell albero di ricerca A5 Ricerca Spazio Stati Paolo Salvaneschi 25 A5 Ricerca Spazio Stati Paolo Salvaneschi 25
26 Algoritmi di ricerca Definizioni Parent. Nodo che ha generato il nodo che si considera Children. Nodo generato dal nodo che si considera Fringe (confine, frontiera). Collezione dei nodi generati ma non ancora espansi Depth. Numero di passi lungo il percorso dal nodo iniziale Path Cost. costo g(x) dallo stato iniziale al nodo che si considera Implementazione dell albero di ricerca Coda A5 Ricerca Spazio Stati Paolo Salvaneschi 26 A5 Ricerca Spazio Stati Paolo Salvaneschi 26
27 Algoritmi di ricerca Nota: due costi diversi: Costo della ricerca Costo dell esecuzione A5 Ricerca Spazio Stati Paolo Salvaneschi 27 A5 Ricerca Spazio Stati Paolo Salvaneschi 27
28 Algoritmi di ricerca Nodi espansi Nodi generati ma non ancora espansi Nodi non ancora generati A5 Ricerca Spazio Stati Paolo Salvaneschi 28 A5 Ricerca Spazio Stati Paolo Salvaneschi 28
29 Algoritmi di ricerca A5 Ricerca Spazio Stati Paolo Salvaneschi 29 A5 Ricerca Spazio Stati Paolo Salvaneschi 29
30 Algoritmi di ricerca Fringe A5 Ricerca Spazio Stati Paolo Salvaneschi 30 A5 Ricerca Spazio Stati Paolo Salvaneschi 30
31 Algoritmi di ricerca GENERAL TREE SEARCH ALGORITHM Per ogni possibile effetto di ogni possibile azione della funzione successore (insieme di coppie azione-stato) del nodo corrente Costruisci la struttura di dati del nuovo nodo espanso Restituisci i nodi successori A5 Ricerca Spazio Stati Paolo Salvaneschi 31 A5 Ricerca Spazio Stati Paolo Salvaneschi 31
32 Algoritmi di ricerca GENERAL TREE SEARCH ALGORITHM I nodi sono conservati in memoria. Trovato il nodo goal, attraverso il puntatore al node genitore si ricostruisce il cammino Nota: la struttura di dati contiene: -- Il puntatore al nodo genitore -- L azione che ha portato al nodo dal nodo genitore (una volta trovato il goal sarà possibile ricostruire all indietro il percorso e la sequenza di azioni da eseguire) -- Il costo del percorso -- La profondità del nodo A5 Ricerca Spazio Stati Paolo Salvaneschi 32 A5 Ricerca Spazio Stati Paolo Salvaneschi 32
33 Algoritmi di ricerca Nota La struttura dati di fringe è una coda Non è detto in che modo i dati sono inseriti /estratti dalla coda Il tipo di coda (FIFO, LIFO) incide sull ordine della ricerca A5 Ricerca Spazio Stati Paolo Salvaneschi 33 A5 Ricerca Spazio Stati Paolo Salvaneschi 33
34 Algoritmi di ricerca Strategie di ricerca. Una strategia è definita dall ordine con cui si espandono i nodi (es. in larghezza o in profondità) Classi di strategie Non informate (cieche). Non ci sono informazioni aggiuntive relativamente agli stati rispetto a quelle fornite dalla definizione del problema Informate (euristiche). Ci sono informazioni aggiuntive (uno stato è più promettente di altri) A5 Ricerca Spazio Stati Paolo Salvaneschi 34 A5 Ricerca Spazio Stati Paolo Salvaneschi 34
35 Misure di prestazioni Misura delle prestazioni degli algoritmi di ricerca shallowest goal node A5 Ricerca Spazio Stati Paolo Salvaneschi 35 A5 Ricerca Spazio Stati Paolo Salvaneschi 35
36 Misure di prestazioni Esempio A5 Ricerca Spazio Stati Paolo Salvaneschi 36 A5 Ricerca Spazio Stati Paolo Salvaneschi 36
37 Misure di prestazioni Nota: Analisi di algoritmi e notazione O() Domanda: quali prestazioni ha un algoritmo in termini di risorse (tempo, memoria)? Primo modo: Benchmarking Specifico del contesto di esecuzione Di limitata estrapolazione A5 Ricerca Spazio Stati Paolo Salvaneschi 37 A5 Ricerca Spazio Stati Paolo Salvaneschi 37
38 Secondo modo Misure di prestazioni Analisi dell algoritmo indipendentemente dalla specifica implementazione T(n) = 2n+2 Numero totale T di passi dell algoritmo (N. righe di codice eseguite. Astrazione dell implementazione) Lunghezza n della sequenza in ingresso (Astrazione dell input) Difficoltà di condurre un analisi esatta di algoritmi complessi A5 Ricerca Spazio Stati Paolo Salvaneschi 38 A5 Ricerca Spazio Stati Paolo Salvaneschi 38
39 Misure di prestazioni Terzo modo (Indipendentemente dalla specifica implementazione) Analisi asintotica (Ordine) Importa come cresce l utilizzo delle risorse al crescere della dimensione dell ingresso Risorse Dimensione dell ingresso A5 Ricerca Spazio Stati Paolo Salvaneschi 39 A5 Ricerca Spazio Stati Paolo Salvaneschi 39
40 Misure di prestazioni Ordine; Notazione O (o grande) f(n) è O(g(n)) Date due costanti positive c ed n 0, una funzione f(n) appartiene all insieme O(g(n)), ovvero f(n) O(g(n)) se: c, n 0 > 0 n > n 0, 0 f(n) c g(n) A5 Ricerca Spazio Stati Paolo Salvaneschi 40 A5 Ricerca Spazio Stati Paolo Salvaneschi 40
41 Misure di prestazioni Significato: A partire da una certa dimensione n 0 del dato di ingresso, la funzione g(n) maggiora la funzione f(n). La g(n) rappresenta un limite superiore per la f(n). Il limite non è stretto. Se f(n) O(n 2 ) vuol dire che f(n), da un certo punto in poi, è maggiorata da n 2 : se ciò è vero, anche n 3 maggiorerà la f(n), e quindi f(n) appartiene anche a O(n 3 ), limite meno stretto del precedente Nota sull uso improprio L utilizzo corretto delle notazioni asintotiche è in espressioni del tipo f(n) O(g(n)) E prassi comune l utilizzo del tipo f(n) = O(n 2 ). A5 Ricerca Spazio Stati Paolo Salvaneschi 41 A5 Ricerca Spazio Stati Paolo Salvaneschi 41
42 Misure di prestazioni Significato: Il comportamento per tutti gli n < n 0 non è tenuto in conto, per cui potranno esserci dei valori di n < n 0 tali che f(n) > g(n), Esempio di funzione f(n) che appartiene all insieme O(g(n)) A5 Ricerca Spazio Stati Paolo Salvaneschi 42 A5 Ricerca Spazio Stati Paolo Salvaneschi 42
43 Misure di prestazioni Complessità lineare O(n) Es.: ricerca sequenziale n log n O(n log n) Es.: Algoritmi di ordinamento ottimi. n k, con k>=2 O(n k ) Es.: moltiplicazione di due 2 matrici Esponenziale O(k n ) Es.: un algoritmo che debba produrre tutte le possibili stringhe lunghe n di k simboli A5 Ricerca Spazio Stati Paolo Salvaneschi 43 A5 Ricerca Spazio Stati Paolo Salvaneschi 43
44 Misure di prestazioni Confronto tra complessità polinomiale e esponenziale Tempo di esecuzione di tre algoritmi su un calcolatore che esegue un operazione in 10-6 secondi n.operazioni n complessità O(g(n)) n 2 n 5 2 n s= secondi, m= minuti, c=secoli A5 Ricerca Spazio Stati Paolo Salvaneschi 44 A5 Ricerca Spazio Stati Paolo Salvaneschi 44
45 Misure di prestazioni Nota:Analisi di complessità dei problemi Domanda:dato un problema, quale è la classe di complessità degli algoritmi che lo risolvono (indipendentemente dallo specifico algoritmo)? Scopo: comprendere le prestazioni massime raggiungibili da un algoritmo applicato a un problema A5 Ricerca Spazio Stati Paolo Salvaneschi 45 A5 Ricerca Spazio Stati Paolo Salvaneschi 45
46 Misure di prestazioni P classe dei problemi polinomiali Possono essere risolti in un tempo O(n k ) per un qualche k facili. Attenzione: includono anche O(n 1000 ) NP classe dei problemi non deterministici polinomiali Esiste un algoritmo che ipotizza una soluzione e verifica in un tempo polinomiale se la soluzione è corretta. Se si hanno tanti processori o si è fortunati i problemi NP diventano P A5 Ricerca Spazio Stati Paolo Salvaneschi 46 A5 Ricerca Spazio Stati Paolo Salvaneschi 46
47 Misure di prestazioni NP è equivalente a P se non si ha un infinità di processori? Problema aperto NP- completo (NP-hard) sottoclasse della classe NP Dato un problema np-completo non esiste un algoritmo che risolve tutte le istanze del problema in un tempo polinomiale Specifiche istanze possono essere risolte efficientemente A5 Ricerca Spazio Stati Paolo Salvaneschi 47 A5 Ricerca Spazio Stati Paolo Salvaneschi 47
48 Misure di prestazioni co-npcomplemento di NP Per ogni problema di decisione in NP c è un corrispondente problema in co-np con le risposte si e no invertite co-np- completo idem A5 Ricerca Spazio Stati Paolo Salvaneschi 48 A5 Ricerca Spazio Stati Paolo Salvaneschi 48
Sistemi di Interpretazione dati e Diagnosi Overview
Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A10_1 V1.0 Sistemi di Interpretazione dati e Diagnosi Overview Il contenuto del documento è liberamente utilizzabile
DettagliLogica proposizionale
Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A7_2 V1.1 Logica proposizionale Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale
DettagliRicerca 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
DettagliProblemi, 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
DettagliIntelligenza Artificiale. Problem Solving -Agenti risolutori di problemi
Intelligenza Artificiale Problem Solving -Agenti risolutori di problemi Ragionare per cercare soluzioni Un problema viene risolto ricercandone la soluzione in un ampio spazio di possibili soluzioni. La
DettagliGenerare sequenze di azioni.
Cercare soluzioni L idea è quella di mantenere ed estendere un insieme di sequenze soluzioni parziali. Un agente con diverse opzioni immediate di esito sconosciuto può decidere cosa fare esaminando prima
DettagliAgenti risolutori di problemi. Risolvere i problemi mediante ricerca Maria Simi a.a 2014/2015
Agenti risolutori di problemi Risolvere i problemi mediante ricerca Maria Simi a.a 2014/2015 Agenti risolutori di problemi Adottano il paradigma della risoluzione di problemi come ricerca in uno spazio
DettagliHeap 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
DettagliSoluzione del problema come ricerca in uno spazio degli stati:
Soluzione del problema come ricerca in uno spazio degli stati: Gran parte dei problemi di Intelligenza Artificiale hanno la ricerca (o controllo) come componente fondamentale. I problemi si possono modellare
DettagliCorso di Programmazione Problem Solving. Tipi di Problemi. Problemi Complessi Soluzione. Dott. Pasquale Lops. Primitivi. Complessi
Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione Problem Solving Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/30 Tipi di Problemi Primitivi Risolubili
DettagliTEST: RAGGIUNGIMENTO DEL GOAL La verifica può essere solo l appartenenza dello stato raggiunto all insieme dello stato (o degli stati) goal. A volte l
Soluzione del problema come ricerca in uno spazio degli stati: Gran parte dei problemi di Intelligenza Artificiale hanno la ricerca (o controllo) come componente fondamentale. I problemi si possono modellare
DettagliUniversità di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A4_3 V2.1 Progettazione Metodi e Linguaggi Il contenuto del documento è liberamente utilizzabile dagli studenti, per
DettagliTEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE
TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE Riccardo Dondi Dipartimento di Scienze dei linguaggi, della comunicazione e degli studi culturali Università degli Studi di Bergamo Informazione sul corso
Dettagli2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
. Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,
DettagliIntelligenza 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
DettagliEsercizi 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 =
Dettagli3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura
DettagliAlgoritmo 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
DettagliParole note, nuovi significati: linguaggio, determinismo e infinito
Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico
DettagliCercare 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
DettagliIl problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi
Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata Luca Bertazzi 0 3 Ulisse: da Troia a Itaca Troia Itaca 509 km Quale è stato invece il viaggio di Ulisse? Il viaggio di Ulisse Troia
DettagliIntroduzione agli Algoritmi ed alle Strutture Dati Anno Accademico 2015/2016 Appello 23/6/2016
1. Indicare quali delle seguenti affermazioni sono vere e quali sono false. a. n 3 = Θ (n 3log n ) b. n! = Ω(n n ) c. log n = Θ (log( n 2 )) d. n 3 =Ω(n) e. 9 log 3 n = Θ (n) 2. Si dimostri in modo formale
DettagliSoluzione del problema come ricerca in uno spazio degli stati:
Soluzione del problema come ricerca in uno spazio degli stati: Gran parte dei problemi di Intelligenza Artificiale hanno la ricerca (o controllo) come componente fondamentale. I problemi si possono modellare
DettagliRETI DI CALCOLATORI II
RETI DI CALCOLATORI II Facoltà di Ingegneria Università degli Studi di Udine Ing. DANIELE DE CANEVA a.a. 2009/2010 ARGOMENTI DELLA LEZIONE TEORIA DEL ROUTING ROUTING STATICO ROUTING DINAMICO o PROTOCOLLI
DettagliEsercizi 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
DettagliAssemblaggio degli Elementi: Soluzione del Problema Strutturale Discreto
Il Metodo degli Elementi Finiti Assemblaggio degli Elementi: Soluzione del Problema Strutturale Discreto Dalle dispense del prof. Dario Amodio e dalle lezioni del prof. Giovanni Santucci Per ottenere la
Dettagli1 SOLUZIONE DEI PROBLEMI TRAMITE GRAFI
1 SOLUZIONE DEI PROBLEMI TRAMITE GRAFI Questo capitolo tratta della possibilità di risolvere problemi analizzando le diverse possibilità prodotte dalla scelta dell agente. Abbiamo già visto come un agente
DettagliSistemi 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
DettagliIl 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
DettagliFondamenti VBA. Che cos è VBA
Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione
DettagliESERCIZIO 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)
DettagliMacchine sequenziali. Automa a Stati Finiti (ASF)
Corso di Calcolatori Elettronici I Macchine sequenziali Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso
DettagliIn molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno.
Definizione Oggetto del calcolo combinatorio è quello di determinare il numero dei modi mediante i quali possono essere associati, secondo prefissate regole, gli elementi di uno stesso insieme o di più
DettagliAlgoritmi 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
DettagliCOMPITO DI FONDAMENTI DI INTELLIGENZA ARTIFICIALE INTELLIGENZA ARTIFICIALE (v.o.) PARTE I. 25 Giugno 2008 (Tempo a disposizione 2h ; su 32 punti)
COMPITO DI FONDAMENTI DI INTELLIGENZA ARTIFICIALE INTELLIGENZA ARTIFICIALE (v.o.) PARTE I 25 Giugno 08 (Tempo a disposizione 2h ; su 32 punti) Esercizio 1 (punti 3) Dire quali tra le seguenti formule nella
Dettagli11.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)
DettagliLucchetto con combinazione (3 numeri tra 0 e 39)
Complessita computazionale ed il problema P / NP Fondamenti di Informatica 2011/12 Lucchetto con combinazione (3 numeri tra 0 e 39) Perche e sicuro? (escludendo che lo si rompa) Combinazione di 3 numberi
DettagliUNIVERSITÀ 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
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani (liverani@mat.uniroma3.it)
DettagliInformatica/ 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
DettagliSommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP
Sommario Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP I conjecture that there is no good algorithm for the traveling salesman problem. My reasons are the same
DettagliI giochi con avversario. I giochi con avversario. Introduzione. Giochi come problemi di ricerca. Il gioco del NIM.
I giochi con avversario I giochi con avversario Maria Simi a.a. 26/27 Regole semplici e formalizzabili eterministici, due giocatori, turni alterni, zero-sum, informazione perfetta (ambiente accessibile)
DettagliAlberi binari e alberi binari di ricerca
Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
DettagliCammini minimi. Definizioni. Distanza fra vertici. Proprietà dei cammini minimi. Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Definizioni Sia G=(V,E) un grafo orientato con costi w sugli archi. Il costo di un cammino π= è dato da: Cammini minimi Un cammino minimo tra una coppia di
DettagliLA PROGRAMMAZIONE MATEMATICA (p.m.)
LA PROGRAMMAZIONE MATEMATICA (p.m.) Un problema di programmazione matematica è un problema di ottimizzazione riconducibile alla seguente espressione generale: ricercare i valori delle variabili x 1, x
DettagliSviluppo 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)
DettagliProblema: 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
DettagliAlberi binari di ricerca
Alberi binari di ricerca Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/20010 I. Castelli Alberi binari di ricerca, A.A. 2009/20010
DettagliCosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
DettagliDISPENSE DI PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte II) I Linguaggi di descrizione degli algoritmi - Notazioni grafiche (parte 1) Il linguaggio dei
DettagliMinimizzazione di Reti Logiche Combinatorie Multi-livello
Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione I circuiti logici combinatori sono molto spesso realizzati come reti multi-livello di porte logiche
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
DettagliConcetti Introduttivi. Il Computer
Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta
DettagliDefinizioni. Soluzione ottima: migliore soluzione possibile Soluzione ottima localmente: soluzione ottima in un dominio contiguo. Il paradigma greedy
Il paradigma greedy Paolo Camurati, Fulvio Corno, Matteo Sonza Reorda Dip. Automatica e Informatica Politecnico di Torino Definizioni Soluzione ottima: migliore soluzione possibile Soluzione ottima localmente:
DettagliLucchetto con combinazione (3 numeri tra 0 e 39)
Complessita computazionale ed il problema P / NP Fondamenti di Informatica 2010/11 Lucchetto con combinazione (3 numeri tra 0 e 39) Perche e sicuro? (escludendo che lo si rompa) Ans: Combinazione di 3
DettagliADT: Abstract Data Type. Quasi ADT. ADT per collezioni di dati (code generalizzate) 04 I tipi di dati astratti (I parte)
ADT: Abstract Data Type I tipi di dati astratti (I parte) Gianpiero Cabodi e Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino Scopo Livello di astrazione sui dati tale da mascherare completamente
DettagliTRIE (albero digitale di ricerca)
TRIE (albero digitale di ricerca) Struttura dati impiegata per memorizzare un insieme S di n stringhe (il vocabolario V). Tabelle hash le operazioni di dizionario hanno costo O(m) al caso medio per una
DettagliADT Coda con priorità
Code con priorità ADT Coda con priorità Una coda con priorità è una struttura dati dinamica che permette di gestire una collezione di dati con chiave numerica. Una coda con priorità offre le operazioni
DettagliAlgoritmi e Strutture Dati
Analisi Asintotica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Un graduale processo di astrazione Passo 1: abbiamo ignorato il costo effettivo
DettagliCostruzione di espressioni regolari 4
ostruzione di espressioni regolari 4 Indicando con d uno dei possibili digits {,, 2,,9} --possiamo esprimere il sotto linguaggio dei digits come d = ( + + 2 +.. + 9) Quale linguaggio produce l espressione:
DettagliL algoritmo AKS. L algoritmo AKS. Seminario per il corso di Elementi di Algebra Computazionale. Oscar Papini. 22 luglio 2013
L algoritmo AKS Seminario per il corso di Elementi di Algebra Computazionale Oscar Papini 22 luglio 2013 Test di primalità Come facciamo a sapere se un numero n è primo? Definizione (Test di primalità)
DettagliAlgoritmi 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
DettagliAlberi Binari di Ricerca
Alberi Binari di Ricerca Prof. G. M. Farinella gfarinella@dmi.unict.it www.dmi.unict.it/farinella Riferimenti Bibliografici Cormen T.H., Leiserson C.E., Rivest R.L Introduction to Algorithms, Third Edition,
DettagliAlgoritmi. 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
DettagliRouting IP. IP routing
Routing IP IP routing IP routing (inoltro IP): meccanismo per la scelta del percorso in Internet attraverso il quale inviare i datagram IP routing effettuato dai router (scelgono il percorso) Routing diretto
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliGrafi: visita generica
.. Grafi: visita generica Una presentazione alternativa (con ulteriori dettagli) Algoritmi di visita Scopo: visitare tutti i vertici di un grafo (si osservi che per poter visitare un vertice occorre prima
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani (liverani@mat.uniroma.it)
DettagliFondamenti di Informatica II 9. Complessità computazionale
Scelta di un algoritmo Fondamenti di Informatica II 9. Complessità computazionale Dato un problema, esistono diversi algoritmi che permettono di risolverlo. I fattori che possono influenzare la scelta
DettagliAlgoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014
Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014 Nome..Cognome.Matr. Laureando Avvisi importanti Il tempo a disposizione è di 1 ora e 30 minuti. Se non verranno risolti
DettagliINDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso
INDICI PER FILE Strutture ausiliarie di accesso 2 Accesso secondario Diamo per scontato che esista già un file con una certa organizzazione primaria con dati non ordinati, ordinati o organizzati secondo
DettagliCome 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
DettagliAlgoritmi e Strutture Dati
Introduzione al Corso Maria Rita Di Berardini (Camerino), Emanuela Merelli (Ascoli) 1 1 Scuola di Scienze e Tecnologie - Sezione di Informatica Università di Camerino Parte I Il concetto di Algoritmo Il
DettagliInput/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE
Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente
DettagliUniversità degli Studi di Cassino e del Lazio Meridionale Corso di Fondamenti di Informatica Algoritmi ed esecutori
Università degli Studi di Cassino e del Lazio Meridionale Corso di Algoritmi ed esecutori Anno Accademico Francesco Tortorella Che cosa si intende per INFORMATICA? Scienza della rappresentazione e dell
DettagliTracce. 1. Data una lista di elementi di tipo intero, implementare in C++ le seguenti funzioni
Algoritmi e Strutture Dati Tracce 1. Data una lista di elementi di tipo intero, implementare in C++ le seguenti funzioni int freq(list &L, int k): restituisce il numero di occorrenze dei multipli
DettagliRipasso di teoria ed esercizi in preparazione al terzo compito. 26 gennaio 2004
Ripasso di teoria ed esercizi in preparazione al terzo compito 26 gennaio 2004 Teoria: domande tipo per il terzo compitino 1. Metaprogrammazione: In cosa consiste la metaprogrammazione? Quali sono alcuni
DettagliAnalisi ammortizzata (Tarjan in 1985)
In questa lezione Analisi della complessità di una sequenza di operazioni di estrazione e inserimento in una tabella memorizzata su un array, usando l analisi ammortizzata. Analisi ammortizzata (Tarjan
DettagliIl problema del commesso viaggiatore e problemi di vehicle routing
Il problema del commesso viaggiatore e problemi di vehicle routing Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 2 Dicembre
DettagliParte II - Reti di Calcolatori ed Internet IL LIVELLO RETE
Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE 3-1 Il Livello RETE Servizi del livello Rete Organizzazione interna Livello Rete basato su Circuito Virtuale Livello Rete basato su Datagram Algoritmi
DettagliAgenti risolutori di problemi
Agenti risolutori di problemi Agenti risolutori di problemi Risolvere i problemi mediante ricerca Maria Simi a.a 2012/2013 Adottano il paradigma della risoluzione di problemi come ricerca in uno spazio
DettagliPumping lemma per i linguaggi Context-free
Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=
DettagliProva di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
DettagliPrimi passi con JFlex
Primi passi con JFlex Luca Chiodini Abstract Ci proponiamo di muovere i primi passi nel mondo dell analisi lessicale e della produzione automatica di un analizzatore lessicale. Verrà mostrato l uso di
DettagliSistemi Qualità e normativa
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi B2_1 V3.2 Sistemi Qualità e normativa Il contenuto del documento è liberamente
DettagliMacchine RAM. API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD
Macchine RAM API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD 2 Macchina RAM 3 Esercizio Si consideri il linguaggio definito da: L = wcw R w a, b } 1. Codificare un programma RAM per il riconoscimento
Dettagliin termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliIntroduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente
Routing Introduzione Il livello 3 della pila ethernet ha il compito di muovere i pacchetti dalla sorgente attraversando più sistemi Il livello di network deve quindi: Scegliere di volta in volta il cammino
DettagliTecniche di compressione senza perdita
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Tecniche di compressione senza perdita 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliAutomi 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:
DettagliInformatica e Bioinformatica: Algoritmi
Informatica e Bioinformatica: Algoritmi 20 Marzo 2014 Programmi Applicativi Programmi Applicativi Sistema Operativo (lezione 3) Macchina Hardware (lezione 1 e 2) La macchina hardware permette l esecuzione
Dettaglietà (anni) manutenzione (keuro) ricavato (keuro)
.6 Cammini minimi. Determinare i cammini minimi dal nodo 0 a tutti gli altri nodi del seguente grafo, mediante l algoritmo di Dijkstra e, se applicabile, anche mediante quello di Programmazione Dinamica.
DettagliUNIVERSITÀ 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à
DettagliUNIVERSITA DEGLI STUDI DI PERUGIA
UNIVERSITA DEGLI STUDI DI PERUGIA REGISTRO DELLE LEZIONI E DELLE ALTRE ATTIVITÀ DIDATTICHE Anno accademico 2006-2007 Dott./Prof. Pinotti Maria Cristina Settore scientifico-disciplinare INF01 Facoltà Scienze
DettagliFONDAMENTI DI INFORMATICA II
Università degli Studi di Ferrara Facoltà di Ingegneria APPUNTI DEL CORSO DI FONDAMENTI DI INFORMATICA II Obiettivi del corso: Approfondire l uso del linguaggio C rispetto a quanto noto dal corso di Fondamenti
DettagliUniversità di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi A5_1 V1.3 Applicazioni B2B
Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi A5_1 V1.3 Applicazioni B2B Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale
DettagliPrimo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale
Primo allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini luca@chiodini.org - l.chiodini@campus.unimib.it 10 marzo 2016 Programma 1. Lettura di un problema tratto dalle
DettagliRappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
DettagliProgrammazione 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
Dettagli