5D Library › Classical and Statistical Mechanics of Human Action · 中文

Chapter 5 Social Coupling and Learning by Teaching

Other people as an outside force

One force kept appearing in the models of Chapters 3 and 4: a steady outside pull that tilts the landscape towards the new state and, as long as it lasts, keeps relapse slow. For people, the commonest steady outside force comes from others: someone waiting for your result, someone practising with you, someone you have to teach. This chapter looks at two kinds of evidence — what learning in order to teach does for learning itself, and how a behaviour spreads through a network of people — and then uses a model to test one specific course rule: “you must help two classmates pass before the next stage unlocks”.

Learning in order to teach

Evidence

In a 1980 experiment, Bargh and Schul had students study a passage, one group believing they would then teach it to another student and the other expecting a test; the “preparing to teach” group did better on a retention test (Bargh and Schul 1980). Fiorella and Mayer’s four experiments separated “expecting to teach” from “actually teaching” (explaining to a camera). Preparing to teach gave an advantage on an immediate test (d about 0.55–0.59), but on a test one week later the advantage had gone; only students who had actually explained the material stayed ahead on the delayed test (d about 0.79–0.90) (Fiorella and Mayer 2013). Expecting to teach also leads learners to organise what they learn better (Nestojko et al. 2014).

Evidence

Kobayashi’s meta-analysis of 28 studies estimated an effect of g ≈ 0.35 for preparing to teach compared with ordinary study, and g ≈ 0.56 for teaching after preparing; interactive teaching (with real learners asking questions) worked better than one-way explanation (Kobayashi 2019). A meta-analysis of “generating teaching materials for others” found a smaller average effect, g ≈ 0.17 (Ribosa and Duran 2022). An early meta-analysis of tutoring programmes found that not only the tutees benefited: the students who served as tutors also improved, with an effect size of about 0.33 (Cohen et al. 1982). In “teachable agent” studies, students worked harder when learning for a computer character they had to teach than when learning for themselves, which the researchers called the “protégé effect” (Chase et al. 2009).

This evidence supports “teaching others helps you learn”, especially real, interactive teaching. It does not support “teaching others is the best way to learn”. The widely shared “learning pyramid” (5 % retained from lectures, 90 % from teaching others, and so on) has no reliable original study behind it (Masters 2013). This book uses only effect sizes with sources.

How a behaviour spreads through a network

Diseases and news can spread after a single contact; this is simple contagion. Many behaviours are different: whether to start running, join a study group or adopt a new tool, people often wait until more than one acquaintance has done so. Granovetter described such collective behaviour with threshold models, in which each person adopts once the number of adopters around them passes their threshold (Granovetter 1978). Centola and Macy called spread that needs reinforcement from several sources complex contagion, and showed that the long-range weak ties that help simple contagion actually hinder complex contagion (Centola and Macy 2007).

Evidence

In a 2010 online experiment, Centola placed participants in designed networks: either a highly clustered lattice (friends of friends are often friends) or a random network with the same number of people and contacts, and watched how a health behaviour (registering for a health forum) spread. Participants were much more likely to adopt when they received signals from several network neighbours, and the behaviour spread farther and faster in the clustered networks (Centola 2010).

Calculation

400 people, each with 8 contacts. Clustered network: everyone knows their 4 nearest neighbours on each side of a ring. Random network: the same contacts shuffled by swaps that keep everyone’s number of contacts fixed. Start from one person and their 8 contacts, and compare thresholds of 1, 2 and 3 adopting contacts.

# Simple vs complex contagion (Centola & Macy 2007; Centola 2010).
# 400 people, each with 8 contacts. Clustered network: a ring where everyone knows their 4 nearest
# neighbours on each side. Random network: the same contacts shuffled by degree-preserving swaps.
# Simple contagion: adopt after 1 adopting contact. Complex contagion: adopt only after 2 or 3 (a behaviour
# that needs reinforcement from more than one person). Simplified model.
import random
random.seed(5)
N, K = 400, 4

def ring():
    return {(min(i, (i + j) % N), max(i, (i + j) % N)) for i in range(N) for j in range(1, K + 1)}

def shuffled(edges, swaps=20000):
    e = list(edges)
    s = set(e)
    for _ in range(swaps):
        i, j = random.randrange(len(e)), random.randrange(len(e))
        (a, b), (c, d) = e[i], e[j]
        if len({a, b, c, d}) < 4:
            continue
        n1, n2 = (min(a, d), max(a, d)), (min(c, b), max(c, b))
        if n1 in s or n2 in s:
            continue
        s -= {e[i], e[j]}
        s |= {n1, n2}
        e[i], e[j] = n1, n2
    return s

def spread(edges, threshold):
    nb = {i: set() for i in range(N)}
    for a, b in edges:
        nb[a].add(b)
        nb[b].add(a)
    adopted = {0} | nb[0]                     # one person and their contacts start
    steps = 0
    while True:
        new = {i for i in range(N) if i not in adopted and len(nb[i] & adopted) >= threshold}
        if not new:
            return len(adopted) / N, steps
        adopted |= new
        steps += 1

lattice = ring()
print("threshold   clustered network          random networks (20): mean reach, networks reaching > 90 %")
for threshold in (1, 2, 3):
    f_lat, s_lat = spread(lattice, threshold)
    runs = [spread(shuffled(lattice), threshold) for _ in range(20)]
    mean = sum(r[0] for r in runs) / len(runs)
    full = [r[1] for r in runs if r[0] > 0.9]
    speed = f" (in {sum(full) / len(full):4.1f} rounds)" if full else ""
    print(f"{threshold:5d}       {100 * f_lat:5.1f} % in {s_lat:3d} rounds     {100 * mean:5.1f} %, {len(full):2d} of 20{speed}")
# threshold   clustered network          random networks (20): mean reach, networks reaching > 90 %
#     1       100.0 % in  49 rounds     100.0 %, 20 of 20 (in  3.9 rounds)
#     2       100.0 % in  65 rounds      71.1 %, 14 of 20 (in 11.9 rounds)
#     3       100.0 % in  98 rounds       2.3 %,  0 of 20
Spread when 3 adopting contacts are needed (horizontal axis on a log scale). Blue: the clustered network, where spread is slow but finally reaches everyone. Gold dots: 5 random networks, where spread stops near the start. Grey dashes: simple contagion needing only 1 contact, which covers a random network within a few rounds.

The result reproduces the main point of the theory. Simple contagion is fastest on random networks, covering everyone in under 4 rounds. Complex contagion needing 3 reinforcing contacts took off in none of the 20 random networks, reaching about 2 % on average, while on the clustered network it spread ring by ring to everyone. With a threshold of 2 the result lies in between and depends on the particular network. For behaviours that need reinforcement, tight small circles spread them better than broad weak ties.

The “teach two to unlock” rule: an arithmetic problem

The original idea was that requiring every learner to help 2 classmates pass before unlocking the next stage would act both as a ratchet against sliding back into the old well and as an engine of exponential spread. On checking, the idea needs substantial correction.

Calculation

A 30-day course in 4 stages, 120 learners per arm. Arm A studies alone; in arm B, each learner who passes a stage must help 2 classmates before the next stage opens (if no classmate is left on that stage, it opens automatically). Compare three ways of counting “help 2”, and the assumption that teaching lowers the daily chance of quitting by 0 %, 30 % or 60 %. All numbers are assumptions, used only to show the mechanics.

# A 30-day course in 4 stages, 120 learners per arm. Arm A: study alone. Arm B "teach to unlock":
# after passing a stage you must help 2 classmates before the next stage opens (if no classmate is
# left on that stage, it opens anyway). Three ways of counting "help 2":
#   B1  2 classmates must PASS while you are their tutor; one tutor per classmate
#   B2  the same, but a classmate may have two tutors at once (a learning trio)
#   B3  2 logged tutoring sessions with different classmates, whether or not they have passed yet
# Simplified model; every number is an assumption, chosen only to show the mechanics.
import random
random.seed(2)
DAYS, STAGES, COHORT, REPS = 30, 4, 120, 40
P_ALONE, P_HELPED = 0.22, 0.30     # daily chance of passing the current stage: alone / with a tutor
QUIT = 0.02                        # daily chance of quitting, arm A

def run(rule, quit_cut):
    q = QUIT * (1 - quit_cut) if rule != "A" else QUIT
    max_tutors = 2 if rule == "B2" else 1
    passed, teaching, credit = [0] * COHORT, [False] * COHORT, [set() for _ in range(COHORT)]
    out = [False] * COHORT
    for _ in range(DAYS):
        live = [i for i in range(COHORT) if not out[i] and passed[i] < STAGES]
        for i in live:
            if random.random() < q:
                out[i] = True
        live = [i for i in live if not out[i]]
        studying = [i for i in live if not teaching[i]]
        tutors = {s: [] for s in studying}
        if rule != "A":
            for t in (i for i in live if teaching[i]):
                pool = [s for s in studying if passed[s] == passed[t] - 1
                        and len(tutors[s]) < max_tutors and s not in credit[t]]
                if pool:
                    s = random.choice(pool)
                    tutors[s].append(t)
                    if rule == "B3":
                        credit[t].add(s)          # a session counts as help
        for s in studying:
            if random.random() < (P_HELPED if tutors[s] else P_ALONE):
                passed[s] += 1
                if rule in ("B1", "B2"):
                    for t in tutors[s]:
                        credit[t].add(s)          # only a pass counts as help
                if rule != "A" and passed[s] < STAGES:
                    teaching[s], credit[s] = True, set()
        if rule != "A":
            for t in live:
                if teaching[t]:
                    left = [s for s in live if not teaching[s] and passed[s] == passed[t] - 1]
                    if len(credit[t]) >= 2 or not left:
                        teaching[t] = False
    return sum(1 for p in passed if p >= STAGES) / COHORT

def mean(rule, cut=0.0):
    return sum(run(rule, cut) for _ in range(REPS)) / REPS

a = mean("A")
print(f"A   study alone: {100 * a:4.1f} % complete by day 30")
print("rule   quitting reduced by:     0 %      30 %      60 %")
for rule in ("B1", "B2", "B3"):
    row = "  ".join(f"{100 * mean(rule, c):6.1f} %" for c in (0.0, 0.3, 0.6))
    print(f"{rule}                        {row}")
print(f"why B1 jams: on each stage, {COHORT} learners need 2 x {COHORT} = {2 * COHORT} credited passes,")
print(f"but at most {COHORT - 1} classmates can pass after someone else - so most tutors wait for the slowest")
# A   study alone: 65.6 % complete by day 30
# rule   quitting reduced by:     0 %      30 %      60 %
# B1                           5.6 %     6.4 %     6.7 %
# B2                          10.9 %    11.2 %    12.8 %
# B3                          56.4 %    62.8 %    70.8 %
# why B1 jams: on each stage, 120 learners need 2 x 120 = 240 credited passes,
# but at most 119 classmates can pass after someone else - so most tutors wait for the slowest

The key is in the last two lines. If “help” is counted as a tutored classmate passing, with each pass credited to one tutor only (B1), the rule cannot be satisfied for everyone in a closed class, as a matter of arithmetic: on each stage 120 learners need 240 credited passes, but at most 119 classmates can pass after someone else. Most learners can only wait until the slowest classmate on that stage passes and the rule lets them through; the course jams, and completion falls from about 66 % for solo study to about 6 %. Letting two tutors share one classmate (B2) does not solve it: the slowest learner still holds everyone up. Only when “help” is defined as two logged tutoring sessions, whether or not the classmate has passed yet (B3), does the rule stop jamming; whether it then beats solo study depends on how much teaching lowers quitting — under these assumptions, a 30 % reduction still leaves it slightly below solo study, and only a 60 % reduction makes it clearly better.

Note

On “exponential spread”: in a class of fixed size, no tutoring rule increases the number of people; exponential growth appears only if each generation of learners must bring in new learners. If that recruitment is tied to payment, the structure becomes a referral chain, whose ethical and legal risks are another matter. This book neither tests nor recommends that; the Chapter 8 trial arranges tutoring only among learners already enrolled and asks no one to recruit anyone.

A ratchet needs energy

A ratchet is a device that turns only one way. In his Lectures on Physics, Feynman used the “ratchet and pawl” to show that random thermal motion alone cannot make a ratchet turn steadily one way and do work: at the same temperature, the pawl itself is jostled open by thermal motion (Feynman et al. 1963). To work, a ratchet needs a steady supply of energy from outside or a temperature difference. This physical fact is a useful reminder for the analogy of this chapter: peer tutoring can serve as a ratchet against sliding back, but it needs organisation, time and effort to keep it going; left unmaintained, it fails just like the outside pull of Chapter 3.

Hypothesis · not established

Not established. In a 30-day course, learners under the rule “complete two logged peer-tutoring sessions to unlock the next stage” have a 30-day completion rate at least 10 percentage points higher, and a blind-marked final test score at least 0.25 standard deviations higher, than learners who study alone. If the randomised trial of Chapter 8 shows neither outcome reaching these sizes, or either outcome shows harm from the rule, the hypothesis is refuted.

Summary

Learning in order to teach has empirical support, and real, interactive teaching works better, but “the best way to learn” and the “learning pyramid” have no reliable basis. Behaviours that need reinforcement spread better in tight small circles. When the two are combined into a course rule, the details decide the outcome: “teach two to unlock” counted by classmates’ passes must jam a closed class; counted by tutoring sessions it is workable, but its effect depends on whether it really lowers quitting — which is exactly the question the trial in Chapter 8 is designed to answer.

References

Bargh, John A., and Yaacov Schul. 1980. “On the Cognitive Benefits of Teaching.” Journal of Educational Psychology 72 (5): 593–604.
Centola, Damon. 2010. “The Spread of Behavior in an Online Social Network Experiment.” Science 329 (5996): 1194–97.
Centola, Damon, and Michael Macy. 2007. “Complex Contagions and the Weakness of Long Ties.” American Journal of Sociology 113 (3): 702–34.
Chase, Catherine C., Doris B. Chin, Marily A. Oppezzo, and Daniel L. Schwartz. 2009. “Teachable Agents and the Protégé Effect: Increasing the Effort Towards Learning.” Journal of Science Education and Technology 18: 334–52.
Cohen, Peter A., James A. Kulik, and Chen-Lin C. Kulik. 1982. “Educational Outcomes of Tutoring: A Meta-Analysis of Findings.” American Educational Research Journal 19 (2): 237–48.
Feynman, Richard P., Robert B. Leighton, and Matthew Sands. 1963. The Feynman Lectures on Physics, Vol. I. Addison-Wesley.
Fiorella, Logan, and Richard E. Mayer. 2013. “The Relative Benefits of Learning by Teaching and Teaching Expectancy.” Contemporary Educational Psychology 38 (4): 281–88.
Granovetter, Mark. 1978. “Threshold Models of Collective Behavior.” American Journal of Sociology 83 (6): 1420–43.
Kobayashi, Keiichi. 2019. “Learning by Preparing-to-Teach and Teaching: A Meta-Analysis.” Japanese Psychological Research 61 (3): 192–203.
Masters, Ken. 2013. “Edgar Dale’s Pyramid of Learning in Medical Education: A Literature Review.” Medical Teacher 35 (11): e1584–93.
Nestojko, John F., Dung C. Bui, Nate Kornell, and Elizabeth Ligon Bjork. 2014. “Expecting to Teach Enhances Learning and Organization of Knowledge in Free Recall of Text Passages.” Memory & Cognition 42: 1038–48.
Ribosa, Jordi, and David Duran. 2022. “Do Students Learn What They Teach When Generating Teaching Materials for Others? A Meta-Analysis Through the Lens of Learning by Teaching.” Educational Research Review 37: 100475.

Fan, Y. (2026). Classical and Statistical Mechanics of Human Action: Psychological Inertia, Static Friction Thresholds, Kramers Escape Rate in Double-Well Potentials and Habit Phase Transitions, Read Beside East Asian Philosophy of Practice [行动的经典与统计力学] (Version 1.0.0). 5D Library. https://doi.org/10.5281/zenodo.23738774 · Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).