Well I think goingToCrashIntoEachOther needs to return another drone object. Then don't can take that object. Based on self.serialNo and other.serialNo a mutually beneficial avoiding manoeuvre could be executed.
If you're about to crash into more than one other drone.. Good luck the function specifies "EachOther" meaning just one other drone!
I think the vast majority of people has no idea how coding works, doesnt know what an algorithm does and is oblivious to the fact that AI isnt everything its hyped to be.
I had a manager 10 years ago tell me we should start using these "API" things he had just read about. A conspicuously non-technical manager, obviously.
I work in IT. My boss is by all accounts very competent in both programming and administration, yet all his documentation basically says "remember to set DoTheRightThing=True"
Edit: I just looked up the documentation for an internal service and under "Error recovery" it just says "The output of command xy should make sense". fml