Learning control lyapunov functions from counterexamples and demonstrations

  • Hadi Ravanbakhsh
  • Sriram Sankaranarayanan
Part of the following topical collections:
  1. Special Issue on Robotics: Science and Systems


We present a technique for learning control Lyapunov-like functions, which are used in turn to synthesize controllers for nonlinear dynamical systems that can stabilize the system, or satisfy specifications such as remaining inside a safe set, or eventually reaching a target set while remaining inside a safe set. The learning framework uses a demonstrator that implements a black-box, untrusted strategy presumed to solve the problem of interest, a learner that poses finitely many queries to the demonstrator to infer a candidate function, and a verifier that checks whether the current candidate is a valid control Lyapunov-like function. The overall learning framework is iterative, eliminating a set of candidates on each iteration using the counterexamples discovered by the verifier and the demonstrations over these counterexamples. We prove its convergence using ellipsoidal approximation techniques from convex optimization. We also implement this scheme using nonlinear MPC controllers to serve as demonstrators for a set of state and trajectory stabilization problems for nonlinear dynamical systems. We show how the verifier can be constructed efficiently using convex relaxations of the verification problem for polynomial systems to semi-definite programming problem instances. Our approach is able to synthesize relatively simple polynomial control Lyapunov-like functions, and in that process replace the MPC using a guaranteed and computationally less expensive controller.


Lyapunov functions Controller synthesis Learning from demonstrations Concept learning 



We are grateful to Mr. Sina Aghli, Mr. Souradeep Dutta, Prof. Christoffer Heckman and Prof. Eduardo Sontag for helpful discussions. This work was funded in part by NSF under Award Numbers SHF 1527075 and CPS 1646556. All opinions expressed are those of the authors and not necessarily of the NSF.


  1. Abbas, H., Fainekos, G., Sankaranarayanan, S., Ivancic, F., & Gupta, A. (2013). Probabilistic temporal logic falsification of cyber-physical systems. Transactions on Embedded Computing Systems (TECS), 12, 95.Google Scholar
  2. Ahmadi, A. A., & Majumdar, A. (2014). DSOS and SDSOS optimization: LP and SOCP-based alternatives to sum of squares optimization. In 2014 48th annual conference on information sciences and systems (CISS) (pp. 1–5). IEEE.Google Scholar
  3. Ames, A. D., & Powell, M. (2013). Towards the unification of locomotion and manipulation through control Lyapunov functions and quadratic programs. In D. C. Tarraf (Ed.), Control of cyber-physical systems: workshop held at Johns Hopkins University (pp. 219–240). Heidelberg: Springer.Google Scholar
  4. Annpureddy, Y., Liu, C., Fainekos, G. E., & Sankaranarayanan, S. (2011). S-TaLiRo: A tool for temporal logic falsification for hybrid systems. In P. A. Abdulla, & K. R. M. Leino (Eds.), Tools and algorithms for the construction and analysis of systems, LNCS (Vol. 6605, pp. 254–257). Berlin, Heidelberg: Springer.Google Scholar
  5. Argall, B. D., Chernova, S., Veloso, M., & Browning, B. (2009). A survey of robot learning from demonstration. Robotics and Autonomous Systems, 57(5), 469–483. Scholar
  6. Artstein, Z. (1983). Stabilization with relaxed controls. Nonlinear Analysis: Theory, Methods & Applications, 7(11), 1163–1173. Scholar
  7. Atkeson, C. G., & Liu, C. (2013). Trajectory-based dynamic programming. In K. Mombaur, & K. Berns (Eds.), Modeling, simulation and optimization of bipedal walking (pp. 1–15). Berlin, Heidelberg: Springer.Google Scholar
  8. Atkinson, D. S., & Vaidya, P. M. (1995). A cutting plane algorithm for convex programming that uses analytic centers. Mathematical Programming, 69(1—-3), 1–43. Scholar
  9. Basu, S., Pollack, R., & Roy, M. F. (2003). Algorithms in real algebraic geometry. Berlin: Springer.zbMATHGoogle Scholar
  10. Ben Sassi, M. A., Sankaranarayanan, S., Chen, X., & Brahm, E. (2016). Linear relaxations of polynomial positivity for polynomial lyapunov function synthesis. IMA Journal of Mathematical Control and Information, 33(3), 723–756. Scholar
  11. Berkenkamp, F., Turchetta, M., Schoellig, A., & Krause, A. (2017). Safe model-based reinforcement learning with stability guarantees. In I. Guyon, U. V. Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, & R. Garnett (Eds.), Advances in neural information processing systems (Vol. 30, pp. 908–918). Red Hook: Curran Associates Inc.Google Scholar
  12. Bertsekas, D. P. (2008). Approximate dynamic programming.Google Scholar
  13. Bertsekas, D. P. (1995). Dynamic programming and optimal control (Vol. 1). Belmont, MA: Athena Scientific.zbMATHGoogle Scholar
  14. Bland, R. G., Goldfarb, D., & Todd, M. J. (1981). The ellipsoid method: A survey. Operations Research, 29(6), 1039–1091. Scholar
  15. Bouyer, P., Markey, N., Perrin, N., & Schlehuber-Caissier, P. (2017). Timed-automata abstraction of switched dynamical systems using control invariants. Real-Time Systems, 53(3), 327–353. Scholar
  16. Breazeal, C., Berlin, M., Brooks, A., Gray, J., & Thomaz, A. L. (2006). Using perspective taking to learn from ambiguous demonstrations. Robotics and Autonomous Systems, 54(5), 385–393. Scholar
  17. Brown, C. W., & Davenport, J. H. (2007). The complexity of quantifier elimination and cylindrical algebraic decomposition. In Proceedings of the 2007 international symposium on symbolic and algebraic computation, ISSAC ’07 (pp. 54–60). New York, NY: ACM.
  18. Bryson, A. E. (1975). Applied optimal control: Optimization, estimation and control. Boca Raton: CRC Press.Google Scholar
  19. Burridge, R. R., Rizzi, A. A., & Koditschek, D. E. (1999). Sequential composition of dynamically dexterous robot behaviors. The International Journal of Robotics Research, 18(6), 534–555.CrossRefGoogle Scholar
  20. Chan, R. P. M., Stol, K. A., & Halkyard, C. R. (2013). Review of modelling and control of two-wheeled robots. Annual Reviews in Control, 37(1), 89–103. Scholar
  21. Chernova, S., & Veloso, M. (2008). Learning equivalent action choices from demonstration. In IEEE/RSJ international conference on intelligent robots and systems, 2008. IROS 2008 (pp. 1216–1221). IEEE.Google Scholar
  22. Curtis, J. W. (2003). CLF-based nonlinear control with polytopic input constraints. In 42nd IEEE international conference on decision and control (IEEE Cat. No. 03CH37475) (Vol. 3, pp. 2228–2233).
  23. Donzé, A., & Maler, O. (2010). Robust satisfaction of temporal logic over real-valued signals. In K. Chatterjee, & T. A. Henzinger (Eds.), Formal Modeling and Analysis of Timed Systems (Vol. 6246, pp. 92–106). Berlin, Heidelberg: Springer.Google Scholar
  24. Donzé, A., Krogh, B., & Rajhans, A. (2009). Parameter synthesis for hybrid systems with an application to simulink models. In International workshop on hybrid systems: Computation and control (pp. 165–179). Springer.Google Scholar
  25. El Ghaoui, L., & Balakrishnan, V. (1994). Synthesis of fixed-structure controllers via numerical optimization. In Proceedings of the 33rd IEEE conference on decision and control, 1994 (Vol. 3, pp. 2678–2683). IEEE.Google Scholar
  26. Elzinga, J., & Moore, T. G. (1975). A central cutting plane algorithm for the convex programming problem. Mathematical Programming, 8(1), 134–145. Scholar
  27. Francis, B. A., & Maggiore, M. (2016). Models of mobile robots in the plane. In Flocking and rendezvous in distributed robotics (pp. 7–23). Springer.
  28. Freeman, R., & Kokotovic, P. V. (2008). Robust nonlinear control design: State-space and Lyapunov techniques. Berlin: Springer.zbMATHGoogle Scholar
  29. French, M., & Rogers, E. (2000). Non-linear iterative learning by an adaptive Lyapunov technique. International Journal of Control, 73(10), 840–850.MathSciNetCrossRefzbMATHGoogle Scholar
  30. Galloway, K., Sreenath, K., Ames, A. D., & Grizzle, J. W. (2015). Torque saturation in bipedal robotic walking through control Lyapunov function-based quadratic programs. IEEE Access, 3, 323–332.CrossRefGoogle Scholar
  31. Gao, S., Kong, S., & Clarke, E.M.: dReal: An SMT solver for nonlinear theories over the reals. In International conference on automated deduction (pp. 208–214). Springer.
  32. Goldman, S., & Kearns, M. (1995). On the complexity of teaching. Journal of Computer and System Sciences, 50(1), 20–31. Scholar
  33. Helton, J. W., & Merino, O. (1997). Coordinate optimization for bi-convex matrix inequalities. In Proceedings of IEEE CDC (Vol. 4, pp. 3609–3613).Google Scholar
  34. Henrion, D., Lofberg, J., & Kocvara, M., Stingl, M. (2005). Solving polynomial static output feedback problems with PENBMI. In Proceedings of the 44th IEEE conference on decision and control (pp. 7581–7586). IEEE.Google Scholar
  35. Henrion, D., Lasserre, J. B., & Löfberg, J. (2009). GloptiPoly 3: Moments, optimization and semidefinite programming. Optimization Methods & Software, 24(4–5), 761–779.MathSciNetCrossRefzbMATHGoogle Scholar
  36. Huang, Z., Wang, Y., Mitra, S., Dullerud, G. E., & Chaudhuri, S. (2015). Controller synthesis with inductive proofs for piecewise linear systems: An SMT-based algorithm. In 2015 54th IEEE conference on decision and control (CDC) (pp. 7434–7439). IEEE.Google Scholar
  37. Jadbabaie, A., & Hauser, J. (2002). Control of a thrust-vectored flying wing: A receding horizon-LPV approach. International Journal of Robust and Nonlinear Control, 12(9), 869–896.MathSciNetCrossRefzbMATHGoogle Scholar
  38. Jankovic, M., Fontaine, D., & KokotoviC, P. V. (1996). TORA example: Cascade-and passivity-based control designs. IEEE Transactions on Control Systems Technology, 4(3), 292–297.CrossRefGoogle Scholar
  39. Jha, S., Gulwani, S., Seshia, S. A., & Tiwari, A. (2010). Oracle-guided component-based program synthesis. In Proceedings of the 32nd ACM/IEEE international conference on software engineering—Volume 1, ICSE ’10 (pp. 215–224). New York, NY: ACM.
  40. Jha, S., & Seshia, S. A. (2017). A theory of formal synthesis via inductive learning. Acta Informatica, 54(7), 693–726. Scholar
  41. Kapinski, J., Deshmukh, J. V., Sankaranarayanan, S., & Arechiga, N. (2014). Simulation-guided Lyapunov analysis for hybrid dynamical systems. In Proceedings of the 17th international conference on hybrid systems: Computation and control (pp. 133–142). ACM.Google Scholar
  42. Khachiyan, L. (1990). An inequality for the volume of inscribed ellipsoids. Discrete & Computational Geometry, 5(1), 219–222. Scholar
  43. Khansari-Zadeh, S. Mohammad, & Billard, Aude. (2014). Learning control lyapunov function to ensure stability of dynamical system-based robot reaching motions. Robotics and Autonomous Systems, 62(6), 752–765. Scholar
  44. Khansari-Zadeh, M. S., & Khatib, O. (2017). Learning potential functions from human demonstrations with encapsulated dynamic and compliant behaviors. Autonomous Robots, 41(1), 45–69. Scholar
  45. Kloetzer, M., & Belta, C. (2008). A fully automated framework for control of linear systems from temporal logic specifications. IEEE Transactions on Automatic Control, 53(1), 287–297.MathSciNetCrossRefzbMATHGoogle Scholar
  46. Kocsis, L., & Szepesvári, C. (2006). Bandit based Monte-Carlo planning. In Proceedings of 17th European conference on machine learning, ECML 2006, Berlin, Germany, September 18–22, 2006 (pp. 282–293).
  47. Landry, M., Campbell, S. A., Morris, K., & Aguilar, C. O. (2005). Dynamics of an inverted pendulum with delayed feedback control. SIAM Journal on Applied Dynamical Systems, 4(2), 333–351. Scholar
  48. Lasserre, J. B. (2001). Global optimization with polynomials and the problem of moments. SIAM Journal on Optimization, 11(3), 796–817.MathSciNetCrossRefzbMATHGoogle Scholar
  49. Lasserre, J. B. (2009). Moments, positive polynomials and their applications. Singapore: World Scientific.CrossRefGoogle Scholar
  50. Lasserre, J. B., Henrion, D., Prieur, C., & Trélat, E. (2008). Nonlinear optimal control via occupation measures and LMI-relaxations. SIAM Journal on Control and Optimization, 47(4), 1643–1666.MathSciNetCrossRefzbMATHGoogle Scholar
  51. Lavalle, S. M., & Kuffner, Jr., J. J. (2000). Rapidly-exploring random trees: Progress and prospects. In Proceedings workshop on the algorithmic foundations of robotics. Citeseer.Google Scholar
  52. Leth, T., Wisniewski, R., & Sloth, C.: On the existence of polynomial Lyapunov functions for rationally stable vector fields. In 2017 IEEE 56th annual conference on decision and control (CDC) (pp. 4884–4889).
  53. Liberzon, D. (2012). Switching in systems and control. Berlin: Springer.zbMATHGoogle Scholar
  54. Lin, Y., & Sontag, E. D. (1991). A universal formula for stabilization with bounded controls. Systems & Control Letters, 16(6), 393–397. Scholar
  55. Liu, J., Ozay, N., Topcu, U., & Murray, R. M. (2013). Synthesis of reactive switching protocols from temporal logic specifications. IEEE Transactions on Automatic Control, 58(7), 1771–1785.MathSciNetCrossRefzbMATHGoogle Scholar
  56. Lopez, I., & McInnes, C. R. (1995). Autonomous rendezvous using artificial potential function guidance. Journal of Guidance, Control, and Dynamics, 18(2), 237–241.CrossRefGoogle Scholar
  57. Majumdar, A., & Tedrake, R. (2013). Robust online motion planning with regions of finite time invariance. In Algorithmic foundations of robotics X (pp. 543–558). Springer.
  58. Majumdar, A., Ahmadi, A. A., & Tedrake, R. (2013). Control design along trajectories with sums of squares programming. In 2013 IEEE international conference on robotics and automation (ICRA) (pp. 4054–4061). IEEE.Google Scholar
  59. Majumdar, A., Vasudevan, R., Tobenkin, M. M., & Tedrake, R. (2014). Convex optimization of nonlinear feedback controllers via occupation measures. The International Journal of Robotics Research, 33, 1209–1230.CrossRefGoogle Scholar
  60. Mason, M. (1985). The mechanics of manipulation. In Proceedings of 1985 IEEE international conference on robotics and automation (Vol. 2, pp. 544–548). IEEE.Google Scholar
  61. Mordatch, I., & Todorov, E. (2014). Combining the benefits of function approximation and trajectory optimization. In Proceedings of robotics: Science and systems, Berkeley, USA.
  62. MOSEK Aps. (2017). The MOSEK optimization toolbox for MATLAB manual. Version 7. (Vol. 54, pp. 2–1). Accessed 11 July 2018.
  63. Mouelhi, S., Girard, A., & Gössler, G. (2013). CoSyMa: A tool for controller synthesis using multi-scale abstractions. In Proceedings of the 16th international conference on hybrid systems: Computation and control (pp. 83–88). ACM.Google Scholar
  64. Nguyen, Q., & Sreenath, K. (2015). Optimal robust control for bipedal robots through control Lyapunov function based quadratic programs. In Proceedings of robotics: science and systems. Rome, Italy.
  65. Nocedal, J., & Wright, S. J. (2006). Numerical optimization. Berlin: Springer.zbMATHGoogle Scholar
  66. Papachristodoulou, A., & Prajna, S. (2002). On the construction of Lyapunov functions using the sum of squares decomposition. In IEEE CDC (pp. 3482–3487). IEEE Press.Google Scholar
  67. Parillo, P. A. (2003). Semidefinite programming relaxation for semialgebraic problems. Mathematical Programming Series B, 96(2), 293–320.MathSciNetCrossRefGoogle Scholar
  68. Peet, M. M., & Bliman, P. A. (2008). Polynomial Lyapunov functions for exponential stability of nonlinear systems on bounded regions. IFAC proceedings volumes. 17th IFAC World Congress (Vol. 41, No. 2, pp. 1111–1116).
  69. Peet, M. M. (2009). Exponentially stable nonlinear systems have polynomial Lyapunov functions on bounded regions. IEEE Transactions on Automatic Control, 54(5), 979–987.MathSciNetCrossRefzbMATHGoogle Scholar
  70. Prajna, S., & Jadbabaie, A. (2004). Safety verification of hybrid systems using barrier certificates. In HSCC (Vol. 2993, pp. 477–492). Springer.Google Scholar
  71. Prajna, S., Papachristodoulou, A., Parrilo, P. A. (2002). Introducing SOSTOOLS: A general purpose sum of squares programming solver. In Proceedings of the 41st IEEE conference on decision and control, 2002 (Vol. 1, pp. 741–746). IEEE.Google Scholar
  72. Prajna, S., Parrilo, P. A., & Rantzer, A. (2004). Nonlinear control synthesis by convex optimization. IEEE Transactions on Automatic Control, 49(2), 310–314.MathSciNetCrossRefzbMATHGoogle Scholar
  73. Prieur, C., & Praly, L. (1999). Uniting local and global controllers. In Proceedings of the 38th IEEE conference on decision and control, 1999 (Vol. 2, pp. 1214–1219). IEEE.Google Scholar
  74. Primbs, J. A., Nevistić, V., & Doyle, J. C. (1999). Nonlinear optimal control: A control Lyapunov function and receding horizon perspective. Asian Journal of Control, 1(1), 14–24.CrossRefGoogle Scholar
  75. Raman, V., Donzé, A., Sadigh, D., Murray, R. M., & Seshia, S. A. (2015). Reactive synthesis from signal temporal logic specifications. In Proceedings of the 18th international conference on hybrid systems: Computation and control (pp. 239–248). ACM.Google Scholar
  76. Rantzer, A. (2001). A dual to Lyapunov’s stability theorem. Systems & Control Letters, 42(3), 161–168.MathSciNetCrossRefzbMATHGoogle Scholar
  77. Ravanbakhsh, H., & Sankaranarayanan, S. (2015a). Counter-example guided synthesis of control Lyapunov functions for switched systems. In 2015 54th IEEE conference on decision and control (CDC) (pp. 4232–4239).
  78. Ravanbakhsh, H., & Sankaranarayanan, S. (2015b). Counterexample guided synthesis of switched controllers for reach-while-stay properties. arXiv preprint arXiv:1505.01180.
  79. Ravanbakhsh, H., & Sankaranarayanan, S. (2017). Learning Lyapunov (potential) functions from counterexamples and demonstrations. In Proceedings of robotics: Science and systems. Cambridge, MA.
  80. Ravanbakhsh, H., Aghli, S., Heckman, C., & Sankaranarayanan, S. (2018). Path-following through control funnel functions. CoRR arXiv:1804.05288.
  81. Ravanbakhsh, H., Sankaranarayanan, S. (2016). Robust controller synthesis of switched systems using counterexample guided framework. In 2016 international conference on embedded software (EMSOFT) (pp. 1–10).
  82. Ross, S., Gordon, G. J., & Bagnell, D. (2011). A reduction of imitation learning and structured prediction to no-regret online learning. In AISTATS (Vol. 1, p. 6).Google Scholar
  83. Rungger, M., & Zamani, M. (2016). SCOTS: A tool for the synthesis of symbolic controllers. In Proceedings of the 19th international conference on hybrid systems: Computation and control (pp. 99–104). ACM.Google Scholar
  84. Shor, N. (1987). Originally in Russian. Kibernetika, 23(6), 731–734. Originally in Russian. Kibernetika, 6(1987), 9–11.Google Scholar
  85. Solar-Lezama, A. (2008). Program synthesis by sketching. Phd Thesis. University of California, Berkeley.Google Scholar
  86. Solar-Lezama, A., Tancau, L., Bodik, R., Seshia, S., & Saraswat, V. (2006). Combinatorial sketching for finite programs. ACM SIGOPS Operating Systems Review, 40(5), 404–415.CrossRefGoogle Scholar
  87. Sontag, E. D. (1982). A characterization of asymptotic controllability. In Dynamical systems II (Proceedings of University of Florida international symposium) (pp. 645–648). New York, NY: Academic Press.Google Scholar
  88. Sontag, E. D. (1983). A Lyapunov-like characterization of asymptotic controllability. SIAM Journal on Control and Optimization, 21(3), 462–471.MathSciNetCrossRefzbMATHGoogle Scholar
  89. Sontag, E. D. (1989). A ‘universal’ construction of Artstein’s theorem on nonlinear stabilization. Systems & Control Letters, 13(2), 117–123. Scholar
  90. Stolle, M., & Atkeson, C. G. (2006). Policies based on trajectory libraries. In Proceedings 2006 IEEE international conference on robotics and automation, 2006. ICRA 2006 (pp. 3344–3349). IEEE.Google Scholar
  91. Suarez, R., Solis-Daun, J., & Aguirre, B. (2001). Global CLF stabilization for systems with compact convex control value sets. In Proceedings of the 40th IEEE conference on decision and control (Cat. No. 01CH37228) (Vol. 4, pp. 3838–3843).
  92. Taly, A., & Tiwari, A. (2010). Switching logic synthesis for reachability. In Proceedings of the tenth ACM international conference on embedded software (pp. 19–28). ACM.Google Scholar
  93. Taly, A., Gulwani, S., & Tiwari, A. (2011). Synthesizing switching logic using constraint solving. International Journal on Software Tools for Technology Transfer, 13(6), 519–535.CrossRefzbMATHGoogle Scholar
  94. Tan, W., & Packard, A. (2004). Searching for control Lyapunov functions using sums of squares programming. In Allerton conference on communication, control and computing (pp. 210–219).Google Scholar
  95. Tarasov, S., Khachian, L., & Erlikh, I. (1988). The method of inscribed ellipsoids. Doklady Akademii Nauk SSSR, 298(5), 1081–1085.MathSciNetGoogle Scholar
  96. Tedrake, R., Manchester, I. R., Tobenkin, M., & Roberts, J. W. (2010). LQR-trees: Feedback motion planning via sums-of-squares verification. The International Journal of Robotics Research, 18, 534–555.Google Scholar
  97. Topcu, U., Packard, A., Seiler, P., & Wheeler, T. (2007). Stability region analysis using simulations and sum-of-squares programming. In Proceedings of the American control conference (pp. 6009–6014).Google Scholar
  98. Vaidya, P. M. (1996). A new algorithm for minimizing convex functions over convex sets. Mathematical Programming, 73(3), 291–341. Scholar
  99. Vandenberghe, L., Boyd, S., & Wu, S. P. (1998). Determinant maximization with linear matrix inequality constraints. SIAM Journal on Matrix Analysis and Applications, 19(2), 499–533. Scholar
  100. Vanderbei, R.J. (2001). Linear programming: Foundations & extensions (2nd ed.). Berlin: Springer.
  101. Wang, L., Theodorou, E. A., & Egerstedt, M. (2017). Safe learning of quadrotor dynamics using barrier certificates. CoRR arXiv:1710.05472.
  102. Wieland, P., & Allgower, F. (2007). Constructive safety using control barrier functions. IFAC proceedings volumes. 7th IFAC symposium on nonlinear control systems (Vol. 40, No. 12, pp. 462–467).
  103. Wongpiromsarn, T., Topcu, U., Ozay, N., Xu, H., & Murray, R. M. (2011). Tulip: a software toolbox for receding horizon temporal logic planning. In Proceedings of the 14th international conference on hybrid systems: computation and control (pp. 313–314). ACM.Google Scholar
  104. Yordanov, B., & Belta, C. (2008). Parameter synthesis for piecewise affine systems from temporal logic specifications. In International workshop on hybrid systems: Computation and control (pp. 542–555). Springer.Google Scholar
  105. Zhang, T., Kahn, G., Levine, S., & Abbeel, P. (2016). Learning deep control policies for autonomous aerial vehicles with MPC-guided policy search. In 2016 IEEE international conference on robotics and automation (ICRA) (pp. 528–535). IEEE.Google Scholar
  106. Zhong, M., Johnson, M., Tassa, Y., Erez, T., & Todorov, E. (2013). Value function approximation and model predictive control. In 2013 IEEE symposium on adaptive dynamic programming and reinforcement learning (ADPRL) (pp. 100–107). IEEE.Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.University of ColoradoBoulderUSA

Personalised recommendations