So, I think that I will need to augment how we make features, behaviors and targets in order to get the automatic feature selection (and now automatic target selection as well. I forgot about how features can take targets!).
We need to annotate them. Otherwise, I think that we won’t be able to get a good clustering. Also, annotation will help to pick the features and the corresponding targets. I think that maybe that induction from the targets for the behaviors to the features might be something to think about. The annotations are essentially providing the semantics that we as humans take for granted. Otherwise the clustering would probably not work.
I also think that targets will need to be chosen based on the overall semantics of the learned behavior. So, like the behavior for determining whether to play on offense or defense was based on a feature distanceTo(me, centerField) I would have to say that this behavior is semantically a location based behavior. This would then limit the set of behaviors and targets the feature and target selector would have to choose from. I think that this is enough. In the future this could be even more generalized.
If this method doesn’t work to pick the targets for the features, then the targets could be chosen in post by the trainer and then the decision tree could be built based off of that.