get_enemy_threat_level
Es soll ein Wert in [0, 1] bestimmt werden, welcher angibt, wie gefährlich ein angegebener gegnerischer Roboter ist, wobei 0 ungefährlich und 1 gefährlich ist.
Hierzu werden sowohl Abstand des Roboters zu unserem Tor, wie auch zum Ball betrachtet. Beide Größen werden der Spielfeldgröße, berechnet über die Diagonale des Spielfeldes, relativiert und anschließend über eine Sigmoid-Funktion normalisiert:
threat = 1 - sigmoid(distance / field_scale) * sigmoid(distance / field_scale)
wobei field_scale = hypot(field_size.x, field_size.y), welches die Feld-Diagonale berechnet. Die Sigmoid-Funktion kommt aus create_sigmoid_fn(midpoint, steepness).
