Hi!
"1) What are the most critical theoretical and practical gaps in OpenNARS for Applications?"
Theoretical:
1. While the theory is quite solid, probably curiosity&play will be tricky to get right, though it might or might not need theoretical additions. Ultimately, according to my current understanding, if there is nothing more urgent to do, the agent should try to actively (via interaction) learn from its environment. It should literally search for "relevant information" it doesn't yet know by setting itself "proper goals", guided by what it already knows (rather than random action invocation as often seen in Reinforcement Learning). An approach, to make this concrete, is to see "proper goals" as previously often encountered highest-eternal-desire goals, and "relevant information" as "information helpful to fulfill such", where the latter would come for free by learning from environment feedback in the pursuit to achieve such a goal. When this interpretation is taken, I see a concrete realization of this idea, I might try it soon. ONA does not support eternal goals yet as I wasn't yet sure how to control them properly, but this might be the missing piece.
Practical:
1. Induction-related restrictions which will be lifted to make the system generalize better: (this will be resolved for v0.8.6, so after the next release, v0.8.5, which will be released within this month)
- Events cannot currently be left out when forming sequences ((a &/ c) should be able to be formed even when a b c happened, leaving out b)
- A variable gets introduced for all terms appearing more than once on subject/predicate side, leaving out certain more specific options, it's actually similar to the previous point, to explicitly decide to not introduce a variable for a term, to "leave it out" to generate another version of the implication.
- Derived events correlation is based on common term and syllogistic reasoning to transform a newly encountered case into an observed one which was already correlated. "Free" correlation between derived events didn't turn out to be fruitful yet and isn't yet supported. The implementation is easy though, as in OpenNARS v3.1.0: on take-out, perform temporal inference between the element taken out and the remaining events in the attention buffer.
2. More effective multithreading, difficult to achieve as the goal of reasoning is not just to derive conclusions but also to coordinate action involving the choice rule, which in ONA often spans multiple concepts, and includes outcome-dependent goal derivation. But also for belief reasoning, deriving more conclusions in a shorter time period is not necessarily always better, it depends on the control mechanism, whether it can handle it in such a way that for instance Q&A performance increases. (which is measured automatically by evaluation.py across all examples)
"2) What happen to OpenNARS.org? The site appears to be down."
It's down due to a change in Github Pages, but we intended to refurbish it soon anyway, to show more content.
I hope I will find time for it soon, it's busy times... :)
Best regards,
Patrick