Refactoring Farsighted NP rollout sequence + SelectionCriteria

removing sub function and introduced the variable of
"Selection.Criteria" that can be more modular and quick allow future
manipulation of this weighting schemas.