ich have a question about the tree observation. Specifically the default setting for some of the features if they did not occur. They are set to plus np.inf instead for some of the others to -np.inf.
Now if for example the own target is discovered, then ‘own_target_encountered’ will be set to tot_dist, which is equal to 1 here.
In the normalise_observation function, we clip the data, which leads to the features being 1 (depending on some other values in data) regardless if the own target was encountered or not.
For the stock observation builder the reasoning is the following:
Negative Values indicate no path possible
Values smaller than inf indicate something has been observed
Values equal to infinity means it was not observed here
Then with the normalization we set a certain range of values that we care about. If they are larger than e ceraint value we don’t differentiate between the anymore and thus all of them collaps to 1. The reasoning here is that the exact values for objects far away are irrelevant.
We highly suggest you use your own custom observation builder and normalization function. The stock functions are just meant as examples for you to build upon.