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

Mailbox issue #48

Closed patham9 closed 8 years ago

patham9 commented 8 years ago

We still don't have the message flow under control, how is it that 30 seconds after (stop) the system still processes messages and then stops?

We have to add a timer tick in load reducer as I suggested at first in order to control the messages forwarded to task dispatcher per time, else this won't change probably.

TonyLo1 commented 8 years ago

You have to tune the parameters for your system. It's likely that params are too high for the processing power you have available.

You need to reduce the number of selections per cycle in concept-selector and load-reducer. load-reducer already uses a timer-tick.

TonyLo1 commented 8 years ago

Another issue is that bag is really slow

patham9 commented 8 years ago

this is fine for now. ^^ Changed back to 10 for now, it should at least run on my machine we don't need to select a lot of concepts per cycle or have a huge memory to get a good version up and running.

2016-06-05 19:14 GMT+02:00 TonyLo1 notifications@github.com:

Another issue is that bag is really slow

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/opennars/opennars2/issues/48#issuecomment-223824959, or mute the thread https://github.com/notifications/unsubscribe/AH5qBUVBL2cbxtoiFKvRhd35p1XVszi8ks5qIwPrgaJpZM4IuX7m .

patham9 commented 8 years ago

How can I access concept actor state if I have an actor ref from extern?

TonyLo1 commented 8 years ago

You can't. Actor state can only be accessed within an actor - this is by design.

patham9 commented 8 years ago

so how can I ask the actor about the task bag state if I have the actor ref? I just need read access for visualization purposes, and reflecting the actor state into an atom sounds overkill. ^^

patham9 commented 8 years ago

will just reference the task bag into a atom dictionary whenever the actor processes a message, this way no copy of state happens (only happens if debug/Lense is true of course), and when we move to multiple machines we will need a more sophisticated Lense anyway. Realtime visualization is now crucial to make sure that local inference does the right thing, and to make sure that the termlinks do the right thing, and to make sure the budget functions do the right thing, so all what is left. :)

patham9 commented 8 years ago

closed since slower amount of concept selection param per cycle as Tony pointed out solved it for me.