Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Overall evaluation indicators for the system's internal state #8

Closed
bowen-xu opened this issue Sep 6, 2023 · 2 comments · Fixed by #28
Closed

[Feature] Overall evaluation indicators for the system's internal state #8

bowen-xu opened this issue Sep 6, 2023 · 2 comments · Fixed by #28
Assignees
Labels
enhancement New feature or request

Comments

@bowen-xu
Copy link
Collaborator

bowen-xu commented Sep 6, 2023

Is your feature request related to a problem? Please describe.

There should be some overall evaluation of the status of NARS, for example, satisfactory.

Describe the solution you'd like

There are four global evaluations,

  • satisfaction: the extent to which the current situation meet the system’s desires,
  • alertness: the extent to which the system’s knowledge is insufficient,
  • busyness: the extent to which the system’s time resource is insufficient,
  • well-being: the extent to which the system’s “body” functions as expected.

as mentioned in the design report of OpenNARS 3.1.0

The four metrics should be visualized in GUI.

@bowen-xu bowen-xu added the enhancement New feature or request label Sep 6, 2023
@bowen-xu bowen-xu self-assigned this Sep 6, 2023
@bowen-xu bowen-xu mentioned this issue Sep 6, 2023
@bowen-xu
Copy link
Collaborator Author

bowen-xu commented Sep 18, 2023

The file pynars/NARS/GlobalEval.py implements the four evaluations.
https://github.com/bowen-xu/PyNARS/blob/aacdb53fdd2073796e5acb8cc6e3024d490217fd/pynars/NARS/GlobalEval.py#L1-L39

This file is just to implement some methods for updating the values of S (satisfaction), A (alertnss), B (busyness), and W (well-being).

How to calculate a current evaluation depends.

For satisfaction, whenever a goal is to be solved, the value is updated.
Concretely, it happens in _solve_goal() when the system is trying to match a belief to a goal.
If there is no such a belief,
https://github.com/bowen-xu/PyNARS/blob/aacdb53fdd2073796e5acb8cc6e3024d490217fd/pynars/NARS/DataStructures/_py/Memory.py#L366
or there is a belief as a solution better than before
https://github.com/bowen-xu/PyNARS/blob/aacdb53fdd2073796e5acb8cc6e3024d490217fd/pynars/NARS/DataStructures/_py/Memory.py#L384-L384
the the value of satisfaction would change.

@bowen-xu bowen-xu mentioned this issue Sep 21, 2023
@bowen-xu bowen-xu linked a pull request Sep 21, 2023 that will close this issue
@ccrock4t
Copy link
Collaborator

ccrock4t commented Dec 2, 2023

Closed #60 as duplicate

From #60:

Technical Report

• satisfaction: achieving level of a goal
• alertness: (also known as novelty) achieving level of a task that is a judgment or a question
• busyness: priority of a task
• well-being: the extent a feel operator returns a value in the normal range, to be used in implementations where the system needs to manage resources other than time and space (such as energy) and its own body (such as temperature).

More Info

The global evaluations are not implemented

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants