Laboratorio di Algoritmi
|
|
- Nicoletta Stefani
- 5 anni fa
- Visualizzazioni
Transcript
1 Laboratorio di Algoritmi Progetto Supermercato (giugno 2017) Nota: La scadenza del progetto è fissata per lunedì 19 giugno compreso. Nota: Questa versione del documento è stata aggiornata il 13 giugno. Le modifiche principali sono: 1. coerentemente con quanto detto in aula, sono previsti 4 tipi di eventi anziché solo 3: agli eventi INGRESSO (ingresso di un cliente nel supermercato, prima indicato come ARRIVO), CASSA (arrivo di un cliente a una cassa) e USCITA (fine del servizio alla cassa e uscita di un cliente), si è aggiunto l evento SERVIZIO (inizio del servizio di un cliente a una cassa); 2. sono stati riportati diversi chiarimenti richiesti da studenti; è possibile che altri chiarimenti si aggiungano in seguito. Il problema Si vuole simulare il funzionamento di un supermercato, valutando come varia il livello di servizio dei clienti in base agli orari di apertura delle casse. Figura 1: Struttura del supermercato La Figura 1 illustra la struttura del supermercato, che è abbastanza tipica; si compone di: un ingresso, indicato con il simbolo I; otto corsie, ciascuna formata da 5 scaffali: gli scaffali sono indicati con sigle progressive Sij, dove i è un numero progressivo che indica la corsia, da 0 a 7: la corsia 0 parte dall ingresso, le altre sono via via più lontane; j indica il numero progressivo dello scaffale, da 1 a 5 (dall ingresso verso il fondo); 1
2 un corridoio finale, in cui sboccano tutte le corsie: lo sbocco di ogni corsia è indicato con il simbolo Fi, dove i è un numero progressivo che indica la corsia, da 0 a 7; un corridoio iniziale, in cui sboccano le corsie da 1 a 7, ma non la corsia 0; in questo corridoio si trovano sette casse, indicate con i simboli Ci, dove i è un numero progressivo da 1 a 7 corrispondente alla corsia più vicina; un uscita, subito dopo le casse. I clienti entrano dall ingresso e possono muoversi come segue: dall ingresso allo scaffale S01 o viceversa, in 5 secondi; da uno scaffale al successivo o al precedente nella stessa corsia, in 10 secondi; dallo scaffale 5 di ogni corsia (Si5, per i da 0 a 7) allo sbocco della corsia nel corridoio finale (Fi, per i da 0 a 7) o viceversa, in 5 secondi; dallo sbocco di una corsia a quello precedente o successivo, in 7 secondi; dallo scaffale 1 di ogni corsia (Si5, per i da 1 a 7) alla cassa corrispondente (Ci, per i da 1 a 7) o viceversa, in 5 secondi da una cassa a quella precedente o successiva, in 8 secondi. Un cliente è caratterizzato da un ora di ingresso, misurata in secondi a partire dall apertura del supermercato. Inoltre, è caratterizzato da una lista di acquisti, formata dal numero di oggetti da comprare e dalla sequenza dei simboli degli scaffali in cui ogni oggetto si trova. Si suppone che il cliente si muova nel supermercato seguendo esattamente la lista, anche se questo significa andare avanti e indietro per il supermercato in modo stupido. Fra i vari percorsi possibili per andare da uno scaffale all altro, però, il cliente sceglie quello più breve. Ogni oggetto richiede 15 secondi per essere raccolto. Raccolto l ultimo oggetto, il cliente va alla cassa aperta più vicina e si mette in coda (per semplicità, non sceglie la cassa in base alla lunghezza della coda). In caso di pari distanza, sceglie la cassa di indice minimo. Ogni cassa è caratterizzata da un intervallo di apertura, descritto dall orario di apertura e chiusura, misurati in secondi dall apertura del supermercato. Se la cassa è aperta, il primo cliente deposita i suoi acquisti sul nastro e la cassa li smaltisce impiegando 5 secondi per ogni oggetto. Il progetto Il programma da realizzare deve caricare da un file le informazioni relative agli intervalli di apertura delle casse e da un altro le informazioni relative al comportamento dei clienti. Il file relativo all apertura delle casse segue il formato: C C C C C C C dove ogni riga si riferisce a una cassa e riporta il simbolo della cassa, l orario di apertura e l orario di chiusura in secondi dall apertura dell intero supermercato (entrambi numeri interi). Il file relativo al comportamento dei clienti segue il formato: 2
3 U1 0 4 S13 S21 S45 S52 U2 0 1 S51 U3 0 2 S32 S25 U4 0 2 S25 S21 dove ogni riga si riferisce a un cliente e riporta il simbolo del cliente, l orario di ingresso in secondi dall apertura del supermercato, il numero di oggetti da acquistare e l elenco dei simboli degli scaffali in cui si trovano tali oggetti, nell ordine che verrà seguito dal cliente per raccoglierli. Il programma deve simulare lo svolgimento della giornata. Per farlo, deve elaborare gli eventi principali della giornata, aggiornare di conseguenza lo stato del sistema (cioè indicare dove sono i clienti, quali casse sono libere o occupate, ecc... ) e dedurre da ciascun evento le sue conseguenze, cioè gli altri eventi di interesse che ne derivano. L idea fondamentale del procedimento è: si caricano tutti gli eventi originali (ingresso di nuovi clienti) in un apposita struttura; si estrae dall insieme degli eventi il primo in ordine di tempo (a parità di tempo, si considerano i clienti in ordine alfabetico rispetto ai loro simboli); se l evento corrente è l ingresso di un cliente, si deduce l istante in cui il cliente finisce i suoi acquisti e arriva alla cassa (che è la cassa aperta più vicina allo scaffale del suo ultimo acquisto), si genera l evento di arrivo del cliente alla cassa e si aggiunge tale evento all insieme degli eventi; se l evento corrente è l arrivo di un cliente a una cassa, i casi sono due: 1. se la cassa è libera, diventa occupata e si genera l evento di inizio del servizio per il cliente; 2. se la cassa è occupata, si accoda il nuovo cliente a quelli che lo precedono alla cassa; se l evento corrente è l inizio del servizio di un cliente, si deduce l istante in cui la spesa sarà stata processata, si genera l evento di fine del servizio per il cliente (che coincide con l uscita dal supermercato) e si aggiunge tale evento all insieme degli eventi; se l evento corrente è l uscita di un cliente dal supermercato, i casi sono due: 1. se non ci sono altri clienti in coda a quella cassa, essa diventa libera; 2. se ci sono altri clienti in coda, si genera l evento di inizio del servizio per il primo cliente (istantaneamente subito dopo). Un aspetto delicato è l orario di apertura delle casse: se un cliente arriva a una cassa quando essa è chiusa, non può accedervi. D altra parte, se l orario di una cassa termina quando ci sono ancora clienti in coda, la cassa rimane aperta finché non li ha smaltiti, ma non accetta nuovi clienti. In sintesi, la regola è molto semplice: un cliente si rivolge sempre alla cassa aperta più vicina alla posizione dell ultimo acquisto. Una volta che il cliente è in coda, gli orari della cassa non lo riguardano più. Il programma deve stampare gli eventi in ordine cronologico, uno per ogni riga, precisando l orario in secondi dall apertura del supermercato (numero intero), il tipo di evento (INGRESSO, CASSA, SERVIZIO, USCITA), il simbolo del cliente interessato e, per gli eventi di tipo CASSA, SERVIZIO e USCITA il simbolo della cassa interessata. 3
4 Quindi, deve stampare una riga per ogni cliente, riportando il simbolo del cliente, la durata totale della spesa in secondi, il numero di altri clienti che lo hanno preceduto in coda e la durata della coda in secondi (tutti numeri interi). Infine, deve stampare una riga per ogni cassa, riportando il simbolo della cassa, la durata in secondi del periodo in cui è stata occupata (numero intero) e la percentuale di tale durata rispetto all intervallo di apertura (numero reale con due cifre decimali). Si noti che questa percentuale potrebbe anche essere superiore al 100% nel caso (un po improbabile) che fosse occupata per tutto il suo intervallo di apertura e dovesse rimanere aperta dopo la chiusura per smaltire la coda arretrata di clienti. Esempio Si consideri il piccolo esempio riportato più sopra: U1 0 4 S13 S21 S45 S52 U2 0 1 S51 U3 0 2 S32 S25 U4 0 2 S25 S21 I clienti entrano tutti all apertura del supermercato (in ordine di indice U1, U2, U3 e U4). Il primo ad arrivare in cassa (alla cassa C2 è il cliente U4, al secondo 144. Siccome la cassa è aperta e libera, comincia subito il servizio e lo termina al secondo 154. Al secondo 174 il cliente U2 arriva alla cassa C2 (la più vicina al suo ultimo acquisto sarebbe C5, ma è chiusa, e C2 è la più vicina cassa aperta). Siccome la cassa è libera, il servizio comincia subito e termina al secondo 179. Per gli altri due clienti valgono considerazioni simili: U3 arriva al secondo 228 ed esce al secondo 238, U1 arriva al secondo 330 ed esce al secondo 350; per entrambi la cassa C2 è la più vicina cassa aperta. Il risultato della simulazione è: 0 INGRESSO U1 0 INGRESSO U2 0 INGRESSO U3 0 INGRESSO U4 144 CASSA U4 C2 144 SERVIZIO U4 C2 154 USCITA U4 174 CASSA U2 C2 174 SERVIZIO U2 C2 179 USCITA U2 228 CASSA U3 C2 228 SERVIZIO U3 C2 238 USCITA U3 330 CASSA U1 C2 330 SERVIZIO U1 C2 350 USCITA U1 I risultati relativi ai clienti sono: U U U U Infatti, tutti hanno avuto una coda di lunghezza nulla e durata nulla. C % C % C3 0.00% C % 4
5 Infatti, solo la cassa C2 è stata occupata, per 45 secondi su Chiarimenti Nella lista di oggetti che un cliente deve acquistare ci possono essere oggetti ripetuti? Sì, nella lista ci possono essere posizioni ripetute. Se non sono consecutive, il cliente andrà avanti e indietro per il supermercato seguendo la lista; se sono consecutive, il percorso ottimo fra l una e l altra avrà durata nulla, ma il tempo necessario a raccogliere ciascun oggetto rimane lo stesso, distinto per ogni oggetto anche se gli oggetti si trovano nella stessa posizione. Questo dovrebbe semplificare al massimo il calcolo. Durante l ultima lezione ci aveva consigliato di gestire gli eventi con la struttura di heap, ma non mi è chiaro come farlo Siccome ogni evento ne innesca altri temporalmente successivi, un min-heap consente di ricavare in ogni istante il primo evento in sequenza temporale, dunque quello che sicuramente non è influenzato da nessun altro. Gli eventi che esso innesca dipendono dall evento stesso e dallo stato del sistema (casse aperte e chiuse, clienti in coda, ecc... ). Quindi, la simulazione del supermercato procede estraendo il primo evento in ordine cronologico, determinandone gli effetti in base allo stato del sistema, applicando gli effetti allo stato del sistema (code che si allungano o accorciano, o casse che diventano occupate o libere, ecc... ) e generando nuovi eventi provocati da quello corrente, che vengono aggiunti al min-heap in modo da essere processati quando sarà il loro momento. Fatto questo, si passa all evento successivo e si ricomincia. Quando non ci sono più eventi, si termina. Come rappresentiamo il grafo del supermercato? In generale, conviene usare la rappresentazione che consente l algoritmo più efficiente (fra quelli che conoscete) per eseguire le operazioni richieste dal progetto. In questo caso, si tratta di un calcolo dei percorsi minimi fra le varie posizioni. Per quanto riguarda la lista degli eventi della giornata, è pi conveniente aggiungere gli eventi in modo già ordinato o aggiungere prima tutti gli eventi e successivamente ordinarla usando uno degli algoritmi visti a lezione? Conviene togliere gli eventi uno alla volta nell ordine con cui si verificano e aggiungerli uno alla volta via via che vengono innescati. Per quanto riguarda l heap, conviene allocarlo una volta sola all inizio (con quale dimensione? una stima ragionevole del massimo numero di eventi che potrebbe contenere contemporaneamente) e deallocarlo una volta sola alla fine. Per ogni cliente è richiesto di specificare il numero di persone che lo hanno preceduto in coda. Tale numero comprende anche l utente che è servito alla cassa? No, l utente che viene servito non è in coda. Quindi, la lunghezza della coda in quel momento è 0. Bisogna gestire la possibilità che un utente finisca di raccogliere gli oggetti dopo la chiusura del supermercato o in un momento in cui non vi siano casse aperte? No, ci sarà sempre almeno una cassa aperta, e il supermercato sarà aperto abbastanza a lungo da servire tutti i clienti. 5
6 Nella stampa degli eventi, se ci sono eventi simultanei è richiesto di stampare per primo l evento associato all utente con indice inferiore. Questo provoca alcune piccole stranezze. Vediamo qualche esempio: se i clienti U3 e U7 arrivano insieme alla cassa, viene servito per primo U3 e U7 si mette in coda; se sono in casse diverse e finiscono il servizio contemporaneamente, esce per primo U3; se U3 finisce il servizio e contemporaneamente U7 arriva alla cassa, si processa prima l uscita di U3, per cui U7 arriva a una cassa vuota, innesca l inizio del servizio, che viene processato subito dopo, mentre se U7 finisce il servizio e contemporaneamente U3 arriva alla cassa, si processa prima l arrivo di U3, che si mette in coda (una coda di lunghezza 0, dato che è il primo), poi l uscita di U7, che innesca l inizio del servizio di U3 (dopo un attesa in coda di 0 secondi): rispetto all altro caso, gli istanti sono gli stessi, ma l ordine degli eventi diverso Concordo che siano stranezze, ma teniamo le regole più semplici possibili per il progetto: le incoerenze che ne risultano non sono gravi. 6
Laboratorio di Algoritmi
Laboratorio di Algoritmi Progetto Supermercato (giugno 2017) Nota: La scadenza del progetto è fissata per lunedì 19 giugno compreso. Nota: Questa versione del documento è stata aggiornata il 13 giugno.
DettagliLaboratorio di Python
Laboratorio di Python Code Lab13 28 Aprile 2017 Outline Correzione esercizi per oggi Code Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che determina se uno studente può
DettagliLaboratorio di Algoritmi
Laboratorio di Algoritmi Progetto Fabbrica (gennaio 2019) Nota: La scadenza del progetto è fissata per lunedì 21 gennaio compreso. Nota: Si consiglia di consultare sulla pagina web il documento che riporta
DettagliPRINCIPI GENERALI. Corso di Tecniche di Simulazione, a.a. 2005/2006. Francesca Mazzia. Dipartimento di Matematica Università di Bari.
PRINCIPI GENERALI Corso di Tecniche di Simulazione, a.a. 2005/2006 Francesca Mazzia Dipartimento di Matematica Università di Bari 7 Marzo 2006 Francesca Mazzia (Univ. Bari) PRINCIPI GENERALI 7/03/2006
DettagliModelli descrittivi, statistica e simulazione
Modelli descrittivi, statistica e simulazione Master per Smart Logistics specialist Roberto Cordone (roberto.cordone@unimi.it) Statistica descrittiva Cernusco S.N., mercoledì 22 febbraio 2017 (9.00/13.00)
DettagliTECNICHE DI SIMULAZIONE
TECNICHE DI SIMULAZIONE ESEMPI DI SIMULAZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Esempi di simulazione Presentiamo alcuni esempi
DettagliESEMPI DI SIMULAZIONE
ESEMPI DI SIMULAZIONE Corso di Tecniche di Simulazione, a.a. 2005/2006 Francesca Mazzia Dipartimento di Matematica Università di Bari 7 Marzo 2006 Francesca Mazzia (Univ. Bari) ESEMPI DI SIMULAZIONE 7/03/2006
DettagliTeoria delle File di Attesa
Teoria delle File di Attesa Una coda, o fila di attesa, si forma quando degli utenti attendono di essere serviti da uno o più serventi. Esempi: Studenti agli sportelli della segreteria Utenti di un centro
DettagliSistema : collezione di componenti (elementi, entità) interdipendenti che interagiscono fra loro in accordo a specifiche predefinite.
Sistema : collezione di componenti (elementi, entità) interdipendenti che interagiscono fra loro in accordo a specifiche predefinite. Studio, analisi del sistema al variare delle caratteristiche operative.
DettagliLaboratorio di matematica: processamento, interpretazione ed elaborazione dei dati
Laboratorio di matematica: processamento, interpretazione ed elaborazione dei dati Master per Smart Logistics specialist Roberto Cordone (roberto.cordone@unimi.it) Statistica descrittiva Lodi, giovedì
DettagliIl 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
DettagliLezione 3. I numeri relativi
Lezione 3 L artimetcia binaria: i numeri relativi i numeri frazionari I numeri relativi Si possono rappresentare i numeri negativi in due modi con modulo e segno in complemento a 2 1 Modulo e segno Si
DettagliPUNTATORI. Ivan Lanese
PUNTATORI Ivan Lanese Argomenti Puntatori Liste Puntatori Un puntatore è un tipo di dato che contiene l'indirizzo di memoria di un altro tipo di dato In c+o i puntatori sono tipati: avremo puntatori a
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docenti: M Torelli, S Aguzzoli Appello dell 8 gennaio 2009 Progetto Edilizia Consegna entro il 29 gennaio 2009 Il problema In una città in forte espansione si
Dettagli2. Simulazione discreta: approcci alla simulazione
Anno accademico 2008/09 Elementi di un programma di simulazione Controllore Tempo di simulazione Generatore dei dati di input Entità Eventi Attività Stati Processi Simulazione per eventi: le classi L approccio
DettagliLezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari
Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri
DettagliLaboratorio di Algoritmi
Laboratorio di Algoritmi Progetto Insiemistica (luglio 2019) Nota: La scadenza del progetto è fissata per venerdì 12 luglio compreso. Nota: Si consiglia di consultare sulla pagina web il documento che
DettagliUso di base dell ordinamento di dati in Microsoft Excel
Uso di base dell ordinamento di dati in Microsoft Excel L ordinamento dei dati Un foglio elettronico fornisce una funzionalità di ordinamento dei dati che si trovano nelle colonne o nelle righe. Ordinare
DettagliKangourou della Matematica 2019 Coppa Ecolier a squadre Finale Cervia, 9 maggio Quesiti
Kangourou della Matematica 2019 Coppa Ecolier a squadre Finale Cervia, 9 maggio 2019 Quesiti 1. Trentatré Quanti numeri interi positivi sono tali che il prodotto delle loro cifre è 33? 2. Il cubo dipinto
DettagliFPL Prova di Laboratorio
FPL Prova di Laboratorio Appello del //06 Istruzioni Risolvete il seguente esercizio prestando particolare attenzione alla formattazione dell input e dell output. La correzione avverrà in maniera automatica
DettagliProgrammazione I Paolo Valente /2018. Lezione 6. Notazione posizionale
Lezione 6 Notazione posizionale Ci sono solo 10 tipi di persone al mondo: quelle che conoscono la rappresentazione dei numeri in base 2, e quelle che non la conoscono... Programmazione I Paolo Valente
DettagliN.B. Per la risoluzione dei seguenti esercizi, si fa riferimento alle Tabelle riportate alla fine del documento.
N.B. Per la risoluzione dei seguenti esercizi, si fa riferimento alle Tabelle riportate alla fine del documento. Esercizio 1 Un chimico che lavora per una fabbrica di batterie, sta cercando una batteria
DettagliGestione degli impegni Requisiti generali Si fissi come ipotesi che la sequenza di impegni sia ordinata rispetto al tempo,, e che ogni lavoratore abbi
Fondamenti di Informatica T-1 modulo 2 Laboratorio 10: preparazione alla prova d esame 1 Esercizio 1 - Gestione degli impegni Gli impegni giornalieri dei dipendenti di un azienda devono essere aggiornati
DettagliInformatica 3. LEZIONE 16: Heap - Codifica di Huffmann. Modulo 1: Heap e code di priorità Modulo 2: Esempio applicativo: codifica di Huffmann
Informatica 3 LEZIONE 16: Heap - Codifica di Huffmann Modulo 1: Heap e code di priorità Modulo 2: Esempio applicativo: codifica di Huffmann Informatica 3 Lezione 16 - Modulo 1 Heap e code di priorità Introduzione
DettagliSimuliamo ora il funzionamento di LRU sulla reference string data:
1. Un computer ha quattro frame, i cui istanti di caricamento, di ultimo riferimento e i reference bit sono riportati nella seguente tabella: Frame Caric. Rifer. R 2 135 287 1 1 240 250 1 0 169 253 0 3
DettagliIntelligenza Artificiale. Ricerca euristica L algoritmo A*
Intelligenza Artificiale Ricerca euristica L algoritmo A* Marco Piastra Ricerca euristica - Ricerca non informata Ricerca nello spazio degli stati Definizione di un grafo come spazio degli stati I nodi
DettagliVerifiche (verifiche)
verifiche IT Verifiche (verifiche) Limite di tempo: Limite di memoria: 1.0 secondi 256 MiB Il professor Tarboto sta pensando come gestire le verifiche nel prossimo anno scolastico. Dopo un accurata riflessione,
DettagliAlee in macchine combinatorie
Corso di Calcolatori Elettronici I A.A. 2010-2011 Alee in macchine combinatorie Lezione 12 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Le Alee La presenza di ritardi nei dispositivi
DettagliProgrammazione I Paolo Valente /2017. Lezione 6. Notazione posizionale
Lezione 6 Notazione posizionale Ci sono solo 10 tipi di persone al mondo: quelle che conoscono la rappresentazione dei numeri in base 2, e quelle che non la conoscono... Programmazione I Paolo Valente
DettagliIndicazioni operative essenziali all utilizzo del REGISTRO ELETTRONICO NUVOLA
ISTITUTO COMPRENSIVO J. F. KENNEDY Scuola Primaria - Secondaria di primo grado Indicazioni operative essenziali all utilizzo del REGISTRO ELETTRONICO NUVOLA MODALITÀ OPERATIVA Riguardano le modalità operative
DettagliIngegneria del Software 17. Esercizi riassuntivi. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 17. Esercizi riassuntivi Dipartimento di Informatica Università di Pisa A.A. 2014/15 Descrizione del problema. L esempio descrive un sistema per il commercio, chiamato TradingSystem,
DettagliCORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE PILE E CODE DI DATI DISPENSA 11.02 11-02_Pile_Code_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative Common CC BY-NC-SA.
DettagliAlee in macchine combinatorie. Le Alee
Corso di Calcolatori Elettronici I A.A. 200-20 Alee in macchine combinatorie Lezione 4 (seconda parte) Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di
DettagliCodifica binaria: - numeri interi relativi -
Codifica binaria: - numeri interi relativi - Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Tipologie di codici Per la rappresentazione di: caratteri
DettagliAlgoritmi e Strutture Dati - II modulo Soluzioni degli esercizi
Algoritmi e Strutture Dati - II modulo Soluzioni degli esercizi Francesco Pasquale 6 maggio 2015 Esercizio 1. Su una strada rettilinea ci sono n case nelle posizioni 0 c 1 < c 2 < < c n. Bisogna installare
DettagliInformazione e Registri - 2
Informazione e Registri Le informazioni (dati e/o istruzioni) trattate da una macchina sono memorizzate in elementi detti registri Il registro può essere visto come un contenitore di informazione individuato
DettagliI furgoncini di Algoritmia
I furgoncini di Algoritmia Nella città di Algoritmia è stato ideato un sistema intelligente per la consegna delle merci. Il traffico pesante di TIR e vagoni ferroviari provenienti da fuori città viene
DettagliSIMULAZIONE DI SISTEMI CASUALI 2 parte. Processi stocastici e teoria delle code. Processi stocastici
SIMULAZIONE DI SISTEMI CASUALI 2 parte Processi stocastici e teoria delle code Processi stocastici Generalità La distribuzione di Poisson (degli eventi rari) è caratterizzata dall avere una funzione di
DettagliInformazione binaria: - rappresentazione dei numeri naturali e interi relativi -
Informazione binaria: - rappresentazione dei numeri naturali e interi relativi - Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Tipologie
DettagliCalcolo su Polinomi ===================
Calcolo su Polinomi =================== Descrizione Implementare la classe Monomio le cui istanze rappresentano generici monomi a valori reali del tipo: m(x) = c* x d ovvero monomi contenenti una sola
DettagliQuesti appunti costituiscono soltanto una traccia sintetica del Corso di Laboratorio di Fisica, a prescindere dalle opportune spiegazioni e dai
Questi appunti costituiscono soltanto una traccia sintetica del Corso di Laboratorio di Fisica, a prescindere dalle opportune spiegazioni e dai necessari chiarimenti forniti a lezione. 1 MISURA DI UNA
Dettagli1 Definizione di sistema lineare omogeneo.
Geometria Lingotto. LeLing1: Sistemi lineari omogenei. Ārgomenti svolti: Definizione di sistema lineare omogeneo. La matrice associata. Concetto di soluzione. Sistemi equivalenti. Operazioni elementari
DettagliCONVERSIONE BINARIO DECIMALE NB: Convertire in decimale il numero binario N = N =
NOTAZIONE BINARIA, OTTALE, ESADECIMALE CODIFICA DI NUMERI INTERI RELATIVI 1 CONVERSIONE BINARIO DECIMALE Convertire in decimale il numero binario N = 101011.1011 2 N = 1 2 5 + 0 2 4 + 1 2 3 + 0 2 2 + 1
DettagliIn questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi.
In questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi. 1 strutture dati (astratte) Una struttura dati astratti consiste di uno o più insiemi con delle operazioni
DettagliCorso di Informatica
Corso di Informatica Modulo -Rappresentazione dei numeri relativi Prerequisiti rev Aritmetica dei numeri relativi Introduzione rev Passiamo ora allo studio della rappresentazione dei numeri interi relativi,
DettagliCasi di prova. Il problema dell ordinamento. Casi di prova. Casi di prova. Casi di prova
Casi di prova Casi di prova Quando si vuole testare un algoritmo si devono costruire vari casi di prova. Invece di eseguire il programma più volte si può costruire un file di dati contenente tutti i casi
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 25 ADT (Abstract Data Types) tipo di dato astratto Un ADT è un modello matematico con una collezione di operatori definiti su tale
DettagliEsercitazione 4 Heap
Esercitazione 4 Heap Corso di Fondamenti di Informatica II Algoritmi e strutture dati A.A. 2015/2016 27 Aprile 2016 Sommario Scopo della esercitazione è quello di realizzare una struttura dati per gestire
DettagliAPPUNTI PER IL CORSO DI MATEMATICA APPLICATA. 1. Lezione 1 Richiamo brevemente alcune notazioni della teoria degli insiemi.
APPUNTI PER IL CORSO DI MATEMATICA APPLICATA ERNESTO DE VITO - UNIVERSITÀ DI GENOVA, ITALY 1. Lezione 1 Richiamo brevemente alcune notazioni della teoria degli insiemi. insieme vuoto N insieme dei numeri
DettagliLa codifica delle informazioni numeriche ed alfanumeriche.
Prof.ssa Bianca Petretti La codifica delle informazioni numeriche ed alfanumeriche. Appunti del docente RAPPRESENTAZIONE INFORMAZIONI ALFANUMERICHE codifica ASCII (7 bit): 128 caratteri (da 000 a 127);
DettagliStrutture Dati per Inserimento Ordinato
Strutture Dati per Inserimento Luca Abeni Informatica Luca Abeni 1 / 28 Esempio: Ordinamento di Numeri A che servono i tipi strutturati? Non bastano gli scalari? Capiamolo con un esempio... Problema: dato
DettagliStrutture Dati per Inserimento Ordinato. Luca Abeni
Strutture Dati per Inserimento Ordinato Luca Abeni Esempio: Ordinamento di Numeri A cosa servono i tipi di dato strutturati? Non bastano i tipi scalari? Capiamolo con un esempio... Problema: dato un insieme
DettagliMetodi e Modelli Matematici di Probabilità per la Gestione Prova scritta 13/01/2010
Metodi e Modelli Matematici di Probabilità per la Gestione Prova scritta /0/00 Esercizio. Questo esercizio esamina ciò che avviene in un piccolo supermercato. i) Durante una generica mattinata (sabato
DettagliGALP Software per la gestione delle gare d appalto. si riporta un esempio di gara: col criterio del prezzo più basso
GALP Software per la gestione delle gare d appalto si riporta un esempio di gara: col criterio del prezzo più basso 1 PANNELLO PRINCIPALE DI GALP è possibile la protezione dei dati con apposita password
Dettagli8 Valore assoluto. 8.1 Definizione e proprietà
8 Valore assoluto 8. Definizione e proprietà Si dice valore assoluto o modulo di un numero reale, e si indica con, il numero stesso se questo è positivo o nullo, altrimenti il suo opposto -, in simboli:
DettagliIl linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1
Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Tabelle di hash Fabio Patrizi 1 Implementazioni Dizionario Tempo richiesto dall operazione più costosa: - Liste - Alberi di ricerca non bilanciati - Alberi di ricerca bilanciati
DettagliProgetti Algoritmi e Strutture Dati A.A Si intende realizzare una coda di priorità mediante un max-heap.
Progetti Algoritmi e Strutture Dati A.A. 2017-2018 Esercizio 1 Si intende realizzare una coda di priorità mediante un max-heap. Ogni singolo elemento della struttura è rappresentato da una coppia < categoria,
DettagliEsercizi
Esercizi Si implementi una funzione che riceve in input una matrice NxM di float. Definito picco un numero circondato in tutte le posizioni intorno solo da numeri strettamente inferiori alla sua metà,
Dettagli1) Disegnare la rete di progetto con le attività sugli archi, e la rete di progetto con le attività sui nodi.
Un progetto di ricerca e sviluppo di una società si compone di 12 (principali) attività con precedenze, durate normali b ij (in giorni), costi diretti c ij (in dollari) delle attività alla loro durata
DettagliSimulazione. D.E.I.S. Università di Bologna DEISNet
Simulazione D.E.I.S. Università di Bologna DEISNet http://deisnet.deis.unibo.it/ Introduzione Per valutare le prestazioni di un sistema esistono due approcci sostanzialmente differenti Analisi si basa
DettagliSviluppo 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
DettagliPROBLEMA DEI CAMMINI MINIMI [CORMEN ET AL. CAP. 24] Il costo di cammino minimo da un vertice u ad un vertice v è definito nel seguente modo:
PROBLEMA DEI CAMMINI MINIMI [CORMEN ET AL. CAP. 24] Sia G = (V,E) un grafo orientato ai cui archi è associato un costo W(u,v). Il costo di un cammino p = (v 1,v 2,...,v k ) è la somma dei costi degli archi
DettagliVariabili e tipi di. Alessandra Giordani Lunedì 11 aprile
Variabili e tipi di dato in C Alessandra Giordani agiordani@disi.unitn.it Lunedì 11 aprile 2011 http://disi.unitn.it/~agiordani/ Stringhe Un altro tipo di insieme che vorremmo poter rappresentare è quello
DettagliContabilità di magazzino
Semplicità Inventari e situazioni Simulazione con valorizzazione La procedura è gestita da causali personalizzabili che una volta impostate permettono di lavorare con la massima semplicità Consente di
DettagliCorso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi
Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un
Dettaglimodificato da andynaz Cambiamenti di base Tecniche Informatiche di Base
Cambiamenti di base Tecniche Informatiche di Base TIB 1 Il sistema posizionale decimale L idea del sistema posizionale: ogni cifra ha un peso Esempio: 132 = 100 + 30 + 2 = 1 10 2 + 3 10 1 + 2 10 0 Un numero
DettagliSISTEMI DI ELABORAZIONE
SISTEMI DI ELABORAZIONE CORSO DI LAUREA MAGISTRALE IN INGEGNERIA ELETTRONICA SPECIFICHE DI PROGETTO A.A. 2017/2018 Il progetto deve essere realizzato singolarmente (non è possibile realizzarlo in gruppo).
DettagliIntroduzione. Corso di Tecniche di Simulazione, a.a. 2005/2006. Francesca Mazzia. Dipartimento di Matematica Università di Bari.
Introduzione Corso di Tecniche di Simulazione, a.a. 2005/2006 Francesca Mazzia Dipartimento di Matematica Università di Bari 6 Marzo 2006 Francesca Mazzia (Univ. Bari) Introduzione 6/03/2006 1 / 23 Introduzione
DettagliEsercizi su strutture dati
Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate
DettagliConversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due
Conversione di base Dato N>0 intero convertirlo in base b dividiamo N per b, otteniamo un quoto Q 0 ed un resto R 0 dividiamo Q 0 per b, otteniamo un quoto Q 1 ed un resto R 1 ripetiamo finché Q n < b
DettagliTabelle Hash. Implementazioni Dizionario. Implementazione. Tabelle ad accesso diretto. Tempo richiesto dall operazione più costosa:
Algoritmi e Strutture Dati Implementazioni Dizionario Tempo richiesto dall operazione più costosa: Tabelle Hash - Liste - Alberi di ricerca non bilanciati - Alberi di ricerca bilanciati -Tabelle hash O(n)
DettagliTeoria delle File di Attesa Una coda, o fila di attesa, si forma quando degli utenti attendono di essere serviti da uno o più serventi.
Teoria delle File di Attesa Una coda, o fila di attesa, si forma quando degli utenti attendono di essere serviti da uno o più serventi. Esempi: Studenti agli sportelli della segreteria Utenti di un centro
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 8 gennaio 8 Il problema è simile all esercizio 5.6 del libro di testo di algoritmi (Introduzione agli algoritmi e strutture dati, T.
DettagliPianificazione di un esperimento di simulazione
Pianificazione di un esperimento di simulazione Processo di creazione ed uso di un modello. Criteri di scelta della simulazione : appropriatezza del modello e della soluzione costo semplicità di uso 1.
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE
INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni
DettagliNote per la Lezione 21 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 20 20 Note per la Lezione 2 Ugo Vaccaro In questa lezione introdurremo il concetto di grafo, esamineremo le loro più comuni rappresentazioni ed introdurremo i
DettagliLezione 2. La conoscenza del mondo
Lezione 2 Analogico/Digitale Il sistema binario L aritmetica binaria La conoscenza del mondo Per poter parlare (ed elaborare) degli oggetti (nella visione scientifica) si deve poter assegnare a questi
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Tabelle di hash Domenico Fabio Savo 1 Implementazioni Dizionario Tempo richiesto dall operazione più costosa: - Liste - Alberi di ricerca non bilanciati - Alberi di ricerca bilanciati
DettagliDefinizione 1.3 (Arco accoppiato) Un arco è accoppiato se è appartenente al matching M.
Matching. Definizioni Definizione. (Matching di un grafo G = (N, A)) Il matching di un grafo è un sottoinsieme M di archi tali per cui nessuna coppia di essi condivida lo stesso nodo. Definizione.2 (Matching
DettagliLezione R8. Sistemi embedded e real-time
Lezione R8 Sistemi embedded e real-time +EDF 27 novembre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 R8.1 Di cosa parliamo in questa
DettagliSISTEMI DI ELABORAZIONE
SISTEMI DI ELABORAZIONE CORSO DI LAUREA MAGISTRALE IN INGEGNERIA ELETTRONICA SPECIFICHE DI PROGETTO A.A. 2016/2017 Il progetto deve essere realizzato singolarmente (non è possibile realizzarlo in gruppo).
DettagliVariabile, costante ed espressione
Variabile, costante ed espressione All interno di un programma un informazione può essere organizzata in vari modi: Variabile Costante Espressione Le variabili a loro volta possono essere: scalari vettori
DettagliESEMPI DI SIMULAZIONE
ESEMPI DI SIMULAZIONE Corso di Tecniche di Simulazione, a.a. 2005/2006 Francesca Mazzia Dipartimento di Matematica Università di Bari 7 Marzo 2006 Francesca Mazzia (Univ. Bari) ESEMPI DI SIMULAZIONE 7/03/2006
DettagliModelli descrittivi, statistica e simulazione
Modelli descrittivi, statistica e simulazione Master per Smart Logistics specialist Roberto Cordone (roberto.cordone@unimi.it) Statistica inferenziale Cernusco S.N., giovedì 25 febbraio 2016 (9.00/13.00)
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
DettagliAlgoritmi e Strutture Dati
Algoritmi Golosi (Greedy) Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Problema della selezione di attività Problema: Sia S = {a 1, a 2,,
DettagliReti di calcolatori 27 giugno 2019 N. 1
27 giugno 2019 N. 1 Esercizio 1 [punti 5] Dato il seguente schema di rete Host 3 Host 4 Internet Host 2 Host 1 143.1.32.0/20 101.144.0.0/13 101.144.0.1 192.168.3.2 R2 172.20.1.57 143.1.32.1 172.20.1.56/30
DettagliProblemi algoritmici e Complessità degli algoritmi
Problemi algoritmici e Complessità degli algoritmi Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2005/2006 Problemi algoritmici!
DettagliAlgoritmi e strutture dati
Algoritmi e Strutture Dati Tavole hash Implementazioni Dizionario Tempo richiesto dall operazione più costosa: - Liste - Alberi di ricerca non bilanciati - Alberi di ricerca bilanciati - Tavole hash O(n)
DettagliLezione 12 Costi marginali, salario e produttività marginale del lavoro. Curva di domanda e
Corso di Economica Politica prof. S. Papa Lezione 12 Costi marginali, salario e produttività marginale del lavoro. Curva di domanda e offerta di lavoro Facoltà di Economia Università di Roma La Sapienza
DettagliSistemi di numerazione
Sistemi di numerazione Numeri naturali Noi rappresentiamo i numeri con una sequenza di cifre, ad esempio 10 : 0,1,2,3,4,5,6,7,8,9, secondo una notazione posizionale. Posizionale significa che il valore
DettagliRaccolta dati di qualità dei servizi telefonici
Manuale d uso Raccolta dati di qualità dei servizi telefonici Comunicazione dati del primo semestre 2015 (gennaio - giugno 2015) Tutte le imprese di vendita di energia elettrica e gas con più di 50.000
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale
DettagliCaratteri e stringhe
Caratteri e stringhe Dati testuali Tipi di dato testuali Caratteri Stringhe 5 Dati testuali Tipi di dato testuali I programmi visti finora erano in grado di elaborare esclusivamente informazioni numeriche
DettagliIntelligenza 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
DettagliLaboratorio di Python
Laboratorio di Python Pile Lab14 10 Maggio 2017 Outline Correzione esercizi per oggi Pile Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che prende come parametro una coda
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2018-2019 Pietro Frasca Lezione 20 Martedì 18-12-2018 Esempio Per mostrare l importanza del modo di
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docenti: M. Torelli, S. Aguzzoli Appello del 4 settembre 2008 Progetto Percorsi colorati Consegna entro il 24 settembre 2008 Il problema L obiettivo è quello di
Dettagli6) Descrivere con un diagramma a blocchi un algoritmo che legga da input due numeri ne calcoli il prodotto in termini di somme ripetute.
I due esercizi seguenti su un esempio semplice (trovare il massimo tra due o tra tre numeri) introducono la descrizione di algoritmi con diagrammi a blocchi, le strutture di controllo sequenza e condizione,
Dettagli