Research

Smaller data.
Faster algorithms.

Data compression

Coresets for scalable machine learning and optimization.

Game theory & fairness

Fair division, mechanism design, and resource allocation.

Clustering · k-means

Compress. Solve. Lift.

Find three clusters in 1,200 data points by solving a 24-point summary.

The original problem

Lots of data.

The original dataset1,200 synthetic data points. The goal is to find three clusters.

1,200 points

A smaller problem

Compress.

A small weighted summary and its solutionCompress to 24 representative points. Larger dots carry more weight. Run weighted k-means on this smaller input to find three cluster centers.

24 weighted points k-means · solved

The full-data solution

Retrieve the full clustering.

The solution lifted to the original datasetUse the learned centers to assign every one of the 1,200 original points to its nearest cluster. Colors show the three clusters; plus signs show their centers.

1,200 points 3 clusters

Lift the solution to all 1,200 original points.

Synthetic example. Larger dots carry more weight; + marks a cluster center. The lifted solution is approximate.

50×

Cluster a smaller dataset

Run k-means on 24 points instead of 1,200.

Faster algorithms

Do the expensive work on less data

Less memory

A smaller working set for the solver

Also exploring AI alignment and LLMs in markets.

Selected publications