@Override protected void RichGotPoor(DreamTaskRecord taskRecord, int change) { // this is for new tasks : With 0 outcome they usually have precision 100 then they find out it // is 0 if (taskRecord.getTask().getResourceShare() <= algorithm.getMinResource()) { taskRecord.setAdditionStep(getInitAdditionStep(taskRecord)); } else { taskRecord.setAdditionStep(Math.max(taskRecord.getReductionStep(), change)); // conservative } }
@Override protected void PoorGaveMiddle(DreamTaskRecord taskRecord, int change) { taskRecord.setReductionStep(Math.max(taskRecord.getAdditionStep(), change)); taskRecord.setAdditionStep(Math.max(taskRecord.getAdditionStep(), change)); // taskRecord.setAdditionStep(change); }
@Override protected void PoorGotPoor(DreamTaskRecord taskRecord, int change) { // if (taskRecord.notUsingAll()) { // taskRecord.setAdditionStep(Math.max(taskRecord.getAdditionStep(), change)); // } else { taskRecord.setAdditionStep( taskRecord.getAdditionStep() + probAdd * change / taskRecord.getAdditionStep()); // } }
@Override protected void RichGaveMiddle(DreamTaskRecord taskRecord, int change) { taskRecord.setAdditionStep(change / 2); taskRecord.setReductionStep(change / 2); }
@Override protected void MiddleGotPoor(DreamTaskRecord taskRecord, int change) { taskRecord.setAdditionStep(Math.max(taskRecord.getReductionStep(), change)); }
@Override protected void MiddleGavePoor(DreamTaskRecord taskRecord, int change) { taskRecord.setAdditionStep(taskRecord.getAdditionStep() + change); }
@Override protected void RichGavePoor(DreamTaskRecord taskRecord, int change) { taskRecord.setAdditionStep(change / 2); }