The Child as Hacker
Authors: Joshua S. Rule, Joshua B. Tenenbaum, Steven T. Piantadosi
Journal: Trends in Cognitive Sciences (2020)

•Programs provide our best general-purpose representations for human knowledge, inference, and planning; human learning is thus increasingly modeled as program induction, learning programs from data.•Many formal models of learning as program induction reduce to a stochastic search for concise descriptions of data. Actual human programmers and learners are significantly more complex, using many processes to optimize complex and frequently changing objectives.•The goals and activities of hacking, making code better along many dimensions through an open-ended and internally motivated set of goals and activities, are helping to inspire better models of human learning and cognitive development. The scope of human learning and development poses a radical challenge for cognitive science. We propose that developmental theories can address this challenge by adopting perspectives from computer science. Many of our best models treat learning as analogous to computer programming because symbolic programs provide the most compelling account of sophisticated mental representations. We specifically propose that children's learning is analogous to a particular style of programming called hacking, making code better along many dimensions through an open-ended set of goals and activities. By contrast to existing theories, which depend primarily on local search and simple metrics, this view highlights the many features of good mental representations and the multiple complementary processes children use to create them. The scope of human learning and development poses a radical challenge for cognitive science. We propose that developmental theories can address this challenge by adopting perspectives from computer science. Many of our best models treat learning as analogous to computer programming because symbolic programs provide the most compelling account of sophisticated mental representations. We specifically propose that children's learning is analogous to a particular style of programming called hacking, making code better along many dimensions through an open-ended set of goals and activities. By contrast to existing theories, which depend primarily on local search and simple metrics, this view highlights the many features of good mental representations and the multiple complementary processes children use to create them. Human cognitive development is qualitatively unique. Though humans are born unusually helpless, they amass an unparalleled cognitive repertoire, including: intuitive theories for domains like physics and biology, formal theories in mathematics and science, language comprehension and production, and complex perceptual and motor skills. Children also learn to learn, producing higher-order knowledge that enriches existing concepts and enhances future learning. Human-like performance in any one of these domains seems substantially beyond current efforts in artificial intelligence. Yet, human children essentially acquire these abilities simultaneously and universally. They may even discover new ideas that radically alter humanity's understanding of the world. The foundational fields of cognitive science, including philosophy, psychology, neuroscience, and computer science, face a radical challenge in explaining the richness of human development. To help address this challenge, we introduce the child as hacker (see Glossary) as a hypothesis about the representations, processes, and objectives of distinctively human-like learning. Like the child as scientist view [1.Piaget J. The Child's Construction of Reality. Routledge & Kegan Paul, 1955Google Scholar, 2.Carey S. Conceptual Change in Childhood. MIT Press, 1985Google Scholar, 3.Carey S. The Origin of Concepts. Oxford University Press, 2009Crossref Scopus (1353) Google Scholar, 4.Gopnik A. Scientific thinking in young children: theoretical advances, empirical research, and policy implications.Science. 2012; 337: 1623-1627Crossref PubMed Scopus (166) Google Scholar, 5.Schulz L. The origins of inquiry: inductive inference and exploration in early childhood.Trends Cogn. Sci. 2012; 16: 382-389Abstract Full Text Full Text PDF PubMed Scopus (82) Google Scholar], the child as hacker is both a fertile metaphor and a source of concrete hypotheses about cognitive development. It also suggests a roadmap to what could be a unifying formal account of major phenomena in development. A key part of the child as hacker is the idea of learning as programming, which holds that symbolic programs (i.e., code) provide the best formal knowledge representation we have. Learning therefore becomes a process of creating new mental programs. We review support for learning as programming and argue that while on increasingly solid ground as a computational-level theory [6.Marr D. Vision. W.H. Freeman, 1982Google Scholar], it remains underspecified. We extend the idea of learning as programming by drawing inspiration from hacking, an internally driven approach to programming emphasizing the diverse goals and means humans use to make code better. Our core claim is that the specific representations, motivations, values, and techniques of hacking form a rich set of largely untested hypotheses about learning. A critical mass of work throughout cognitive science has converged on the hypothesis that human learning operates over structured, probabilistic, program-like representations [7.Chater N. Oaksford M. Programs as causal models: Speculations on mental programs and mental representation.Cogn. Sci. 2013; 37: 1171-1191Crossref PubMed Scopus (17) Google Scholar, 8.Zylberberg A. et al.The human Turing machine: a neural framework for mental programs.Trends Cogn. Sci. 2011; 15: 293-300Abstract Full Text Full Text PDF PubMed Scopus (78) Google Scholar, 9.Calvo P. Symons J. The Architecture of Cognition: Rethinking Fodor and Pylyshyn's Systematicity Challenge. MIT Press, 2014Crossref Google Scholar, 10.Lake B. et al.Building machines that learn and think like people.Behav. Brain Sci. 2017; 40: 253Crossref PubMed Scopus (707) Google Scholar, 11.Goodman N. et al.Concepts in a probabilistic language of thought.in: Margolis E. Laurence S. The Conceptual Mind: New Directions in the Study of Concepts. MIT Press, 2015: 623-654Google Scholar, 12.Piantadosi S. Jacobs R. Four problems solved by the probabilistic language of thought.Curr. Dir. Psychol. Sci. 2016; 25: 54-59Crossref Scopus (16) Google Scholar, 13.Goodman N. et al.A rational analysis of rule-based concept learning.Cogn. Sci. 2008; 32: 108-154Crossref PubMed Scopus (168) Google Scholar, 14.Depeweg S. et al.Solving Bongard problems with a visual language and pragmatic reasoning.arXiv Published online April 12, 2018. 2018; https://arxiv.org/abs/1804.04452Google Scholar, 15.Rothe A. et al.Question asking as program generation.in: Advances in Neural Information Processing Systems. Curran Associates, 2017: 1046-1055Google Scholar, 16.Erdogan G. et al.From sensory signals to modality-independent conceptual representations: a probabilistic language of thought approach.PLoS Comput. Biol. 2015; (e1004610)Crossref PubMed Scopus (17) Google Scholar, 17.Yildirim I. Jacobs R.A. Learning multisensory representations for auditory-visual transfer of sequence category knowledge: a probabilistic language of thought approach.Psychon. Bull. Rev. 2015; 22: 673-686Crossref PubMed Scopus (16) Google Scholar, 18.Amalric M. et al.The language of geometry: Fast comprehension of geometrical primitives and rules in human adults and preschoolers.PLoS Comput. Biol. 2017; 13e1005273Crossref PubMed Scopus (38) Google Scholar, 19.Romano S. et al.Bayesian validation of grammar productions for the language of thought.PLoS One. 2018; (13], e0200420)Crossref Scopus (8) Google Scholar, 20.Wang L. et al.Representation of spatial sequences using nested rules in human prefrontal cortex.NeuroImage. 2019; 186: 245-255Crossref PubMed Scopus (13) Google Scholar] (cf. [21.Lupyan G. Bergen B. How language programs the mind.Top. Cogn. Sci. 2016; 8: 408-424Crossref PubMed Scopus (49) Google Scholar]) (Box 1), a modern formulation of Fodor's language of thought (LOT) [22.Fodor J. The Language of Thought. Harvard University Press, 1975Google Scholar] as something like a programming language. Learning in the LOT consists of forming expressions to encode knowledge, for instance, composing primitives like CAUSE, GO, and UP to form LIFT [23.Siskind J. A computational study of cross-situational techniques for learning word-to-meaning mappings.Cognition. 1996; 61: 31-91Crossref Google Scholar]. This work argues that a compositional mental language is needed to explain systematicity, productivity, and compositionality in thought [9.Calvo P. Symons J. The Architecture of Cognition: Rethinking Fodor and Pylyshyn's Systematicity Challenge. MIT Press, 2014Crossref Google Scholar,22.Fodor J. The Language of Thought. Harvard University Press, 1975Google Scholar,24.Fodor J. Pylyshyn Z. Connectionism and cognitive architecture: A critical analysis, connections and symbols.Cognition. 1988; 28: 3-71Crossref PubMed Scopus (1814) Google Scholar]; a probabilistic language capable of maintaining distributions over structures is needed to explain variation and gradation in thinking [10.Lake B. et al.Building machines that learn and think like people.Behav. Brain Sci. 2017; 40: 253Crossref PubMed Scopus (707) Google Scholar,11.Goodman N. et al.Concepts in a probabilistic language of thought.in: Margolis E. Laurence S. The Conceptual Mind: New Directions in the Study of Concepts. MIT Press, 2015: 623-654Google Scholar,25.Goodman N.D. Lassiter D. Probabilistic semantics and pragmatics: Uncertainty in language and thought.in: Lappin S. Fox C. The Handbook of Contemporary Semantic Theory. 2nd. Wiley-Blackwell, 2015Crossref Google Scholar,26.Goodman N. et al.Church: a language for generative models.in: McAllester D. Myllymaki P. Proceedings of the 24th Conference Conference on Uncertainty in Artificial Intelligence. AUAI Press, 2008Google Scholar; and an expressive language, capable of essentially any computation, is needed to explain the scope of thought [27.Turing A.M. On computable numbers, with an application to the Entscheidungsproblem.Proc. Lond. Math. Soc. 1936; 2: 230-265Google Scholar,28.Baum E.B. What Is Thought?. MIT Press, 2004Google Scholar. Despite comparative and crosscultural work seeking semantic primitives for mental languages [29.Wierzbicka A. Semantics: Primes and Universals. Oxford University Press, 1996Google Scholar], other work suggests that learners add and remove primitives, effectively building entirely new languages [2.Carey S. Conceptual Change in Childhood. MIT Press, 1985Google Scholar,3.Carey S. The Origin of Concepts. Oxford University Press, 2009Crossref Scopus (1353) Google Scholar,30.Barner D. Baron A.S. Core Knowledge and Conceptual Change. Oxford University Press, 2016Crossref Google Scholar,31.Gopnik A. Conceptual and semantic change in scientists and children: why there are no semantic universals.Linguistics. 1983; 21: 163-180Crossref Scopus (13) Google Scholar.Box 1Programs and the Challenge of Humans' Broad Algorithmic KnowledgeTable IA Sampling of Domains Requiring Algorithmic Knowledge Formalizable as Programs, with Motivating Examples.LogicFirst-order, modal, deontic logicMathematicsNumber systems, geometry, calculusNatural languageMorphology, syntax, number grammarsSense dataAudio, images, video, hapticsComputer languagesC, Lisp, Haskell, Prolog, Scientific theoriesRelativity, game theory, natural selectionOperating proceduresRobert's rules, bylaws, checklistsGames and sportsGo, football, 8 queens, juggling, LegoNorms and moresClass systems, social cliques, taboosLegal codesConstitutions, contracts, tax lawReligious systemsMonastic orders, vows, rites and ritualsKinshipGenealogies, clans/moieties, family treesMundane choresKnotting ties, making beds, mowing lawnsIntuitive theoriesPhysics, biology, theory of mindDomain theoriesCooking, lockpicking, architectureArtMusic, dance, origami, color spaces Open table in a new tab Humans possess broad algorithmic knowledge, manipulating complex data in structured ways across many domains (Table I). Symbolic programs (i.e., computer code) form a universal formal representation for algorithmic knowledge [27.Turing A.M. On computable numbers, with an application to the Entscheidungsproblem.Proc. Lond. Math. Soc. 1936; 2: 230-265Google Scholar,28.Baum E.B. What Is Thought?. MIT Press, 2004Google Scholar and may be the best model of mental representations currently available. Programs can be communicated in many forms, including not only formal programming languages but a wide variety of forms familiar in all cultures, including natural language and symbolic images (Figure I). While there have been many other proposals for modeling conceptual representations, only programs arguably capture the full breadth and depth of people's algorithmic abilities [11.Goodman N. et al.Concepts in a probabilistic language of thought.in: Margolis E. Laurence S. The Conceptual Mind: New Directions in the Study of Concepts. MIT Press, 2015: 623-654Google Scholar]. The rapid rise of programs as tools for manipulating information, from obviously symbolic domains like mathematics and logic to seemingly nonsymbolic domains like video, audio, and neural processing, further identifies programs as a capable knowledge representation (e.g., [32.Andreessen M. Why software is eating the world.Wall Street J. 2011; 20: C2Google Scholar]).Code is expressed according to a formal syntax and its semantics specifies computations, typically as instructions to some machine (e.g., x86 processor, Turing machine). It can model both declarative (Box 2) and procedural information (see 'Hacking Early Arithmetic') and allow them to interact seamlessly. Code operates at multiple levels, including: individual symbols, expressions, statements, data structures and functions, libraries, and even entire programming languages. Each level can interact with the others: libraries can embed one language inside another, statements can define data structures, and higher-order functions can take functions as arguments and return functions as outputs. This leads to one of the fundamental insights that makes code so successful. By writing computations as code, they become data that can be formally manipulated and analyzed [33.Abelson H. Sussman G. Structure and Interpretation of Computer Programs. MIT Press, 1996Google Scholar]. Programming languages thus become programs that take code as input and return code as output. Because all programming languages are programs, any knowledge that can be expressed in any program can be integrated into a single formal knowledge representation.Modeling knowledge as code and learning as programming has worked well for many individual domains (see 'Knowledge as Code and Learning as Programming' in main text). We need, however, a general formalization of mental representations and how they develop. The child as hacker suggests such an account, emphasizing how information can be encoded, assessed, and manipulated as code regardless of domain, with the intention of developing formal tools applicable to broad classes of human learning phenomena. Table IA Sampling of Domains Requiring Algorithmic Knowledge Formalizable as Programs, with Motivating Examples.LogicFirst-order, modal, deontic logicMathematicsNumber systems, geometry, calculusNatural languageMorphology, syntax, number grammarsSense dataAudio, images, video, hapticsComputer languagesC, Lisp, Haskell, Prolog, Scientific theoriesRelativity, game theory, natural selectionOperating proceduresRobert's rules, bylaws, checklistsGames and sportsGo, football, 8 queens, juggling, LegoNorms and moresClass systems, social cliques, taboosLegal codesConstitutions, contracts, tax lawReligious systemsMonastic orders, vows, rites and ritualsKinshipGenealogies, clans/moieties, family treesMundane choresKnotting ties, making beds, mowing lawnsIntuitive theoriesPhysics, biology, theory of mindDomain theoriesCooking, lockpicking, architectureArtMusic, dance, origami, color spaces Open table in a new tab Humans possess broad algorithmic knowledge, manipulating complex data in structured ways across many domains (Table I). Symbolic programs (i.e., computer code) form a universal formal representation for algorithmic knowledge [27.Turing A.M. On computable numbers, with an application to the Entscheidungsproblem.Proc. Lond. Math. Soc. 1936; 2: 230-265Google Scholar,28.Baum E.B. What Is Thought?. MIT Press, 2004Google Scholar and may be the best model of mental representations currently available. Programs can be communicated in many forms, including not only formal programming languages but a wide variety of forms familiar in all cultures, including natural language and symbolic images (Figure I). While there have been many other proposals for modeling conceptual representations, only programs arguably capture the full breadth and depth of people's algorithmic abilities [11.Goodman N. et al.Concepts in a probabilistic language of thought.in: Margolis E. Laurence S. The Conceptual Mind: New Directions in the Study of Concepts. MIT Press, 2015: 623-654Google Scholar]. The rapid rise of programs as tools for manipulating information, from obviously symbolic domains like mathematics and logic to seemingly nonsymbolic domains like video, audio, and neural processing, further identifies programs as a capable knowledge representation (e.g., [32.Andreessen M. Why software is eating the world.Wall Street J. 2011; 20: C2Google Scholar]). Code is expressed according to a formal syntax and its semantics specifies computations, typically as instructions to some machine (e.g., x86 processor, Turing machine). It can model both declarative (Box 2) and procedural information (see 'Hacking Early Arithmetic') and allow them to interact seamlessly. Code operates at multiple levels, including: individual symbols, expressions, statements, data structures and functions, libraries, and even entire programming languages. Each level can interact with the others: libraries can embed one language inside another, statements can define data structures, and higher-order functions can take functions as arguments and return functions as outputs. This leads to one of the fundamental insights that makes code so successful. By writing computations as code, they become data that can be formally manipulated and analyzed [33.Abelson H. Sussman G. Structure and Interpretation of Computer Programs. MIT Press, 1996Google Scholar]. Programming languages thus become programs that take code as input and return code as output. Because all programming languages are programs, any knowledge that can be expressed in any program can be integrated into a single formal knowledge representation. Modeling knowledge as code and learning as programming has worked well for many individual domains (see 'Knowledge as Code and Learning as Programming' in main text). We need, however, a general formalization of mental representations and how they develop. The child as hacker suggests such an account, emphasizing how information can be encoded, assessed, and manipulated as code regardless of domain, with the intention of developing formal tools applicable to broad classes of human learning phenomena. Learning is then program induction: discovering programs that explain how observed data were generated [34.Flener P. Schmid U. An introduction to inductive programming.AI Rev. 2008; 29: 45-62Google Scholar, 35.Gulwani S. et al.Program synthesis.Found. Trends Program. Lang. 2017; 4: 1-119Crossref Scopus (187) Google Scholar, 36.Muggleton S. De Raedt L. Inductive logic programming: theory and methods.J. Log. Program. 1994; 19: 629-679Crossref Scopus (970) Google Scholar]. The theory thus draws on inductive programming literature stretching back to the birth of cognitive science [37.Newell A. et al.Elements of a theory of human problem solving..Psychol. Rev. 1958; 65: 151Crossref Scopus (562) Google Scholar,38.Newell A. et al.Report on a general problem solving program.in: IFIP Congress. 256. Pittsburgh, PA, 1959: 64Google Scholar and includes subsequent developments in recursive program synthesis [39.Smith D.R. The synthesis of LISP programs from examples: a survey.in: Biermann A.W. Guiho G. Kodratoff Y. Automatic program construction techniques. Macmillan, 1984: 307-324Google Scholar], structure and heuristic discovery [40.Lenat D. AM: An artificial intelligence approach to discovery in mathematics. Doctoral thesis, Stanford University, 1976Google Scholar,41.Lenat D.B. EURISKO: a program that learns new heuristics and domain concepts: the nature of heuristics III: program design and results.Artif. Intell. 1983; 21: 61-98Crossref Scopus (139) Google Scholar, meta-programming [42.Sussman G.J. A computational model of skill acquisition. Doctoral thesis, Massaschusetts Institute of Technology, 1973Google Scholar,43.Schmidhuber J. Evolutionary principles in self-referential learning, or on learning how to learn: the meta-meta-... hook. Doctoral thesis, Technische Universität München, 1987Google Scholar, genetic programming [44.Holland J. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Application to Biology. University of Michigan Press, 1975Google Scholar,45.Koza J.R. Hierarchical genetic algorithms operating on populations of computer programs..in: Proceedings of the International Joint Conference on Artifical Intelligence. 89. 1989: 768-774Google Scholar, and inductive logic programming [36.Muggleton S. De Raedt L. Inductive logic programming: theory and methods.J. Log. Program. 1994; 19: 629-679Crossref Scopus (970) Google Scholar,46.Shapiro E.Y. Algorithmic Program Debugging. MIT Press, 1983Google Scholar. The approach also makes use of insights from other formalizations of learning, for example, deep learning [47.LeCun Y. et al.Deep learning.Nature. 2015; 521: 436-444Crossref PubMed Scopus (37205) Google Scholar], connectionism [48.Rumelhart D.E. et al.Parallel Distributed Processing. MIT Press, 1987Crossref Google Scholar], reinforcement learning [49.Sutton R.S. Barto A.G. Reinforcement Learning. MIT Press, 2018Google Scholar], probabilistic graphical models [50.Koller D. Friedman N. Probabilistic Graphical Models: Principles and Techniques. MIT Press, 2009Google Scholar], and production systems [51.Lovett M.C. Anderson J.R. Thinking as a production system.in: Holyoak K.J. Morrison R.G. The Oxford Handbook of Thinking and Reasoning. Cambridge University Press, 2005: 401-429Google Scholar]. These can be viewed as exploring specific subclasses of programs or possible implementation theories. The learning as programming approach, however, is importantly different in providing learners the full expressive power of symbolic programs both theoretically (i.e., Turing completeness) and practically (i.e., freedom to adopt any formal syntax). This approach applies broadly to developmental phenomena, including counting [52.Piantadosi S. et al.Bootstrapping in a language of thought: A formal model of numerical concept learning.Cognition. 2012; 123: 199-217Crossref PubMed Scopus (81) Google Scholar], concept learning [13.Goodman N. et al.A rational analysis of rule-based concept learning.Cogn. Sci. 2008; 32: 108-154Crossref PubMed Scopus (168) Google Scholar,53.Piantadosi S. et al.The logical primitives of thought: Empirical foundations for compositional cognitive models.Psychol. Rev. 2016; 123: 392-424Crossref PubMed Scopus (46) Google Scholar, function words [54.Piantadosi S.T. Learning and the language of thought. Doctoral thesis, Massachusetts Institute of Technology, 2011Google Scholar], kinship [55.Mollica F. Piantadosi S. Logical word learning: the case of kinship.2019https://doi.org/10.31234/osf.io/a7tnbCrossref Google Scholar], theory learning [56.Kemp C. et al.A probabilistic model of theory formation.Cognition. 2010; 114: 165-196Crossref PubMed Scopus (55) Google Scholar,57.Ullman T. et al.Theory learning as stochastic search in the language of thought.Cogn. Dev. 2012; 27: 455-480Crossref Scopus (42) Google Scholar, lexical acquisition [23.Siskind J. A computational study of cross-situational techniques for learning word-to-meaning mappings.Cognition. 1996; 61: 31-91Crossref Google Scholar], question answering [15.Rothe A. et al.Question asking as program generation.in: Advances in Neural Information Processing Systems. Curran Associates, 2017: 1046-1055Google Scholar], semantics and pragmatics [25.Goodman N.D. Lassiter D. Probabilistic semantics and pragmatics: Uncertainty in language and thought.in: Lappin S. Fox C. The Handbook of Contemporary Semantic Theory. 2nd. Wiley-Blackwell, 2015Crossref Google Scholar,58.Goodman N.D. Frank M.C. Pragmatic language interpretation as probabilistic inference.Trends Cogn. Sci. 2016; 20: 818-829Abstract Full Text Full Text PDF PubMed Scopus (168) Google Scholar,59.Frank M. Goodman N. Predicting pragmatic reasoning in language games.Science. 2012; 336: 998Crossref PubMed Scopus (297) Google Scholar, recursive reasoning [60.Lake B.M. Piantadosi S.T. People infer recursive visual concepts from just a few examples.Comput. Brain Behav. 2020; 3: 54-65Crossref Scopus (5) Google Scholar], sequence transformation [61.Rule J. et al.Learning list concepts through program induction.in: Proceedings of the 40th Annual Conference of the Cognitive Science Society. Cognitive Science Society, 2018Crossref Google Scholar], sequence prediction [18.Amalric M. et al.The language of geometry: Fast comprehension of geometrical primitives and rules in human adults and preschoolers.PLoS Comput. Biol. 2017; 13e1005273Crossref PubMed Scopus (38) Google Scholar,62.Cheyette S. Piantadosi S. Knowledge transfer in a probabilistic language of thought.in: Proceedings of the 39th Annual Conference of the Cognitive Science Society. Cognitive Science Society, 2017Google Scholar, structure learning [63.Kemp C. Tenenbaum J.B. The discovery of structural form.Proc. Natl. Acad. Sci. 2008; 105: 10687-10692Crossref PubMed Scopus (297) Google Scholar], action concepts [64.Lake B. et al.Human-level concept learning through probabilistic program induction.Science. 2015; 350: 1332-1338Crossref PubMed Scopus (1232) Google Scholar], perceptual understanding [14.Depeweg S. et al.Solving Bongard problems with a visual language and pragmatic reasoning.arXiv Published online April 12, 2018. 2018; https://arxiv.org/abs/1804.04452Google Scholar,65.Overlan M. et al.Learning abstract visual concepts via probabilistic program induction in a language of thought.Cognition. 2017; 168: 320-334Crossref PubMed Scopus (8) Google Scholar, and causality [66.Goodman N.D. et al.Learning a theory of causality..Psychol. Rev. 2011; 118: 110-119Crossref PubMed Scopus (85) Google Scholar]. These applications build on a tradition of studying agents who understand the world by inferring computational processes that could have generated observed data, which is optimal in a certain sense [67.Solomonoff R.J. A formal theory of inductive inference, Part I.Inf. Control. 1964; 7: 1-22Crossref Scopus (1012) Google Scholar,68.Hutter M. Universal Artificial Intelligence. Springer, 2005Crossref Google Scholar, and aligns with rational constructivist models of development [69.Xu F. Towards a rational constructivist theory of cognitive development..Psychol. Rev. 2019; 126: 841-864Crossref PubMed Scopus (20) Google Scholar, 70.Gopnik A. Wellman H.M. Reconstructing constructivism: causal models, Bayesian learning mechanisms, and the theory theory.Psychol. Bull. 2012; 138: 1085-1108Crossref PubMed Scopus (298) Google Scholar, 71.Xu F. Griffiths T.L. Probabilistic models of cognitive development: towards a rational constructivist approach to the study of learning and development..Cognition. 2011; 120: 299-301Crossref PubMed Scopus (15) Google Scholar, 72.Gopnik A. Tenenbaum J.B. Bayesian networks, Bayesian learning and cognitive development.Dev. Sci. 2007; 10: 281-287Crossref PubMed Scopus (83) Google Scholar]. While these ideas appear to be on increasingly solid empirical and theoretical ground, much work remains to formalize them into robust and precise descriptions of children's learning. Most recent LOT work has argued that learners seek short (simple) programs explaining observed data, a version of Occam's razor. A bias for simplicity favors generalization over memorization, while a bias for fit favors representations that match the world. Mathematically, these two can be balanced in a principled way using Bayes' theorem or minimum description length formalisms to favor simple, explanatory programs [13.Goodman N. et al.A rational analysis of rule-based concept learning.Cogn. Sci. 2008; 32: 108-154Crossref PubMed Scopus (168) Google Scholar,73.Feldman J. Minimization of Boolean complexity in human concept learning.Nature. 2000; 407: 630-633Crossref PubMed Scopus (283) Google Scholar, a principled approach [28.Baum E.B. What Is Thought?. MIT Press, 2004Google Scholar,74.Chater N. Vitányi P. Simplicity: a unifying principle in cognitive science?.Trends in Cogn. Sci. 2003; 7: 19-22Abstract Full Text Full Text PDF PubMed Scopus (221) Google Scholar that fits human data well [13.Goodman N. et al.A rational analysis of rule-based concept learning.Cogn. Sci. 2008; 32: 108-154Crossref PubMed Scopus (168) Google Scholar,53.Piantadosi S. et al.The logical primitives of thought: Empirical found