opennars / Narjure

A Clojure implementation of the Non-Axiomatic Reasoning System proposed by Pei Wang.
GNU General Public License v2.0
44 stars 11 forks source link

Ircbot #56

Closed jorisbontje closed 8 years ago

jorisbontje commented 8 years ago

IRC bot that connects to #narstest on freenode; supported commands:

   !n {string} - input narsese.
   !c {string} - show concept.
   !cs - show concepts.
   !r - reset NARS.
   !h - see this message.

Example usage showing its support in solving Graz' latest crimes:

07:42 M<•mids> user 
!reset

07:42 G<grazkripo> irclj 
NARS reset

07:42 M<•mids> user 
!n <{tim} --> (/,livingIn,_,{graz})>.

07:42 G<grazkripo> irclj 
NARS hears <{tim} --> (/,livingIn,_,{graz})>.

07:42 M<•mids> user 
!n <{tim} --> (/,livingIn,_,{graz})>. %0%

07:42 G<grazkripo> irclj 
NARS hears <{tim} --> (/,livingIn,_,{graz})>. %0%

07:43 M<•mids> user 
!n <<($1,sunglasses) --> own> ==> <$1 --> [aggressive]>>.

07:43 G<grazkripo> irclj 
NARS hears <<($1,sunglasses) --> own> ==> <$1 --> [aggressive]>>.

07:43 M<•mids> user 
!n <({tom},sunglasses) --> own>.

07:43 G<grazkripo> irclj 
NARS hears <({tom},sunglasses) --> own>.

07:43 M<•mids> user 
!n <<$1 --> [aggressive]> ==> <$1 --> murder>>.

07:43 G<grazkripo> irclj 
NARS hears <<$1 --> [aggressive]> ==> <$1 --> murder>>.

07:43 M<•mids> user 
!n <<$1 --> (/,livingIn,_,{graz})> ==> <$1 --> murder>>.

07:43 G<grazkripo> irclj 
NARS hears <<$1 --> (/,livingIn,_,{graz})> ==> <$1 --> murder>>.

07:43 M<•mids> user 
!n <{?who} --> murder>?

07:43 <grazkripo> irclj 
NARS hears <{?who} --> murder>?
07:47 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.6916000000000001 0.5 0.69160000000000
07:47 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [* [ind-var 1] sunglasses] own] [--> [ind-var 1] murder]], :evidence (2 3 4), :source :derived, :task-type :belief, :budget [0.692665628824803 0.5 0.692665628824803],
07:47 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.6928785087802725 0.5 0.69287850878027
07:47 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.6937292072672006 0.5 0.69372920726720
07:47 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [* [ind-var 1] sunglasses] own] [--> [ind-var 1] murder]], :evidence (2 3 4), :source :derived, :task-type :belief, :budget [0.6939416762614521 0.5 0.6939416762614521
07:47 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [* [ind-var 1] sunglasses] own] [--> [ind-var 1] murder]], :evidence (4 3 2), :source :derived, :task-type :belief, :budget [0.694154062887661 0.5 0.694154062887661],
07:47 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [* [ind-var 1] sunglasses] own] [--> [ind-var 1] murder]], :evidence (4 3 2), :source :derived, :task-type :belief, :budget [0.694154062887661 0.5 0.694154062887661],
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [* [ind-var 1] sunglasses] own] [--> [ind-var 1] murder]], :evidence (2 3 4), :source :derived, :task-type :belief, :budget [0.6943663670875253 0.5 0.6943663670875253
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [* [ind-var 1] sunglasses] own] [--> [ind-var 1] murder]], :evidence (2 3 4), :source :derived, :task-type :belief, :budget [0.6943663670875253 0.5 0.6943663670875253
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.6945785888028705 0.5 0.69457858880287
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.6945785888028705 0.5 0.69457858880287
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.69479072797565 0.5 0.69479072797565],
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [* [ind-var 1] sunglasses] own] [--> [ind-var 1] murder]], :evidence (2 3 4), :source :derived, :task-type :belief, :budget [0.696273386144151 0.5 0.696273386144151],
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [* [ind-var 1] sunglasses] own] [--> [ind-var 1] murder]], :evidence (2 3 4), :source :derived, :task-type :belief, :budget [0.6964848629020426 0.5 0.6964848629020426
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [* [ind-var 1] sunglasses] own] [--> [ind-var 1] murder]], :evidence (2 3 4), :source :derived, :task-type :belief, :budget [0.6969075671833322 0.5 0.6969075671833322
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [* [ind-var 1] sunglasses] own] [--> [ind-var 1] murder]], :evidence (2 3 4), :source :derived, :task-type :belief, :budget [0.6977519772228493 0.5 0.6977519772228493
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [* [ind-var 1] sunglasses] own] [--> [ind-var 1] murder]], :evidence (2 3 4), :source :derived, :task-type :belief, :budget [0.6983844092716402 0.5 0.6983844092716402
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.6983844092716402 0.5 0.69859505289779
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.6990160892310411 0.5 0.69901608923104
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.6990160892310411 0.5 0.69901608923104
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.6992264818272682 0.5 0.69922648182726
07:48 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.6992264818272682 0.5 0.69922648182726
07:49 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.6994367906362069 0.5 0.69943679063620
07:49 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.6998571566719085 0.5 0.69985715667190
07:49 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.7000672137888355 0.5 0.70006721378883
07:49 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [==> [--> [ind-var 1] [int-set aggressive]] [--> [ind-var 1] murder]], :evidence (4 2 3), :source :derived, :task-type :belief, :budget [0.7000672137888355 0.5 0.70006721378883
07:49 NARS answer on {:statement [--> [ext-set [qu-var who]] murder], :evidence (6), :source :input, :task-type :question, :budget [0.96 0.9 0.96], :sc 4, :truth nil, :solution nil, :occurrence :eternal} is {:statement [--> [ext-set tom] murder], :parent-statement [--> [ext-set tom] [int-set aggressive]], :evidence (2 4 3), :source :derived, :task-type :belief, :budget [0.7002771868988023 0.5 0.7002771868988023], :sc 4, :truth [1.0 0.729