本文整理汇总了Java中nars.entity.Task.getSentence方法的典型用法代码示例。如果您正苦于以下问题:Java Task.getSentence方法的具体用法?Java Task.getSentence怎么用?Java Task.getSentence使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nars.entity.Task
的用法示例。
在下文中一共展示了Task.getSentence方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: processNewTask
import nars.entity.Task; //导入方法依赖的package包/类
/**
* Process the newTasks accumulated in the previous workCycle, accept input ones
* and those that corresponding to existing concepts, plus one from the buffer.
*/
private void processNewTask() {
Task task;
int counter = newTasks.size(); // don't include new tasks produced in the current workCycle
while (counter-- > 0) {
task = newTasks.remove(0);
if (task.isInput() || (termToConcept(task.getContent()) != null)) { // new input or existing concept
immediateProcess(task);
} else {
Sentence s = task.getSentence();
if (s.isJudgment()) {
double d = s.getTruth().getExpectation();
if (d > Parameters.DEFAULT_CREATION_EXPECTATION) {
novelTasks.putIn(task); // new concept formation
} else {
recorder.append("!!! Neglected: " + task + "\n");
}
}
}
}
}
示例2: processNewTask
import nars.entity.Task; //导入方法依赖的package包/类
/**
* Process the newTasks accumulated in the previous workCycle, accept input
* ones and those that corresponding to existing concepts, plus one from the
* buffer.
*/
private void processNewTask() {
// don't include new tasks produced in the current workCycle
int counter = newTasks.size();
while (counter-- > 0) {
final Task task = newTasks.removeFirst();
if (task.isInput() || (termToConcept(task.getContent()) != null)) {
// new input or existing concept
immediateProcess(task);
} else {
final Sentence s = task.getSentence();
if (s.isJudgment()) {
final double exp = s.getTruth().getExpectation();
if (exp > Parameters.DEFAULT_CREATION_EXPECTATION) {
novelTasks.putIn(task); // new concept formation
} else {
if (recorder.isActive()) {
recorder.append("!!! Neglected: " + task + "\n");
}
}
}
}
}
}
示例3: derivedTask
import nars.entity.Task; //导入方法依赖的package包/类
/**
* Derived task comes from the inference rules.
*
* @param task the derived task
*/
private void derivedTask(Task task, boolean revised, boolean single) {
if (task.getBudget().aboveThreshold()) {
if (task.getSentence() != null && task.getSentence().getTruth() != null) {
float conf = task.getSentence().getTruth().getConfidence();
if (conf == 0) { //no confidence - we can delete the wrongs out that way.
if (recorder.isActive()) {
recorder.append("!!! Ignored (confidence): " + task + "\n");
}
return;
}
}
Stamp stamp = task.getSentence().getStamp();
List<Term> chain = stamp.getChain();
if (currentBelief != null) {
if(chain.contains(currentBelief.getContent())) {
chain.remove(currentBelief.getContent());
}
stamp.addToChain(currentBelief.getContent());
}
if (currentTask != null && !single) {
if(chain.contains(currentTask.getContent())) {
chain.remove(currentTask.getContent());
}
stamp.addToChain(currentTask.getContent());
}
if (!revised) { //its a inference rule, we have to do the derivation chain check to hamper cycles
for (final Term chain1 : chain) {
if (task.getContent() == chain1) {
if (recorder.isActive()) {
recorder.append("!!! Cyclic Reasoning detected: " + task + "\n");
}
return;
}
}
} else { //its revision, of course its cyclic, apply evidental base policy
for (int i = 0; i < stamp.length(); i++) {
for (int j = 0; j < stamp.length(); j++) {
if (i != j && stamp.getBase()[i] == stamp.getBase()[j]) {
if (recorder.isActive()) {
recorder.append("!!! Overlapping Evidence on Revision detected: " + task + "\n");
}
return;
}
}
}
}
if (recorder.isActive()) {
recorder.append("!!! Derived: " + task + "\n");
}
float budget = task.getBudget().summary();
// float minSilent = reasoner.getMainWindow().silentW.value() / 100.0f;
float minSilent = reasoner.param.getSilenceLevel() / 100.0f;
if (budget > minSilent) { // only report significant derived Tasks
reasoner.output(OUT.class, task.getSentence());
}
newTasks.add(task);
} else {
if (recorder.isActive()) {
recorder.append("!!! Ignored: " + task + "\n");
}
}
}
示例4: derivedTask
import nars.entity.Task; //导入方法依赖的package包/类
/**
* Derived task comes from the inference rules.
*
* @param task the derived task
*/
private void derivedTask(Task task, boolean revised, boolean single) {
if (task.getBudget().aboveThreshold()) {
if (task.getSentence() != null && task.getSentence().getTruth() != null) {
float conf = task.getSentence().getTruth().getConfidence();
if (conf == 0) { //no confidence - we can delete the wrongs out that way.
if (recorder.isActive()) {
recorder.append("!!! Ignored (confidence): " + task + "\n");
}
return;
}
}
Stamp stamp = task.getSentence().getStamp();
List<Term> chain = stamp.getChain();
if (currentBelief != null) {
if(chain.contains(currentBelief.content)) {
chain.remove(currentBelief.content);
}
stamp.addToChain(currentBelief.content);
}
if (currentTask != null && !single) {
if(chain.contains(currentTask.getContent())) {
chain.remove(currentTask.getContent());
}
stamp.addToChain(currentTask.getContent());
}
if (!revised) { //its a inference rule, we have to do the derivation chain check to hamper cycles
for (final Term chain1 : chain) {
if (task.getContent() == chain1) {
if (recorder.isActive()) {
recorder.append("!!! Cyclic Reasoning detected: " + task + "\n");
}
return;
}
}
} else { //its revision, of course its cyclic, apply evidental base policy
for (int i = 0; i < stamp.length(); i++) {
for (int j = 0; j < stamp.length(); j++) {
if (i != j && stamp.getBase()[i] == stamp.getBase()[j]) {
if (recorder.isActive()) {
recorder.append("!!! Overlapping Evidence on Revision detected: " + task + "\n");
}
return;
}
}
}
}
if (recorder.isActive()) {
recorder.append("!!! Derived: " + task + "\n");
}
float budget = task.getBudget().summary();
// float minSilent = reasoner.getMainWindow().silentW.value() / 100.0f;
float minSilent = reasoner.param.getSilenceLevel() / 100.0f;
if (budget > minSilent) { // only report significant derived Tasks
reasoner.output(OUT.class, task.getSentence());
}
newTasks.add(task);
} else {
if (recorder.isActive()) {
recorder.append("!!! Ignored: " + task + "\n");
}
}
}