The reference value of OpenNARS 1.5.8 compared to other versions

39 views
Skip to first unread message

Argon G

unread,
May 4, 2024, 2:16:29 PMMay 4
to open-nars
Hello everyone,

I have been studying the source code of OpenNARS recently, aiming to delve into the specific program implementations of NARS from a code perspective.

I've come across several versions of OpenNARS, including 1.5.8, 3.0.4, and 3.1.x. I've previously heard from Pei Wang that the implementation of OpenNARS 3.x is quite complex, with many complicated or difficult-to-understand parts. There are also recommendations from other researchers like Changxin Sun to study OpenNARS 1.5.8 first instead of 3.0.4.

I am uncertain about which version I should drill in and take for future reference and research into the source code, so I would like to ask:

Does OpenNARS 1.5.8 lack reference value compared to the subsequent 3.x and other implementations such as ONA and PyNARS, due to the fact that it has not implemented many features?

Are there notably missing features, such as those from NAL-7 to NAL-9, that could potentially be "transferred" through comparing code between OpenNARS 1.5.8 with the code of OpenNARS 3.x, thus allowing version 1.5.8 to serve as a sort of "stepping stone" for studying the 3.x versions?

I look forward to hearing your thoughts.

Best regards,
Tessergon Ng

Christian Hahm

unread,
May 6, 2024, 3:27:25 PMMay 6
to open-nars
Hi!

I imagine the older version 1.5.8 contains all the fundamentals of the logic+memory+control. I think 3.0.4 and 3.1.x do contain some additional features, but the fundamentals are in there as well.
So either implementation would be fine to look at for the purposes of learning basic NARS code for the lower NAL levels (NAL 1-6). But if you are interested in the higher NAL levels (like temporal, NAL-7+) that will likely differ between versions, as those features are still experimental, and there are different designs and opinions.

The Temple team is putting our latest version into PyNARS, which will be released later with a document containing the clear technical specifics of the system, e.g., formulas, algorithms, etc.
Hopefully when that is released it will be helpful to you (and others) as well. It should be coming in the near future (like this Summer/Fall).

Regards,
Christian

Tessergon Ng

unread,
May 7, 2024, 1:18:32 PMMay 7
to open-nars
Hi Christian!

Through studying the NAL book, the OpenNARS wiki, CIS-5590, and conducting hands-on experiments with OpenNARS 3.x, ONA, and PyNARS, I have gained a comprehensive understanding of NAL levels 1 through 9.
I feel that my current shortcomings are primarily in the areas of memory and control. The rules and schemes concerning memory and control are not extensively covered in NAL book (it only includes one chapter with an introduction based on NAL-1).

Initially, I intended to study PyNARS, which is led by Bowen Xu. Although this version is easy to begin with, it's still developing and lacks the higher-level content of NAL-7 and NAL-8 now.
In my view, NAL-9 is still not theoretically stable, and almost only OpenNARS 3.x and ONA have implemented NAL-7 and NAL-8, but I still lack confidence in my ability to understand C code, so that's why I decided to study OpenNARS first.

After reading your reply, I think OpenNARS 1.5.8 is worth starting to study. I'll continue to study its source code to clarify how the memory and control mechanisms actually work. In addition, I will keep a close eye on the development of PyNARS.

Thanks,
Tessergon Ng
Reply all
Reply to author
Forward
0 new messages