To Geek or Not to Geek: The Idea Behind Structure

To Geek or Not to Geek: The Idea Behind Structure

In previous articles in this series (read Part 03 here), we discussed the notion of meaning, specifically how meaning is implemented in large language models (LLMs). We also discussed the distinction between conventional software and AI, specifically that conventional software is deterministic whereas AI is just the opposite - going by terms such as stochastic, probabilistic or non-deterministic. 

Let’s explore a closely related concept: data.

The notion of the deterministic behavior of conventional software is tied to the way computation is implemented. The hardware, the physical setup computers are made of is based on the transistor, which encodes the binary state - of being high or low (or one or zero), which is the core concept we started this series with.

Thus the instructions we give to the computer - the programs or code, have to be in a format that is ultimately translated to a very precise set of zeroes and ones as consumed by the hardware. This digital nature of computation is such that there is indeed the highest demand for precision on computer code. 

Computer code exacts the highest
demands for precision.

This is why a computer program is laid out in a very, shall we say, rigid manner - there are a very small set of key words (if, else, for, while, etc) that along with a specific set of symbols (+, -, : etc) that make up a programming language. And code must be written exactly to this specified format, otherwise the compiler (the algorithm that translates your code into the zeroes and ones) will spit it out like a petulant toddler!

This is also why, computer programming, at least until the advent of our code-generating LLM friends, has been a high art and a costly skill. Even the most skilled and experienced programmers are likely to have the occasional hair-pulling sessions of frustration seeing some code they’ve written not working as they intended, only to sometimes discover a missing comma or a similar issue. 

It’s sort of also the same with any piece of information we give to the computer, alongside these instructions: data. Just like code, data must also conform to a very precise, defined format, otherwise the computer will not be able to make sense of it. This is what is called structured. 

So yes, conventional code and data go hand in hand - they are both necessarily structured. And those ascetics who train themselves in mastering this structure to be able to create code of such structure enter the hallowed halls of the high priesthood of programmers! 

I might sound a bit frivolous there, but I’m probably mocking myself there more than anything else: we are a weird bunch - the geeks, nerds, techies. But really, that’s all there is to it - structure. 

In fact, even non-techies use structured data in life, just not as much as within the realm of computer coding. We have all struggled with an online form telling us that the email address is not in the right format. We all know that if we miss even a single digit in somebody’s phone number, we won’t be able to reach them. That is structure. 

While computer-imposed structure can be annoying, there is a benefit to it: we can be much surer of the precision of the output as well. The determinism we spoke about earlier.And of course, we want that clarity, that certainty in life. 

But still, the question remains. Why should man bow to the strictures of structure mandated by machine? If we are the masters and computers our tools, shouldn’t they bend to how the human mind operates rather than the other way around?

Fortunately, there is light at the end of the tunnel. Artificial Intelligence, as we’ve seen, is the alternate approach where a machine mimics the human brain and our thought processes. However, conventional software continues to run with the aforementioned rigid demands of data structure. But why not get the best of both worlds? The precision and determinism of traditional computing alongside the more flexible and forgiving nature of AI?

This is important also because the vast majority of data in life is unstructured. Reality is not made to be compatible with and subservient to the computer’s expectations of structure. But this light at the end of the tunnel promises us that there is a way out. 

And this proceeds from what we discussed in the previous articles: how AI does meaning. And because it can interpret the real world with all the messiness this entails, and still being a machine capable of conventional computational demands, AI can straddle the two realms - the unstructured and the structured. AI thus gives us the best of both worlds. 

A good part of what is going on in the industry now is the analysis of unstructured data in every domain with the intention of either converting it to structured formats or at least how AI can bridge the gap between structured and unstructured. 

It has turned out that this is not easy as many expected. AI in itself is not good enough, at least for now, to both tackle the messiness of unstructured reality but still come out with determinist outcomes that we expect of our devices. In my experience, there was a very heightened, perhaps lazy, expectation that AI would just sweep in, take over and solve all the problems and deal with complex reality.

But that hasn’t been the case. We still need the existing infrastructure, and figure out how AI fits into it. There are many eyes and minds dedicated to solving this problem: what is the right combination of AI and conventional software so that we get the best of both. And with the concepts that we are exploring in the series, we are on our way, whatever our technical skills, to making better sense of all this. 

About the author

Ash Stuart

Engineer | Technologist | Hacker | Linguist | Polyglot | Wordsmith | Futuristic Historian | Nostalgic Futurist | Time-traveler

Reply

or to participate.