Why do particles in particle swarm optimization converge to the global best when their personal best has just as much weight?
The random number biases distance along the vectors, so it changes per update helping in escaping local optimum, and the global best also changes during the algorithm, if you really want some of these answers try programming a visual particle system using PSO.