A Functional Perspective on Machine Learning via Programmable Induction and Abduction

  • Steven Cheung
  • Victor Darvariu
  • Dan R. GhicaEmail author
  • Koko Muroya
  • Reuben N. S. Rowe
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10818)


We present a programming language for machine learning based on the concepts of ‘induction’ and ‘abduction’ as encountered in Peirce’s logic of science. We consider the desirable features such a language must have, and we identify the ‘abductive decoupling’ of parameters as a key general enabler of these features. Both an idealised abductive calculus and its implementation as a PPX extension of OCaml are presented, along with several simple examples.


  1. 1.
    Chu, C.T., Kim, S.K., Lin, Y.A., Yu, Y., Bradski, G., Olukotun, K., Ng, A.Y.: Map-reduce for machine learning on multicore. In: Advances in Neural Information Processing Systems, pp. 281–288 (2007)Google Scholar
  2. 2.
    King, D.E.: Dlib-ml: a machine learning toolkit. J. Mach. Learn. Res. 10, 1755–1758 (2009)Google Scholar
  3. 3.
    Huet, G.: Deduction and computation. In: Bibel, W., Jorrand, P. (eds.) Fundamentals of Artificial Intelligence: An Advanced Course. LNCS, vol. 232, pp. 38–74. Springer, Heidelberg (1986). Scholar
  4. 4.
    Muroya, K., Cheung, S., Ghica, D.R.: Abductive functional programming, a semantic approach. CoRR abs/1710.03984 (2017). Submitted for publicationGoogle Scholar
  5. 5.
    Howson, C.: Hume’s Problem: Induction and the Justification of Belief. Clarendon Press, Oxford (2000)CrossRefGoogle Scholar
  6. 6.
    Kleene, S.C.: On the interpretation of intuitionistic number theory. J. Symb. Log. 10(4), 109–124 (1945)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Howard, W.A.: The formulae-as-types notion of construction. In: To HB Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, vol. 44, pp. 479–490 (1980)Google Scholar
  8. 8.
    Sheridan, F.: A survey of techniques for inference under uncertainty. Artif. Intell. Rev. 5(1–2), 89–119 (1991)CrossRefGoogle Scholar
  9. 9.
    Aurenhammer, F.: Voronoi diagramsa survey of a fundamental geometric data structure. ACM Comput. Surv. (CSUR) 23(3), 345–405 (1991)CrossRefGoogle Scholar
  10. 10.
    Marks, R.: Introduction to Shannon Sampling and Interpolation Theory. Springer, New York (2012). Scholar
  11. 11.
    Vaughn, B.K.: Data analysis using regression and multilevel/hierarchical models. J. Educ. Meas. 45(1), 94–97 (2008)CrossRefGoogle Scholar
  12. 12.
    Ehrgott, M., Gandibleux, X.: A survey and annotated bibliography of multiobjective combinatorial optimization. OR-Spektrum 22(4), 425–460 (2000)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Snyman, J.: Practical Mathematical Optimization: An Introduction to Basic Optimization Theory and Classical and New Gradient-Based Algorithms, vol. 97. Springer, Boston (2005). Scholar
  14. 14.
    Smith, B.C.: Reflection and semantics in Lisp. In: POPL, pp. 23–35. ACM (1984)Google Scholar
  15. 15.
    Rall, L.B.: Automatic Differentiation: Techniques and Applications. Springer, Heidelberg (1981). Scholar
  16. 16.
    Lyness, J.N., Moler, C.B.: Numerical differentiation of analytic functions. SIAM J. Numer. Anal. 4(2), 202–210 (1967)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado, G.S., Davis, A., Dean, J., Devin, M., et al.: TensorFlow: large-scale machine learning on heterogeneous distributed systems. arXiv preprint arXiv:1603.04467 (2016)
  18. 18.
    Cleveland, W.S.: Robust locally weighted regression and smoothing scatterplots. J. Am. Stat. Assoc. 74(368), 829–836 (1979)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Lewis, J.R., Launchbury, J., Meijer, E., Shields, M.B.: Implicit parameters: dynamic scoping with static types. In: POPL, pp. 108–118 (2000)Google Scholar
  20. 20.
    Girard, J.Y.: Geometry of interaction 1: interpretation of system F. Stud. Log. Found. Math. 127, 221–260 (1989)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Muroya, K., Ghica, D.R.: The dynamic geometry of interaction machine: a call-by-need graph rewriter. In: Computer Science Logic, pp. 32:1–32:15 (2017)Google Scholar
  22. 22.
    Leroy, X., Doligez, D., Frisch, A., Garrigue, J., Rémy, D., Vouillon, J.: The OCaml system release 4.02 (2013)Google Scholar
  23. 23.
    Svenningsson, J., Axelsson, E.: Combining deep and shallow embedding for EDSL. In: Loidl, H.-W., Peña, R. (eds.) TFP 2012. LNCS, vol. 7829, pp. 21–36. Springer, Heidelberg (2013). Scholar
  24. 24.
    Scherr, M., Chiba, S.: Implicit staging of EDSL expressions: a bridge between shallow and deep embedding. In: Jones, R. (ed.) ECOOP 2014. LNCS, vol. 8586, pp. 385–410. Springer, Heidelberg (2014). Scholar
  25. 25.
    Gibbons, J., Wu, N.: Folding domain-specific languages: deep and shallow embeddings (functional pearl). In: ICFP, Gothenburg, Sweden, pp. 339–347 (2014)Google Scholar
  26. 26.
    Martin-Löf, P.: Analytic and synthetic judgements in type theory. In: Parrini, P. (ed.) Kant and Contemporary Epistemology, pp. 87–99. Springer, Dordrecht (1994). Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.University of BirminghamBirminghamUK
  2. 2.University of KentCanterburyUK
  3. 3.RIMSKyoto UniversityKyotoJapan

Personalised recommendations