What are the factors in the algorithm uber uses to assign rides to drivers? Does Uber use an algorithm to make sure drivers get a fair amount of trip requests, or does the system simply dispatch the closest driver?