One solution to the puzzle.
I’ve written a lot lately about the physical versus the virtual. I’ve also written about algorithms and the role they play. In this post, I revisit both by exploring what is, for me, an old friend: The Eight Queens Puzzle. The goal is to place eight chess queens on a chessboard such that none can take another in a single move.
The puzzle is simple enough, yet just challenging enough, that it’s a good problem for first-year student programmers to solve. That’s where I met it, and it’s been a kind of “Hello, World!” algorithm for me ever since.
I thought it might be a fun way to explore a simple virtual reality.
Math version 1.0
This image here of the Mandelbrot fractal might look like one of the uglier renderings you’ve seen, but it’s a thing of beauty to me. That’s because some code I wrote created it. Which, in itself, isn’t a deal (let alone a big one), but how that code works kind of is (at least for me).
The short version: the code implements special virtual math for calculating the Mandelbrot. That the image looks anything at all like it should shows the code works.
Yet according to that image, something wasn’t quite right.
Lately I’ve been hearing a lot of talk about (philosophical) idealism. I qualify it as philosophical to distinguish it from casual meaning of optimistic. In philosophy, idealism is a metaphysical view about the nature of reality — one that I’ve always seen as in contrast to realism.
What caught my eye in all the talk was that I couldn’t always tell if people were speaking of epistemological or ontological idealism. I agree, of course, with the former — one way or another, it’s the common understanding — but I’m not a fan of the various flavors of ontological idealism.
It seems downright Ptolemaic to me.
Last time I left off with a virtual ball moving towards a virtual wall after touching on the basics of how we determine if and when the mathematical ball virtually hits the mathematical wall. It amounts to detecting when one geometric shape overlaps another geometric shape.
In the physical world, objects simply can’t overlap due to physics — electromagnetic forces prevent it. An object’s solidity is “baked in” to its basic nature. In contrast, in the virtual world, the very idea of overlap has no meaning… unless we define one.
This time I want to drill down on exactly how we do that.
Last time we saw that, while we can describe a maze abstractly in terms of its network of paths, we can implement a more causal (that is: physical) approach by simulating its walls. In particular, this allows us to preserve its basic physical shape, which can be of value in game or art contexts.
This time I want to talk more about virtual walls as causal objects in a maze (or any) simulation. Walls are a basic physical object (as well as a basic metaphysical concept), so naturally they are equally foundational in the abstract and virtual worlds.
And ironically, “Something there is that doesn’t love a wall.”
First I discussed five physical causal systems. Next I considered numeric representations of those systems. Then I began to explore the idea of virtual causality, and now I’ll continue that in the context of virtual mazes (such as we might find in a computer game).
I think mazes make a simple enough example that I should be able to get very specific about how a virtual system implements causality.
With mazes, it’s about walls and paths, but mostly about paths.
This is the third of a series of posts about causal systems. In the first post I introduced five physical systems (personal communication, sound recording, light circuit, car engine, digital computer). In the second post I considered numerical representations of those systems — that is, implementing them as computer programs.
Now I’d like to explore further how we represent causality in numeric systems. I’ll return to the five numeric systems and end with a much simpler system I’ll examine in detail next time.
Simply put: How is physical causality implemented in virtual systems?
I’ve seen objections that simulating a virtual reality is a difficult proposition. Many computer games, and a number of animated movies, illustrate that we’re very far along — at least regarding the visual aspects. Modern audio technology demonstrates another bag of tricks we’ve gotten really good at.
The context here is not a reality rendered on screen and in headphones, but one either for plugged-in biological humans (à la The Matrix) or for uploaded human minds (à la many Greg Egan stories). Both cases do present some challenges.
But generating the virtual reality for them to exist in really isn’t all that hard.
In debates (or even just discussions) people sometimes ask how we know the physical world is really there. A variation asks how we know that what we perceive as the real world is the same as what other people perceive. (One example of this is the inverted spectrum.)
The most accurate answer is: We don’t. Not for sure, anyway. There is at least one assumption built in, but it’s one we have to make to escape our own minds. According to ancient philosophical tradition, the only fact we know for sure is that we ourselves exist. (Although I think there’s an argument to be made about a priori knowledge.)
But, as with the excluded middle, accepting reality as an axiom seems almost necessary if we’re to move forward in any useful way.