Releases: opennars/ALANN2018
v0.1.1 Release (tested on Windows 10 Only)
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)
How To Build
- Clone the solution in Visual Studio (2017 Community Edition)
- Install paket in the solution directory https://fsprojects.github.io/Paket/installation.html#Installation-per-repository
- Run paket install
- Run paket update
- Build solution
How To Run
- Run ALANNStreams in a console
- Run the ALANNUI in Windows (accept the Firewall access to port 5000)
- 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)
How To Build
- Clone the solution in Visual Studio (2017 Community Edition)
- Install paket in the solution directory https://fsprojects.github.io/Paket/installation.html#Installation-per-repository
- Run paket install
- Run paket update
- Build solution
How To Run
- Run ALANNStreams in a console
- Run the ALANNUI in Windows (accept the Firewall access to port 5000)
- 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
How To Build
- Clone the solution in Visual Studio (2017 Community Edition)
- Install paket in the solution directory https://fsprojects.github.io/Paket/installation.html#Installation-per-repository
- Run paket install
- Run paket update
- Build solution
How To Run
- Run ALANNStreams in a console
- Run the ALANNUI in Windows (accept the Firewall access to port 5000)
- 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)
How To Build
- Clone the solution in Visual Studio (2017 Community Edition)
- Install paket in the solution directory https://fsprojects.github.io/Paket/installation.html#Installation-per-repository
- Run paket install
- Run paket update
- Build solution
How To Run
- Run ALANNStreams in a console
- Run the ALANNUI in Windows (accept the Firewall access to port 5000)
- 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)
How To Run
- Run ALANNStreams in a Windows console
- Run the ALANNUI in Windows (accept the Firewall access to port 5000)
- 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