## example of An autonomous Traffic Algorithm

The algorithm for designing automated traffic was written by Joseph Hornbuckle of Autonomous Symmetry. Mind that this algorithm does not reveal the best ways to re-design infrastructure, ensure proportional arrival origins, determine merging patterns, describe drafting patterns, compare structures of traffic platoons, or reveal the best logic for a metro-wide prioritization algorithm. This algorithm describes only the elemental nature of connected traffic flows at the level of street segments. Anyone wishing to design for connected traffic will need to use an algorithm which incorporates these factors in some way.

1. Each equation produces a "resulting flow” which describes the number of vehicles moving (dependent variable) through a given segment of distance (independent variable) in a given lane of a street (independent variable) over a given segment of time (independent variable) or “time series.”

#This does not require complicated software--it can easily be set up in a spreadsheet program, like Microsoft Excel

2. Each time series is a given and consistent segment of time for its given “segment of flow.”

#For example: every time series can be 1 second

3. Each segment of flow is a segment of a lane which is as close to a standard given length as possible, unless it violates rule (4)

#For example, the standard segment length can be approximately 100 feet----this does not need to be perfect, however, outlier segment lengths may not translate well when designing a standard drafting pattern or a merging equation which typically work better when they are uniform along a given route

4. When an intersection is present, segments of flow must be divided by the intersection

#Adjust surrounding segments of flow as needed.

5. Assume traffic in the study area and the immediate surrounding streets is “connected-only.”

#As cars with connected features become ubiquitous in the next 20 years, this will gradually become a requirement for its benefits in safety and efficient traffic coordination

6. Assume this algorithm's priority is to generate the greatest number of block-by-block arrivals and departures possible with the given infrastructure and all other given restraints.

#Lowering or altering traffic flow should be accomplished in a prioritization algorithm which prioritizes by organizing specific routes and limits traffic flow by using (hopefully, variable pricing) and selective congestion

7. If desired, assume a distinction between different classifications of routes.

# For example: freeway-oriented traffic flows, which would naturally move along a one-way route that enters and eventually exits the central business district via the “central city freeway,” as opposed to local car traffic flows, which organize traffic into two-way routes in an area larger than the central business district which does not use freeways for commuting to the central business district (as determined by a prioritization algorithm, treated here as a given)

8. Assume the separate categories of traffic flow do not use such intersections to turn directly onto each other (there must be connective/tributary routes), unless unavoidable to complete an arrival or departure, in which case, additional error must be allowed (rule 18), unless both routes at the intersection are one-way routes

#Otherwise, pedestrians will not be able to predictably cross at these intersections and the need turning will lower the flow capacity of the intersection

9. If desired, assume a hierarchy of prioritized flows between local car traffic flows and freeway-oriented traffic flows.

#This would be determined by external forces, like a prioritization algorithm, where among other things one assumes some routes are prioritized over others when both have traffic and are crossing each other

#Autonomous Symmetry normally assumes freeway--oriented routes arriving from the freeway, limited by selective congestion and variable pricing early on, have top prioritization once they exit the freeway so they do not cause the traffic to back up onto the freeway

10. If desired, assume a "universal error" for the potential flow of all segments of flow or all segments of flow of a specific category.

#For example----a universal error of 0.5 (50%) for freeway-oriented routes specifically would mean we assume your prioritization algorithm is limiting traffic to freeway-oriented routes to generally flow at half of their capacity in order to handle moment-by-moment surges in vehicles entering the flow, and any and all things which may go wrong along the route (like a dog running loose or pedestrians jay-walking)

#This can also provide a standard to make it possible for local traffic flows and pedestrians to cross freeway-oriented routes roughly half of the time

11. If desired, assume a daily pattern of flows ebbing or flowing.

#You will generally want to design around what happens during periods of peak traffic flow for the given segment

12. Assume connected traffic organizes slow downs and stops in between intersections

#This avoids traffic flows slowing down when moving through an intersection, which decreases the potential flow of the sum of competing flows moving through the given intersection.

13. Assume given “entrance points” for traffic flow into the central business district, which are the first resulting flows which flow into the following segments of flow, and like all resulting flows, occur once per time series

#Entrance points should be determined by a prioritization algorithm, treated here as a given---for example, a given entrance point with a resulting flow of 0.2 vehicles per one second

14. Each lane in a segment of flow has its own resulting flow in which the number of vehicles traveling through the given lane in a given segment of flow in the given time series is based on 1) the “potential flow” of the given segment of flow, 2) the “arrival rate” of the previous given segment of flow, 3) the “turn rates” of the previous, interacting, and given segments of flow, 4) the "distance traveled per time series" of vehicles on each lane of the previous, interacting, and given segments of flow, and 5) the universal reaction time.

15. The resulting flow in a given segment of flow cannot exceed the potential flow of the segment.

#If the resulting flow is 0.4 cars per second and the potential flow is 0.364 cars per second, then the resulting flow is 0.364. If you are designing this in a spreadsheet, every cell should be programmed to automatically limit its result by the potential flow

16. The “potential flow” of a segment of flow finds the maximum possible flow of traffic which can move through a flow segment, and is determined by the following factors (rules 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30):

17. First, independent variables manipulate the otherwise "universal value of a perfectly efficient segment of flow." They include (18, 19, 20, 21, 22, 23, 24, 25):

18. If desired, assume a "lost efficiency per competing flow” for the typical percentage decline in an intersection’s efficiency for every additional competing flow which is added, including perpendicular flows which handle turning vehicles.

#This means every competing flow reduces from the sum of flows possible at the given intersection

#For example, 2 one-way streets intersecting is 2 competing flows. A one-way street and a two-way street intersecting is also 2 competing flows. However, if a one-way street a two-way street intersect and allow for turning onto each other, then there are 3 competing flows. If there are 2 two-way streets intersecting, then there are 2 competing flows; however, if there are 2 two-way streets intersecting which allow turning onto each other, there are 4 competing flows. Sometimes clever designs can mitigate this. Any assumption for the lost efficiency per competing flow will be imperfect but is better than assuming no lost efficiency per competing flow. By making this a universal value in your model, you should be able to adjust this variable and see how traffic patterns would change as technology potentially improves and intersections become more efficient

19. Assume a maximum potential rate of acceleration per time series in your model.

#The industry standard is 2 meters per second squared. Given this is a standard for human comfort, it is unlikely to change even as technology improves

20. Assume turning speeds are limited by the maximum potential rate of acceleration and the radius of each turn.

#For example, a typical city street turn with a 20 foot turning radius would result in a slower speed and therefore a lower potential flow than a city street turn re-designed to have a 40 foot turning radius

#Autonomous Symmetry's Atlanta model relies on redesigning some of Atlanta's intersections to allow for 48 foot turning radii along all freeway-oriented routes and their connecting routes, thus increasing traffic capacity for all its freeway-oriented routes by 25% if given a standard one--second reaction time and 34.5% if given a half--second reaction time. This allowed Autonomous Symmetry's Atlanta Model to make full use of Atlanta's central city freeway capacity while altering many otherwise car-dominated routes to being pedestrian--only

21. For each given lane in a given segment of flow which is designed to allow for cars to turn, assume its distance traveled per time series is equal to the distance traveled per time series by a vehicle which is turning.

#If even one car in the flow lane needs to turn, then the other cars in the same lane need to slow down, even if they are not turning

#Making this standard also guarantees sidewalk-adjacent lanes nearly always go at slower speeds to the benefit of pedestrian safety and a calmer sidewalk environment

22. If desired, assume a “maximum sidewalk-adjacent speed” for sidewalk adjacent lanes

#For instance, where cars are not turning in the sidewalk-adjacent lane, a maximum sidewalk-adjacent speed may be desired

#Autonomous Symmetry's maximum speed for sidewalk adjacent lanes is 9 meters per second, approximately 30 feet per second, or approximately the 20 miles per hour standard proposed by the National Association of City Transportation Officials in their 2017 blueprint for autonomous urbanism.

23. If desired, assume a “universal maximum speed" for city streets in your model.

#This may not needed, given that lanes would rarely exceed 35 miles per hour if they need to be slow enough to merge to the side lanes where cars must be going slow enough to turn

#Autonomous Symmetry's universal maximum speed for city streets is 50 feet per second, or 35 miles per hour, with exceptions for freeway-related infrastructure (including the freeway itself, which Autonomous Symmetry proposes alterations in alignment to go 75 miles per hour throughout Atlanta's downtown and 90 miles per hour south of I-20)

24. If desired, and if not restricted to a lower speed by (21, 22, 23), the “distance traveled per time series for a given segment of lane of flow” is the maximum speed allowed by the speed of the previous segment, the speed of surrounding lanes, and the rate of maximum acceleration allowed in the given segment of flow, such that acceleration or deceleration between adjacent lanes within a given segment and between adjacent segments can occur with less than the potential rate of acceleration and within the length of the given segment.

#For example, if a given adjacent lane can only go 3 meters per second in order to allowing turning on and off the flow, the given lane can only produce a speed which can be achieved within a given flow segment's distance while not accelerating more than 2 meters per second squared

#This is unnecessary for determining a route's segment-by-segment flow, due to rule (28) and therefore may not be helpful in your model unless you want to discern how much time a route will take to complete

25. Assume a “universal reaction time” which determines the distance between vehicles in each given lane. #The industry standard is one second

26. Assume a standard maximum car length and width

#Autonomous Symmetry assumes a standard maximum car length of 20 feet, a standard maximum car width of 6 feet, and a standard maximum lane width of 9 feet in its Atlanta model--these are generous parameters which would not require the dimensions of person vehicles to change

#Vehicles bigger than the eventual standard, like many trucks and most buses, would need to be replaced over time by slimmer, shorter trucks and buses specifically designed for intra-city logistics and passenger transit

#Currently, there is no industry-wide standard for what these dimensions should be

27. The resulting flow for a given segment of flow is calculated by using the resulting flow of the previous segment of the same flow, reduced by the flow which turned onto other segments of flow, and increased by the flow which turned on from other segments of flow.

28. The resulting flow of a given lane in a given segment of flow must be equal to its adjacent lanes in the given segment of flow, even if they are moving at different speeds.

#For any drafting pattern to work, the faster lane cannot carry more vehicles than its adjacent lane which must go slower in order to accommodate turning speed---this means the smallest turning radius on a given route will effectively determine the traffic capacity of the whole route

29. The “rate of arrival” for a given flow cannot exceed the rate at which vehicles could turn from the given flow to arrive at their destinations, if not (33, 34).

30. If desired, assume a “universal maximum rate of arrival per segment” which limits unwanted concentrations in arrivals and departures, parking garage levels, building height, etc.

#Autonomous Symmetry's models depend on a prioritization algorithm to prevent this and thus is not needed in the basic flow model.

31. If desired, assume additional constraints based on the nature of the space

#Model everything until your heart is content