liveBook · Manning

Program-centric abstraction

As explained in Deep Learning with R, Third Edition

Program-centric abstraction is abstraction based on discrete executable structures that support reasoning, planning, and causal understanding.

Program-centric abstraction represents problems through discrete executable structures that support reasoning, planning, causal understanding, and strong algorithmic generalization. It complements value-centric abstraction, which captures continuous similarity, perception, and intuition. section 19.4.3 section 19.5

Sorting versus recognizing digits

A sorting algorithm can be written in a few lines, validated on a small number of examples, and applied reliably to numeric vectors of any length. Training a deep learning model to sort even five-number vectors requires substantial data and may still fail on new inputs; changing to ten-number vectors requires retraining. Conversely, classifying MNIST digits with a pure R program demands manually encoding visual features such as closed loops and centers of mass, making perception a poor fit for discrete rules. section 19.4.3

Program-centric abstraction is characterized by several design implications:

  • Generalizes through reusable algorithms rather than relying only on similarity learned from large datasets. section 19.4.3
  • Uses program synthesis to search for executable solutions from input–output examples, potentially requiring only a few demonstrations. section 19.5
  • Favors hybrid systems that combine algorithmic modules for reasoning, search, memory, and abstraction with geometric modules for perception and pattern recognition. section 19.4.7 section 20.3
  • Supports modular recombination through libraries of reusable subroutines, enabling models to adapt to new tasks with little data. section 19.4.7 section 20.3

How Deep Learning with R, Third Edition covers it

How deep it goes
Contrasts algorithmic and geometric problem fits, then extends the idea to synthesis, hybrid models, and modular recombination.
Examples
Uses sorting algorithms, MNIST digit classification, AlphaGo, self-driving cars, and ARC-AGI to contrast abstraction types.
What it assumes
Assumes familiarity with programming and deep learning while contrasting their strengths through sorting and digit-recognition examples.
What you can do after
Evaluate which problems suit algorithms, learned geometry, or hybrid systems, and understand why reusable programs generalize efficiently.
How it connects
Connects value-centric abstraction, deep learning, program synthesis, symbolic AI, and modular learning.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Deep Learning with R, Third Edition. The section links point to the parts of the book it draws on.