5D Library › Attention Networks, the Working-Memory Bottleneck and Self-Determination Theory · 中文

Chapter 6 Flow: Channels of Challenge and Skill, Hypotheses about the Brain, and a Controller Model

Flow is one of the most cited, and most inflated, ideas in research on intrinsic motivation. It describes an experience of complete absorption in which action and awareness merge, the sense of time changes and the activity is its own reward. This chapter looks first at where the concept came from and how it is measured, then at the hypotheses and evidence about its brain basis, and finally uses a learner model to ask what “just the right difficulty” means.

From three channels to eight

Evidence

The original description. Csikszentmihalyi’s 1975 Beyond Boredom and Anxiety drew on interviews with rock climbers, chess players, dancers, composers, surgeons and others to describe the absorption and enjoyment they experienced, and proposed that people enter flow when the challenges of an activity match their skills; challenges above skill lead to anxiety, below skill to boredom (Csikszentmihalyi 1975). Flow (1990) organised these descriptions into a set of features of the flow experience, including clear goals, immediate feedback, intense concentration, a temporary loss of self-consciousness and an altered sense of time (Csikszentmihalyi 1990). Experience sampling and the eight-channel model. Massimini and Carli studied daily experience with the experience-sampling method (participants are signalled at random moments through the day to record their activity, challenge and skill) and found that a simple “balance of challenge and skill” did not predict flow well: balance at low levels was closer to apathy. They standardised challenge and skill against each person’s own average, divided the plane into eight channels by direction, and found that only challenge and skill both above the person’s average corresponded to flow; the other seven channels are arousal, anxiety, worry, apathy, boredom, relaxation and control (Massimini and Carli 1988). Meta-analysis. Fong, Zaleski and Leach pooled 28 studies and found a moderate relationship between challenge–skill balance and flow, and a smaller one with intrinsic motivation (Fong et al. 2015).

Calculation

A week of 60 random signals from one fictional person (ratings 0 to 9) illustrates the eight-channel classification: skill and challenge are first standardised by this person’s own mean and standard deviation, then assigned by angle to eight 45° channels; the older three-channel “balance is flow” view is shown for comparison.

# Eight-channel model (Massimini & Carli 1988): skill and challenge are z-scored within the person;
# the angle assigns one of eight 45-degree channels; flow = both above the person's own mean.
# Compared with the three-channel "balance = flow" view. Fictional data: 60 beeps, ratings 0-9.
import math, random
random.seed(11)
NAMES = ["control", "flow", "arousal", "anxiety", "worry", "apathy", "boredom", "relaxation"]
# centre angles (degrees, skill on x-axis): flow at 45, arousal at 90, anxiety at 135, worry at
# 180, apathy at 225, boredom at 270, relaxation at 315, control at 0
CENTRE = {"control": 0, "flow": 45, "arousal": 90, "anxiety": 135, "worry": 180, "apathy": 225,
          "boredom": 270, "relaxation": 315}

def channel(zs, zc):
    ang = math.degrees(math.atan2(zc, zs)) % 360
    return min(CENTRE, key=lambda k: min(abs(ang - CENTRE[k]), 360 - abs(ang - CENTRE[k])))

beeps = []
for _ in range(60):
    kind = random.choice(["work", "work", "chores", "tv", "hobby"])
    s, c = {"work": (6, 6), "chores": (5, 2), "tv": (2, 1), "hobby": (7, 7)}[kind]
    beeps.append((kind, min(9, max(0, round(random.gauss(s, 1.3)))),
                  min(9, max(0, round(random.gauss(c, 1.5))))))
ms = sum(b[1] for b in beeps) / 60; mc = sum(b[2] for b in beeps) / 60
sd = lambda v, m: math.sqrt(sum((x - m) ** 2 for x in v) / (len(v) - 1))
ss, sc = sd([b[1] for b in beeps], ms), sd([b[2] for b in beeps], mc)
counts, balance_flow, apathy_as_balance = {k: 0 for k in NAMES}, 0, 0
for kind, s, c in beeps:
    ch = channel((s - ms) / ss, (c - mc) / sc)
    counts[ch] += 1
    if abs(s - c) <= 1:                                  # three-channel view: balanced = flow
        balance_flow += 1
        apathy_as_balance += ch == "apathy"
print(f"person's means: skill {ms:.1f}, challenge {mc:.1f} (0-9 scale)")
order = sorted(NAMES, key=lambda k: CENTRE[k])
print("eight-channel model, counter-clockwise from 'control':")
print("   " + ", ".join(f"{k} {counts[k]}" for k in order))
print(f"three-channel 'balance' view calls {balance_flow} beeps flow; of these,"
      f" {apathy_as_balance} fall in the apathy channel")
print("(low challenge matched by low skill is balance without flow: the 1988 revision)")
# person's means: skill 5.0, challenge 4.8 (0-9 scale)
# eight-channel model, counter-clockwise from 'control':
#    control 7, flow 22, arousal 7, anxiety 1, worry 2, apathy 15, boredom 4, relaxation 2
# three-channel 'balance' view calls 42 beeps flow; of these, 11 fall in the apathy channel
# (low challenge matched by low skill is balance without flow: the 1988 revision)

In this fictional example, 22 of the 60 signals fall in the flow channel. The older view, treating challenge and skill within 1 point of each other as balanced, would count 42 signals as flow, 11 of which the eight-channel model places in apathy: low challenge with low skill, such as watching television when tired. That is the point of the 1988 revision: balance is one necessary condition of flow, not a sufficient one, and it must be judged against each person’s own average.

The brain basis of flow: hypotheses and evidence

Hypothesis · not established

Transient hypofrontality hypothesis (proposed by Dietrich; not yet established). Dietrich proposed in 2004 that during flow the prefrontal system responsible for explicit, conscious processing temporarily reduces its activity, letting the implicit system on which skilled performance depends run without interference; this would explain the loss of self-consciousness and altered sense of time in flow (Dietrich 2004). When proposed, the hypothesis rested mainly on a theoretical analysis of explicit and implicit systems, and direct tests are limited. If lateral prefrontal activity were generally higher rather than lower in flow, the hypothesis would need at least substantial revision.

Evidence

Flow during mental arithmetic. Ulrich, Keller, Hoenig, Waller and Grön used mental arithmetic in the scanner to induce three states: difficulty adjusted automatically to the participant’s ability (flow), difficulty too low (boredom) and difficulty too high (overload). Compared with the other two states, flow brought relative increases in activity in regions including the inferior frontal gyrus, and relative decreases in the medial prefrontal cortex and the amygdala (Ulrich et al. 2014). The medial prefrontal decrease fits an interpretation in terms of reduced self-referential processing; the amygdala decrease may reflect lower negative arousal. But lateral frontal regions did not consistently decrease, so the study cannot simply be read as “the prefrontal cortex switching off”.

A learner whose difficulty is tuned to a target accuracy

The author’s framework wanted a trajectory in challenge–skill space: difficulty matched dynamically so that the learner rises along the diagonal. Here a result from machine learning is borrowed as the control target, but its origin and limits must be stated first.

Evidence

The “85 % rule”. Wilson, Shenhav, Straccia and Cohen proved that, for a class of learners that use gradient descent on binary classification tasks, learning is fastest when training difficulty is set so that the error rate is about 15.87 % (accuracy about 84–85 %). They demonstrated the result in artificial neural networks and in a model of perceptual learning (Wilson et al. 2019). It is a mathematical derivation for particular learning models; whether it applies to human skill learning, let alone to the experience of flow, has not been tested directly.

Calculation

The learner follows Wilson and colleagues’ set-up: accuracy on a binary task is P=Φ(βδ)P = \Phi(\beta\,\delta), where β\beta is precision (“skill”) and δ\delta how easy the item is; challenge is written 1/δ1/\delta. Learning speed is proportional to the expected gradient of accuracy with respect to β\beta; if a controller holds accuracy at Φ(z)\Phi(z), the gradient is proportional to zφ(z)/βz\,\varphi(z)/\beta, largest at z=1z = 1 (about 84 %). In addition, the average surprisal −log⁡2p-\log_2 p of each outcome, the outcome entropy H(p)H(p), is used as an information-theoretic measure of “challenge”; this is a modelling choice.

# Learner after Wilson et al. (2019): P(correct) = Phi(beta*delta); skill beta, challenge 1/delta.
# Holding accuracy at Phi(z), the expected learning gradient is ~ z*phi(z)/beta, largest at z = 1
# (about 84 %). Applying this to human flow is an ANALOGY. Outcome entropy H(p) is a modelling
# choice for "challenge"; it peaks at 50 %.
import math
from statistics import NormalDist
N = NormalDist()
ETA, TRIALS = 0.02, 400

def learn(target=None, fixed_delta=None, beta=1.0):
    path = []
    for t in range(TRIALS + 1):
        if fixed_delta is None:
            z = N.inv_cdf(target); delta = z / beta
        else:
            delta = fixed_delta; z = beta * delta
        p = N.cdf(z)
        if t % 100 == 0: path.append((t, beta, 1 / delta, p))
        beta += ETA * delta * N.pdf(z)               # expected gradient of accuracy w.r.t. beta
    return path

def H(p): return -p * math.log2(p) - (1 - p) * math.log2(1 - p) if 0 < p < 1 else 0.0

print("controller target | skill after 400 trials | challenge/skill | outcome entropy (bits)")
for tg in (0.60, 0.70, 0.84, 0.95, 0.99):
    t, b, ch, p = learn(target=tg)[-1]
    print(f"{tg:17.0%} | {b:22.2f} | {ch / b:15.2f} | {H(tg):10.2f}")
print("fixed difficulty (no controller), item easiness delta = 1.0:")
for t, b, ch, p in learn(fixed_delta=1.0)[::2]:
    print(f"  trial {t:3d}: skill {b:.2f}, challenge {ch:.2f}, accuracy {p:.0%}")
print("with the controller, challenge/skill stays constant: the path is a straight ray")
print("through the origin in challenge-skill space (a diagonal channel); with fixed")
print("difficulty accuracy drifts towards 100 % and the learner slides into the boredom side")
# controller target | skill after 400 trials | challenge/skill | outcome entropy (bits)
#               60% |                   1.60 |            3.95 |       0.97
#               70% |                   1.98 |            1.91 |       0.88
#               84% |                   2.21 |            1.01 |       0.63
#               95% |                   1.93 |            0.61 |       0.29
#               99% |                   1.41 |            0.43 |       0.08
# fixed difficulty (no controller), item easiness delta = 1.0:
#   trial   0: skill 1.00, challenge 1.00, accuracy 84%
#   trial 200: skill 1.64, challenge 1.00, accuracy 95%
#   trial 400: skill 1.95, challenge 1.00, accuracy 97%
# with the controller, challenge/skill stays constant: the path is a straight ray
# through the origin in challenge-skill space (a diagonal channel); with fixed
# difficulty accuracy drifts towards 100 % and the learner slides into the boredom side
Learning trajectories in challenge–skill space (illustrative parameters). When a controller holds accuracy at a fixed target, the ratio of challenge to skill stays constant and the trajectory is a ray through the origin; skill grows fastest with an 84 % target. With fixed difficulty, challenge stays put and the learner drifts towards the boredom side.

Holding accuracy at 84 % raises skill from 1.0 to 2.21 after 400 practice trials, the highest of the targets; a 60 % target (too hard) reaches only 1.60 and a 99 % target (too easy) only 1.41. The controller keeps the ratio of challenge to skill constant (about 1.0 at 84 %), so the learner rises along a ray in the plane, which is exactly the author’s “rising along the diagonal”. Without a controller, with fixed difficulty, skill reaches 1.95 but accuracy drifts from 84 % to 97 %, and the learner slides towards the boredom side.

The information-theoretic measure yields a notable contrast: outcome entropy is greatest at 50 % accuracy (close to 1 bit), 0.63 bits at 84 % and only 0.08 bits at 99 %. If “challenge” is defined as uncertainty about the outcome, the greatest challenge is at 50 %, while in this model the fastest learning is at 84 %. The mismatch shows that “most informative” and “learns fastest” are not the same thing; using Shannon entropy to describe the challenge in flow requires an argument for that measure, and cannot serve as a definition of flow.

Hypothesis · not established

Optimal-challenge band hypothesis (not yet established). In adaptive practice, holding accuracy at about 80–85 %, compared with 60 % or 95 %, produces both faster skill gains and higher self-reported flow. Testable prediction: in a three-arm randomised experiment, the 80–85 % arm should score higher than both others on the post-practice test and on flow ratings. If the arm with the fastest skill gains is not the arm with the highest flow ratings, this chapter’s analogy of the 85 % rule as a control target for flow should be abandoned.

Chapter summary

Flow describes absorption when both challenge and skill are high; the eight-channel model standardises both against a person’s own average and counts only both-above-average as flow, while low challenge with low skill is closer to apathy. Meta-analysis shows a moderate relationship between challenge–skill balance and flow. “Transient hypofrontality” is a hypothesis; imaging shows relative decreases in medial prefrontal and amygdala activity in flow, but lateral frontal regions do not consistently decrease. A learner model borrowing the “85 % rule” shows that tuning difficulty to a target accuracy can carry the learner up a ray in challenge–skill space; but outcome entropy is greatest at 50 %, not 85 %, so the information-theoretic measure is a modelling choice that needs justifying. The next chapter reads this modern research beside Neo-Confucian reverence and the pre-Qin ideals of the “empty, unified and still” mind and of the “undivided will”.

References

Csikszentmihalyi, Mihaly. 1975. Beyond Boredom and Anxiety. Jossey-Bass.
Csikszentmihalyi, Mihaly. 1990. Flow: The Psychology of Optimal Experience. Harper & Row.
Dietrich, Arne. 2004. “Neurocognitive Mechanisms Underlying the Experience of Flow.” Consciousness and Cognition 13 (4): 746–61. https://doi.org/10.1016/j.concog.2004.07.002.
Fong, Carlton J., Diana J. Zaleski, and Jennifer K. Leach. 2015. “The Challenge–Skill Balance and Antecedents of Flow: A Meta-Analytic Investigation.” Journal of Positive Psychology 10 (5): 425–46. https://doi.org/10.1080/17439760.2014.967799.
Massimini, Fausto, and Massimo Carli. 1988. “The Systematic Assessment of Flow in Daily Experience.” In Optimal Experience: Psychological Studies of Flow in Consciousness, edited by Mihaly Csikszentmihalyi and Isabella Selega Csikszentmihalyi. Cambridge University Press. https://doi.org/10.1017/CBO9780511621956.016.
Ulrich, Martin, Johannes Keller, Klaus Hoenig, Christiane Waller, and Georg Grön. 2014. “Neural Correlates of Experimentally Induced Flow Experiences.” NeuroImage 86: 194–202. https://doi.org/10.1016/j.neuroimage.2013.08.019.
Wilson, Robert C., Amitai Shenhav, Mark Straccia, and Jonathan D. Cohen. 2019. “The Eighty Five Percent Rule for Optimal Learning.” Nature Communications 10: 4646. https://doi.org/10.1038/s41467-019-12552-4.

Fan, Y. (2026). Attention Networks, the Working-Memory Bottleneck and Self-Determination Theory: From Posner's Tripartite Network and Motivation Crowding-Out to the Information Theory of Flow, Read Beside Neo-Confucian Reverence (Jìng) [注意力网络、工作记忆瓶颈与内在动机的自决定理论] (Version 1.0.0). 5D Library. https://doi.org/10.5281/zenodo.23761341 · Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).