Skip to content
patham9 edited this page Nov 9, 2018 · 21 revisions

Welcome to the ANSNA Wiki! This is the system overview page, before diving into other sections, you may consider looking at https://github.com/patham9/ANSNA/wiki/System-graphs

ANSNA Overview The system performs sequence formation steps, under attentional control, which then become concepts. These concepts try to predict other sequences based on the observation of its own sequence: For instance, concept a becomes a predictor for event b, so that after repeatedly observing ab, concept a will predict the occurrence of b after the observation of a, based on the within concept a, by Induction and Revision built predictive hypothesis a =/> b. This can be seen as some kind of Inference too. Here, derived sequences feed back to the attention buffer, while a predictive hypothesis a =/> b directly goes back to a. The sequences (with 1-ary sequences as special case), are however not terms like in OpenNARS, instead they are represented as a Sparse Distributed Representations (SDR). This allows the system to see new sequences as a special case of others with little resource effort, leading to the creation and usage of a taxonomy within the memory, almost for free.

Since events can be goals, the knowledge a =/> b can also be used backwards by the concept, to generate goal a! based on goal b! as a form of Deduction. For this purpose, a =/> b is also going back to b, which makes the green links in the diagram look special.

Input: https://github.com/patham9/ANSNA/wiki/SDR:-Input

Attention buffer: A fixed-size priority queue, ordering events according to their Attention Value.

Concepts: A fixed-size priority queue, ordering concepts, named by SDR's according to their Attention Value.

Overall working cycle example: https://github.com/patham9/ANSNA/wiki/Cycle:-The-operating-cycle

Action: A fixed procedure triggered by the derivation of a goal of high desire value that got processed in its concept, see https://github.com/patham9/ANSNA/wiki/Cycle:-Decision-Making

Inference:

Revision:
{Event a., Event a.} |- Event a.
{Event a!, Event a!} |- Event a!
{Implication <a =/> b>., Implication <a =/> b>.} |- Implication <a =/> b>.

Deduction:
{Event a., Implicatiom <a =/> b>.} |- Event b.
{Event b!, Implication <a =/> b>.} |- Event a!
SDRMatch (https://github.com/patham9/ANSNA/wiki/SDRInheritance-for-matching,-and-its-truth-value)

Induction:
{Event a., Event b.} |- Implication <a =/> b>.

Abduction:
{Event b., Implication <a =/> b>.} |- Event a.
{Event a!, Implication <a =/> b>.} |- Event b!

Intersection (Composition):
{Event a., Event b., after(b,a)} |- Event (&/,a,b).      (SDRTuple)
{Event a., Event b., concurrent(b,a)} |- Event (&|,a,b)  (SDRSet/Union)
where concurrent and after are excluding each other:
when the occurrence time of a and b is closer than Concurrent_MAX, concurrent(a,b) is true,
else either after(b,a) or after(a,b) is true. 

Identity (Decomposition):
{Event a., Event b.} |- Event intersection(a,b). (using truth of a)
{Event a., Event b.} |- Event difference(a,b).   (using truth of a)

The Identity rules are new in ANSNA: they allow to selectively decompose complex structures. Different than OpenNARS ANSNA does not support to decompose structure piece by piece, in a single-premise manner. Instead, it is always a comparison with another event that triggers a decomposition. A common color between a dog and a cat, the crooked nose one person has while the other person does not. Commonalities and differences between contextual relevant (currently processed) events that cause events of said commonalities and differences to be derived. This never needs to happen step by step for each sub-property, as all the common bits are identified directly in a single SDR comparison.