NARS (Non-Axiomatic Reasoning System) is a project aimed at the building of a general-purpose intelligent system, or a "thinking machine" that follows the same principles as the human mind, and can solve problems in various domains.
The research results include a theory of intelligence, a formal model of intelligence based the theory, and a computer implementation of the model.
NARS takes a unified approach, that is, the system depends on a single major technique to carry out various cognitive functions and to solve various problems. This approach has the advantage of simplicity and consistency. The system is still open to use other techniques as plug-in tools to improve its performance when carrying out special tasks.
NARS is built in the form of a reasoning system, with a language for knowledge representation, a semantic theory of the language, a set of inference rules, a memory structure, and a control mechanism. The first three components are usually referred to as a logic. 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.
NARS is fundamentally different from traditional reasoning systems. In it, a "term" represents a stable 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 substitutability can be derived from given ones by taking them as evidence. The memory and control mechanism of the system attempts to use the time-space resources of the system in the most efficient way. The overall architecture of NARS is briefly outlined.
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, because 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).
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 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 provides a tool to build such logics.
In the simplest case, NARS communicates with its environment in Narsese. The system's experience consists of a stream of input sentences, and each of them is a task to be processed. A task can be a piece of knowledge to be absorbed, a question to be answered, or a goal to be achieved. As a real-time system, NARS accepts new tasks at any moment, with any content and time request.
A task is processed by interacting with the beliefs of the system in an inference process. Beliefs are knowledge summarized from previous experience. Beside directly solving questions and goals, forward inference derives new beliefs, and backward inference derives new questions and goals.
At any moment, there are usually many tasks being processed concurrently, with different speed. The system dynamically allocates its time-space resources among the tasks and beliefs, to achieve a high expected overall efficiency, judged according to the past experience. 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.
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.
NARS has been implemented in several versions, and turned into an open-source project. The logic part of the system is mostly implemented, and the control part is in its primary form. The current development focuses on the completion of the logic. Topics that are also under consideration include refinement of the control part, extensive testing, knowledge acquisition, system augmentation, and practical applications.