High dimensional thinking
Part of a series of articles I’ll be posting over the next few days & weeks regarding thoughts from the past few years I’m only just getting round to writing about.
I believe many of the situations we face are generally of vastly complex nature and high dimensions, such that it is impossible for us to be able to see any situation in its entirety. All that we are able to perceive at any given time, is perhaps a tiny slice from a very specific perspective. And the best we can hope for, is to attempt to widen that slice by a tiny amount, and maybe even occasionally slightly shift our perspective. Unfortunately, contrary to popular belief, it’s not always being exposed to new ‘facts’ that helps us shift perspective — or at least, it’s definitely not enough. Instead we seem to need some kind of mental gymnastics to navigate to a new location inside our head, and gain these new view points. These mental gymnastics can often benefit from external nudging, and mental frameworks that act as structures around which we can build our thoughts. Traditionally this has been aided by natural language, evolved over thousands of years — but this isn’t always sufficient; and art for example is also critical to this end. I believe borrowing from other, more recent languages — such as computation — might also contribute to these mental frameworks.
In the spirit of the subject matter, doesn’t have to be read in any particular order:
- A semi-mathematical theory of human to human communication
- Optimising for beauty — the erasure of heterogeneity and an appeal for a Bayesian world view
- A high dimensional perspective and world view
(Conversations with Timothy Morton and Kenric Mcdowell were particularly influential in shaping these thoughts)
“A hyperobject is a name I invented for something that is so vastly distributed in time and space, relative to the observer, that we might not think it’s even an object at all. It’s good to have a word for things that are now only too thinkable, if not totally visible — global warming, radiation, the biosphere… They are huge, but they can be defeated and dismantled. Hyperobjects are very good to think with… we can figure out how to work with them and transform society in order to accommodate their reality in ways that are beneficial to humans and nonhumans alike.” — Timothy Morton. “Hyperobjects and creativity”
Morton chose the term hyper-object drawing inspiration from (one of my favorite musical artists) Björk’s wonderful song “Hyperballad” (with a music video directed by one of my favorite popular video directors Michel Gondry) — an “exploded version of a love song … evoking something that included her, but that was bigger than her, but that wasn’t more than her … something physically bigger, but ontologically smaller…”. The hyper prefix is incredibly appropriate, in multiple perspectives (in a rather meta-eloquently way).
In mathematics — and particularly computational sciences (e.g. physics, biology, data science etc) the prefix ‘hyper’ is often used to refer to ‘high dimensional’. E.g. a hypercube is the generalization of a three-dimensional cube to any number of dimensions (typically four dimensions if not stated otherwise). Similarly, a 10D hypersphere is like a sphere, not in 3 dimensions, but in 10 dimensions (i.e. defined as the loci of points in ten dimensions equidistant to a single, specific point which we would call the ‘center’ of the hypersphere; while we’d call that distance, the ‘radius’).
Building an intuition for high dimensional spaces — or even grasping what the phrase ‘high dimensional space’ itself actually means — is initially tricky for all of us, even though implicitly we are able to mentally navigate high dimensional spaces, despite not being explicitly aware of it. I wrote a very lengthy post on this here, but for now let me give a very brief example.
Imagine I were to dump a bunch of toys onto a table, toys of animals. And I ask you to organize these animals side by side, in a straight line. “Organize them? But by which characteristic? Which feature?” you might ask, and that would be a very good question. Let’s say that we agree you are to organize the animals by ‘weight’. So you lay them out left to right: cockroach, tarantula, goldfish,crow, hedgehog, cat, fox, dog, horse, elephant, whale.
Now I ask, instead of organizing the animals in a single straight line, feel free to use the entire surface of the table. Instead of one dimension, organize the animals in two dimensions. We agree to keep one of the axes as is, representing ‘weight’, and for the second axis we decide on ‘how common it is to domesticate this animal or keep as a pet’ (from here on I’ll refer to this as ‘petness’). Without changing the animals’ horizontal position, you slide them up and down across the table surface based on this ‘petness’ feature. ‘Horse, goldfish, cat, dog’ are quite near the top; ‘cockroach, fox, whale’ are at or very near the bottom; ‘tarantula, hedgehog, crow, elephant’ are maybe somewhere in between.
An interesting observation we can make is, this has established some new relationships. If we were to look at ‘cockroach’ and ‘whale’, on the ‘weight’ (i.e. horizontal) axis, they are on opposite ends of the table, really far apart. However, they have something in common now, the distance between them is very short along this new (vertical, i.e. ‘petness’) axes. They are both very unlikely to be kept as pets. Likewise with ‘horse’ and ‘goldfish’, on the ‘weight’ (i.e. horizontal) axis they are relatively far apart (not as far as ‘cockroach’ and ‘whale’ though), but very close on the ‘petness’ (i.e.vertical) axis (both quite likely to be pets or domesticated).
We have created a two dimensional plot, a two dimensional object which captures the relationships between all of our animals’ and their ‘weight’ and ‘petness’ characteristics.
But let’s not stop there, let’s add a third axis. We agree that this new 3rd dimension will represent ‘hairiness’. We attach a piece of string to each toy animal such that we can individually adjust their height from the table. The higher the animals is off the table, the hairier it is. (Or if you’re trying to visualize this from the 2D plot image above, you can think of pulling the hairier animals out of the screen).
‘Tarantula, cat, fox, dog’ etc are all nearer the ‘hairy’ end (lifted high off the table, or pulled far from the screen); ‘horse, hedgehog’ are perhaps somewhere in between; ‘cockroach, crow, elephant, goldfish, whale’ nearer the bottom.
Again we have established more new relationships. ‘Goldfish’ and ‘elephant’ were far apart on both ‘weight’ and ‘petness’ axes previously, but now along this new ‘hairiness’ dimension they are a little bit closer. ‘Hedgehog’ and ‘crow’ were quite close on both previous dimensions, now they will be further apart along this new dimension.
Ultimately the point of all of this is not only to see if things are close or far, but to be able to represent the relationships between many entities across many features in a single structure. Our animals hanging in this 3D space (with the axes representing ‘weight’, ‘petness’ and ‘hairiness’) represents a 3D plot. We can throw in thousands more animals: e.g. bat, chicken, worm, slug, octopus, eel, iguana etc. and try to visualize roughly where each animal would land in relation to the other animals on the various axes. The key takeaway is, we can think of the entire collection of animals in space as a single object. Each animal is a single data point in 3D space, and the collection of these data points carves out a 3D object. This object may look like a point cloud, it may look like a sheet of paper folded intricately and floating in space; we may refer to it as a manifold; but whatever it looks like, in its shape is encoded information regarding the entire dataset, and how everything relates to everything else across those chosen features.
It should be noted of course, three features are really not enough to capture the complexity of how these animals relate to each other or to us. So let’s add more features, let’s add a new axis! However, we have run out of physical, *spatial* axes, i.e. real world directions across which to distribute our animals. But we can still virtually organize our animals across each of these new features individually, and we just label each feature axis with a number. E.g. let the 4th dimension represent ‘natural habitat’, let the 5th dimension represent ‘average lifespan’, 6th dimension ‘intelligence’, 7th dimension ‘curiosity’, 8th ‘how dangerous they are’, 9th ‘how tasty’, 10th ‘cuteness’ etc. We won’t be able to spatially visualize all of these features simultaneously, but that shouldn’t stop us from adding them individually.
Let’s add a thousand, a million, a billion features (and corresponding axes). Each animal is now a data point in this billion dimensional feature space. Lets add a million animals. Now the entire collection of a million animals — the set of a million points — carves out a shape in this billion dimensional space. This is not an object anymore, it is a billion dimensional hyperobject, and in its shape it encodes all of the complex relationships between a million objects, across a billion features. Unfortunately we cannot visualize it (yet), but there it is, as real as each animal itself, as real as the simplified prototype 3D version hanging above our table with only three features which we can easily visualize, except this one has a million points in a billion dimensions.
But here’s where it gets interesting. It may seem like a hopelessly pointless, lost cause to even attempt to be able to do anything remotely useful with such an insanely high dimensional, complex geometry such as this hyperobject. But it turns out we’ve been able to develop so many tools and methodologies to manage exactly this. There are plenty of methods for decomposing, analyzing and processing shape, finding correlations, extracting principle components, effectively projecting or reducing to lower dimensions, visualizing etc. Each method does have its own weaknesses (they all incur some kind of loss after all, to manage to compress the information to a reduced complexity that our primate minds can comprehend), but they also provide unique insights and perspectives. And especially used collectively, they can allow us to navigate, parse and try to understand this otherwise immensely ungraspable structure.
I’m not suggesting that we can solve global warming and the sixth mass extinction by applying a principle component analysis or t-distributed stochastic neighbour embedding on every feature of every component that is related to climate change. All that I’m suggesting is that the monstrous enormousness of a complex situation can tend to be rather overwhelming and result in two rather unproductive outcomes.
In cases where the negative impact of the problem seems to be less immediately personal (e.g. global warming, pollution of the oceans, ecosystems etc.), one might tend to feel an apparent impossibility of having any chance to start talking about and tackle the issues, which in turn encourages submission to an allegedly inevitable fate, sinking into a black hole of despair from which no light rays of hope can escape (more on this later in a separate post).
On the flip side, many high dimensional complex problems tend be vastly over-simplified, especially when the negative impacts of the problem are more immediate, personal, and instant action is desired (e.g. issues around politics, social trends and movements etc.). This is most probably in an effort to reduce the unmanageablely complex problems into simpler dimensions and actionable scale (and perhaps isn’t helped by the bite-size attention spans we’re developing in the age of the social media instant sharing attention economy).
But these oversimplifications can lead to unnecessarily severe polarization and social divides. Sometimes things just aren’t as simple as ‘right’ vs ‘wrong’, or ‘guilty’ vs ‘innocent’ (and obviously not ‘left’ vs ‘right’). You might rightly point out that these examples aren’t actually relating to lack of ‘dimensions’, but is instead an issue of ‘binary’ vs ‘non-binary or continuous’. So let’s ditch the binary, and put these on a so-called ‘spectrum’. However, in my opinion even a continuous gradient is still unfortunately so vastly insufficient and incapable of capturing the complexity of many of the situations we find ourselves in. Because a ‘spectrum’ is by default (at least by most people’s understanding and treatment of the word) a one dimensional continuous space. Placing things ‘on a spectrum’ is equivalent to trying to visualize the relationships between them purely by placing them side by side on a table. Instead what might be more fruitful, is to be thinking about them in high dimensions, where things might be far apart and ‘opposite ends of the spectrum’ along one axis, but really closely related ‘and on the same side’ along another axis. ‘Right vs wrong’, ‘blame’, ‘political leaning’ etc. are too complex to be limited to a single dimension — even if non-binary and continuous. They deserve to be treated as distributions in high dimensional space (e.g. the same can be said about gender identity, see this study by Blaise Agüera y Arcas).
Of course when it comes to taking action, we are faced with the difficult task of eventually committing to a binary (or categorical) decision of ‘take action A’ vs ‘take action B’ etc. But if at least we can keep our thoughts and decision making processes, and conversations and debates with each other, in these high dimensional distributions, then hopefully we can maybe come out with less hate towards each other.
If we lack the language or mental frameworks to discuss or think about these complexities, high dimensional relationships, and effective strategies for dimensionality reduction; I fear we may oversimplify to the extent where we are no longer acting with sound reasoning and we’re unnecessarily creating enemies amongst ourselves due to miscommunications. And this isn’t just something that ‘they’ do, but ‘we’ do too.
To be continued…
Illustrations from openclipart.org: