get Valid Neighbors
Searches in the given neighborhood which nodes satisfy the condition, and returns a list of valid neighbors. NOTE, it is NOT guaranteed that this method checks if the passed neighborhood is the actual neighborhood of the node. Make sure the passed neighborhood is up to date for avoid problems.
Return
a map of neighbors which satisfy the condition and their propensity