I have been working on a science fiction novel for some years now. I haven't gotten particularly far with it, and I rather doubt that it will ever even be finished. However, it, in a roundabout way, prompted the idea for this essay. I suppose the only reason that I am mentioning it is because it is an example of a contention that I have that pretty much any kind of thinking can prompt some useful ideas, and that if you are stuck on something, start thinking about something else. Generally speaking, thinking about something else will prompt some ideas about what you think you are supposed to be thinking about.
(I don't really have an awful lot of sympathy for those who profess to be afflicted by writer's block. I can't really say that I have ever been afflicted with writers block. Maybe I just don't have enough experience, but I do have an awful lot of experience in writing, and in doing all kinds of writing. Like I said, generally speaking, if you get stuck and can't move forward with a particular piece of writing, then start thinking and writing about something else. Very often writing about something else leads to thinking about, or some ideas about, whatever it is that you think you're supposed to be writing about.)
The idea that came to me was one that I have frequently had when I have been teaching about technology, and frequently at a very high level. I am old. Old people are not supposed to be in the forefront of technology. And, indeed, I cannot claim that I am in the forefront of any particular field of technology. But I am teaching those who are. And one of the things that I have realized, over the years, is that being up on the latest technology is not as important as having a foundation on the basics of technology. Understanding that knowing the latest app, or programming language, or agentic process with artificial intelligence, or the most recent technology architecture technology with regard to quantum computers, isn't as important as understanding the basics of the bulk of the architecture that is in use today. As Newton said, we see further because we stand on the shoulders of giants. We have to understand where we are in order to see where we can get to.
But this is a broad and general outlook. The particular idea that came to me was one that goes back to a course that I took on machine and assembly language processing, and the building of functions with hardware circuitry. When you were designing at this most fundamental level, programming with direct machine language, rather than using a higher level language to speed up the process, you start to understand that there are two ways of doing anything: using an algorithm, or using a lookup table.
Computers do arithmetic with binary arithmetic. When we want to get an answer from a computer, however, we ask it to present it to us in decimal, which is what *we* are used to using. So, if you are not just calling for functions from a programming language, you have to build your own conversions from binary numbers to binary coded decimal. There are two ways that you can do that. You can use the algorithms that will convert a binary number into pieces that can then be used to display decimal numbers on the screen. Or, you can simply create a lookup table, and directly convert the binary number into a series of pieces that can be displayed on the screen.
Whether you choose an algorithm or a lookup table will depend on how much work you were doing, and partly on how much processing time is going to be used by the algorithm versus simply using a lookup table. Partly this is determined by the size of the numbers that you were working with. There are going to be some situations where an algorithm is far superior, but there are also going to be situations where a lookup table is much quicker and easier, not only to create, but also to use.
And I as I was thinking about this fact, I realized that the current grand interest in artificial intelligence, the large language model, is created using neural networks, Bayesian analysis, and Markov chains. But that is what we use to *create* the large language model, itself. When we *use* the large language model, the large language model is acting as an enormous lookup table. An enormously complicated lookup table, it is true. But, in the end, it is merely a lookup table. This explains a lot of the limitations of large language models.
Looking back through the history of artificial intelligence, lookup tables feature very prominently. ELIZA, or doctor, one of the earliest successful artificial intelligence programs, used a lookup table, although the lookup table was used to discard parts of language that were not essential, allowing the program to concentrate on the more important and relevant aspects of a conversation and therefore appear to be very wise in its questioning of its clients. Expert systems are a rather odd kind of lookup table, using a binary tree to ask yes and no questions to get to the basis of an answer for a particular expert field.
Current large language model artificial intelligence systems are incredibly expensive, require enormous data centers to operate, and have a voracious appetite for stupendous quantities of energy. To put it bluntly, they are incredibly wasteful. They are massively expensive, contribute to e-waste, and are going a long way to driving global warming. We need to change things.
We need to look at some efficiencies here. And, in the same way that dealing with very large numbers when we are trying to code binary numbers into decimal representation, we need to stop thinking about lookup tables, and start thinking about the more efficient, in the long term and on the large scale, algorithms.
We need to stop playing around with systems that use enormous amounts of computer hardware, and massive amounts of energy to drive them, in order to give us some interesting but possibly not important results. We need to start looking at the algorithms of actual intelligence. What are we actually doing when we are thinking. How are *our* thinking processes adaptable to silicon hardware.
And so we come full circle in this essay. We have developed writer's block for ourselves by focusing too long on lookup tables in creating our artificial intelligence. It is time for us to look at, and do the harder work in creating, the algorithms necessary to develop true artificial intelligence.
AI topic and series
