Strumenti Utente

Strumenti Sito


magistraleinformaticanetworking:ae:ae2021:start

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
magistraleinformaticanetworking:ae:ae2021:start [17/11/2021 alle 10:29 (2 anni fa)]
Paolo Ferragina
magistraleinformaticanetworking:ae:ae2021:start [27/04/2023 alle 15:32 (12 mesi fa)] (versione attuale)
Paolo Ferragina [Background and Notes of the Course]
Linea 41: Linea 41:
  
 ^ Dates ^ Room ^ Text ^ Notes ^ ^ Dates ^ Room ^ Text ^ Notes ^
-| 08/11/2021, start at 09:00 | room A1 and virtual | {{ :magistraleinformaticanetworking:ae:ae2021:ae211108.pdf |text}}, {{ :magistraleinformaticanetworking:ae:ae2021:algorithmengineering-2022-midterm1.pdf |results}}, {{ :magistraleinformaticanetworking:ae:ae2021:ale_2021_11_08_tutto_.pdf |solution}} | The **midterm exam** will consist of a set of exercises, and will last for 45mins. The part of the program for the exercises will be detailed in the list of lectures below. +| 08/11/2021, start at 09:00 | room A1 and virtual | {{ :magistraleinformaticanetworking:ae:ae2021:ae211108.pdf |text}}, {{ :magistraleinformaticanetworking:ae:ae2021:algorithmengineering-2022-midterm1.pdf |results}}, {{ :magistraleinformaticanetworking:ae:ae2021:ale_2021_11_08_tutto_.pdf |solution}} (Rice-code should use rest from 0)| The **midterm exam** will consist of a set of exercises, and will last for 45mins. The part of the program for the exercises will be detailed in the list of lectures below. 
-| 15/12/2021, start at 09:00 | room A1 and virtual | text, results, solution | The **FinalTerm exam** will have the same structure as the other one. Remember that you have to **register** on the ESAMI portal  and specify whether you'll be in presence or remotely. | +| 15/12/2021, start at 09:00 | room and virtual | {{ :magistraleinformaticanetworking:ae:ae2021:ae211215.pdf |text}}{{ :magistraleinformaticanetworking:ae:ae2021:results-ale-finalterm21.pdf |results}}{{ :magistraleinformaticanetworking:ae:ae2021:ae211215_soluzione_.pdf |solution}} | The **FinalTerm exam** will have the same structure as the other one, but can participate only the students who got >=18 rank in the first MidTermStudents have to register at the [[https://forms.office.com/r/fw1qnEHkR0|following link]] by December 7th, 2021. | 
 +| 14/01/2022, start at 14:00 | room C1 | {{ :magistraleinformaticanetworking:ae:ae2021:ae220114.pdf |text}}, {{ :magistraleinformaticanetworking:ae:ae2021:algoeng-jan2022.pdf |results}}, {{ :magistraleinformaticanetworking:ae:ae2021:ae220114_soluzione_.pdf |solution}} | Oral will start at 16:00, of 14.01.\\ Students can attend the oral exam in the next exam dates too (starting from Feb). | 
 +| 02/02/2022, start at 09:00 | room C1 | {{ :magistraleinformaticanetworking:ae:ae2021:ae220202.pdf |text}}, {{ :magistraleinformaticanetworking:ae:ae2021:ae-ris_feb22.pdf |results}}, {{ :magistraleinformaticanetworking:ae:ae2021:ae220202_soluzione_.pdf |solution}} | Oral will start at 14:30 in the virtual room of the course, the same day of the written exam | 
 +| 13/06/2022, start at 09:00 | room L1 | {{ :magistraleinformaticanetworking:ae:ae2021:ae220613.pdf |text}}, {{ :magistraleinformaticanetworking:ae:ae2021:ae220613_soluzione_.pdf |solution}} |  | 
 +| 04/07/2022 |  | {{ :magistraleinformaticanetworking:ae:ae2021:ae220704_scritto_.pdf |text}} |  | 
 +| 25/07/2022 |  | {{ :magistraleinformaticanetworking:ae:ae2021:ae220725_scritto_.doc |text}} |  |
 ====== Background and Notes of the Course ======  ====== Background and Notes of the Course ====== 
  
 I strongly suggest refreshing your knowledge about basic Algorithms and Data Structures by looking at the well-known book [[https://mitpress.mit.edu/books/introduction-algorithms-third-edition|Introduction to Algorithms]], Cormen-Leiserson-Rivest-Stein (third edition). Specifically, I suggest you look at the chapters 2, 3, 4, 6, 7, 8, 10, 11 (no perfect hash), 12 (no randomly built), 15 (no optimal BST), 18, 22 (no strongly connected components). Also, you could look at the [[http://videolectures.net/mit6046jf05_introduction_algorithms/|Video Lectures]] by Erik Demaine and Charles Leiserson, specifically Lectures 1-7, 9-10, and 15-17. I strongly suggest refreshing your knowledge about basic Algorithms and Data Structures by looking at the well-known book [[https://mitpress.mit.edu/books/introduction-algorithms-third-edition|Introduction to Algorithms]], Cormen-Leiserson-Rivest-Stein (third edition). Specifically, I suggest you look at the chapters 2, 3, 4, 6, 7, 8, 10, 11 (no perfect hash), 12 (no randomly built), 15 (no optimal BST), 18, 22 (no strongly connected components). Also, you could look at the [[http://videolectures.net/mit6046jf05_introduction_algorithms/|Video Lectures]] by Erik Demaine and Charles Leiserson, specifically Lectures 1-7, 9-10, and 15-17.
  
-Most of the content of the course will be covered by some notes I wrote in these years; for some topics, parts of papers/books will be used. You can download the latest version of these notes from [[https://www.dropbox.com/s/20zimrhrk2m4frw/Book%20pre-publication.pdf?dl=0|this link]]. I state that **this material** will be published by //Cambridge University Press// as //Pearls of Algorithm Engineering// by me. This prepublication version is free to view and download for personal use only. Not for redistribution, resale or use in derivative works. © Paolo Ferragina 2020.+Most of the content of the course will be covered by some notes I wrote in these years; for some topics, parts of papers/books will be used. You can download the latest version of these notes from [[https://www.cambridge.org/core/books/pearls-of-algorithm-engineering/95061352D7263CCCBD4F243018236EB2|this link]]. I state that **this material** will be published by //Cambridge University Press// as //Pearls of Algorithm Engineering// by me. This prepublication version is free to view and download for personal use only. Not for redistribution, resale or use in derivative works. © Paolo Ferragina 2020.
  
  
 ====== Lectures ======  ====== Lectures ====== 
  
-Students that are not able to attend the lecturescan refer to [[https://web.microsoftstream.com/group/37a1faa2-cf5c-48d7-89e7-c68c57fa6c35|the video-lectures of the last academic year]] (click on "Videos", and then sort them by name). The video-lectures of this year are available in the agenda below.\\+Video-lectures of this year are available belowthe ones of the  [[https://web.microsoftstream.com/group/37a1faa2-cf5c-48d7-89e7-c68c57fa6c35|last academic year]] are available too (click on "Videos", and then sort them by name). \\
  
 The lectures below include also some **EXTRA** material, which is suggested to be read for students aiming to high rankings. The lectures below include also some **EXTRA** material, which is suggested to be read for students aiming to high rankings.
Linea 67: Linea 71:
 | 27/09/2021 | Exercises on Random Sampling and sorting.\\ Randomized data structures: Treaps  (with time complexity and proofs). | [[http://didawiki.di.unipi.it/lib/exe/fetch.php/magistraleinformaticanetworking/ae/ae2011/04_ericksonnotes-treap-sl.pdf|Notes]] by others.  Study also Theorems and Lemmas.\\ video [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_09_27-20210927_090130-Meeting%20Recording.mp4?web=1|part 1]] and [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_09_27-20210927_100948-Meeting%20Recording.mp4?web=1|part 2]] | | 27/09/2021 | Exercises on Random Sampling and sorting.\\ Randomized data structures: Treaps  (with time complexity and proofs). | [[http://didawiki.di.unipi.it/lib/exe/fetch.php/magistraleinformaticanetworking/ae/ae2011/04_ericksonnotes-treap-sl.pdf|Notes]] by others.  Study also Theorems and Lemmas.\\ video [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_09_27-20210927_090130-Meeting%20Recording.mp4?web=1|part 1]] and [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_09_27-20210927_100948-Meeting%20Recording.mp4?web=1|part 2]] |
 | 28/09/2021 | Randomized data structures: Skip lists (with proofs and comments on time-space complexity and I/Os).   | See Demaine's lecture [[http://videolectures.net/mit6046jf05_demaine_lec12/|num. 12]] on skip lists.\\ video [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_09_28-20210928_110502-Meeting%20Recording.mp4?web=1|part 1]] and [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_09_28-20210928_121105-Meeting%20Recording.mp4?web=1|part 2]] |   | 28/09/2021 | Randomized data structures: Skip lists (with proofs and comments on time-space complexity and I/Os).   | See Demaine's lecture [[http://videolectures.net/mit6046jf05_demaine_lec12/|num. 12]] on skip lists.\\ video [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_09_28-20210928_110502-Meeting%20Recording.mp4?web=1|part 1]] and [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_09_28-20210928_121105-Meeting%20Recording.mp4?web=1|part 2]] |  
-| 29/09/2021 | Fast set intersection, various solutions: scan, sorted merge, binary search, mutual partition, binary search with exponential jumps. Fast set intersection: two-level scan. Interpolation Search. \\ **EXTRA:** random shuffling. | Chap. 6 of the notes, and Sect 9.2.\\ video [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_09_29-20210929_090244-Meeting%20Recording.mp4?web=1|part 1]] and [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_09_29-20210929_101328-Meeting%20Recording.mp4?web=1|part 2]] | +| 29/09/2021 | Fast set intersection, various solutions: scan, sorted merge, binary search, mutual partition, binary search with exponential jumps. Fast set intersection: two-level scan. Interpolation Search. \\ **EXTRA:** random shuffling (sect. 6.4). | Chap. 6 of the notes, and Sect 9.2.\\ video [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_09_29-20210929_090244-Meeting%20Recording.mp4?web=1|part 1]] and [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_09_29-20210929_101328-Meeting%20Recording.mp4?web=1|part 2]] | 
 | 06/10/2021 | Prefix-free codes, the notion of entropy. Integer coding: the problem and some considerations.  | Chap. 11 of the notes.\\ From last year: Video [[https://www.dropbox.com/s/ndx2bu3ee8zx8xj/2020-10-14%20ALE%20parte%201.mp4?dl=0|part 1]][[https://www.dropbox.com/s/ozsdbkc2y6h74uz/2020-10-14%20ALE%20parte%202.mp4?dl=0|part 2]] | | 06/10/2021 | Prefix-free codes, the notion of entropy. Integer coding: the problem and some considerations.  | Chap. 11 of the notes.\\ From last year: Video [[https://www.dropbox.com/s/ndx2bu3ee8zx8xj/2020-10-14%20ALE%20parte%201.mp4?dl=0|part 1]][[https://www.dropbox.com/s/ozsdbkc2y6h74uz/2020-10-14%20ALE%20parte%202.mp4?dl=0|part 2]] |
 | 11/10/2021 | Shannon Theorem and optimal codes. The codes Gamma and Delta, space/time performance, and consideration on optimal distributions. The codes Rice, PForDelta, variable-byte. | Video [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%2020211011-20211011_070624-Meeting%20Recording.mp4|part 1]] and [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%2020211011-20211011_080043-Meeting%20Recording.mp4|part 2]] | | 11/10/2021 | Shannon Theorem and optimal codes. The codes Gamma and Delta, space/time performance, and consideration on optimal distributions. The codes Rice, PForDelta, variable-byte. | Video [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%2020211011-20211011_070624-Meeting%20Recording.mp4|part 1]] and [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%2020211011-20211011_080043-Meeting%20Recording.mp4|part 2]] |
Linea 86: Linea 90:
 | 16/11/2021 | Canonical Huffman: construction, properties. Huffman decompression. Arithmetic coding: properties, algorithm and proofs. | [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_11_16-20211116_111346-Meeting%20Recording.mp4?web=1|Video]] | | 16/11/2021 | Canonical Huffman: construction, properties. Huffman decompression. Arithmetic coding: properties, algorithm and proofs. | [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_11_16-20211116_111346-Meeting%20Recording.mp4?web=1|Video]] |
 | 17/11/2021 | Exercises on Statistical coders | {{ :magistraleinformaticanetworking:ae:ae2020:ale-esercizi_su_huffman_e_arithmetic.pdf |notes}}, [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Riunione%20in%20_General_-20211117_090545-Registrazione%20della%20riunione.mp4?web=1|Video]] | | 17/11/2021 | Exercises on Statistical coders | {{ :magistraleinformaticanetworking:ae:ae2020:ale-esercizi_su_huffman_e_arithmetic.pdf |notes}}, [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Riunione%20in%20_General_-20211117_090545-Registrazione%20della%20riunione.mp4?web=1|Video]] |
- +| 22/11/2021 | More on Arithmetic coding: decoding, encoding the output, and entropy bounds. Dictionary-based compressors: properties and algorithmic structure. LZ77, LZSS, LZ78.  | Chap 13.1 and 13.2. No LZW. {{ :magistraleinformaticanetworking:ae:ae2021:lect_lz77-78_no_lzw_.ppt |Slides}} and [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_11_22-20211122_090322-Meeting%20Recording.mp4|video]]. |  
-| 22/11/2021 | More on Arithmetic coding: entropy bounds. | Video | +| 23/11/2021 | Substring search: definitionproperties, reduction to prefix search. The Suffix Array. Binary searching the Suffix Array: p log n. Suffix Array construction via qsort and its asymptotic analysis. Text mining use of suffix arrays. Compressor bzip: MTF, RLE, Burrows-Wheeler Transform. | Chap. 10 of the notes: 10.1, 10.2.1 (but no page 10-4 and 10-5 and thus no Lemma 10.2), 10.2.3 (but no "The skew algorithm", no "The Scan-based algorithm"), 10.4.3 and 14.1-14.3.\\ [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_11_23-20211123_110530-Meeting%20Recording.mp4?web=1|Video]] and [[https://www.dropbox.com/s/m4yogpojydotw97/Lect%20SA-ST%20and%20Bwt.pptx?dl=0|slides]] 
-| 23/11/2021 | Dictionary-based compressors: properties and algorithmic structure. LZ77, LZSS, LZ78, LZW.  | Chap 13, no par 13.4. Slides. |  +23/11/2021 | Exercises | [[https://unipiit.sharepoint.com/:v:/r/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_11_23-20211123_110530-Meeting%20Recording.mp4?csf=1&web=1&e=IDTwHk|Video]] and [[https://www.dropbox.com/s/bcs2va92cb3t9pq/LZ77%2C%20LZss%2C%20LZ78%2C%20Bzip2.pdf?dl=0|notes]] 
-24/11/2021 | Exercises | {{ :magistraleinformaticanetworking:ae:ae2020:lz-exercises.pdf |notes}} | +24/11/2021 | How to construct the BWT via qsortHow to invert the BWT. Exercises. | Video [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_11_24-20211124_090354-Meeting%20Recording.mp4?web=1|part 1]] and [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_11_24-20211124_094243-Registrazione%20della%20riunione.mp4|part 2]]. [[https://www.dropbox.com/s/tiqp6pr9v6aaehg/LZ77%2C%20LZss%2C%20LZ78%2C%20Bzip2.pdf?dl=0|Notes]] on exercises.|
-  +
- +
-14/12/2021 | **FinalTerm exam**. Register on the Esami portal following the instructions aboveTopics will be the ones that we have dealt with after the MidTerm exam. | | +
- +
-^           Last year program, just for reference           ^^^   +
-^ Date ^ Lecture ^ Biblio ^ +
 |  | //Students are warmly invited to refresh their know-how about:// hash functions and their properties; hashing with chaining. | Lectures 7 of [[http://videolectures.net/mit6046jf05_introduction_algorithms/|Demaine-Leiserson's course]] at MIT |  |  | //Students are warmly invited to refresh their know-how about:// hash functions and their properties; hashing with chaining. | Lectures 7 of [[http://videolectures.net/mit6046jf05_introduction_algorithms/|Demaine-Leiserson's course]] at MIT | 
-00/00/2021 -- 05.10.2020 | Hashing and dictionary problem: direct addressing, simple hash functions, hashing with chaining. Uniform hashing and its computing/storage cost, universal hashing (definition and properties). | Chap. 8 of the notes. All theorems with proof, except Theo 8.5 without a proof (only the statement). +29/11/2021 | Hashing and dictionary problem: direct addressing, simple hash functions, hashing with chaining. Uniform hashing and its computing/storage cost, universal hashing (definition and properties). Two examples of Universal Hash functions: one with correctness proof, the other without. | Chap. 8 of the notes. All theorems with proof, except Theo 8.3 and 8.5 without a proof (only the statement).\\ [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_11_29-20211129_090144-Meeting%20Recording.mp4|Video]] 
-| 00/00/2021 -- 06.10.2020 | Two examples of Universal Hash functions: one with correctness proof, the other without. Perfect hash table (with proof). | | +30/11/2021 | Cuckoo hashing (with all proofs). Minimal ordered perfect hashing: definition, properties, construction, space and time complexity. | No Perfect Hash (8.5).\\ [[https://unipiit.sharepoint.com/:v:/r/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_11_30-20211130_110513-Meeting%20Recording.mp4?csf=1&web=1&e=I6eKHm|Video]] 
-00/00/2021 -- 07.10.2020 | Minimal ordered perfect hashing: definition, properties, construction, space and time complexity. Exercise. |  | +01/12/2021 | Bloom Filter: properties, construction, query and insertion operations, error estimation (with proofs). Spectral Bloom Filter. Prefix search: definition of the problem, solution based on arrays, Front-coding, two-level indexing based on compacted tries or Patricia Trees. Analysis of space, I/Os and time of all described solutions. \\ **EXTRA:** Lower bound on BF space No 8.7.2 (compressed BF). Chap. 9 of the notes: 9.1, 9.4, 9.5. No Locality Preserving front coding (9.3).\\ [[https://unipiit.sharepoint.com/:v:/r/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_12_01-20211201_090211-Meeting%20Recording.mp4?csf=1&web=1&e=yibPAd|Video]] | 
-| 00/00/2021 -- 12.10.2020 Cuckoo hashing (with all proofs). |  +| 06/12/2021 Exercises | [[https://unipiit.sharepoint.com/:v:/r/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_12_06-20211206_090607-Meeting%20Recording.mp4?csf=1&web=1&e=RoebWH|video]] | 
-00/00/2021 | Bloom Filter: properties, construction, query and insertion operations, error estimation (with proofs). Spectral Bloom Filter.\\ **EXTRA:** Lower bound on BF space | No 8.7.2 (compressed BF) | +| 07/12/2021 | Exercises | [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Lezione%20del%202021_12_07-20211207_111041-Meeting%20Recording.mp4?web=1|Video]] | 
-| 00/00/2021 -- 01.12.2020 | Prefix search: definition of the problem, solution based on arrays, Front-coding, two-level indexing based on compacted tries or Patricia Trees. Analysis of space, I/Os and time of all described solutions.  | Chap. 9 of the notes: 9.1, 9.4, 9.5. No Locality Preserving front coding (9.3). +| 13/12/2021 | Student meeting exercises | [[https://unipiit.sharepoint.com/sites/a__td_517732/Shared%20Documents/General/Recordings/Meeting%20del%202021_12_13-20211213_090808-Meeting%20Recording.mp4?web=1|Video]] 
-| 00/00/2021 -- 02.12.2020 Substring searchdefinition, properties, reduction to prefix searchThe Suffix ArrayBinary searching the Suffix Arrayp log n. Suffix Array construction via qsort and its asymptotic analysis. LCP array construction in linear time. Text mining use of suffix arrays. | Chap. 10 of the notes10.1, 10.2.1 (but no page 10-4 and 10-5 and thus no Lemma 10.2), 10.2.2, 10.2.3 (but no "The skew algorithm", no "The Scan-based algorithm"), and 10.4.3. | +15/12/2021 | **FinalTerm exam**Topics will be the ones that we have dealt with after the MidTerm exam. Students have to register at the [[https://forms.office.com/r/fw1qnEHkR0|following link]] by December 7th, 2021. | |
-00/00/2021 | Lecture (extra) on Genome compression| {{ :magistraleinformaticanetworking:ae:ae2020:lz-exercises.pdf |notes}} |+
  
magistraleinformaticanetworking/ae/ae2021/start.1637144973.txt.gz · Ultima modifica: 17/11/2021 alle 10:29 (2 anni fa) da Paolo Ferragina