מספר עצום של התפתחויות טכנולוגיות במדעי המחשב בעשורים האחרונים נובעות מאיסוף ומינוף של מידע מאסיבי. מעבר להזדמנויות שמידע זה מביא, גודלו גם מביא איתו אתגרים: כיצד עלינו לעבד את המידע הרב הזה, אשר לרוב גדול מכדי להיכנס לזיכרון של מחשב בודד?
הקורס עוסק בתיאוריה של אלגוריתמים להתמודדות עם אתגרי מידע מאסיבי כנ״ל.
דוגמאות לנושאים ושאלות שיילמדו בקורס כוללות:
- אלגוריתמי סטרימינג (Streaming): כמה זיכרון נחוץ בשביל לפתור בעיות שהקלט עבורן נחשף באופן הדרגתי?
- אלגוריתמים להורדת מימד: כיצד להקטין את מימד המידע ועדיין לשמר תכונות חשובות שלו?
- אלגוריתמי Map Reduce: כיצד לתאם בין עשרות אלפי מכונות ויותר כדי לפתור בעיות אלגוריתמיות?
A tremendous number of technological advancements in computer science over recent decades stem from the collection and leveraging of massive amounts of data. Beyond the opportunities this data brings, its size also introduces challenges: how should we process such large volumes of data, which is often too big to fit into the memory of a single computer?
The course addresses the theory of algorithms designed to tackle challenges posed by massive data.
Examples of topics and questions covered in the course include:
- Streaming Algorithms: How much memory is required to solve problems when the input is gradually revealed?
- Dimensionality Reduction Algorithms: How can we reduce the dimension of data while still preserving its important features?
- MapReduce Algorithms: How can we coordinate tens of thousands of machines or more to solve algorithmic problems?