ℝikhav Shah

Applied Projects

Statistical Paradoxes—interactive demonstrations of why seemingly obvious conclusions don't necessarily follow when examining real-world data.

Probabilistic Counters—analyzing performance of probabilisitc counters in theory and practice; addressing an apparent bug in the Redis caching system GitHub issue.


Spectral Approach to Polytope Diameter—upper bounds on graph diameter of a polytope in two settings: (1) worst-case for integer polytopes with short bit description (2) smoothed unit polytopes. arxiv ITCS Conference slides talk

Smoothed analysis of the condition number under low-rank perturbations—adding a random rank k matrix to a fixed matrix of rank n-k produces a well-conditioned matrix. arxiv RANDOM Conference

Directed Random Geometric Graphs—novel class of random digraphs for modeling real-world directed networks. arxiv Journal of Complex Networks

Determinants of binary matrices achieve every integral value up to Omega(2^n/n)—exactly as the title states. An explicit construction is provided. arxiv Linear Algebra and its Applications


Becoming the world's highest rated chess player—if n chess players starting with equal rating play a total of k games, how high could one possibly be rated after the games? arxiv FUN2024


Opt-ML (NeurIPS satellite)—using random projections to speed up t-SNE without degrading clustering accuracy. poster

Sloan Sports Analytics Conference—treated basketball players as points traveling relative to a gradient of the `basket probabiltiy' function which assigns the probability of making a shot to each location on the court.

Selected Projects

HackMIT 2018—created graphical user interface for constructing & training neural networks, with fast iteration of network architecture and ability to export in industry standard format. [First Place Grand Prize Winner]

HackMIT 2017—created image enhancer that increases resolution and recovers detail from pixelated images without using machine learning or image databases. [First Place Grand Prize Winner]

NBA Hackathon—created tool to examine player matchups and optimal defender location on court throughout the game. [Third place winner]


Intransitive game—There's an elegant characterization of every symmetric, zero-sum game, which may be intransitive in general (e.g. rock-paper-scissors). In particular, all payoffs are determined by a difference between two simple inner products. I've implemented a visualization of a random instance of such a game being played between many players; I also wrote a brief proof that the characterization always works.

Boids—classic boids simulation written in js and rendered using svg. Interestingly, not a single 'boid' implementation I was able to find online used the two key details outlined in the original SIGGRAPH paper here. Namely, strength of repulsion is given by an inverse square law, and accleration is determined based on prioritized allocation. I find they dramatically improve the simulation!

Snake—bot plays snake on different sized grids. The bot maintains a cycle cover of the grid graph such that the snake is a subset of the edges in the cover. The cycle cover is modified each step to attempt to put the snake in the same cycle as the food, and to make that said cycle as short as possible.

Puzzles—some puzzle-hunt style puzzles I made.

Bird game—a text-based game in which you're a bird and have to figure out your goals.


Discrete analysis seminar—click the link for details.

Also check out these people! Sachin Shah, Sandeep Silwal, Vilas Winstein.