From Dot Matrix to Digital Age: Republishing My 1984 A.I. Manuscript (part ii of iii)

From Dot Matrix to Digital Age: Republishing My 1984 A.I. Manuscript (part ii of iii)

Here is my 1984 paper, "ARTIFICIAL INTELLIGENCE: A LOOK AT EXPERT SYSTEMS," in its entirety. Scanned from its original dot matrix printout, the context for this paper and the state of computing in 1984 are detailed in part 1 of this three-part series: “Back to Bytes: A Time Capsule of Computing and A.I. in 1984.

How do you think I did? How were my predictions? Did I get anything right? Did I get anything wrong? Is there anything I missed that I should have mentioned?

The third and final part of the series I'll publish next is: “Decoding Nostalgia: A Modern Critique of My 1984 A.I. Expert Systems Paper.” I will run the manuscript through a couple of A.I. platforms and compare what 2024 Artificial Intelligence thinks of my paper.

Here is the original manuscript (a picture of the whole printout is at the bottom of the article), thanks for readin'!


ARTIFICIAL INTELLIGENCE:

A LOOK AT EXPERT SYSTEMS

By STEPHEN D. KING

 

Computers tend to look at things from two different viewpoints: one of which serves as a communication link between you and the internal workings of the computer and the other serves as how to interpret this link. These viewpoints differ in complexity as the application for the computer grows further away from the machine language commands that directly control a computer’s hardware, but all computer software can be broken down to the two basics.

 

The first we have all heard about before. It is known to the computer science world as SYNTAX. It refers to the way that commands are typed into the computer. Take BASIC for example. All BASIC Programmers can tell you that if a syntax error occurs in their code occurs, it is usually an annoying demon that spits out lines in your code when you have misspelled a command or left out a NEXT statement. The computer expects certain elements at certain times, and you understand that the computer needs these specific elements. This is the way you talk to the computer, in a language that you both can speak.

 

However, the second opens UP a whole new kettle of fish. It is known as SEMANTICS and is defined as how the semantically correct commands are understood. At the lowest level, the difference between the two viewpoints of you and the computer is minimal. When you issue the command LDA #$01, the assembly language syntax is not far away from the semantics–you want to store hex 01 in the accumulator, and the computer wants the same thing. There is no communication gap there! As things get more complicated, this difference gets wider with unintended outcomes. With BASIC, the semantics of a Program differ between the programmer and the computer. For example, take the following BASIC command:

 

100 MEN= MEN+ 2

 

For you, this means in the game you are programming that the number of enemy men left on planet Flippor increases by two, which means that your fearless hero Is going to have a tougher time getting to the castle to rescue the Princess. The computer does not see things in this Iight, however. This line means to take the value stored in the memory location whose address is stored by the variable MEN and add two to it before storing it back in this exact location. It doesn’t have your context or curiosity.

 

Unfortunately, the syntax of most programming languages favours the semantics of the computer.

 

The interesting problem of bringing the computer to a point where its semantics and syntax are closer to a human standpoint is what is partially known as artificial intelligence. The whole point is for the computer to imitate human behaviour as closely as possible. Many icon handling menu programs attempt to bridge that gap using a mouse. The icons make us think of something already familiar so that we will not have to learn the syntax of the computer and stare at a C:\> prompt.  Which in turn means that computers with it be easier to use. Yet even in these systems there remains syntax that you have to follow, although certainly pointing with a mouse is a lot easier than learning the commands for an operating system.

 

Just think of a system where you could use simple English words that you already know to communicate what YOU want to do instead of learning the correct syntax of the computer.

 

That type of system is perhaps further down the road. The steps that are being taken right now at a commercial level are programs called expert systems. These are Programs designed specifically with an application in mind that up to this point only trained professionals could provide .

 

Some of the expert systems are, therefore, easier to arrive at than others, Just because the amount of rules and information that is needed differs in different circumstances. Until I now, computers did not have the computing power or the storage capacity to make such systems feasible, especially for the common marketplace.

 

These systems require a huge knowledge base for all the details of a subject. For example, a diagnostic system needs to have all the information about what all the parts in your body do, how they do it, what can go wrong with them, and what to do when something does go wrong.

 

Doctors, lawyers, and other professionals will be able to use these systems to Supplement the regular way of handing customers so that a second opinion is available immediately.

 

Obviously, such systems will have an enormous amount of information to sift through. Most expert systems depend on making what is known as a heuristic decision, Which is a choice guided by what is contained in the knowledge base for that expert system.

 

A knowledge base can contain two types of information. The first is a set of rules that are applicable to the problems at hand. The second is the information about the goal of the Problems. For TIC=TAC-TOE, for example, a rule would be 'The Play alternates between Players' and an information goal would be something I like, 'Get three X's or O’s in a row in TIC-TAC-TOE.”

 

Most artificial intelligence systems like those for playing games will add to its information base as time goes on, recording which moves are good and which are bad (it learns from its mistakes). The information base in TIC-TAC-TOE could be expanded to what moves counter other moves and which ones will lose the game.  The rules are usually preset before any play starts and rarely change.

 

For an expert system to be developed, it must fall into one of the following categories:

 

1. The application must be chosen so that a relevant amount of expertise can be encoded but still expert enough so that the expert system is needed. In other words, there· is a trade-off between the amount of data stored and the degree of expertise the program represents.

2. The application’s problem-solving methods or rules must be agreed upon by experts in the field. If not, the expert system represents biased opinions and often dangerous assumptions.

3. The application must have experts in the problem area, we cannot expect an expert system in an area that has no experts.

4. Test data must be available for the system not only when the expert system is produced but also when it is up and running.

5. Homogeneous data is necessary, although the pieces of data can differ in amount of detail. In this way, the expert system can cover all of its expert area.

 

The statements above lead to the classes of expert systems and the types of applications that expert systems could be used.

 

-        Diagnosis (of equipment, diseases) •

-        Classification (of animals, plants, machines).

-        Troubleshooting

-        Data interpretation and explanation.

-        Situation awareness (for military, lawyers, debugging).

-        Design (or devices or experiments).

-        Therapy

-        Configuration planning.

-        Fault isolation and repair.

-        Process specification.

 

This is obviously not a complete list, but it does represent the more important topics for expert systems. Note that in each case, a set of rules e (some larger than others) already exists and has been in existence for some time. There is also a large knowledge base that can be applied to each system that has been gathered throughout history andstill be gathered as advancements in that field occur.

 

FinalIy, why Produce an expert system? There are four main reasons that answer this question:

 

1. People need access to expert knowledge and information when an expert is not available. The expert system in this case would simply replicate the expertise that can be provided by somebody trained in the field.

 

2. To Provide in one place a union of expertise, therefore making a superset of knowledge bases. This would be helpful in the instance where a professional with one specialty can access information about applications that he/she is not so familiar

 

3. To increase the knowledge of an expert thereby increasing his expert ability.

 

4. To provide a record of the best ways available for handling a problem. These methods would be arrived at by analyzing Past experiences.

 

The programming example for this article is a classic guessing game called ANIMALS. The Program knows what the rules are, and is given a small knowledge base to begin with. As the game continues, the computer adds your questions and answers to its knowledge base so that it can make more intelligent decisions in the future.



 


To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics