private Boolean chooseNextMove(List<Integer> distToInt, List<Integer> lightState) {
        Random random = new Random();
        double probability = random.nextDouble();
        Boolean nextMove = false;

        if (probability > epsilon) {
            for (int i = 0; i < distToInt.size(); i++) {
                // If there is a car queued at the intersection then switch the lights
                if (distToInt.get(i) == 1 && lightState.get(i) == Intersection.red
                        && beenDelayedFor >= delayTime) {
                    nextMove = true;
                }
            }
        } else {
            if (random.nextDouble() < 0.5 && beenDelayedFor >= delayTime) {
                nextMove = true;
            }
        }

        return nextMove;
    }