RSSAmplifier

Blog

Tommy Reddad

Recent content on Tommy Reddad

tommy.reddad.netRSS feed ↗15 posts

Latest posts

Pretty Brownian motion simulations

As I went through a laptop upgrade and migration recently, I discovered remnants of my old academic webpage. I found this post which has some pretty diagrams for simulations of Brownian motion and related mathematical objects. I thought it could be interesting to reproduce so that these pretty diagrams don’t get lost forever! Incidentally, I really enjoyed learning about Brownian motion, and…

A gender-swap EarthBound for my daughter

I had some fun over the last week preparing a gender-swapped version of EarthBound for the SNES. I made use of the excellent tool CoilSnake , which can be used to patch and rebuild an EarthBound ROM with modified assets and scripts. The full set of changes includes things like: gender swapping all Ness sprites, replacing his baseball cap with a red bow. Includes changes to Ness robot sprites,…

Coming soon: a few exploratory projects

I’ve been messing around in my free time doing a bit of coding for fun and to explore areas of interest. It’s a bit hard to motivate myself to code during my free time considering coding is also part of my day job. But my day job is not very technically interesting, so this is how I get to explore the fun of coding. I’ll briefly describe a few of these projects which I have in…

Rebuilt this website with Hugo

I decided yesterday to rebuild this website using Hugo , while it was originally built using Jekyll . In this post I’ll discuss my experience.

galtonwatson, a Go module for efficient manipulation of Galton-Watson trees

galtonwatson is a Go module in early development which implements efficient algorithms for the generation and manipulation of Galton-Watson trees. By extension, this tool can be used to generate uniformly random samples from many classes of rooted trees, including: uniformly random binary trees of a given size, uniformly random d-ary trees of a given size, uniformly random Cayley trees, i.e.,…

The Burrows-Wheeler transform, revisited

In my previous post , I discussed the Burrows-Wheeler transform, and embedded an HTML form on the page which dynamically computed the forward and inverse Burrows-Wheeler transforms with an additional move-to-front compression step. My initial implementation of this form was done in pure JavaScript with no particular care for efficiency, and in particular used \(O(n^2 \log n)\) space and time. The…

The Burrows-Wheeler transform and move-to-front compression

Input BWT MTF BWT+MTF Alphabet: Bit count: Alphabet: Bit count: The above form implements algorithms to code and decode from the move-to-front compression scheme, with or without an additional application of the Burrows-Wheeler transform. These extremely slick algorithms blew my mind when I first heard of them. They are currently in use, among other places, in…

Splay trees and optimality

The splay tree is probably my favourite data structure. Is it useful in practice? Probably not, but its remarkable optimality properties coupled with its bare simplicity are so tantalizing that I’ve fallen in love with splaying. In the rest of this post, I’ll describe the splay tree structure, and present some of my favourite splay tree properties. You will also find an instructive D3…

A uniform sum threshold problem

Let \(U_1, U_2, \dots\) be an infinite sequence of independent \(\mathrm{Uniform}[0, 1]\) random variables. Let \(N\) be the minimum index for which \[ U_1 + U_2 + \dots + U_N > 1 . \] What is the expected value \(\mathbf{E}\{N\}\)?

Generating spherical points without complex operations

These days, most of everyone’s favourite languages and libraries for scientific computing come ready-equipped with random number generators for most common univariate distributions: the uniform, binomial, normal, geometric, exponential, beta, etc. In my experience, multivariate generation is comparatively hit-or-miss. But in any case, since documentation usually doesn’t specify…

Discrete minimax estimation with trees

This morning, I submitted the final version of my paper Discrete minimax estimation with trees (Devroye and Reddad, 2019), which is to appear in the Electronic Journal of Statistics. I think this paper is conceptually quite interesting, and I’m very happy with the final result, so in this post I’ll describe some of the main ideas present in the work.

Some conditioned Galton-Watson trees never grow

When programmers hear the phrase “random tree,” they most likely think of a random binary search tree, i.e., a binary search tree built from the insertion of a uniformly random permutation of \(n\) keys—denote such a tree by \(\mathrm{BST}_n\). A mathematician might instead think that a ``random tree’’ is more likely to be a uniformly random tree taken from some…

About

Resumé (pdf) I’m a software developer at Google and computer scientist based in Albuquerque, New Mexico. My previous academic work concerned applied probability theory, statistics, and the analysis of algorithms. I’m interested in deep learning especially concerning natural language understanding. Interested in games, math, sourdough bread, and jiu-jitsu. Ex-PhD student of Luc Devroye…

Archive

Unused. Content is actually defined in the ‘archive’ layout.

Publications

Devroye, L., Mehrabian, A., Reddad, T., 2023. The total variation distance between high-dimensional Gaussians with the same mean. arXiv e-prints abs/1810.08693. Brandenberger, A.M., Devroye, L., Reddad, T., 2021. The Horton-Strahler number of conditioned Galton-Watson trees. Electron J. Probab. 26, 1-29. Devroye, L., Mehrabian, A., Reddad, T., 2020. The minimax learning rate of normal and Ising…