Based on this post from Jason Davies and pseudocode from here. Rapidly-exploring Random Trees are really cool since they provide an efficient way of exploring any metric space. This could mean anything from \(\mathbb{R}^n\) to the set of 8-bit binary numbers. Unlike the usual algorithm, I am using the "Mitchell's best candidate" algorithm instead of uniform random sampling with the hope that it speeds up the search, but I don't see much of a difference.