The Mathematics of 2048: Counting States by Exhaustive Enumeration
How many board configurations are there in the game of 2048? Let's try to enumerate them.
The latest blog posts to take off on Hacker News. 2,391 posts.
How many board configurations are there in the game of 2048? Let's try to enumerate them.
This paper was published in the American Mathematical Monthly 102 (1995), 139-154.
A blog about programming and modern web development, particularly Node.js and React
Deep convolutional networks have become a popular tool for image generation and restoration. Generally, their excellent performance is imputed to their ability to learn realistic image priors from a large number of example images. In this paper, we show that, on the contrary, the structure of a generator network is…
Floating point numbers have limited precision. If you are a game programmer, you have likely encountered bugs where things start breaking after too much time has elapsed, or after something has mov…
This HTML version of Think Bayes is provided for convenience, but it is not the best format for the book. In particular, some of the math symbols are not rendered correctly.
Douglas G. Steigerwald joined the faculty of the Department of Economics at the University of California, Santa Barbara after completing an M.A. in Statistics and a Ph.D. in Economics at the University of California, Berkeley. His research and teaching focus on frontier econometric methods at the intersection of…
Generating a Universe with One Line of Code
This post is just a quick note on some of the pitfalls we encounter when dealing with high-dimensional problems, even when working with something as simple as a Gaussian distribution. Last week I wrote about mixup [https://www.inference.vc/mixup-data-dependent-data-augmentation/] a new data-augmentation...
A few weeks ago, I knocked my favorite mug off the counter and it shattered. RIP:
Out there in the wider world—OK, OK, among Luboš Motl, and a few others who comment on this blog—there appears to be a widespread opinion that P≠NP is just “a fashionable dogma of…
Many problems of todays world require multiple decisions made throughout the lifetime of the problem. Choices are made based upon information, including previous decisions made in the problem. This article looks at how Dynamic Programming can be applied to help solve these problems in an efficient manner.
Cyrille Rossant's small ray-tracer is an nice self-contained Python program (using NumPy) that renders this 400×300 image in about 15 seconds on a fast PC:
Today's article is a short one. Not because Singular Value Decomposition (SVD) is not important, but because it is so ubiquitous that we'll touch it in other...
A description of ECC without using advanced math
In this post I describe the Asynchronous Computability Theorem, which uses tools from Algebraic Topology to show whether a task is solvable…
This week I took a crack at writing a branchless UTF-8 decoder: a function that decodes a single UTF-8 code point from a byte stream without any if statements, loops, short-circuit operators, or other sorts of conditional jumps. You can find the source code here along with a test suite and benchmark:
Sieve of Eratosthenes animation Source: Wikipedia[0] One of the things we need to do when finding Perrin Pseudo-Primes is to recognise prime numbers so we can see if the numbers predicted by the Perrin test to be prime, are. So we need to generate primes. For small primes (for some definition of "small") this can be…
Let’s say you are trying to find the distance between two points in 2D, but that these points are in a universe that “wraps around” like old video games – leaving the screen…