Visualizing asymmetry in the 196 Lychrel chain (50k steps, 20k digits)
1 points
1 hour ago
| 0 comments
| HN
I’ve been experimenting with the classic 196 Lychrel problem, but instead of trying to push the iteration record, I wanted to look at the structure of the 196 sequence over time.

Very briefly: starting from 196 in base 10, we repeatedly do reverse-and-add. No palindrome is known, despite huge computational searches, so 196 is treated as a Lychrel candidate, but there is no proof either way.

Rather than just asking “does it ever hit a palindrome?”, I asked:

> What does the *digit asymmetry* of the 196 sequence look like as we iterate?

---

### SDI: a simple asymmetry metric

I defined a toy metric, *SDI (Symmetry Defect Index)*:

* Write `n` in decimal, length `L`, let `pairs = L // 2`.

* Compare the left `pairs` digits with the right `pairs` digits reversed, so each pair of digits “faces” its mirror.

* For each pair `(dL, dR)`:

  ```text
  pair_score =
    abs((dL % 2) - (dR % 2)) +
    abs((dL % 5) - (dR % 5))
  ```
* Sum over all pairs to get `SDI`, then normalize:

  ```text
  normalized_SDI = SDI / pairs
  ```
Heuristic: lower means “more symmetric / structured”, higher means “more asymmetric / closer to random”. For random decimal digits, normalized SDI clusters around ~2.1 in my tests. I also mark ~1.6 as a “zombie line”: well below that looks very frozen/structured.

---

### Experiment

* Start: 196 * Operation: base-10 reverse-and-add * Steps: 50,000 * SDI sampled every 100 steps * Implementation: Python big ints + string-based SDI

By 50k steps, the 196 chain reaches about 20,000 decimal digits (~10^20000). I plotted normalized SDI vs step, plus a linear trend line and reference lines at 2.1 (random-ish) and 1.6 (zombie line).

I also ran the same SDI on 89 (which does reach a palindrome) for comparison.

---

### What it looks like

*For 196 (0–50k steps):*

* Normalized SDI lives mostly between ~1.1 and 2.2. * It does *not* drift toward 0 (no sign of “healing” into symmetry). * The trend line has a tiny positive slope (almost flat). * The cloud stays below the ~2.1 “random” line but mostly above the ~1.6 “zombie line”.

So 196 doesn’t look like it’s converging to a very symmetric state, and it doesn’t look fully random either. It seems stuck in a mid-level “zombie band” of asymmetry.

*For 89:*

* SDI starts around 2–3, then drifts downward. * When 89 finally reaches a palindrome, SDI collapses sharply to 0 at that step. * This matches the intuition: a “healing” sequence that ends in perfect symmetry.

SDI cleanly separates the behaviour of 89 (heals to a palindrome) from 196 (stays in a noisy mid-level band).

---

### Code and plots

Code and plots are here (including the SDI implementation and 196 vs 89 graphs):

* GitHub: [https://github.com/jivaprime/192](https://github.com/jivaprime/192)

---

### Looking for feedback

I’m curious about:

* Similar work: have you seen digit-symmetry / asymmetry metrics applied to Lychrel candidates before? * Better metrics: any more standard notions of “symmetry defect” or digit entropy you’d recommend? * Scaling: ideas for a C/Rust implementation that occasionally samples SDI far beyond this (e.g., at depths comparable to the classic 196 palindrome quests)?

Happy to tweak the metric, run other starting values / bases, or collect more data if people have ideas.

No one has commented on this post.