Shift Scheduling Benchmark

October 9, 2016

I recently submitted results to the Employee Shift Scheduling public benchmark. My optimizer computed  the best known result for all medium-sized and large instances. I currently do not have time to write and publish an article, but a blog could perhaps be a good substitute.

Read the rest of this entry »

Game of Life in 3D

July 29, 2016

An open problem (as far as I know) in three-dimensional Game of Life is to construct a “glider gun” for a reasonable three-dimensional ruleset.

One natural set of rules are 5,6,7/6, in which cells stay alive with 5–7 neighbors and are created with 6 neighbors. In this set of rules, some two-dimensional patterns from the original game of life still work if they are copied into two adjacent layers.

Another feature is the “time-space barrier.” No new cells can be created close to its surface. To make it stable, we can wrap it into a cube.


Unfortunately, the “Gosper Glider Gun” from standard Game of Life does not work directly in 3D. It interacts into the third dimension. But if we wedge it between two barrier cubes it works for a while.

Everything unravels when the glider reaches the edge of the cubes. I don’t know whether one can construct something that prevents this from happening.

See also: Bays, Carter (1987), “Candidates for the Game of Life in Three Dimensions”, Complex Systems 3 (1): 373–400.


Swedish Umbilical Cord Clamping Study is All Over the News

May 26, 2015

Today, the news in Sweden reported on a study that shows the advantages of delayed cord clamping after 4 years. I thought the results sounded remarkably good, so I looked up the article. Here is a table (from which I have removed most columns):


I am not saying this study is wrong, but look at those p-values! If you measure enough variables, some of them are bound to turn out “significant”!

Continuous Optimization for Fields of Experts Denoising Works

March 25, 2014

Sameer Agarwal and I just uploaded a paper to arχiv.orgContinuous Optimization for Fields of Experts Denoising Works. We show that simple non-linear least-squares is better than sophisticated discrete optimization methods for certain image denoising problems.

I have used these denoising problems as a bechmark and motivation when developing generalized roof duality. But as it turns out, continuous optimization is much better. 🙂

Update: I should add that the source code used for the experiments in available in Ceres; see .

Shortest Paths with Curvature and Torsion

December 21, 2013

Johannes Ulén, Fredrik Kahl and I have recently been to the International Conference on Computer Vision to present our paper Shortest Paths with Curvature and Torsion, in which we explore applications of higher-order regularization for shortest paths.

See the paper here.

The code is available here.


August 5, 2013

Consider the following code:

void f(const int &) { cout << 1; }
void f(int&&) { cout << 2; }

template<typename T>
void g(const T&) { cout << 1; }
template<typename T>
void g(T&&) { cout << 2; }

int main()

  int i;

What will the code print? The answer is “2212,” which can be quite surprising.

Read the rest of this entry »

Rounding of strings

April 23, 2013

Consider the following program:

int main()
auto f = 1.0f;
printf(“%f\n”, f / 0);
printf(“%.1f\n”, f / 0);
printf(“%.2f\n”, f / 0);
printf(“%.3f\n”, f / 0);

f = 0.0f;
printf(“%f\n”, f / 0);
printf(“%.1f\n”, f / 0);
printf(“%.2f\n”, f / 0);
printf(“%.3f\n”, f / 0);

With Visual Studio 2012, it outputs the following:



The strings are also rounded! That is, ‘#’ + 1 == ‘$’. This can be a bit surprising.