Algoritmi e strutture di dati 2 Paola Vocca Lezione 2: Tecniche golose (greedy) Lezione2- Greedy 1 Algoritmi golosi • Un algoritmo goloso basa le sue scelte sulla configurazione attuale senza valutare le conseguenze sulle configurazioni successive • Il paradigma dell’algoritmo goloso non è facilmente formalizzabile • Il successo di tale tecnica dipende da proprietà strutturali del problema • Problemi già affrontati o Cammino minimo o Minimum spannning tree Lezione2- Greedy 2 Progettazione di algoritmi greedy • Tecniche di dimostrazione (progettazione) o Greedy algorithms stays ahead: Ad ogni passo la scelta effettuata dall’algoritmo risulta migliore rispetto alla soluzione ottima (Interval scheduling) o Proprietà strutturali: individuare un valore «strutturale» che deve essere verificato dalla soluzione ottima. Dimostrare, quindi che la soluzione greedy verifica tale valore. (Interval Partition) o Exachage algorithm: trasformazione di una qualsiasi soluzione ottima nella soluzione trovata dall’algoritmo senza alterare la misura della soluzione (Minimizing Lateness scheduling) Lezione2- Greedy 3 Caching Offline ottimale • Probelma del Caching. o Memoria cache con una capacità finita di memorizzare 𝒌 elementi o Sequenza di 𝒎 richieste di oggetti 𝒅𝟏 , 𝒅𝟐 , … , 𝒅𝒎 . o Cache hit: viene richiesto un oggetto già presente nella cache o Cache miss: viene richiesto un oggetto nbonpresente nella cache. Deve essere portato nella cache eliminando, eventualmente se la cache è piena, un altro elemento presente. • Ex: k = 2, o Stato iniziale della cache = ab, o Sequenza di richieste: 𝒂, 𝒃, 𝒄, 𝒃, 𝒄, 𝒂, 𝒂, 𝒃. o Strategia ottima di eliminazione: 2 cache misses • Goal. o Una strategia di eliminazione che minimizza il numero di cache misses. Lezione2- Greedy 4 Optimal Offline Caching: Farthest-In- Future Lezione2- Greedy 5 Reduced Eviction Schedules In a reduced schedule the number of insertions is equal to the number of misses Lezione2- Greedy 6 Reduced Eviction Schedules Lezione2- Greedy 7 Farthest-In-Future: Analysis Lezione2- Greedy 8 Farthest-In-Future: Analysis same e f same e f same e d same d f Lezione2- Greedy 9 Farthest-In-Future: Analysis same e Lezione2- Greedy same f 10 Farthest-In-Future: Analysis same same e g Lezione2- Greedy same same f g 11 Caching Perspective Lezione2- Greedy 12
© Copyright 2024 Paperzz