-
Notifications
You must be signed in to change notification settings - Fork 8
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
GlobalEval #28
GlobalEval #28
Conversation
@maxeeem could you please help to review the code when you get a chance? |
Locations where the for evaluators are updated: |
@bowen-xu there seems to be a conflict with the dev branch which will need to be resolved before merging |
task, concept, self.memory) | ||
|
||
# update well-being | ||
self.global_eval.update_wellbeing(task_executed.truth.e) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is currently inside the mental_operation
function. Is it just the name or is there another function elsewhere for other types of operations?
The reason I ask is if well-being
is meant to represent the 'body' functioning as expected, then it seems more related to operations like ^move or ^look etc rather than mental operations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh u r right. Since there is no "body" in the current implementation, Pei told me that we can tentatively update well-being
when an operation is succesfully executed. So this should also be called when any operations (like ^move and ^look) are executed.
''' Here, belief is not None, and it is the best solution for the task | ||
Thus, do global evaluation to update satisfaction of the system. | ||
''' | ||
self.global_eval.update_satisfaction(task.achieving_level(belief.truth), task.budget.priority) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably add this to questions as well in addition to goals. But perhaps later, not in this initial PR.
pynars/NARS/Control/Reasoner.py
Outdated
We tentatively exploit the truth of a revised task to indicate alertness | ||
""" | ||
if judgement_revised is not None: | ||
self.global_eval.update_alertness(judgement_revised.truth.c - task.truth.c) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be an absolute value to avoid negative numbers?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
judgement_revised.truth.c - task.truth.c
could be negative
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be OK, since the Revision rule always increases confidence, the Task's Judgment would always be lower confidence than the revised Judgment
To solve issue https://github.com/bowen-xu/PyNARS/issues/8