Igor Ostrovsky on September 24th, 2009

Did you ever see one of those auto-generated random “academic papers” like this one? When I first saw the following title, my first thought was that it is a randomly-generated “paper”:
Implications of the Turing completeness of reaction-diffusion models, informed by GPGPU simulations on an XBox 360: Cardiac arrhythmias, re-entry and the Halting problem [PDF]
Turing completeness, [...]

Continue reading about Human heart is a Turing machine, research on XBox 360 shows. Wait, what?

Igor Ostrovsky on October 31st, 2008

As promised at the end of my recent post, I am going to explain how to implement a program that prints itself, in addition to doing other things (like playing Game of Life).
A self-printing program – also called a quine – is a program that prints out its own source code. I will describe one [...]

Continue reading about How to write a self-printing program

Igor Ostrovsky on October 30th, 2008

Conway’s Game of Life has fascinated computer scientists for decades. Even though its rules are ridiculously simple, Conway’s universe gives rise to a variety of gliders, spaceships, oscillators, glider guns, and other forms of “life”. Self-printing programs are similarly curious, and – rather surprisingly – have an important place in the theory of computation.
What happens [...]

Continue reading about Self-printing Game of Life in C#

Igor Ostrovsky on October 18th, 2008

Did you know that there are numbers that cannot be computed by any computer program? It is weird, but true.
And by number, I mean just an ordinary real number. As a perhaps unnecessarily simple example, the result of the division 1/7 looks like this:
        0.1428571428571428571428571428571414285714285714285714285714285714…
We can easily implement a program that prints this number. [...]

Continue reading about Numbers that cannot be computed