I. Introduction
As the number of vehicles in the world have steadily increased in past decades, the likelihood and severity of vehicle congestion have also increased significantly. In recent years, drivers spent nearly 99 hours a year stuck in congestion, costing $305 billion [1]. Moreover, increased congestion has led to a multitude of additional problems, such as increased greenhouse gas (GHG) emissions from vehicles, and increased deaths from pollution. On average, between 17,000 to 20,000 deaths annually in the United States are attributable to vehicle pollution [2]. Vehicle congestion is typically worst in cities and time spent waiting at intersections account for between 20% to 50% of congestion. In the status quo, traffic control systems operate on pre-determined patterns from past data. While this method functions effectively for traffic under regular conditions, it becomes heavily congested and inefficient during instances of high traffic as the system is unable to adapt to real-time changes.