A Structure for the Representation of Knowledge: A Proposal for a Micro-Actor
Proceedings of the Fifth International Joint Conference on Artificial Intelligence. Representation of Knowledge. Pages 248-248.
© 1977 International Joint Conferences on Artificial Intelligence
Abstract
Full text extracted automatically from the PDF; figures, tables and equations may differ. The PDF is the version of record.
I. Introduction
A question-answering system is a composite of subsystems of language analysis, inference and language generation. In the inference system, a useful and flexible structure is needed for the representation of knowledge. There are two ways of representing knowledge in computers: the asser tion of facts and theorems. A micro-actor, which possesses some of the attributes of actors (C. Hewitt 1973), is introduced to construct a knowledge representation structure. Knowledge is procedurally embedded in micro-actors so it is easy to represent theorems and, since each micro -actor has a stack for data, it is also possible for various kinds of facts to be stored.
Actor is indeed universal and, although comp licated, is compatible with all programming lan guages and hardware. However, it is not so easy to realize precisely such a complicated system. For example, a pseudo-implementation of co-routine processing or parallel processing will reduce the efficiency of the system. We, therefore, intro duce a micro-actor based on the concept of actor, and use it as the knowledge base. Micro-actor retains the main characteristics of actor. Using a LISP system on a parallel processor, a micro -actor system will be easily implemented.
II. Action of Micro-Actors
In a micro-actor system, there is no distinc tion between procedures and data. The system is a collection of independent objects (micro-actors) which act as either procedures or data. The action of a micro-actor is defined in terms of only one kind of action: sending messages to the other micro-actors.
When a micro-actor receives a message, it becomes active, and tries to play its role. It sends messages to other micro-actors if necessary, and waits for their replies. When its action is finished, it responds to the requester (the micro -actor sending the message). In Fig. 1, sending a message is illustrated with 11 ) ", and receiving an answer with 11 ~ ". An answer is also a message in a wider sense. For example, a micro-actor which acts as datum returnsthe answer to the question. A micro-actor which acts as a procedure performs its own function for the re quested message and sends messages to other micro actors requesting data or asking them to perform a part of the function. In this way, the job is carried out through the sequence of message sending.
Adoption of only one kind of communication (message sending) between micro-actors has the following advantages:
- Only one kind of behavior (message sending) is the basic unit of control in the system. Invoking a function, referring to the value of a variable, and other behavior are all consi dered to be special cases of this behavior.
- Micro-actors can directly communicate with other micro-actors --- there is no need to have any special channel for communication.
- Sending messages has no side-effects. Because a micro-actor can converse with the several micro-actors simultaneously, a high degree of parallel processing is possible.
III. Structure of Micro-Actor
As shown in Fig. 1, a micro-actor is repre sented as a box whose top is filled with its name. A micro-actor is composed of three parts:
(1) Control. part: This determines the action of the micro-actor by matching the sent message with the patterns of script (see below). The control

part also checks whether the result of the action satis fies the request, and if so, replies to the requester. Otherwise, it will decide to take another action. The control part is considered to be the union of the 'intentions' and 'monitors' of Hewitt's actors. It is pro grammed in LISP, and is common to all micro-actors.
(2) Script: This expresses theorems. A micro-actor stores several pairs composed of the pattern of the recei vable message and the corresponding action. Usually, the content of the script is stored when the micro-actor is constructed, and more inf ormation can be added at any time. It is written in LISP and the restricted Japanese.
(3) Acquaintance: This part is a memory space. A micro-actor stores facts or data, for example, the particular values, attributes or other infor mation which should be remembered, and which expr ess the assertion. For example, a verb micro-actor stores the record of its actions and some noun micro-actor holds its particular value.
The advantages of using micro-actors to represent knowledge are as follows:
- Knowledge is procedurally embedded in micro -actors, so that:
- (a) It can be used when and only when it is needed.
- (b) It can be specified at various levels of detail. That is, it can be specified in as much or as little detail as is desired.
- !n the case where new knowledge is to be added to the system, even if some special mechanisms are needed for dealing with it, the whole system need not be changed. It is only necessary to embed the mechanisms in a new micro-actor, or to increase the other micro-actors which realize them.
- A micro-actor can be freely changed under the restriction that the messages sent or received by the new micro-actor should be consistent with tho.se of the old one, or should subsume them.
- The action of each micro-actor is independent of the others except in the case of message sending, and there is no global state of all the micro-actors in the universe, so it is easy to debug the micro-actors. Furthermore, justi fication of each micro-actor may lead to justi fication of the whole system.
IV. Message and Sentence Number
A message is of the form of "N L", where L is a simple sentence and N is a sentence number. The sentence number indicates an order of the message, and can also be used as a marker to distinguish the result of a micro-actor's action from the others. For example, the micro-actor AMARI (remainder) stores the result of division to yield the pair consisting of the result and the sentence number. The micro-actor can retrieve all the remainders by means of the sentence number. So it can reply about the remainders of all divisions. Fig. 2 shows an example of a diagram of message flow. The following are initial conditions of the diagram:
- There existed five micro-actors; WARU (divide), DEARU (be), AMARI (remainder), SHOH (quotient), and TEIGISURU (define).
- When the system received "'X' is 4.", micro -actor X was made. Then X received the message "%1 Your value is 4." to have the value (%1 4).
- "Divide X by 3." was executed. WARU (divide) computed 4 ~ 3, then sent (%2 1) to both SHOH (quotient) and AMARI (remainder). --
- WARIKIRERU (divisible) was made by TEIGISURU (define) which received "%2 'Is ?S diviseble by ?T.' is defined as 'DivideS by T.' 'Is the remainder 0?'."
In Fig. 2, WARIKIRERU (divisible) sends the messages to both WARU (divide) and DEARU (be) referring to its script, when it receives "Is X divisible by 2?". WARU (divide) computes 4 ~ 2, and AMARI (remainder) and SHOH (quotient) store (%3 0) and (%3 2) respectively. AMARI (remainder) has two values but it returns the correct answer to DEARU (be) according to the sentence number.
ACKNOWLEDGEMENTS
The authors appreciate many helpful conversa tions with several graduate students and members of Prof. Tanaka's Laboratory of Osaka University, especially Dr. Kitahashi, Mr. Kijima, and Dr. Ross. In addition, we wish to thank Prof. Hewitt (MIT) for sending us his papers and allowing us to use the term "micro-actor".
@inproceedings{ijcai1977p54,
title = {A Structure for the Representation of Knowledge: A Proposal for a Micro-Actor},
author = {Ogawa, Hitoshi and Tanaka, Kokichi},
booktitle = {Proceedings of the Fifth International Joint Conference on
Artificial Intelligence, {IJCAI-77}},
publisher = {International Joint Conferences on Artificial Intelligence},
editor = {Raj Reddy},
pages = {248--248},
year = {1977},
note = {Representation of Knowledge},
url = {https://ijcai.org/proceedings/1977/54},
}
TY - CPAPER TI - A Structure for the Representation of Knowledge: A Proposal for a Micro-Actor AU - Ogawa, Hitoshi AU - Tanaka, Kokichi T2 - Proceedings of the Fifth International Joint Conference on Artificial Intelligence, IJCAI-77 PB - International Joint Conferences on Artificial Intelligence PY - 1977 SP - 248 EP - 248 UR - https://ijcai.org/proceedings/1977/54 ER -Copied
Machine-readable versions of this paper, for tools and AI agents: