CS168: The Modern Algorithmic Toolbox
Lecture #1: Introduction and Consistent Hashing
Tim Roughgarden & Gregory Valiant
March 30, 2015
1
Consistent Hashing
1.1
Meta-Discussion
Well talk about the course in general in Section 2, but rst lets discuss a repr

CS168: The Modern Algorithmic Toolbox
Lecture #14: Linear and Convex Programming, with
Applications to Sparse Recovery
Tim Roughgarden & Gregory Valiant
May 13, 2015
1
The Story So Far
Recall the setup in compressive sensing. There is an unknown signal z

CS168: The Modern Algorithmic Toolbox
Lecture #15: Gradient Descent Basics
Tim Roughgarden & Gregory Valiant
May 18, 2015
1
Executive Summary
Over the past few weeks, weve discussed several fundamental algorithms that have numerous
applications the singul

CS168: The Modern Algorithmic Toolbox
Lecture #11: The Fourier Transform and Convolution
Tim Roughgarden & Gregory Valiant
May 8, 2015
1
Intro
Thus far, we have seen a number of dierent approaches to extracting information from
data. This week, we will di

CS168: The Modern Algorithmic Toolbox
Lecture #9: The Singular Value Decomposition (SVD)
and Low-Rank Matrix Approximations
Tim Roughgarden & Gregory Valiant
April 27, 2015
1
Low-Rank Matrix Approximations: Motivation
Consider an n d matrix A. Perhaps A r

CS168: The Modern Algorithmic Toolbox
Lecture #13: Compressive Sensing
Tim Roughgarden & Gregory Valiant
May 11, 2015
1
Sparsity
Data analysis is only interesting when the data has structure theres not much you can
do with random noise. Ideally, when data

CS168: The Modern Algorithmic Toolbox
Lecture #10: Tensors, and Low-Rank Tensor Recovery
Tim Roughgarden & Gregory Valiant
May 1, 2015
Last lecture discussed singular value decomposition (SVD), and we saw how such decompositions reveal structure about the

CS168: The Modern Algorithmic Toolbox
Lecture #9: The Singular Value Decomposition (SVD)
and Low-Rank Matrix Approximations
Tim Roughgarden & Gregory Valiant
April 27, 2015
1
Low-Rank Matrix Approximations: Motivation
Consider an n d matrix A. Perhaps A r

CS168: The Modern Algorithmic Toolbox
Lecture #8: PCA and the Power Iteration Method
Tim Roughgarden & Gregory Valiant
April 15, 2015
This lecture began with an extended recap of Lecture 7. Recall that if we have a matrix X, whose rows represent the data

CS168: The Modern Algorithmic Toolbox
Lecture #7: Understanding Principal Component
Analysis (PCA)
Tim Roughgarden & Gregory Valiant
April 20, 2015
1
1.1
Introduction
Lecture Goal
Principal components analysis (PCA) is a basic and widely used technique fo

CS168: The Modern Algorithmic Toolbox
Lecture #2: Approximate Heavy Hitters and the
Count-Min Sketch
Tim Roughgarden & Gregory Valiant
April 2, 2015
1
The Heavy Hitters Problem
1.1
Finding the Majority Element
Lets begin with a problem that many of you ha

CS168: The Modern Algorithmic Toolbox
Lecture #4: Dimensionality Reduction
Tim Roughgarden & Gregory Valiant
April 8, 2015
1
The Curse of Dimensionality in the Nearest Neighbor Problem
Lectures #1 and #2 discussed unstructured data, where the only informa

CS168: The Modern Algorithmic Toolbox
Lecture #5: Sampling and Estimation
Tim Roughgarden & Gregory Valiant
April 23, 2015
This week, we will cover tools for making inferences based on random samples drawn from
some distribution of interest (e.g. a distri

CS168: The Modern Algorithmic Toolbox
Lecture #6: Markov Chain Monte Carlo
Tim Roughgarden & Gregory Valiant
April 15, 2015
The previous lecture covered several tools for inferring properties of the distribution that
underlies a random sample. In this lec

CS168: The Modern Algorithmic Toolbox
Lecture #3: Similarity Metrics and kd-Trees
Tim Roughgarden & Gregory Valiant
April 6, 2015
1
Similarity Search
We begin with the basic problem of how to organize/represent a dataset so that similar items
can be found

CS168: The Modern Algorithmic Toolbox
Lectures #17 and #18: Spectral Graph Theory
Tim Roughgarden & Gregory Valiant
June 3, 2015
Spectral graph theory is the powerful and beautiful theory that arises from the following
question:
What properties of a graph