OpenNARS is an open-source implementation of the Non-Axiomatic Reasoning System (NARS) designed for real-time inference under uncertainty. It simulates adaptive learning and belief revision with a formal logic system that handles continuous knowledge accumulation and resource-bounded reasoning. OpenNARS offers multi-language SDKs (Java, C++, Python, JavaScript, Dart, Go) and platform-agnostic deployment for research, robotics, and AI development, facilitating dynamic decision-making in complex environments.
OpenNARS is an open-source implementation of the Non-Axiomatic Reasoning System (NARS) designed for real-time inference under uncertainty. It simulates adaptive learning and belief revision with a formal logic system that handles continuous knowledge accumulation and resource-bounded reasoning. OpenNARS offers multi-language SDKs (Java, C++, Python, JavaScript, Dart, Go) and platform-agnostic deployment for research, robotics, and AI development, facilitating dynamic decision-making in complex environments.
OpenNARS is built upon the principles of Non-Axiomatic Logic, enabling the system to perform deduction, induction, and abduction using truth-value pairs that reflect uncertainty. It maintains an experience-based memory of statements and dynamically recruits inference rules based on available resources, ensuring robust performance in real-time environments. The engine’s belief revision mechanism updates confidences as new information arrives, improving decision accuracy. Developers can integrate OpenNARS via provided SDKs in Java, C++, Python, JavaScript, Dart, or Go, and deploy it on desktops, servers, mobile devices, or embedded systems. Typical applications include cognitive robotics, autonomous agents, and complex problem-solving tasks where adaptive learning and efficient knowledge management are essential.
Who will use OpenNARS?
AI researchers
Cognitive robotics developers
Machine learning engineers
Academic institutions and students
IoT and embedded system developers
How to use the OpenNARS?
Step1: Clone the OpenNARS repository from GitHub.
Step2: Select the SDK for your preferred language and install dependencies.
Step3: Initialize the NARS core and configure time/memory resource parameters.
Step4: Load or define initial knowledge base statements.
Step5: Use the inference API to submit tasks and retrieve results.
Step6: Feed new observations or feedback to enable belief revision.
Step7: Compile or package the engine for deployment on your target platform.
Platform
web
mac
windows
linux
android
OpenNARS's Core Features & Benefits
The Core Features
Real-time inference under uncertainty
Deduction, induction and abduction reasoning
Belief revision with truth-value pairs
Experience-based memory management
Multi-language SDKs for Java, C++, Python, JS, Dart, Go
Resource-bounded reasoning
The Benefits
Adaptive learning in dynamic environments
Efficient handling of incomplete information
Scalable across platforms and devices
Open-source extensibility and customization
Formal logic guarantees consistency
OpenNARS's Main Use Cases & Applications
Cognitive robotics control
Autonomous agent decision-making
Complex problem-solving applications
Research in non-axiomatic logic
Intelligent IoT and embedded systems
OpenNARS's Pros & Cons
The Pros
Open source and accessible for researchers and developers.
Designed to support generalized cognitive abilities like reasoning, learning, and planning.
Part of ongoing research aiming to develop a unified theory and system for AI.
Supports development of thinking machines and AGI.
The Cons
May require deep understanding of AI and cognitive architectures to effectively use.
Lacks user-friendly commercial support or pricing models.