The central component of any knowledge-based agent is its knowledge base , or abbreviated KB (Knowledge Base) . Informally, the knowledge base can be defined as a set of statements. (Here, the word “utterance” is used as a formal term. The meaning of this term is similar, but not identical, to the notion of utterance in English and other natural languages.) Each utterance is expressed in a language called knowledge representation language and represents a statement about the world.
There must be a certain way to add new statements to the knowledge base, as well as a way to extract from this base the knowledge that it contains. The standard names for these operations are Tell and Ask, respectively. Both such operations may be associated with the conduct of inference, i.e. may require getting new sayings from old ones. In logical agents that serve as the main topic of research in this chapter, the logical conclusion must obey the fundamental requirement that the response to a query to the knowledge base, transmitted using the Ask operation, should follow from what was communicated to the knowledge base (or, more precisely, entered from using operation Tell) so far. Below will be given a more precise definition of the important concept of "logical consequence". And at the moment we will assume that in accordance with this concept, in the process of logical inference, operations that do not obey strict rules should not be performed.
The general scheme of the knowledge-based agent program is shown in the listing below. Like all agents described in this website, this agent accepts percept percept act results and returns an action. The agent maintains a knowledge base, KB, which may initially contain some background knowledge. After each call, the agent program performs three steps. First, the program enters into the knowledge base with the help of the operation Tell the results of the act of perception, secondly, it transmits to the knowledge base with the help of the operation Ask a request about what action should be taken. In the process of searching for an answer to this request, exhaustive arguments can be made regarding the current state of the world, the results of possible sequences of actions, etc. Thirdly, the agent registers his choice using the Tell operation and performs the action. The second Tell operation is necessary for transferring to the knowledge base that the hypothetical action action was actually executed.
Details of the presentation language are hidden in three functions that implement the interface between sensors and actuators, as well as between the main view and the reasoning system. The Make-Percept-Sentence function forms a statement confirming that the agent received the results of this particular act at the current time. The Make-Action-Query function generates a statement, which is a query about what action should be performed at the current time. Finally, the Make-Action-Sentence function forms a statement confirming that the selected action has been performed. Details about the mechanism of logical inference are hidden inside the functions Tell and Ask. These details will be presented in the following sections.
Universal agent based on knowledge
function KB-Agent (percept) returns action
static: KB, knowledge base
t, a counter indicating the time, originally equal to O
Tell (KB, Make-Percept-Sentence (percept, t))
action <- Ask (KB, Make-Action-Query (t))
Tell (KB, Make-Action-Sentence (action, t))
t <- t + 1
return action
The agent algorithm, shown in the listing, outwardly seems very similar to the algorithms of agents with the support of the internal state. However, by virtue of the above definitions of the Tell and Ask operations of a knowledge-based agent, it can no longer be regarded as an arbitrary program for calculating actions. He is more suitable for description at the level of knowledge, in which, in order to fix his behavior, it is required to indicate only what the agent knows and what his goals are.
For example, an automated taxi driver may be targeting a passenger in the Marin County area and knowing that this area is located in San Francisco and that the Golden Gate Bridge is the only possible link between the point of departure and destination. In this case, it is possible to count on the fact that the automated driver will go over the Golden Gate Bridge, since he knows that this is how he will achieve the goal. It should be noted that this analysis does not depend on how the taxi driver will act at the level of implementation. It does not matter whether his knowledge of geography is realized in the form of linked lists or raster images of maps, and whether he conducts reasoning by manipulating the strings of characters stored in registers or distributing noisy signals over networks of neurons.
As already mentioned, a knowledge-based agent can be created by transmitting to him using the Tell operation, the information he needs to know. The initial agent program, applied before the agent begins to receive the results of acts of perception, is created by adding, one by one, those statements that represent the designer’s knowledge of this environment. And if you manage to design a presentation language that makes it easy to express this knowledge in the form of statements, then the task of creating an agent is extremely simplified. The approach described above is called the declarative approach to creating a system. In contrast, the procedural approach requires the presentation of the desired rules of behavior directly in the form of program code. But minimizing the role of explicit forms of representation and the formation of reasoning makes it possible to achieve the creation of much more efficient systems. In the 1970s and 1980s, the adherents of these two approaches entered into a fierce debate. However, it has now become clear that a successful agent must combine both declarative and procedural elements in his project.
In addition to transferring to the knowledge-based agent through the Tell operation, the information that he needs to know, it may also be necessary to provide him with mechanisms for learning independently. These mechanisms provide general knowledge of the environment through a series of perceptual acts. Such knowledge can be included in the knowledge base of the agent and used to make decisions. Due to this, the agent can become completely autonomous.
All these possibilities of representation, formation, reasoning and learning are based on the results in the field of the theory and practice of logic as a branch of mathematics accumulated over many centuries. But before proceeding to the description of theory and practice, we will create a simple world, using which we can illustrate their application.
Comments
To leave a comment
Knowledge Representation Models
Terms: Knowledge Representation Models