Skip to content

Releases: opennars/ALANN2018

v0.1.1 Release (tested on Windows 10 Only)

16 Mar 16:04
Compare
Choose a tag to compare

This release addresses some issues in Q&A.
Adds support for metric streaming to Graphite.
Adds additional Grammar compatibility between ALANN and OpenNARS.

Initial point release (Tested on Windows 10 only)

04 Mar 14:10
Compare
Choose a tag to compare

How To Build

  1. Clone the solution in Visual Studio (2017 Community Edition)
  2. Install paket in the solution directory https://fsprojects.github.io/Paket/installation.html#Installation-per-repository
  3. Run paket install
  4. Run paket update
  5. Build solution

How To Run

  1. Run ALANNStreams in a console
  2. Run the ALANNUI in Windows (accept the Firewall access to port 5000)
  3. Enter Narsese statements into 'Input' windows and click 'Input' button

Example Narsese Files

Simple deduction https://github.com/opennars/ALANN2018/blob/master/Examples/deductive%20reasoning

Chains of deduction https://github.com/opennars/ALANN2018/blob/master/Examples/Deductive%20chain

Generalised reasoning in shape world https://github.com/opennars/ALANN2018/blob/master/Examples/Shape_world

Infamous "Cat-blue-sky" challenge https://github.com/opennars/ALANN2018/blob/master/Examples/cat-blue-sky.txt

The inference test cases are a good place to start to get an idea of how narsese can be used with the inference rules (here:
https://github.com/opennars/ALANN2018/tree/master/ALANNStreams/Tests/Inference)

Supported Narsese grammar

event ::== [attention] sentence
sentence ::== belief | question | goal | quest 
belief ::== statement ‘.’ [truth]
goal ::== statement ‘!’  [desire] 
question ::== statement ‘?’
quest ::== statement '@'
statement ::== ‘<’ term copula term ‘>’
compound-term ::== ‘(‘ term binary-infix-operator term ‘)’
term ::== word | variable | set | ‘(‘ statement ‘)’ | '--'  '(' term ')' | prefix-operator '(' term {term}+ ')'
set ::== '{' {term}+ '}' | '[' {term}+ ']'
binary-infix-operator ::== '&&' | '||' ',' | ';' | '&' | '|'| '*' | '-' | '~' | ‘/’ | ‘\’
copula ::== '-->' | '<->'  | '{--' | '--]' | '{-]'  '==>' | '<=>' | '=+>' | '=->' | '=|>' | '<+>' | '<|>'
variable ::== independent-variable identifier | dependent-variable identifier | query-variable identifier 
independent-variable ::== ‘#’ word
dependent-variable ::== ‘$’ word
query-variable ::== ‘?’ word
word ::== string-literal | decimal-integer | real-number
string-literal ::== leading-identifier {identifier | digit | '_'}
leading-identifier ::== letter | ‘_’ | ‘”’ | ‘’’
identifier ::== letter | digit | ‘_’ | ‘”’ | ‘’’ ‘.’
decimal-integer ::== ['-' | '+'] digit-sequence
digit-sequence ::== digit {digit}
real-number ::== ['-' | '+'] digit-sequence '.' digit-sequence
truth ::== ‘{ floatTuple ‘}’
desire ::== floatTuple
attention ::== ‘[‘ floatTuple ‘]’
floatTuple ::== real-number real-number	 

Note: relational images are considered binary operators although in practice the following form is used:

(rel / _ term) or (rel / term _), similarly for intensional images.

Server Command grammar

The ALANN Server accepts a range of commands to support run time control and inspection of various elements. The ALANN GUI is a simple graphical layer utilising these server commands. Commands in brackets are abbreviated version of the commands. By default the server is listening on port 5000 and responds on port 5001. UDP is the current protocol.

#RESET (#R) Reset memory and system streams
#LOAD (#L) "fiename" loads an existing file from DATA directory within BIN directory
#SAVE (#S) "filename" saves memory to disk in DATA directory
#PAUSE (#P) pause the server
#CONTINUE (#C) continue the server after pausing
#NODE_COUNT (#NC) show number of current nodes in storage
#SHOW_NODE (#SN) show node specific information such as current attention level
#ENABLE_TRACE (#ET) "term" turns on node activation tracing for the node with the specified term - can be multiple traces
#DISABLE_TRACE (#DT) "term" turns off tracing for the specified node
#SHOW_SIMPLE_BELIEFS (#SSB) "term" shows the 'simple' beliefs for the specified node
#SHOW_TEMPORAL_BELIEFS (#STB) "term" show the temporal beliefs for the specified node
#SHOW_HYPOTHESIS_BELIEFS (#SHB) "term" show the hypothesis beliefs for the specified node
#SHOW_GENERALISED_BELIEFS (#SGB) "term" show the generalised beliefs for the specified node

First release candidate (Tested on Windows 10 only)

28 Feb 16:06
Compare
Choose a tag to compare

How To Build

  1. Clone the solution in Visual Studio (2017 Community Edition)
  2. Install paket in the solution directory https://fsprojects.github.io/Paket/installation.html#Installation-per-repository
  3. Run paket install
  4. Run paket update
  5. Build solution

How To Run

  1. Run ALANNStreams in a console
  2. Run the ALANNUI in Windows (accept the Firewall access to port 5000)
  3. Enter Narsese statements into 'Input' windows and click 'Input' button

Example Narsese Files

Simple deduction https://github.com/opennars/ALANN2018/blob/master/Examples/deductive%20reasoning

Chains of deduction https://github.com/opennars/ALANN2018/blob/master/Examples/Deductive%20chain

Generalised reasoning in shape world https://github.com/opennars/ALANN2018/blob/master/Examples/Shape_world

Infamous "Cat-blue-sky" challenge https://github.com/opennars/ALANN2018/blob/master/Examples/cat-blue-sky.txt

The inference test cases are a good place to start to get an idea of how narsese can be used with the inference rules (here:
https://github.com/opennars/ALANN2018/tree/master/ALANNStreams/Tests/Inference)

Supported Narsese grammar

event ::== [attention] sentence
sentence ::== belief | question | goal | quest 
belief ::== statement ‘.’ [truth]
goal ::== statement ‘!’  [desire] 
question ::== statement ‘?’
quest ::== statement '@'
statement ::== ‘<’ term copula term ‘>’
compound-term ::== ‘(‘ term binary-infix-operator term ‘)’
term ::== word | variable | set | ‘(‘ statement ‘)’ | '--'  '(' term ')' | prefix-operator '(' term {term}+ ')'
set ::== '{' {term}+ '}' | '[' {term}+ ']'
binary-infix-operator ::== '&&' | '||' ',' | ';' | '&' | '|'| '*' | '-' | '~' | ‘/’ | ‘\’
copula ::== '-->' | '<->'  | '{--' | '--]' | '{-]'  '==>' | '<=>' | '=+>' | '=->' | '=|>' | '<+>' | '<|>'
variable ::== independent-variable identifier | dependent-variable identifier | query-variable identifier 
independent-variable ::== ‘#’ word
dependent-variable ::== ‘$’ word
query-variable ::== ‘?’ word
word ::== string-literal | decimal-integer | real-number
string-literal ::== leading-identifier {identifier | digit | '_'}
leading-identifier ::== letter | ‘_’ | ‘”’ | ‘’’
identifier ::== letter | digit | ‘_’ | ‘”’ | ‘’’ ‘.’
decimal-integer ::== ['-' | '+'] digit-sequence
digit-sequence ::== digit {digit}
real-number ::== ['-' | '+'] digit-sequence '.' digit-sequence
truth ::== ‘{ floatTuple ‘}’
desire ::== floatTuple
attention ::== ‘[‘ floatTuple ‘]’
floatTuple ::== real-number real-number	 

Note: relational images are considered binary operators although in practice the following form is used:

(rel / _ term) or (rel / term _), similarly for intensional images.

Server Command grammar

The ALANN Server accepts a range of commands to support run time control and inspection of various elements. The ALANN GUI is a simple graphical layer utilising these server commands. Commands in brackets are abbreviated version of the commands. By default the server is listening on port 5000 and responds on port 5001. UDP is the current protocol.

#RESET (#R) Reset memory and system streams
#LOAD (#L) "fiename" loads an existing file from DATA directory within BIN directory
#SAVE (#S) "filename" saves memory to disk in DATA directory
#PAUSE (#P) pause the server
#CONTINUE (#C) continue the server after pausing
#NODE_COUNT (#NC) show number of current nodes in storage
#SHOW_NODE (#SN) show node specific information such as current attention level
#ENABLE_TRACE (#ET) "term" turns on node activation tracing for the node with the specified term - can be multiple traces
#DISABLE_TRACE (#DT) "term" turns off tracing for the specified node
#SHOW_SIMPLE_BELIEFS (#SSB) "term" shows the 'simple' beliefs for the specified node
#SHOW_TEMPORAL_BELIEFS (#STB) "term" show the temporal beliefs for the specified node
#SHOW_HYPOTHESIS_BELIEFS (#SHB) "term" show the hypothesis beliefs for the specified node
#SHOW_GENERALISED_BELIEFS (#SGB) "term" show the generalised beliefs for the specified node

v0.0.3

17 Feb 17:36
Compare
Choose a tag to compare
v0.0.3 Pre-release
Pre-release

How To Build

  1. Clone the solution in Visual Studio (2017 Community Edition)
  2. Install paket in the solution directory https://fsprojects.github.io/Paket/installation.html#Installation-per-repository
  3. Run paket install
  4. Run paket update
  5. Build solution

How To Run

  1. Run ALANNStreams in a console
  2. Run the ALANNUI in Windows (accept the Firewall access to port 5000)
  3. Enter Narsese statements into 'Input' windows and click 'Input' button

Example Narsese Files

Simple deduction https://github.com/opennars/ALANN2018/blob/master/Examples/deductive%20reasoning

Chains of deduction https://github.com/opennars/ALANN2018/blob/master/Examples/Deductive%20chain

Generalised reasoning in shape world https://github.com/opennars/ALANN2018/blob/master/Examples/Shape_world

Infamous "Cat-blue-sky" challenge https://github.com/opennars/ALANN2018/blob/master/Examples/cat-blue-sky.txt

The inference test cases are a good place to start to get an idea of how narsese can be used with the inference rules (here:
https://github.com/opennars/ALANN2018/tree/master/ALANNStreams/Tests/Inference)

Supported Narsese grammar

event ::== [attention] sentence
sentence ::== belief | question | goal | quest 
belief ::== statement ‘.’ [truth]
goal ::== statement ‘!’  [desire] 
question ::== statement ‘?’
quest ::== statement '@'
statement ::== ‘<’ term copula term ‘>’
compound-term ::== ‘(‘ term binary-infix-operator term ‘)’
term ::== word | variable | set | ‘(‘ statement ‘)’ | '--'  '(' term ')' | prefix-operator '(' term {term}+ ')'
set ::== '{' {term}+ '}' | '[' {term}+ ']'
binary-infix-operator ::== '&&' | '||' ',' | ';' | '&' | '|'| '*' | '-' | '~' | ‘/’ | ‘\’
copula ::== '-->' | '<->'  | '{--' | '--]' | '{-]'  '==>' | '<=>' | '=+>' | '=->' | '=|>' | '<+>' | '<|>'
variable ::== independent-variable identifier | dependent-variable identifier | query-variable identifier 
independent-variable ::== ‘#’ word
dependent-variable ::== ‘$’ word
query-variable ::== ‘?’ word
word ::== string-literal | decimal-integer | real-number
string-literal ::== leading-identifier {identifier | digit | '_'}
leading-identifier ::== letter | ‘_’ | ‘”’ | ‘’’
identifier ::== letter | digit | ‘_’ | ‘”’ | ‘’’ ‘.’
decimal-integer ::== ['-' | '+'] digit-sequence
digit-sequence ::== digit {digit}
real-number ::== ['-' | '+'] digit-sequence '.' digit-sequence
truth ::== ‘{ floatTuple ‘}’
desire ::== floatTuple
attention ::== ‘[‘ floatTuple ‘]’
floatTuple ::== real-number real-number	 

Note: relational images are considered binary operators although in practice the following form is used:

(rel / _ term) or (rel / term _), similarly for intensional images.

Server Command grammar

The ALANN Server accepts a range of commands to support run time control and inspection of various elements. The ALANN GUI is a simple graphical layer utilising these server commands. Commands in brackets are abbreviated version of the commands. By default the server is listening on port 5000 and responds on port 5001. UDP is the current protocol.

#RESET (#R) Reset memory and system streams
#LOAD (#L) "fiename" loads an existing file from DATA directory within BIN directory
#SAVE (#S) "filename" saves memory to disk in DATA directory
#PAUSE (#P) pause the server
#CONTINUE (#C) continue the server after pausing
#NODE_COUNT (#NC) show number of current nodes in storage
#SHOW_NODE (#SN) show node specific information such as current attention level
#ENABLE_TRACE (#ET) "term" turns on node activation tracing for the node with the specified term - can be multiple traces
#DISABLE_TRACE (#DT) "term" turns off tracing for the specified node
#SHOW_SIMPLE_BELIEFS (#SSB) "term" shows the 'simple' beliefs for the specified node
#SHOW_TEMPORAL_BELIEFS (#STB) "term" show the temporal beliefs for the specified node
#SHOW_HYPOTHESIS_BELIEFS (#SHB) "term" show the hypothesis beliefs for the specified node
#SHOW_GENERALISED_BELIEFS (#SGB) "term" show the generalised beliefs for the specified node

First release candidate (Tested on Windows 10 only)

16 Feb 20:48
Compare
Choose a tag to compare

How To Build

  1. Clone the solution in Visual Studio (2017 Community Edition)
  2. Install paket in the solution directory https://fsprojects.github.io/Paket/installation.html#Installation-per-repository
  3. Run paket install
  4. Run paket update
  5. Build solution

How To Run

  1. Run ALANNStreams in a console
  2. Run the ALANNUI in Windows (accept the Firewall access to port 5000)
  3. Enter Narsese statements into 'Input' windows and click 'Input' button

Example Narsese Files

Simple deduction https://github.com/opennars/ALANN2018/blob/master/Examples/deductive%20reasoning

Chains of deduction https://github.com/opennars/ALANN2018/blob/master/Examples/Deductive%20chain

Generalised reasoning in shape world https://github.com/opennars/ALANN2018/blob/master/Examples/Shape_world

Infamous "Cat-blue-sky" challenge https://github.com/opennars/ALANN2018/blob/master/Examples/cat-blue-sky.txt

The inference test cases are a good place to start to get an idea of how narsese can be used with the inference rules (here:
https://github.com/opennars/ALANN2018/tree/master/ALANNStreams/Tests/Inference)

Supported Narsese grammar

event ::== [attention] sentence
sentence ::== belief | question | goal | quest 
belief ::== statement ‘.’ [truth]
goal ::== statement ‘!’  [desire] 
question ::== statement ‘?’
quest ::== statement '@'
statement ::== ‘<’ term copula term ‘>’
compound-term ::== ‘(‘ term binary-infix-operator term ‘)’
term ::== word | variable | set | ‘(‘ statement ‘)’ | '--'  '(' term ')' | prefix-operator '(' term {term}+ ')'
set ::== '{' {term}+ '}' | '[' {term}+ ']'
binary-infix-operator ::== '&&' | '||' ',' | ';' | '&' | '|'| '*' | '-' | '~' | ‘/’ | ‘\’
copula ::== '-->' | '<->'  | '{--' | '--]' | '{-]'  '==>' | '<=>' | '=+>' | '=->' | '=|>' | '<+>' | '<|>'
variable ::== independent-variable identifier | dependent-variable identifier | query-variable identifier 
independent-variable ::== ‘#’ word
dependent-variable ::== ‘$’ word
query-variable ::== ‘?’ word
word ::== string-literal | decimal-integer | real-number
string-literal ::== leading-identifier {identifier | digit | '_'}
leading-identifier ::== letter | ‘_’ | ‘”’ | ‘’’
identifier ::== letter | digit | ‘_’ | ‘”’ | ‘’’ ‘.’
decimal-integer ::== ['-' | '+'] digit-sequence
digit-sequence ::== digit {digit}
real-number ::== ['-' | '+'] digit-sequence '.' digit-sequence
truth ::== ‘{ floatTuple ‘}’
desire ::== floatTuple
attention ::== ‘[‘ floatTuple ‘]’
floatTuple ::== real-number real-number	 

Note: relational images are considered binary operators although in practice the following form is used:

(rel / _ term) or (rel / term _), similarly for intensional images.

Server Command grammar

The ALANN Server accepts a range of commands to support run time control and inspection of various elements. The ALANN GUI is a simple graphical layer utilising these server commands. Commands in brackets are abbreviated version of the commands. By default the server is listening on port 5000 and responds on port 5001. UDP is the current protocol.

#RESET (#R) Reset memory and system streams
#LOAD (#L) "fiename" loads an existing file from DATA directory within BIN directory
#SAVE (#S) "filename" saves memory to disk in DATA directory
#PAUSE (#P) pause the server
#CONTINUE (#C) continue the server after pausing
#NODE_COUNT (#NC) show number of current nodes in storage
#SHOW_NODE (#SN) show node specific information such as current attention level
#ENABLE_TRACE (#ET) "term" turns on node activation tracing for the node with the specified term - can be multiple traces
#DISABLE_TRACE (#DT) "term" turns off tracing for the specified node
#SHOW_SIMPLE_BELIEFS (#SSB) "term" shows the 'simple' beliefs for the specified node
#SHOW_TEMPORAL_BELIEFS (#STB) "term" show the temporal beliefs for the specified node
#SHOW_HYPOTHESIS_BELIEFS (#SHB) "term" show the hypothesis beliefs for the specified node
#SHOW_GENERALISED_BELIEFS (#SGB) "term" show the generalised beliefs for the specified node

First release candidate (Tested on Windows 10 only)

11 Feb 17:38
342e417
Compare
Choose a tag to compare

How To Run

  1. Run ALANNStreams in a Windows console
  2. Run the ALANNUI in Windows (accept the Firewall access to port 5000)
  3. Enter Narsese statements into 'Input' windows and click 'Input' button

Example Narsese Files

Simple deduction https://github.com/opennars/ALANN2018/blob/master/Examples/deductive%20reasoning

Chains of deduction https://github.com/opennars/ALANN2018/blob/master/Examples/Deductive%20chain

Generalised reasoning in shape world https://github.com/opennars/ALANN2018/blob/master/Examples/Shape_world

Infamous "Cat-blue-sky" challenge https://github.com/opennars/ALANN2018/blob/master/Examples/cat-blue-sky.txt

The inference test cases are a good place to start to get an idea of how narsese can be used with the inference rules (here:
https://github.com/opennars/ALANN2018/tree/master/ALANNStreams/Tests/Inference)

Supported Narsese grammar

event ::== [attention] sentence
sentence ::== belief | question | goal | quest 
belief ::== statement ‘.’ [truth]
goal ::== statement ‘!’  [desire] 
question ::== statement ‘?’
quest ::== statement '@'
statement ::== ‘<’ term copula term ‘>’
compound-term ::== ‘(‘ term binary-infix-operator term ‘)’
term ::== word | variable | set | ‘(‘ statement ‘)’ | '--'  '(' term ')' | prefix-operator '(' term {term}+ ')'
set ::== '{' {term}+ '}' | '[' {term}+ ']'
binary-infix-operator ::== '&&' | '||' ',' | ';' | '&' | '|'| '*' | '-' | '~' | ‘/’ | ‘\’
copula ::== '-->' | '<->'  | '{--' | '--]' | '{-]'  '==>' | '<=>' | '=+>' | '=->' | '=|>' | '<+>' | '<|>'
variable ::== independent-variable identifier | dependent-variable identifier | query-variable identifier 
independent-variable ::== ‘#’ word
dependent-variable ::== ‘$’ word
query-variable ::== ‘?’ word
word ::== string-literal | decimal-integer | real-number
string-literal ::== leading-identifier {identifier | digit | '_'}
leading-identifier ::== letter | ‘_’ | ‘”’ | ‘’’
identifier ::== letter | digit | ‘_’ | ‘”’ | ‘’’ ‘.’
decimal-integer ::== ['-' | '+'] digit-sequence
digit-sequence ::== digit {digit}
real-number ::== ['-' | '+'] digit-sequence '.' digit-sequence
truth ::== ‘{ floatTuple ‘}’
desire ::== floatTuple
attention ::== ‘[‘ floatTuple ‘]’
floatTuple ::== real-number real-number	 

Note: relational images are considered binary operators although in practice the following form is used:

(rel / _ term) or (rel / term _), similarly for intensional images.

Server Command grammar

The ALANN Server accepts a range of commands to support run time control and inspection of various elements. The ALANN GUI is a simple graphical layer utilising these server commands. Commands in brackets are abbreviated version of the commands. By default the server is listening on port 5000 and responds on port 5001. UDP is the current protocol.

#RESET (#R) Reset memory and system streams
#LOAD (#L) "fiename" loads an existing file from DATA directory within BIN directory
#SAVE (#S) "filename" saves memory to disk in DATA directory
#PAUSE (#P) pause the server
#CONTINUE (#C) continue the server after pausing
#NODE_COUNT (#NC) show number of current nodes in storage
#SHOW_NODE (#SN) show node specific information such as current attention level
#ENABLE_TRACE (#ET) "term" turns on node activation tracing for the node with the specified term - can be multiple traces
#DISABLE_TRACE (#DT) "term" turns off tracing for the specified node
#SHOW_GENERAL_BELIEFS (#SGB) "term" shows the general beliefs for the specified node
#SHOW_TEMPORAL_BELIEFS (#STB) "term" show the temporal beliefs for the specified node