Return to MODULE PAGE

Computer Types: Classical vs. Non-Classical

David Leech Anderson: Author
[NOTE: This page was updated January, 2021]

What is a computer? Well, in the previous section, the discussion focused on the classical concept of a computer, what we will often call a digital computer. It is the kind of computer that we are all most familiar with. It is the kind that you use -- a Mac or a PC. It is the kind that is used in business and at school. In fact, virtually every computer that presently exists on the planet is a digital computer. And yet, there is another kind of computer that is fundamentally different from the digital computer. It is so different, in fact, that some people insist that it shouldn't even be called a computer. While we will eventually consider that question, we will begin by assuming that it is indeed a computer, just a different kind of computer.

While there are many names for it, we will usually call it a non-classical computer. But other names are used for computers that are not of the "classical" type: connectionist computer, artificial neural network, analog computer and parallel distributed processor, to name a few. The different names arise, in part, from an attempt to identify a special feature that serves to distinguish it from digital computers. Since most non-classical computer possess several distinctly different features, it is not surprising that there are several names for it. We are now going to consider some of those properties. While not every non-classical computers possesses all of these properties, we will assume that our typical non-classical computer (our "paradigm" of this type) does indeed have all of the properties described below.

Two of the properties that distinguish a non-classical computer from a digital computer involve the way that information is carried in the system. In a non-classical computer, at least some of the information is carried in analog rather than digital form and the information is distributed throughout large sections of the system rather than localized in specific places. To better understand these properties of being analog and distributed, let's imagine that we have built two simple computers to do the same job: counting the number of people in a room.

Computer #1 (a digital computer)

Our first computer counts the people in a room by means of a turnstile, a box full of red balls, and a numbered rack for holding the balls. Each person who enters the room must pass through the turnstile. One turn of the turnstile releases one ball down the ramp. If you want to know how many people are in the room, you need only look at the rack and see how many of the numbered slots have a ball in them. [Watch the video below to see the computer in operation.]

DIGITAL "RED BALL" PEOPLE-COUNTING COMPUTER

This virtual lab was originally an interactive Flash animation.
			 Flash was retired at the end of 2020. This video preseves all the content of the original. Read all of the text and watch
			  all of the animation. Pause the video as needed.

This system carries information about the people in the room. The information is both digital and localized. It is digital because the information is carried in discrete chunks (or quanta). In this case, the chunks are the red balls (both the presence and the absence of a ball carries information). The system does not permit information to be carried by anything smaller than a whole ball or anything larger than a ball or a collection of balls. No information would be carried by half-of-a-ball, or a quarter-of-a-ball or any piece of a ball. If half-of-a-red-ball did roll into a slot, it would not indicate that there was half-of-a-person in the room. It wouldn't carry any information at all -- except that the machine was malfunctioning.

In this computer, information about the number of people in the room is carried by only two states: "ball" and "no ball" -- there can be nothing in between. To read the information carried by the system, you examine the ball rack and look at each of the numbered slots. Each slot can be thought of as a particular address and carries a piece of information. Just as each house on a street has its own street #, so each ball in the rack has its own slot #. If you go to slot #8 and find a ball in the slot, that carries the information that there are at least 8 people in the room. If you look at slot #17 and there is no ball, that carries the information that there are less than 17 people in the room. For any two consecutive slots, if the first slot (say, #12) has a ball and the next slot (#13) does not, that carries the information that there are exactly 12 people in the room.

This computer is both digital and localized in the way it structures and carries information. It is digital because information about the number of people in the room is carried by discrete states (or you might think of them as "packets" of information). Since there are only two possible states, "ball" and "no ball," the information about the number of people in the room is carried by a binary system (i.e., a system that uses only two information-carrying items). Virtually all digital computers that exist today are binary computers. All information is carried by 0's and 1's (or, if we go down to the machine-level of description, by on-off switches). For example, each letter of the alphabet is represented by a string of 0's and 1's. Not all computers use exactly the same system, but one way of representing the number "4" is with the eight-bit binary number 0000 0100. The number "18" would be, 0001 0010. A machine like a PC can be in a state that captures that binary configuration simply by having certain of its electrical on-off switches arranged properly ("0" would correspond to an "off" switch, "1" to an "on" switch").

Our red ball computer is also binary with respect to the information it carries. So, for example, if we find that the slots in our ramp are in the following state:

ball, ball, ball, ball, ball, no-ball, no-ball, no-ball, etc.

that tells us that there are five people in the room.

But this is not the only kind of computer that can be built. There are also computers in which the information that is carried is analog (not digital) in form and it is distributed (not localized).

Computer #2 (a non-classical computer)

Our second computer uses a unique method for measuring the number of people in the room. [Watch the video below to see how this computer functions.]

DIGITAL "RED BALL" PEOPLE-COUNTING COMPUTER

This virtual lab was originally an interactive Flash animation.
						 Flash was retired at the end of 2020. This video preseves all the content of the original. Read all of the text and watch
						  all of the animation. Pause the video as needed.

Again there is a turnstile. Right in front of the turnstile is a metal plate. Each person entering the room must step on the plate before they can get to the turnstile. However, when they do step on the plate, their weight lowers it one inch into the floor and simultaneously locks the turnstile so that the person cannot enter the room. But it doesn't end there. The metal plate that the person is standing on is actually one end of a huge balance-scale. The other end of the scale has a large container for holding water. While the person is standing on the metal plate (waiting for the turnstile to open), water is poured into the container until the weight of the water equals the weight of the person on the metal plate. At that point, two things happen. First, the plate rises back to its original level (remember it had sunk one inch), thereby unlocking the turnstile and allowing the person to enter the room. Second, when the turnstile moves, it throws a switch that empties all of the water from the container into a huge glass tank. With each new person entering the room, water (equal in weight to that person) is added to the total volume in the glass tank. On the side of the tank are measuring lines. Starting from the bottom, the lines are labeled "One Person," "Two People," "Three People," "Four People," etc. The markers are positioned based on the average weight of individuals and the average weights of typical groups of 2, 3, 4, etc. people. So, for example, if the total volume of water in the large tank does not reach the "One Person" mark, then the computer registers "0" people in the room; if the water level lies anywhere on or above "One Person" line but below the "Two People" line, then the computer registers "1" person in the room; and so on for the other numbers.

Analog (not digital)

While this computer also counts the number of people in the room, it does so in a very different way. First, the information about how many people are in the room is not carried in digital form (like the ball / no-ball computer), but rather in analog form. It is analog because the medium that carries the information -- the water -- does not come in an all-or-nothing, discrete package like the ball. Rather, the gallons of water that were transferred to the tank when person #1 entered the room, is not a single unit. The gallons can be broken up into quarts or pints or teaspoons or drops . . all the way down to the separate molecules. For all practical purposes, the water can be divided into smaller and smaller pieces as finely as you like. (Well, almost as finely as you like. Down to the level of the molecule.) Something is analog in character if it doesn't come packaged in discrete units but admits of any one of a (virtually) unlimited range of magnitudes.

This analog feature makes our non-classical computer more resilient and less susceptible to breakdown than our digital computer, at least in one respect. As we said above, if anything less than a whole ball goes down the ramp, all we can say is that the computer is broken and no information is being carried. But with our water-based computer, if a few drops of water spill over the edge of the tank and are lost, it doesn't much matter. The tank will still give a reading as to how many people are in the room, and it is very unlikely that the accuracy of that reading will be affected by the loss of a few drops. A computer that has this property is often described as being robust; a computer that lacks this property and is easily defeated by minor malfunctions is typically described as brittle.

Distributed (not local)

Another characteristic of our non-classical computer is that the elements of the system that are carrying the information are not localized in any particular place. Where each ball had a specific location ("address") in our digital computer, the same can hardly be said for the water in our non-classical computer. The water from person #7 is intermingled with the water from persons #1-#6. Once seven people have entered the room, and all of the water from each of the seven has been added to the tank, there is simply no way to identify any particular quantity of water as "representing" one person rather than another. The water that was added to the tank when person #7 entered the room has long since been distributed throughout the tank, it is no longer localized in any particular place. Once all of the water has been mixed together, one can say that the water in the tank carries the information that there are seven people in the room, even though it cannot properly be said that there are identifiable parts of the system that represent each of the seven people. It may not even be proper to say that the tank of water represents seven people, in the strict sense of that word.

Probabilistic (not deterministic)

Digital computers are designed to run algorithmic functions. Previously, we defined an algorithm as a step-by-step mechanical process which, if followed faithfully, is guaranteed to produce the correct result. Our red ball computer is of this kind. It is deterministic because it is so designed that it must always behave in exactly the same way. You get exactly the same output whenever your input is the same. Thus, if you have an effective counting algorithm (and the machinery is working properly) then you will always get the same result -- the laws of physics that control the operations of the equipment and the implementation of the software will guarantee that the output is entirely predictable.

Compare this to the water-computer. It is not deterministic. It does not always behave in exactly the same way. The water, which is the key "information-carrying" part of the system, does not obey the simple mechanical laws the govern the movement of balls down an inclined plane. Imagine that the same person were to enter the room two different times. With the red ball computer, the result would be exactly the same each time: precisely one ball would be released down the inclined plane. But what of the water-computer? If the same person enters the room twice it is extremely unlikely that exactly the same quantity of water (exactly the same number of molecules) would be transferred into the measuring beaker. Why is that? Consider all of the the factors that might contribute to a slightly different outcome in the two cases.

  • splashing     . . . on some occasions more will splash out than on others
  • evaporating . . . there will be natural variations in the amount of evaporation
  • viscosity       . . . more drops will "stick" to the tank on some occasions than on others

There are other factors too (can you think of some?) that could affect the performance of the system at any given time. So, the behavior of the water computer -- at least with respect to its "information-carrying" properties -- is not deterministic. This is because the computer does not, by its proper operation, determine that a precise amount of water will be added to the measuring vat for any given weight on the scale.

There is also another type of indeterminacy about the system. With the ball computer, the information that is given as output (i.e., the number of people in the room) is deterministically tied to the input. Unless the computer malfunctions, the computer's output will always match the number of people in the room. The same cannot be said for the water computer. Even when it is functioning exactly as it was designed it is quite possible that the output does not correspond to the input that it is intended to measure. What that means is that if you are using this water-computer to count people entering a room, then the computer can make "mistakes". There is a high degree of probability that the number of people registered on the side of the vat will correspond to the number of people in the room. But it isn't guaranteed. You can see in the video below that if you send all of the heavy people through first, three people entering the turnstiles will register as four people.

This virtual lab was originally an interactive Flash animation.
						 Flash was retired at the end of 2020. This video preseves all the content of the original. Read all of the text and watch
						  all of the animation. Pause the video as needed.

You might think, this is a pretty lame computer. Isn't it the strength of computers that they never make mistakes, that they can mechanically perform mathematical computations without error? It is certainly the strength of computers like the "red ball" computer. If you want to create a person-counting-computer, you want a machine that implements an algorithm like the red ball computer does. Such algorithms are not susceptible to the kind of error we just saw in the water computer. But you will discover, that some of the most interesting computers -- and some of the most powerful -- are not digital computers that compute deterministic algorithms but are computers that have analog features that can outperform digital computers in many real-world contexts. [At the bottom of this page are links to some of our modules that feature machines contolled by computers that are not exclusively designed as digital computers implementing deterministic algorithms.]


Parallel (not serial)

A further property that distinguishes many non-classical computers from the more familiar digital computers is the order in which processing is done. The standard paradigm for digital computers is that the operations to be performed by the computer program must be done one step at a time and in a specific, regimented order.

This type of processing is usually described as serial (or linear). Recall the two different multiplication algorithms on the previous page (What is a Computer?). Successful attempts at multiplication require that one perform each of the separate rules in the algorithm, one operation at a time and that each step be done in the proper order. While this feature is a bit harder to see in our "ball computer" example, it is nonetheless there. Only one ball can roll down the ramp at a time. The balls must go "single-file". The same is not required of a water-computer. While the particular water-computer that we have described is forced to function in a serial mode (because we have only one turnstile and people can enter the room only one at a time. But let's imagine that it is a big room with four different entrances -- and a turnstile at each. Four people could enter the room simultaneously and water from four different scales would simultaneously pour into the measuring tank. The same could not be said for our ball system. If 4 balls were channeled into the measuring rack from four different directions they could not all enter the rack simultaneously. The rack can only accommodate one ball at a time. If they are to enter the system, they must do it single-file, or as we say in serial order.

Summary

You have just been introduced to two basic types of computer: Digital computers and non-classical computers. Digital computers are more familiar to us because they are so ubiquitous -- they are everywhere!! To learn more about non-classical computers, explore some of our other modules. Our comprehensive introduction to robotics includes many modules and has content on both types of computer:

Introduction to Robotics
The following modules -- which are included in the "Introduction to Robotics" -- deal directly with machines that are not controlled exclusively by digital computers:
Behavior-Based (or "Bottom-Up") Robots

As you further explore this curriculum, you will discover that both kinds of computers are used in a variety of ways to help shed light on the nature of human (and non-human) minds. One very important question that you will confront is this: Is the human brain a computer and, if so, what kind of computer is it?