An adaptive fuzzy rule-based system that may be used in place of the neural network of FIG. 4 in some examples. FIG. 8A illustrates a fuzzy membership function 800 used for each input or feature. The input or feature may include features such as traffic level, temperature, speed, or other contextual data described herein. The fuzzy membership function 800 is shown with a membership value 802 on the vertical (y) axis and a range of values for a particular feature 804 on the horizontal (x) axis. The membership value 802 is between a range of zero to one, with one indicating membership and zero indicating no membership. The fuzzy membership function 800 includes a set of membership functions 806, 808, 810. The set of membership functions 806, 808, 810 collectively cover the range of values for a particular feature 804. Though the fuzzy membership function 800 is shown with three membership functions, there may be greater than or fewer than three in some examples. For each input or feature with data fed into the fuzzy rule-based system, the fuzzy membership function 800 applies a membership value based on which of the membership functions 806, 808, 810 contains the data. The membership value is then output to a an adaptive rule-based system.