Traffic light systems tend generally to run on a timed basis,
which is worked out by assessing the average length of vehicle, the rate of acceleration from a standing start, and the time it takes to move to the next set of lights. Adjustments are also made for rush hour times and other events which may impact the volume of traffic based on these factors.
But this is only a rough assessment.
I propose counting the actual vehicles through a traffic system by either addapting speed cameras which can detect the presence of cars, or a weigh bridge system that detects when a vehicle has run over them, in order to adjust the timing of traffic lights for real world conditions.
We've all been at junctions when there appears to be no traffic coming from one direction, but a great volume of traffic in your lane waiting for that traffic light to run it's time and then permit your lane through, even though in so waiting, traffic builds up behind you, and passing this increaseon to the next set of lights and adding more there, when such a system as I propose would in such circumstances forego that empty lane's green light and allow you to go through earlier, and hence in smaller numbers.
At busy times such as rush hour, when all lanes at a junction are filling up, a simple comparison of numbers in each lane can determine which lanes to permit through first, altering the pre-established sequence if necessary in order to maintain a smooth flow.
Begin counting further back, on the approach to the lights, and a pre-emptive release of on lane may be prefeable.... for instance, if one lane has 20 cars in it, and another lane has 10, you would naturally assume that letting the 20 car lane go through first would be best, but if the 20 car lane has 2 cars approaching, but the 10 car lane has 17 cars approaching, then this lane, although fewer in numbers at the lights, would be better to let go in order to prevent build up.
This could be applied also to pedestrian traffic using the weigh bridge system on foot paths, and integrated into the traffic numbers comparison to produce a calculated release of traffic of all kinds at junctions.
Better than rough timed sequences i think.