— An introduction to NARS
NARS (Non-Axiomatic Reasoning System) is a project aimed at the building of a general-purpose intelligent system, i.e., a "thinking machine" (also known as "AGI"), that follows the same principles as the human mind, and can solve problems in various domains.
the essence of intelligence is the principle of adapting to the environment while working with insufficient knowledge and resources. Accordingly, an intelligent system should rely on finite processing capacity, work in real time, open to unexpected tasks, and learn from experience.
This working definition interprets "intelligence" as a form of "relative rationality", since the validity of a conclusion is evaluated according to the available knowledge and resources of the system at the moment, rather than according to an objective reality or some absolute criteria. Even when a solution is provided by the system for a given problem, the system still has insufficient knowledge and resources for this problem, since it may change its solution if new evidence or more processing time becomes available.
This working definition of intelligence is consistent with our understanding of intelligence in general, and it also gives the field of Artificial Intelligence a proper identity, since defined in this way, AI is clearly different from computer science, cognitive psychology, and other related fields.unified approach, that is, the system depends on a single core technique to carry out various cognitive functions and to solve various problems. This approach has the advantage of simplicity and consistency. The system can still use other techniques as plug-in tools to improve its performance when carrying out specific tasks.
NARS is built in the framework of a reasoning system, with a logic part and a control part. The former consists of a formal language, a semantic theory of the language, and a set of inference rules; the latter consists of a memory structure and a control mechanism.
The reasoning framework has the advantage of being domain-independent, and combining the justifiability of individual inference steps and the flexibility of linking these steps together in a context-sensitive manner in run time.
To make the extremely complicated design process tractable, NARS is designed in layers, where each new layer extends the sets of grammar rule and inference rule, as well as refines the memory structure and control mechanism.
In NARS, a "term" names a concept that represents a recurring pattern in the system's experience, and a "statement" represents the substitutability of one term to another. Each statement is "true" to a degree, indicating the evidential support the statement gets from available evidence. An inference rule specifies how new statements can be derived from certain existing statements. The memory and control mechanism of the system attempt to use the time-space resources of the system in the most efficient way, by dynamically distributing the resources according to the experience of the system and the current context. The overall architecture and working cycle of NARS is briefly outlined here.
NARS is adaptive to its experience, and therefore is situated and embodied. Its beliefs summarize the system's experience (rather than describe the world "as it is"), and its concepts represent patterns in the experience (rather than denote the objects in the world). Its inference rules are valid in the sense that each conclusion is supported by the evidence provided by the premises (rather than because they derive absolute truth from absolute truth). The system is rational, because its conclusions are the best the system can find under the current knowledge and resources restriction (rather than because they are always absolutely correct or optimal).Narsese. NAL is designed incrementally with multiple layers. At each layer, NAL and Narsese are extended to have a higher expressive power, a richer semantics, and a larger set of inference rules, so as to increase the intelligence of the system.
To establish a solid semantic foundation for NAL, an Inheritance Logic, IL, is introduced first. This logic uses a categorical language, an experience-grounded semantics, and a few syllogistic inference rules. It describes how a statement can be formed by an inheritance copula (or a variant of it) linking one term to another term, and how the relation can transit from given statements to derived statements. Since IL assumes sufficient knowledge and resources, it is not non-axiomatic, but helps the designing of NAL by specifying its boundary conditions. At each layer, the extension of grammar rules and inference rules first happens in IL and then the results are further extended in NAL.
The major content of each layer is briefly summarized in the following:
The reasoning process in NARS uniformly carries out many cognitive functions that are traditionally studied as separate processes with different mechanisms, such as learning, perceiving, planning, predicting, remembering, problem solving, decision making, and so on.
As a reasoning system, the major components of NARS include
A task is processed by interacting with the beliefs of the system in an inference process. Beliefs are knowledge summarized from previous experience. Besides directly solving questions and goals with the corresponding beliefs, forward inference derives new knowledge, and backward inference derives new questions and goals.
Tasks and beliefs are clustered into concepts, according to the terms appearing in them. A concept is an entity named by a term, and refers to all the tasks and beliefs that are directly associated with that term. Roughly speaking, the system's memory is a conceptual network, with term as nodes, tasks as active links, and beliefs as dormant links. From this viewpoint, a concept is a node with all of its incoming and outgoing links.
NARS solves each problem in a case-by-case manner, according to the knowledge and resources available at the moment, rather than following a predetermined algorithm. Similarly, a problem being solved by NARS does not have a fixed computational complexity, and the time-resource cost may change from situation to situation.
Several prototypes of NARS have been implemented, and NARS is currently an open-source project. At the the present stage, where the logic part is fully implemented, and the control part is under testing. The current development focuses on the testing of the design and implementation.
Topics that are also under consideration include knowledge acquisition and system augmentation or customization.
Though NARS is not ready for commercial applications, some experiments have been carried out to test its application potential. Some experiment results are here.
project home >